breez_sdk_liquid::lightning_125::sign

Trait OutputSpender

pub trait OutputSpender {
    // Required method
    fn spend_spendable_outputs<C>(
        &self,
        descriptors: &[&SpendableOutputDescriptor],
        outputs: Vec<TxOut>,
        change_destination_script: ScriptBuf,
        feerate_sat_per_1000_weight: u32,
        locktime: Option<LockTime>,
        secp_ctx: &Secp256k1<C>,
    ) -> Result<Transaction, ()>
       where C: Signing;
}
Expand description

A trait that describes a wallet capable of creating a spending Transaction from a set of SpendableOutputDescriptors.

Required Methods§

fn spend_spendable_outputs<C>( &self, descriptors: &[&SpendableOutputDescriptor], outputs: Vec<TxOut>, change_destination_script: ScriptBuf, feerate_sat_per_1000_weight: u32, locktime: Option<LockTime>, secp_ctx: &Secp256k1<C>, ) -> Result<Transaction, ()>
where C: Signing,

Creates a Transaction which spends the given descriptors to the given outputs, plus an output to the given change destination (if sufficient change value remains). The transaction will have a feerate, at least, of the given value.

The locktime argument is used to set the transaction’s locktime. If None, the transaction will have a locktime of 0. It it recommended to set this to the current block height to avoid fee sniping, unless you have some specific reason to use a different locktime.

Returns Err(()) if the output value is greater than the input value minus required fee, if a descriptor was duplicated, or if an output descriptor script_pubkey does not match the one we can spend.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§