Struct WalletSync

Source
pub struct WalletSync<W: Deref + MaybeSync + MaybeSend, L: Deref + MaybeSync + MaybeSend>{ /* private fields */ }
Expand description

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

For an asynchronous version of this wrapper, see Wallet.

Implementations§

Source§

impl<W: Deref + MaybeSync + MaybeSend, L: Deref + MaybeSync + MaybeSend> WalletSync<W, L>

Source

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

Constructs a new WalletSync instance.

Trait Implementations§

Source§

impl<W: Deref + MaybeSync + MaybeSend, L: Deref + MaybeSync + MaybeSend> CoinSelectionSourceSync for WalletSync<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, max_tx_weight: u64, ) -> 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 CoinSelectionSourceSync::select_confirmed_utxos). Read more

Auto Trait Implementations§

§

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

§

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

§

impl<W, L> Send for WalletSync<W, L>

§

impl<W, L> Sync for WalletSync<W, L>

§

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

§

impl<W, L> UnwindSafe for WalletSync<W, L>
where L: UnwindSafe, W: 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