pub struct DetachedCredentialRecovery { /* private fields */ }Expand description
Detached fenced credential-recovery witness.
This state is produced only by the exact binding fate of a marker-backed cursor witness; callers cannot fabricate a durable delivery fact.
Implementations§
Source§impl DetachedCredentialRecovery
impl DetachedCredentialRecovery
Sourcepub const fn resulting_floor(self) -> DeliverySeq
pub const fn resulting_floor(self) -> DeliverySeq
Returns the floor measured by the binding fate that selected this recovery.
Sourcepub fn storage_description(
self,
terminal: RestoredBindingFateTerminal,
) -> Result<StoredEdgeRestore, RestoredBindingFateTerminal>
pub fn storage_description( self, terminal: RestoredBindingFateTerminal, ) -> Result<StoredEdgeRestore, RestoredBindingFateTerminal>
Describes this recovery as the capsule that restores it, given the terminal of the binding fate that selected it.
The terminal is not stored on the edge – the crate’s size lint refuses
it, at 43 errors for 88 bytes – so it is resolved from the member the
recovery belongs to and handed in here. That is sound because a standing
detached edge refuses ordinary detached attach
(ClosureState::ordinary_detached_attach_admission), so the member
cannot have committed a later terminal while this edge stands.
Every other field is the edge’s own, including the whole marker-progress predecessor: the restore requires the progress’s cursor to equal its marker sequence and its nested delivery to agree field for field, so the predecessor states nothing this edge does not already know.
§Errors
Returns the terminal unchanged unless it names this recovery’s own participant, prior epoch and conversation – the exact check the restore makes before it will accept the capsule, made here so a description that could not be restored is never written.
Sourcepub const fn conversation_id(self) -> ConversationId
pub const fn conversation_id(self) -> ConversationId
Returns the conversation inherited from the marker-backed cursor witness.
Sourcepub const fn participant_id(self) -> ParticipantId
pub const fn participant_id(self) -> ParticipantId
Returns the detached participant.
Sourcepub const fn marker_delivery_seq(self) -> DeliverySeq
pub const fn marker_delivery_seq(self) -> DeliverySeq
Returns the delivered recovery marker.
Sourcepub const fn prior_binding_epoch(self) -> BindingEpoch
pub const fn prior_binding_epoch(self) -> BindingEpoch
Returns the prior authoritative epoch.
Source§impl DetachedCredentialRecovery
impl DetachedCredentialRecovery
Sourcepub const fn validate_leave_claim(
&self,
participant_id: ParticipantId,
actual_charge: ResourceVector,
remaining_k: ResourceVector,
exit_claims: u64,
) -> Option<KClaimBackedDetachedLeave>
pub const fn validate_leave_claim( &self, participant_id: ParticipantId, actual_charge: ResourceVector, remaining_k: ResourceVector, exit_claims: u64, ) -> Option<KClaimBackedDetachedLeave>
Validates exact-current K and exit claims for detached Leave.
Sourcepub fn detached_leave(
self,
debt: ClosureDebt,
event: Event,
evidence: KClaimBackedDetachedLeave,
successor: DebtCompletion,
) -> Result<ClosureState, ClosureState>
pub fn detached_leave( self, debt: ClosureDebt, event: Event, evidence: KClaimBackedDetachedLeave, successor: DebtCompletion, ) -> Result<ClosureState, ClosureState>
Consumes exact K-backed detached Leave and installs only clear/OP/PC.
§Errors
Returns the unchanged owed state unless the Leave and private claim authority are bound to this exact recovery edge.
Sourcepub const fn ordinary_attach_refusal(self) -> DetachedAttachRefusal
pub const fn ordinary_attach_refusal(self) -> DetachedAttachRefusal
Ordinary non-fenced attach is refused without mutation.
Sourcepub const fn marker_attach_refusal(
self,
presented_marker: DeliverySeq,
) -> Option<DetachedAttachRefusal>
pub const fn marker_attach_refusal( self, presented_marker: DeliverySeq, ) -> Option<DetachedAttachRefusal>
An explicit marker is eligible only when it is the exact recovery marker.
Authority supersession before commit preserves DCR and is stale.
Applies only an unrelated participant event, preserving this edge while debt remains or clearing it with debt.
§Errors
Returns the unchanged owed state for a non-participant event or an event owned by this detached participant.