Struct Wallet

Source
pub struct Wallet<W: Deref, L: Deref>{ /* private fields */ }
Expand description

A wrapper over WalletSource that implements CoinSelection by preferring UTXOs that would avoid conflicting double spends. If not enough UTXOs are available to do so, conflicting double spends may happen.

Implementations§

Source§

impl<W: Deref, L: Deref> Wallet<W, L>

Source

pub fn new(source: W, logger: L) -> Self

Returns a new instance backed by the given WalletSource that serves as an implementation of CoinSelectionSource.

Trait Implementations§

Source§

impl<W: Deref, L: Deref> CoinSelectionSource for Wallet<W, L>

Source§

fn select_confirmed_utxos( &self, claim_id: ClaimId, must_spend: Vec<Input>, must_pay_to: &[TxOut], target_feerate_sat_per_1000_weight: u32, ) -> Result<CoinSelection, ()>

Performs coin selection of a set of UTXOs, with at least 1 confirmation each, that are available to spend. Implementations are free to pick their coin selection algorithm of choice, as long as the following requirements are met: Read more
Source§

fn sign_psbt(&self, psbt: Psbt) -> Result<Transaction, ()>

Signs and provides the full witness for all inputs within the transaction known to the trait (i.e., any provided via CoinSelectionSource::select_confirmed_utxos). Read more

Auto Trait Implementations§

§

impl<W, L> !Freeze for Wallet<W, L>

§

impl<W, L> RefUnwindSafe for Wallet<W, L>

§

impl<W, L> Send for Wallet<W, L>
where W: Send, L: Send,

§

impl<W, L> Sync for Wallet<W, L>
where W: Sync, L: Sync,

§

impl<W, L> Unpin for Wallet<W, L>
where W: Unpin, L: Unpin,

§

impl<W, L> UnwindSafe for Wallet<W, L>
where W: UnwindSafe, L: UnwindSafe,

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.
Source§

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

Source§

fn vzip(self) -> V