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
SpendableOutputDescriptor
s.
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,
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.