pub enum ExitState {
Start(ExitStartState),
Processing(ExitProcessingState),
AwaitingDelta(ExitAwaitingDeltaState),
Claimable(ExitClaimableState),
ClaimInProgress(ExitClaimInProgressState),
Claimed(ExitClaimedState),
}Expand description
A utility type to wrap ExitState children so they can be easily serialized. This also helps with debugging a lot!
Variants§
Start(ExitStartState)
Processing(ExitProcessingState)
AwaitingDelta(ExitAwaitingDeltaState)
Claimable(ExitClaimableState)
ClaimInProgress(ExitClaimInProgressState)
Claimed(ExitClaimedState)
Implementations§
Source§impl ExitState
impl ExitState
pub fn new_start(tip: BlockHeight) -> Self
pub fn new_processing<T: IntoIterator<Item = Txid>>( tip: BlockHeight, txids: T, ) -> Self
pub fn new_processing_from_transactions( tip: BlockHeight, transactions: Vec<ExitTx>, ) -> Self
pub fn new_awaiting_delta( tip: BlockHeight, confirmed_block: BlockRef, wait_delta: BlockDelta, ) -> Self
pub fn new_claimable( tip: BlockHeight, claimable_since: BlockRef, last_scanned_block: Option<BlockRef>, ) -> Self
pub fn new_claim_in_progress( tip: BlockHeight, claimable_since: BlockRef, claim_txid: Txid, ) -> Self
pub fn new_claimed(tip: BlockHeight, txid: Txid, block: BlockRef) -> Self
Sourcepub fn is_pending(&self) -> bool
pub fn is_pending(&self) -> bool
Checks if the state is awaiting the confirmation of every exit transaction in the tree and the exit delta required for the VTXO to become claimable.
Note: This excludes the claimable state, use ExitState::is_claimable for that.
Sourcepub fn is_claimable(&self) -> bool
pub fn is_claimable(&self) -> bool
A simple helper for ExitState::Claimable, at this point an exit can be spent on-chain and redeemed into a UTXO controlled by the user.
pub fn requires_confirmations(&self) -> bool
pub fn claimable_height(&self) -> Option<BlockHeight>
Trait Implementations§
Source§impl<'de> Deserialize<'de> for ExitState
impl<'de> Deserialize<'de> for ExitState
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for ExitState
Source§impl Into<ExitState> for ExitStartState
impl Into<ExitState> for ExitStartState
Source§impl Into<ExitState> for ExitProcessingState
impl Into<ExitState> for ExitProcessingState
Source§impl Into<ExitState> for ExitAwaitingDeltaState
impl Into<ExitState> for ExitAwaitingDeltaState
Source§impl Into<ExitState> for ExitClaimableState
impl Into<ExitState> for ExitClaimableState
Source§impl Into<ExitState> for ExitClaimInProgressState
impl Into<ExitState> for ExitClaimInProgressState
Source§impl Into<ExitState> for ExitClaimedState
impl Into<ExitState> for ExitClaimedState
impl StructuralPartialEq for ExitState
Auto Trait Implementations§
impl Freeze for ExitState
impl RefUnwindSafe for ExitState
impl Send for ExitState
impl Sync for ExitState
impl Unpin for ExitState
impl UnsafeUnpin for ExitState
impl UnwindSafe for ExitState
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request