pub struct Wallet<W: Deref + MaybeSync + MaybeSend, L: Deref + MaybeSync + MaybeSend>{ /* private fields */ }Expand description
A wrapper over WalletSource that implements CoinSelectionSource by preferring UTXOs
that would avoid conflicting double spends. If not enough UTXOs are available to do so,
conflicting double spends may happen.
For a synchronous version of this wrapper, see sync::WalletSync.
This is not exported to bindings users as async is only supported in Rust.
Implementations§
Trait Implementations§
Source§impl<W: Deref + MaybeSync + MaybeSend, L: Deref + MaybeSync + MaybeSend> CoinSelectionSource for Wallet<W, L>
impl<W: Deref + MaybeSync + MaybeSend, L: Deref + MaybeSync + MaybeSend> CoinSelectionSource for Wallet<W, L>
Source§fn select_confirmed_utxos<'a>(
&'a self,
claim_id: ClaimId,
must_spend: Vec<Input>,
must_pay_to: &'a [TxOut],
target_feerate_sat_per_1000_weight: u32,
max_tx_weight: u64,
) -> AsyncResult<'a, CoinSelection, ()>
fn select_confirmed_utxos<'a>( &'a self, claim_id: ClaimId, must_spend: Vec<Input>, must_pay_to: &'a [TxOut], target_feerate_sat_per_1000_weight: u32, max_tx_weight: u64, ) -> AsyncResult<'a, 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<'a>(&'a self, psbt: Psbt) -> AsyncResult<'a, Transaction, ()>
fn sign_psbt<'a>(&'a self, psbt: Psbt) -> AsyncResult<'a, 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 moreAuto Trait Implementations§
impl<W, L> !Freeze for Wallet<W, L>
impl<W, L> RefUnwindSafe for Wallet<W, L>where
W: RefUnwindSafe,
L: RefUnwindSafe,
impl<W, L> Send for Wallet<W, L>
impl<W, L> Sync for Wallet<W, L>
impl<W, L> Unpin for Wallet<W, L>
impl<W, L> UnwindSafe for Wallet<W, L>where
W: UnwindSafe,
L: UnwindSafe,
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