pub struct Record<A = SignedHashed<Action>> {
pub signed_action: A,
pub entry: RecordEntry<Entry>,
}
Expand description
a chain record containing the signed action along with the entry if the action type has one.
Fields§
§signed_action: A
The signed action for this record
entry: RecordEntry<Entry>
If there is an entry associated with this action it will be here. If not, there will be an enum variant explaining the reason.
Implementations§
§impl Record<SignedHashed<Action>>
impl Record<SignedHashed<Action>>
pub fn new(
signed_action: SignedHashed<Action>,
maybe_entry: Option<Entry>
) -> Record<SignedHashed<Action>>
pub fn new( signed_action: SignedHashed<Action>, maybe_entry: Option<Entry> ) -> Record<SignedHashed<Action>>
Raw record constructor. Used only when we know that the values are valid. NOTE: this will NOT hide private entry data if present!
pub fn as_action_mut(&mut self) -> &mut Action
pub fn as_action_mut(&mut self) -> &mut Action
Mutable reference to the Action content. This is useless and dangerous in production usage. Guaranteed to make hashes and signatures mismatch whatever the Action is mutated to (at least). This may be useful for tests that rely heavily on mocked and fixturated data.
pub fn privatized(self) -> (Record<SignedHashed<Action>>, Option<Entry>)
pub fn privatized(self) -> (Record<SignedHashed<Action>>, Option<Entry>)
If the Record contains private entry data, set the RecordEntry to Hidden so that it cannot be leaked. If the entry was hidden, return it separately.
pub fn action_address(&self) -> &HoloHash<Action>
pub fn action_address(&self) -> &HoloHash<Action>
Access the action address from this record’s signed action
pub fn action_hashed(&self) -> &HoloHashed<Action>
pub fn action_hashed(&self) -> &HoloHashed<Action>
Access the ActionHashed from this record’s signed action portion
pub fn entry(&self) -> &RecordEntry<Entry>
pub fn entry(&self) -> &RecordEntry<Entry>
Access the Entry portion of this record as a RecordEntry, which includes the context around the presence or absence of the entry.
§impl<A> Record<A>
impl<A> Record<A>
pub fn as_entry_mut(&mut self) -> &mut RecordEntry<Entry>
pub fn as_entry_mut(&mut self) -> &mut RecordEntry<Entry>
Mutable reference to the RecordEntry. This is useless and dangerous in production usage. Guaranteed to make hashes and signatures mismatch whatever the RecordEntry is mutated to (at least). This may be useful for tests that rely heavily on mocked and fixturated data.
pub fn into_inner(self) -> (A, RecordEntry<Entry>)
pub fn into_inner(self) -> (A, RecordEntry<Entry>)
Break this record into its components
pub fn signed_action(&self) -> &A
pub fn signed_action(&self) -> &A
The inner signed-action
Trait Implementations§
§impl<'arbitrary, A> Arbitrary<'arbitrary> for Record<A>where
A: Arbitrary<'arbitrary>,
impl<'arbitrary, A> Arbitrary<'arbitrary> for Record<A>where A: Arbitrary<'arbitrary>,
§fn arbitrary(u: &mut Unstructured<'arbitrary>) -> Result<Record<A>, Error>
fn arbitrary(u: &mut Unstructured<'arbitrary>) -> Result<Record<A>, Error>
Self
from the given unstructured data. Read more§fn arbitrary_take_rest(u: Unstructured<'arbitrary>) -> Result<Record<A>, Error>
fn arbitrary_take_rest(u: Unstructured<'arbitrary>) -> Result<Record<A>, Error>
Self
from the entirety of the given
unstructured data. Read more§impl<'de, A> Deserialize<'de> for Record<A>where
A: Deserialize<'de>,
impl<'de, A> Deserialize<'de> for Record<A>where A: Deserialize<'de>,
§fn deserialize<__D>(
__deserializer: __D
) -> Result<Record<A>, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>( __deserializer: __D ) -> Result<Record<A>, <__D as Deserializer<'de>>::Error>where __D: Deserializer<'de>,
§impl<A> Serialize for Record<A>where
A: Serialize,
impl<A> Serialize for Record<A>where A: Serialize,
§fn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where __S: Serializer,
§impl TryFrom<&Record<SignedHashed<Action>>> for SerializedBytes
impl TryFrom<&Record<SignedHashed<Action>>> for SerializedBytes
§type Error = SerializedBytesError
type Error = SerializedBytesError
§fn try_from(
t: &Record<SignedHashed<Action>>
) -> Result<SerializedBytes, SerializedBytesError>
fn try_from( t: &Record<SignedHashed<Action>> ) -> Result<SerializedBytes, SerializedBytesError>
§impl TryFrom<Record<SignedHashed<Action>>> for CreateLink<RateWeight>
impl TryFrom<Record<SignedHashed<Action>>> for CreateLink<RateWeight>
§type Error = WrongActionError
type Error = WrongActionError
§fn try_from(
value: Record<SignedHashed<Action>>
) -> Result<CreateLink<RateWeight>, <CreateLink<RateWeight> as TryFrom<Record<SignedHashed<Action>>>>::Error>
fn try_from( value: Record<SignedHashed<Action>> ) -> Result<CreateLink<RateWeight>, <CreateLink<RateWeight> as TryFrom<Record<SignedHashed<Action>>>>::Error>
§impl TryFrom<Record<SignedHashed<Action>>> for DeleteLink
impl TryFrom<Record<SignedHashed<Action>>> for DeleteLink
§type Error = WrongActionError
type Error = WrongActionError
§fn try_from(
value: Record<SignedHashed<Action>>
) -> Result<DeleteLink, <DeleteLink as TryFrom<Record<SignedHashed<Action>>>>::Error>
fn try_from( value: Record<SignedHashed<Action>> ) -> Result<DeleteLink, <DeleteLink as TryFrom<Record<SignedHashed<Action>>>>::Error>
§impl TryFrom<Record<SignedHashed<Action>>> for SerializedBytes
impl TryFrom<Record<SignedHashed<Action>>> for SerializedBytes
§type Error = SerializedBytesError
type Error = SerializedBytesError
§fn try_from(
t: Record<SignedHashed<Action>>
) -> Result<SerializedBytes, SerializedBytesError>
fn try_from( t: Record<SignedHashed<Action>> ) -> Result<SerializedBytes, SerializedBytesError>
§impl TryFrom<SerializedBytes> for Record<SignedHashed<Action>>
impl TryFrom<SerializedBytes> for Record<SignedHashed<Action>>
§type Error = SerializedBytesError
type Error = SerializedBytesError
§fn try_from(
sb: SerializedBytes
) -> Result<Record<SignedHashed<Action>>, SerializedBytesError>
fn try_from( sb: SerializedBytes ) -> Result<Record<SignedHashed<Action>>, SerializedBytesError>
impl<A> Eq for Record<A>where A: Eq,
impl<A> StructuralEq for Record<A>
impl<A> StructuralPartialEq for Record<A>
Auto Trait Implementations§
impl<A> RefUnwindSafe for Record<A>where A: RefUnwindSafe,
impl<A> Send for Record<A>where A: Send,
impl<A> Sync for Record<A>where A: Sync,
impl<A> Unpin for Record<A>where A: Unpin,
impl<A> UnwindSafe for Record<A>where A: UnwindSafe,
Blanket Implementations§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata ) -> <T as Pointee>::Metadata
§impl<S> AsComponentExternName for Swhere
S: AsRef<str>,
impl<S> AsComponentExternName for Swhere S: AsRef<str>,
§fn as_component_extern_name(&self) -> ComponentExternName<'_>
fn as_component_extern_name(&self) -> ComponentExternName<'_>
ComponentExternName
.source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<F, W, T, D> Deserialize<With<T, W>, D> for Fwhere
W: DeserializeWith<F, T, D>,
D: Fallible + ?Sized,
F: ?Sized,
impl<F, W, T, D> Deserialize<With<T, W>, D> for Fwhere W: DeserializeWith<F, T, D>, D: Fallible + ?Sized, F: ?Sized,
§fn deserialize(
&self,
deserializer: &mut D
) -> Result<With<T, W>, <D as Fallible>::Error>
fn deserialize( &self, deserializer: &mut D ) -> Result<With<T, W>, <D as Fallible>::Error>
§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.source§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
source§impl<S> ParseFormatted for Swhere
S: AsRef<str>,
impl<S> ParseFormatted for Swhere S: AsRef<str>,
source§fn parse_formatted<F, N>(&self, format: &F) -> Result<N, Error>where
F: Format,
N: FromFormattedStr,
fn parse_formatted<F, N>(&self, format: &F) -> Result<N, Error>where F: Format, N: FromFormattedStr,
self
(typically a formatted string) into a number (see Examples above).§impl<T> Pointable for T
impl<T> Pointable for T
§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self
from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self
is actually part of its subset T
(and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset
but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self
to the equivalent element of its superset.