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 { 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,