Transaction {
version: 1,
lock_time: LockTime::ZERO,
input: (0..inputs)
.map(|_| TxIn {
previous_output: OutPoint::null(),
script_sig: ScriptBuf::new(),
sequence: Sequence::ENABLE_RBF_NO_LOCKTIME,
witness: Witness::from_slice(&[&[0; Self::SCHNORR_SIGNATURE_SIZE]]),
})
.collect(),
output: outputs
.into_iter()
.map(|address| TxOut {
value: 0,
script_pubkey: address.script_pubkey(),
})
.collect(),
}
.vsize()
}
fn estimate_fee(&self) -> Amount {
self.fee_rate.fee(self.estimate_vbytes())
}
fn build(self) -> Result<Transaction> {
let recipient = self.recipient.script_pubkey();
let transaction = Transaction {
version: 1,
lock_time: LockTime::ZERO,
input: self
.inputs
.iter()
.map(|outpoint| TxIn {
previous_output: *outpoint,
script_sig: ScriptBuf::new(),
sequence: Sequence::ENABLE_RBF_NO_LOCKTIME,