Skip to main content

LiveFrontierOwner

Struct LiveFrontierOwner 

Source
pub struct LiveFrontierOwner { /* private fields */ }
Expand description

Complete executable frontier, closure-accounting, and keyed-retention owner.

The owner is intentionally move-only. It is the only live mutation input and never exposes a constructor from independent frontier/accounting components. Frontier, closure, retained charges, and participant history therefore cannot be cloned or recombined from different owners:

use liminal_protocol::lifecycle::LiveFrontierOwner;

fn clone_frontier(owner: &LiveFrontierOwner) -> LiveFrontierOwner {
    owner.clone()
}
use liminal_protocol::lifecycle::LiveFrontierOwner;

fn splice(left: &mut LiveFrontierOwner, right: LiveFrontierOwner) {
    left.frontiers = right.frontiers;
    left.closure_accounting = right.closure_accounting;
    left.retained_charges = right.retained_charges;
}

Implementations§

Source§

impl LiveFrontierOwner

Source

pub fn complete_pending_died_ordinary_finalizer( self, finalizer: PendingDiedOrdinaryFinalizer, ) -> Result<Self, LiveFrontierError>

Applies a measured Ordinary floor after its enclosing finalizer transition.

§Errors

Returns LiveFrontierError if retained charges, the measured floor, marker precedence, or closure accounting disagree with the post-finalizer owner.

Source§

impl LiveFrontierOwner

Source

pub fn prepare_binding_fate( self, token: SealedBindingFateToken, terminal: BindingFateTerminal, hard_observer_progress: DeliverySeq, ) -> Result<PreparedBindingFate, Box<BindingFateMeasurementRefused>>

Consumes one sealed fate token after measuring its real post-release floor.

The server supplies only hard observer progress and the closed terminal class. The participant, binding epoch, current retained floor, candidate high watermark, and remaining member cursors all come from protocol-owned state. Recovered internally mints its event and accepts no terminal.

§Errors

Returns every input unchanged when authority, terminal class, observer progress, or checked floor validation fails.

Source

pub fn prepare_pending_died_ordinary_finalizer( self, token: SealedBindingFateToken, terminal: CommittedDiedTerminal, hard_observer_progress: DeliverySeq, ) -> Result<PreparedPendingDiedOrdinaryFinalizer, Box<BindingFateMeasurementRefused>>

Measures Ordinary without installing its owner transition before an enclosing finalizer.

§Errors

Returns every move-only input unchanged when the token, terminal, observer progress, measured floor, or pre-finalizer owner transition is inconsistent.

Source

pub fn prepare_pending_died_ordinary_after_fenced_proof( self, token: SealedBindingFateToken, terminal: CommittedDiedTerminal, hard_observer_progress: DeliverySeq, ) -> Result<PreparedPendingDiedOrdinaryFinalizer, Box<BindingFateMeasurementRefused>>

Measures Ordinary after fenced proof minting consumed marker authority.

The fenced attach transition itself owns the pending identity change, so this preparation validates the token, terminal, cursor, and exact floor but defers floor installation to the post-attach owner.

§Errors

Returns every move-only input unchanged when token authority, terminal, observer progress, or checked floor measurement is inconsistent.

Source§

impl LiveFrontierOwner

Source

pub fn prepare_binding_terminal( self, active_binding: ActiveBinding, cause_class: BindingTerminalCauseClass, next_transaction_order: TransactionOrder, next_delivery_sequence: DeliverySeq, hard_observer_progress: DeliverySeq, ) -> Result<PreparedBindingTerminal, Box<BindingTerminalPrepareRefused>>

Validates one active binding and checked candidate positions without mutation.

§Errors

Returns the unchanged owner when binding authority, checked order or sequence, or hard-observer progress disagrees with the coupled protocol state.

Source§

impl LiveFrontierOwner

Source

pub fn from_initial_enrollment<F>( initial: InitialEnrollmentFrontierCommit<F>, retained_record_limit: u64, ) -> (InitialEnrollmentOperationCommit<F>, Self)

Acquires live ownership from the protocol’s atomic initial-enrollment result.

Source

pub const fn frontiers(&self) -> &ClaimFrontiers

Borrows the coupled claim frontiers.

Source

pub const fn closure_accounting(&self) -> ClosureAccounting

Returns complete current closure accounting.

Source

pub fn retained_charges(&self) -> &[RetainedRecordCharge]

Borrows canonical keyed charges for the retained suffix.

Source

pub const fn retained_record_limit(&self) -> u64

Returns the signed retained causal-row cap.

Source

pub fn into_parts( self, ) -> (ClaimFrontiers, ClosureAccounting, Vec<RetainedRecordCharge>, u64)

Consumes the complete owner for RecordAdmission, Leave, or persistence.

Source

pub fn from_unchanged_record_admission<EF, V, LF>( unchanged: UnchangedRecordAdmission<'_, EF, V, LF>, retained_record_limit: u64, ) -> (Self, RecordAdmission, ResourceVector)

Restores the exact owner returned by a non-committing admission and recovers the same request for a same-lock retry.

Source

pub fn from_record_admission_persistence( persistence: RecordAdmissionPersistenceParts, retained_record_limit: u64, ) -> Self

Acquires the exact owner from the complete sealed successful RecordAdmission persistence authority.

Source

pub fn from_marker_drain( commit: MarkerDrainCommit, retained_record_limit: u64, ) -> (Self, StoredEdge, MarkerDeliveryProjection)

Acquires the exact post-drain owner and durable marker successor.

Source

pub fn retain_fenced_marker_source( self, recovery: DetachedCredentialRecovery, ) -> Result<RetainedFencedMarkerSource, Box<FencedMarkerSourceRetentionRefused>>

Retains this move-only owner and the exact recovery while its durable marker source row is read and validated.

§Errors

Returns the unchanged owner and recovery when the fully restored frontier does not contain their exact delivered marker occurrence.

Source

pub fn mint_fenced_attach( self, marker_source_sequence: u64, recovery: DetachedCredentialRecovery, debt: ClosureDebt, event: Event, successor: DebtCompletion, ) -> MintFencedAttachResult

Consumes the complete owner and the exact descriptive inputs to mint one fenced attach proof from the selected retained marker occurrence.

This is the sole public production mint. The caller cannot supply a raw marker token: the owner removes it from its fully validated frontiers. Refusal returns this owner and every input unchanged after reinstalling that same occurrence authority, allowing serial retry but no fork.

Trait Implementations§

Source§

impl Debug for LiveFrontierOwner

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Eq for LiveFrontierOwner

Source§

impl PartialEq for LiveFrontierOwner

Source§

fn eq(&self, other: &LiveFrontierOwner) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for LiveFrontierOwner

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.