pub enum OpRecord<ET, LT>where
ET: UnitEnum,{
Show 18 variants
CreateEntry {
app_entry: ET,
action: Create<EntryRateWeight>,
},
CreatePrivateEntry {
app_entry_type: <ET as UnitEnum>::Unit,
action: Create<EntryRateWeight>,
},
CreateAgent {
agent: HoloHash<Agent>,
action: Create<EntryRateWeight>,
},
CreateCapClaim {
action: Create<EntryRateWeight>,
},
CreateCapGrant {
action: Create<EntryRateWeight>,
},
UpdateEntry {
original_action_hash: HoloHash<Action>,
original_entry_hash: HoloHash<Entry>,
app_entry: ET,
action: Update<EntryRateWeight>,
},
UpdatePrivateEntry {
original_action_hash: HoloHash<Action>,
original_entry_hash: HoloHash<Entry>,
app_entry_type: <ET as UnitEnum>::Unit,
action: Update<EntryRateWeight>,
},
UpdateAgent {
original_key: HoloHash<Agent>,
new_key: HoloHash<Agent>,
original_action_hash: HoloHash<Action>,
action: Update<EntryRateWeight>,
},
UpdateCapClaim {
original_action_hash: HoloHash<Action>,
original_entry_hash: HoloHash<Entry>,
action: Update<EntryRateWeight>,
},
UpdateCapGrant {
original_action_hash: HoloHash<Action>,
original_entry_hash: HoloHash<Entry>,
action: Update<EntryRateWeight>,
},
DeleteEntry {
original_action_hash: HoloHash<Action>,
original_entry_hash: HoloHash<Entry>,
action: Delete<RateWeight>,
},
CreateLink {
base_address: HoloHash<AnyLinkable>,
target_address: HoloHash<AnyLinkable>,
tag: LinkTag,
link_type: LT,
action: CreateLink<RateWeight>,
},
DeleteLink {
original_action_hash: HoloHash<Action>,
base_address: HoloHash<AnyLinkable>,
action: DeleteLink,
},
Dna {
dna_hash: HoloHash<Dna>,
action: Dna,
},
OpenChain {
previous_dna_hash: HoloHash<Dna>,
action: OpenChain,
},
CloseChain {
new_dna_hash: HoloHash<Dna>,
action: CloseChain,
},
AgentValidationPkg {
membrane_proof: Option<Arc<SerializedBytes>>,
action: AgentValidationPkg,
},
InitZomesComplete {
action: InitZomesComplete,
},
}
Expand description
Data specific to the [Op::StoreRecord
] operation.
Variants§
CreateEntry
Fields
app_entry: ET
The app defined entry type with the deserialized
[Entry
] data.
action: Create<EntryRateWeight>
The Create
action that creates the entry
This operation stores the [Record
] for an
app defined entry type.
CreatePrivateEntry
Fields
app_entry_type: <ET as UnitEnum>::Unit
The unit version of the app defined entry type.
Note it is not possible to deserialize the full
entry type here because we don’t have the [Entry
] data.
action: Create<EntryRateWeight>
The Create
action that creates the entry
This operation stores the [Record
] for an
app defined private entry type.
CreateAgent
Fields
action: Create<EntryRateWeight>
The Create
action that creates the entry
This operation stores the [Record
] for an
AgentPubKey
that has been created.
CreateCapClaim
Fields
action: Create<EntryRateWeight>
The Create
action that creates the crate::CapClaim
This operation stores the [Record
] for a
Capability Claim that has been created.
CreateCapGrant
Fields
action: Create<EntryRateWeight>
The Create
action that creates the crate::CapGrant
This operation stores the [Record
] for a
Capability Grant that has been created.
UpdateEntry
Fields
app_entry: ET
The app defined entry type with the deserialized
[Entry
] data from the new entry.
Note the new entry type is always the same as the
original entry type however the data may have changed.
action: Update<EntryRateWeight>
The Update
action that updates the entry
This operation stores the [Record
] for an
updated app defined entry type.
UpdatePrivateEntry
Fields
app_entry_type: <ET as UnitEnum>::Unit
The unit version of the app defined entry type. Note the new entry type is always the same as the original entry type however the data may have changed.
action: Update<EntryRateWeight>
The Update
action that updates the entry
This operation stores the [Record
] for an
updated app defined private entry type.
UpdateAgent
Fields
original_key: HoloHash<Agent>
The original AgentPubKey
.
new_key: HoloHash<Agent>
The new AgentPubKey
.
action: Update<EntryRateWeight>
The Update
action that updates the entry
This operation stores the [Record
] for an
updated AgentPubKey
.
UpdateCapClaim
Fields
original_action_hash: HoloHash<Action>
The hash of the [Action
] that created the original crate::CapClaim
original_entry_hash: HoloHash<Entry>
The hash of the original crate::CapClaim
action: Update<EntryRateWeight>
The Update
action that updates the crate::CapClaim
This operation stores the [Record
] for an
updated Capability Claim.
UpdateCapGrant
Fields
original_action_hash: HoloHash<Action>
The hash of the [Action
] that created the original crate::CapGrant
original_entry_hash: HoloHash<Entry>
The hash of the original crate::CapGrant
action: Update<EntryRateWeight>
The Update
action that updates the crate::CapGrant
This operation stores the [Record
] for an
updated Capability Grant.
DeleteEntry
Fields
action: Delete<RateWeight>
The Delete
action that creates the entry
This operation stores the [Record
] for a
deleted app defined entry type.
CreateLink
Fields
base_address: HoloHash<AnyLinkable>
The base address of the link.
target_address: HoloHash<AnyLinkable>
The target address of the link.
link_type: LT
The app defined link type of this link.
action: CreateLink<RateWeight>
The CreateLink
action that creates this link
This operation stores the [Record
] for a
new link.
DeleteLink
Fields
original_action_hash: HoloHash<Action>
The deleted links CreateLink
[Action
].
base_address: HoloHash<AnyLinkable>
The base address where this link is stored. This is the base address of the link that is being deleted.
action: DeleteLink
The DeleteLink
action that deletes the link
This operation stores the [Record
] for a
deleted link and contains the original link’s
[Action
] hash.
Dna
This operation stores the [Record
] for an
[Action::Dna
].
OpenChain
Fields
This operation stores the [Record
] for an
[Action::OpenChain
] and contains the previous
chains’s DnaHash
.
CloseChain
Fields
action: CloseChain
The CloseChain
action
This operation stores the [Record
] for an
[Action::CloseChain
] and contains the new
chains’s DnaHash
.
AgentValidationPkg
Fields
membrane_proof: Option<Arc<SerializedBytes>>
The membrane proof proving that the agent is allowed to participate in this DNA
action: AgentValidationPkg
The AgentValidationPkg
action
This operation stores the [Record
] for an
[Action::AgentValidationPkg
] and contains
the membrane proof if there is one.
InitZomesComplete
Fields
action: InitZomesComplete
The InitZomesComplete
action
This operation stores the [Record
] for an
[Action::InitZomesComplete
].
Trait Implementations§
§impl<ET, LT> PartialEq<OpRecord<ET, LT>> for OpRecord<ET, LT>where
ET: PartialEq<ET> + UnitEnum,
LT: PartialEq<LT>,
impl<ET, LT> PartialEq<OpRecord<ET, LT>> for OpRecord<ET, LT>where ET: PartialEq<ET> + UnitEnum, LT: PartialEq<LT>,
impl<ET, LT> Eq for OpRecord<ET, LT>where ET: Eq + UnitEnum, LT: Eq,
impl<ET, LT> StructuralEq for OpRecord<ET, LT>where ET: UnitEnum,
impl<ET, LT> StructuralPartialEq for OpRecord<ET, LT>where ET: UnitEnum,
Auto Trait Implementations§
impl<ET, LT> RefUnwindSafe for OpRecord<ET, LT>where ET: RefUnwindSafe, LT: RefUnwindSafe, <ET as UnitEnum>::Unit: RefUnwindSafe,
impl<ET, LT> Send for OpRecord<ET, LT>where ET: Send, LT: Send, <ET as UnitEnum>::Unit: Send,
impl<ET, LT> Sync for OpRecord<ET, LT>where ET: Sync, LT: Sync, <ET as UnitEnum>::Unit: Sync,
impl<ET, LT> Unpin for OpRecord<ET, LT>where ET: Unpin, LT: Unpin, <ET as UnitEnum>::Unit: Unpin,
impl<ET, LT> UnwindSafe for OpRecord<ET, LT>where ET: UnwindSafe, LT: UnwindSafe, <ET as UnitEnum>::Unit: UnwindSafe,
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
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>
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> 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.