Struct RoundState

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

State of the progress of a round participation

An instance of this struct is kept all the way from the intention of joining the next round, until either the round fully confirms or it fails and we are sure it won’t have any effect on our wallet.

As soon as we have signed forfeit txs for the round, we keep track of this round attempt until we see another attempt we participated in confirm or we gain confidence that the failed attempt will never confirm.

Implementations§

Source§

impl RoundState

Source

pub fn participation(&self) -> &RoundParticipation

Our participation in this round

Source

pub fn flow(&self) -> &RoundFlowState

Source

pub fn unconfirmed_rounds(&self) -> &[UnconfirmedRound]

Source

pub fn ongoing_participation(&self) -> bool

Whether the interactive part of the round is still ongoing

Source

pub async fn try_cancel(&mut self, wallet: &Wallet) -> Result<bool>

Tries to cancel the round and returns whether it was succesfully canceled or if it was already canceled or failed

Source

pub async fn process_event( &mut self, wallet: &Wallet, event: &RoundEvent, ) -> bool

Processes the given event and returns true if some update was made to the state

Source

pub async fn sync(&mut self, wallet: &Wallet) -> Result<RoundStatus>

Sync the round’s status and return it

When success or failure is returned, the round state can be eliminated

Source

pub fn output_vtxos(&self) -> Option<&[Vtxo]>

Once we know the signed round funding tx, this returns the output VTXOs for this round.

Source

pub fn locked_pending_inputs(&self) -> &[Vtxo]

Returns the input VTXOs that are locked in this round, but only if no output VTXOs were issued yet.

Trait Implementations§

Source§

impl<'a> From<&'a RoundState> for SerdeRoundState<'a>

Source§

fn from(state: &'a RoundState) -> Self

Converts to this type from the input type.
Source§

impl<'a> From<SerdeRoundState<'a>> for RoundState

Source§

fn from(state: SerdeRoundState<'a>) -> Self

Converts to this type from the input type.

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> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> IntoRequest<T> for T

Source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
Source§

impl<L> LayerExt<L> for L

Source§

fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>
where L: Layer<S>,

Applies the layer to a service and wraps it in Layered.
Source§

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

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
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.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> ErasedDestructor for T
where T: 'static,