pub enum PaymentStatus {
Pending,
Finalizing,
Reverted,
Replaced {
transaction_hash: FixedBytes<32>,
},
Confirmed(PaymentReceipt),
}Expand description
Observation never assumes a missing receipt means the transaction failed.
Variants§
Pending
No mined payment found; retain the journal.
Finalizing
A mined failure is not finalized yet. Retain the journal without
broadcasting or preparing another payment. (A consumed nonce with no
receipt reports Pending, not this: see observe_payment.)
Reverted
The payment reverted in a finalized block. The original transaction cannot subsequently charge storage tokens, including after a fee replacement.
Replaced
A different transaction consumed the nonce in a finalized block. Its calldata differs from this payment; the original cannot execute.
Fields
transaction_hash: FixedBytes<32>Confirmed(PaymentReceipt)
Successful canonical inclusion, suitable for optimistic proof construction. This retains the existing wallet’s inclusion-level success semantics; callers requiring irreversible settlement must also wait for finality.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for PaymentStatus
impl RefUnwindSafe for PaymentStatus
impl Send for PaymentStatus
impl Sync for PaymentStatus
impl Unpin for PaymentStatus
impl UnsafeUnpin for PaymentStatus
impl UnwindSafe for PaymentStatus
Blanket Implementations§
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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more