pub enum Action {
Dna(Dna),
AgentValidationPkg(AgentValidationPkg),
InitZomesComplete(InitZomesComplete),
CreateLink(CreateLink<RateWeight>),
DeleteLink(DeleteLink),
OpenChain(OpenChain),
CloseChain(CloseChain),
Create(Create<EntryRateWeight>),
Update(Update<EntryRateWeight>),
Delete(Delete<RateWeight>),
}
Expand description
Action contains variants for each type of action.
This struct really defines a local source chain, in the sense that it implements the pointers between hashes that a hash chain relies on, which are then used to check the integrity of data using cryptographic hash functions.
Variants§
Dna(Dna)
AgentValidationPkg(AgentValidationPkg)
InitZomesComplete(InitZomesComplete)
CreateLink(CreateLink<RateWeight>)
DeleteLink(DeleteLink)
OpenChain(OpenChain)
CloseChain(CloseChain)
Create(Create<EntryRateWeight>)
Update(Update<EntryRateWeight>)
Delete(Delete<RateWeight>)
Implementations§
§impl Action
impl Action
pub fn entry_data(&self) -> Option<(&HoloHash<Entry>, &EntryType)>
pub fn entry_data(&self) -> Option<(&HoloHash<Entry>, &EntryType)>
Returns the address and entry type of the Entry, if applicable.
pub fn into_entry_data(self) -> Option<(HoloHash<Entry>, EntryType)>
pub fn into_entry_data(self) -> Option<(HoloHash<Entry>, EntryType)>
Pull out the entry data by move.
pub fn entry_hash(&self) -> Option<&HoloHash<Entry>>
pub fn entry_type(&self) -> Option<&EntryType>
pub fn action_type(&self) -> ActionType
returns the public key of the agent who signed this action.
pub fn action_seq(&self) -> u32
pub fn action_seq(&self) -> u32
returns the sequence ordinal of this action
pub fn prev_action(&self) -> Option<&HoloHash<Action>>
pub fn prev_action(&self) -> Option<&HoloHash<Action>>
returns the previous action except for the DNA action which doesn’t have a previous
pub fn is_genesis(&self) -> bool
pub fn rate_data(&self) -> RateWeight
pub fn entry_rate_data(&self) -> Option<EntryRateWeight>
§impl Action
impl Action
pub fn from_countersigning_data(
entry_hash: HoloHash<Entry>,
session_data: &CounterSigningSessionData,
author: HoloHash<Agent>,
weight: EntryRateWeight
) -> Result<Action, CounterSigningError>
pub fn from_countersigning_data(
entry_hash: HoloHash<Entry>,
session_data: &CounterSigningSessionData,
author: HoloHash<Agent>,
weight: EntryRateWeight
) -> Result<Action, CounterSigningError>
Construct an Action from the ActionBase and associated session data.
Trait Implementations§
source§impl ActionRefMut for Action
impl ActionRefMut for Action
Some necessary extra mutators for lenses/prisms over Actions
returns a mutable reference to the author
source§fn timestamp_mut(&mut self) -> &mut Timestamp
fn timestamp_mut(&mut self) -> &mut Timestamp
returns a mutable reference to the timestamp
source§fn action_seq_mut(&mut self) -> Option<&mut u32>
fn action_seq_mut(&mut self) -> Option<&mut u32>
returns a mutable reference to the sequence ordinal of this action
source§fn prev_action_mut(&mut self) -> Option<&mut HoloHash<Action>>
fn prev_action_mut(&mut self) -> Option<&mut HoloHash<Action>>
returns the previous action except for the DNA action which doesn’t have a previous
fn entry_data_mut(&mut self) -> Option<(&mut HoloHash<Entry>, &mut EntryType)>
§impl<'arbitrary> Arbitrary<'arbitrary> for Action
impl<'arbitrary> Arbitrary<'arbitrary> for Action
§fn arbitrary(u: &mut Unstructured<'arbitrary>) -> Result<Action, Error>
fn arbitrary(u: &mut Unstructured<'arbitrary>) -> Result<Action, Error>
Self
from the given unstructured data. Read more§fn arbitrary_take_rest(u: Unstructured<'arbitrary>) -> Result<Action, Error>
fn arbitrary_take_rest(u: Unstructured<'arbitrary>) -> Result<Action, Error>
Self
from the entirety of the given
unstructured data. Read more§impl<'de> Deserialize<'de> for Action
impl<'de> Deserialize<'de> for Action
§fn deserialize<__D>(
__deserializer: __D
) -> Result<Action, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D
) -> Result<Action, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
§impl From<&Action> for ActionType
impl From<&Action> for ActionType
§fn from(action: &Action) -> ActionType
fn from(action: &Action) -> ActionType
§impl From<EntryCreationAction> for Action
impl From<EntryCreationAction> for Action
§fn from(e: EntryCreationAction) -> Action
fn from(e: EntryCreationAction) -> Action
§impl From<HoloHashed<Action>> for Action
impl From<HoloHashed<Action>> for Action
§fn from(action_hashed: HoloHashed<Action>) -> Action
fn from(action_hashed: HoloHashed<Action>) -> Action
§impl<I> From<I> for Actionwhere
I: ActionWeighed,
impl<I> From<I> for Actionwhere
I: ActionWeighed,
source§impl From<NewEntryAction> for Action
impl From<NewEntryAction> for Action
source§fn from(h: NewEntryAction) -> Action
fn from(h: NewEntryAction) -> Action
§impl From<SignedHashed<Action>> for Action
impl From<SignedHashed<Action>> for Action
§fn from(signed_action_hashed: SignedHashed<Action>) -> Action
fn from(signed_action_hashed: SignedHashed<Action>) -> Action
§impl HashableContent for Action
impl HashableContent for Action
§fn hash_type(&self) -> <Action as HashableContent>::HashType
fn hash_type(&self) -> <Action as HashableContent>::HashType
§fn hashable_content(&self) -> HashableContentBytes
fn hashable_content(&self) -> HashableContentBytes
§impl Serialize for Action
impl Serialize for Action
§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<'a> TryFrom<&'a Action> for &'a CreateLink<RateWeight>
impl<'a> TryFrom<&'a Action> for &'a CreateLink<RateWeight>
§type Error = WrongActionError
type Error = WrongActionError
§fn try_from(
value: &'a Action
) -> Result<&'a CreateLink<RateWeight>, <&'a CreateLink<RateWeight> as TryFrom<&'a Action>>::Error>
fn try_from(
value: &'a Action
) -> Result<&'a CreateLink<RateWeight>, <&'a CreateLink<RateWeight> as TryFrom<&'a Action>>::Error>
§impl<'a> TryFrom<&'a Action> for &'a Delete<RateWeight>
impl<'a> TryFrom<&'a Action> for &'a Delete<RateWeight>
§type Error = WrongActionError
type Error = WrongActionError
§impl<'a> TryFrom<&'a Action> for &'a DeleteLink
impl<'a> TryFrom<&'a Action> for &'a DeleteLink
§type Error = WrongActionError
type Error = WrongActionError
§fn try_from(
value: &'a Action
) -> Result<&'a DeleteLink, <&'a DeleteLink as TryFrom<&'a Action>>::Error>
fn try_from(
value: &'a Action
) -> Result<&'a DeleteLink, <&'a DeleteLink as TryFrom<&'a Action>>::Error>
§impl<'a> TryFrom<&'a Action> for &'a Update<EntryRateWeight>
impl<'a> TryFrom<&'a Action> for &'a Update<EntryRateWeight>
§type Error = WrongActionError
type Error = WrongActionError
source§impl<'a> TryFrom<&'a Action> for NewEntryActionRef<'a>
impl<'a> TryFrom<&'a Action> for NewEntryActionRef<'a>
§type Error = WrongActionError
type Error = WrongActionError
source§fn try_from(
value: &'a Action
) -> Result<NewEntryActionRef<'a>, <NewEntryActionRef<'a> as TryFrom<&'a Action>>::Error>
fn try_from(
value: &'a Action
) -> Result<NewEntryActionRef<'a>, <NewEntryActionRef<'a> as TryFrom<&'a Action>>::Error>
§impl TryFrom<&Action> for SerializedBytes
impl TryFrom<&Action> for SerializedBytes
§type Error = SerializedBytesError
type Error = SerializedBytesError
§fn try_from(t: &Action) -> Result<SerializedBytes, SerializedBytesError>
fn try_from(t: &Action) -> Result<SerializedBytes, SerializedBytesError>
§impl TryFrom<Action> for CreateLink<RateWeight>
impl TryFrom<Action> for CreateLink<RateWeight>
§type Error = WrongActionError
type Error = WrongActionError
§fn try_from(
value: Action
) -> Result<CreateLink<RateWeight>, <CreateLink<RateWeight> as TryFrom<Action>>::Error>
fn try_from(
value: Action
) -> Result<CreateLink<RateWeight>, <CreateLink<RateWeight> as TryFrom<Action>>::Error>
§impl TryFrom<Action> for Delete<RateWeight>
impl TryFrom<Action> for Delete<RateWeight>
§type Error = WrongActionError
type Error = WrongActionError
§impl TryFrom<Action> for DeleteLink
impl TryFrom<Action> for DeleteLink
§type Error = WrongActionError
type Error = WrongActionError
§fn try_from(
value: Action
) -> Result<DeleteLink, <DeleteLink as TryFrom<Action>>::Error>
fn try_from(
value: Action
) -> Result<DeleteLink, <DeleteLink as TryFrom<Action>>::Error>
§impl TryFrom<Action> for EntryCreationAction
impl TryFrom<Action> for EntryCreationAction
§type Error = WrongActionError
type Error = WrongActionError
§fn try_from(
value: Action
) -> Result<EntryCreationAction, <EntryCreationAction as TryFrom<Action>>::Error>
fn try_from(
value: Action
) -> Result<EntryCreationAction, <EntryCreationAction as TryFrom<Action>>::Error>
source§impl TryFrom<Action> for NewEntryAction
impl TryFrom<Action> for NewEntryAction
§type Error = WrongActionError
type Error = WrongActionError
source§fn try_from(
value: Action
) -> Result<NewEntryAction, <NewEntryAction as TryFrom<Action>>::Error>
fn try_from(
value: Action
) -> Result<NewEntryAction, <NewEntryAction as TryFrom<Action>>::Error>
§impl TryFrom<Action> for SerializedBytes
impl TryFrom<Action> for SerializedBytes
§type Error = SerializedBytesError
type Error = SerializedBytesError
§fn try_from(t: Action) -> Result<SerializedBytes, SerializedBytesError>
fn try_from(t: Action) -> Result<SerializedBytes, SerializedBytesError>
§impl TryFrom<Action> for Update<EntryRateWeight>
impl TryFrom<Action> for Update<EntryRateWeight>
§type Error = WrongActionError
type Error = WrongActionError
§impl TryFrom<SerializedBytes> for Action
impl TryFrom<SerializedBytes> for Action
§type Error = SerializedBytesError
type Error = SerializedBytesError
§fn try_from(sb: SerializedBytes) -> Result<Action, SerializedBytesError>
fn try_from(sb: SerializedBytes) -> Result<Action, SerializedBytesError>
impl Eq for Action
impl StructuralEq for Action
impl StructuralPartialEq for Action
Auto Trait Implementations§
impl RefUnwindSafe for Action
impl Send for Action
impl Sync for Action
impl Unpin for Action
impl UnwindSafe for Action
Blanket Implementations§
§impl<T> Any for Twhere
T: Any + ?Sized,
impl<T> Any for Twhere
T: Any + ?Sized,
§fn type_id_compat(&self) -> TypeId
fn type_id_compat(&self) -> TypeId
§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<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>
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<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, C> HashableContentExtSync<T> for Cwhere
T: HashTypeSync,
C: HashableContent<HashType = T>,
impl<T, C> HashableContentExtSync<T> for Cwhere
T: HashTypeSync,
C: HashableContent<HashType = T>,
source§fn into_hashed(self) -> HoloHashed<C>
fn into_hashed(self) -> HoloHashed<C>
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> ⓘ
§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.