Struct OffboardForfeitContext

Source
pub struct OffboardForfeitContext<'a, V> { /* private fields */ }

Implementations§

Source§

impl<'a, V> OffboardForfeitContext<'a, V>
where V: AsRef<Vtxo>,

Source

pub fn new(input_vtxos: &'a [V], offboard_tx: &'a Transaction) -> Self

Create a new OffboardForfeitContext with given input VTXOs and offboard tx

Number of input VTXOs must not be zero.

Source

pub fn validate_offboard_tx( &self, req: &OffboardRequest, ) -> Result<(), InvalidOffboardTxError>

Validate offboard tx matches offboard request

Source

pub fn user_sign_forfeits( &self, keys: &[impl Borrow<Keypair>], server_nonces: &[PublicNonce], ) -> OffboardForfeitSignatures

Sign forfeit transactions for all input VTXOs

Provide the keys for the VTXO pubkeys in order of the input VTXOs.

Panics if wrong number of keys or nonces, or if Self::validate_offboard_tx would have returned an error. The caller should call that method first.

Source

pub fn check_finalize_transactions( &self, server_key: &Keypair, connector_key: &Keypair, server_pub_nonces: &[PublicNonce], server_sec_nonces: Vec<SecretNonce>, user_pub_nonces: &[PublicNonce], user_partial_sigs: &[PartialSignature], ) -> Result<Vec<Transaction>, InvalidUserPartialSignatureError>

Check the user’s partial signatures and finalize the forfeit txs

Panics if wrong number of secret nonces or partial signatures, or if Self::validate_offboard_tx would have returned an error. The caller should call that method first.

Auto Trait Implementations§

§

impl<'a, V> Freeze for OffboardForfeitContext<'a, V>

§

impl<'a, V> RefUnwindSafe for OffboardForfeitContext<'a, V>
where V: RefUnwindSafe,

§

impl<'a, V> Send for OffboardForfeitContext<'a, V>
where V: Sync,

§

impl<'a, V> Sync for OffboardForfeitContext<'a, V>
where V: Sync,

§

impl<'a, V> Unpin for OffboardForfeitContext<'a, V>

§

impl<'a, V> UnwindSafe for OffboardForfeitContext<'a, V>
where V: RefUnwindSafe,

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> 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, 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