satpoint(1, 2), BTreeMap::new(), vec![(outpoint(1), Amount::from_sat(5))] .into_iter() .collect(), BTreeSet::new(), recipient(), [change(0), change(1)], FeeRate::try_from(1.0).unwrap(), Target::Postage, ) .select_outgoing() .unwrap(); builder.outputs[0].1 = Amount::from_sat(0); builder.build().unwrap(); } #[test] fn excess_postage_is_stripped() { let utxos = vec![(outpoint(1), Amount::from_sat(1_000_000))]; pretty_assert_eq!( TransactionBuilder::new( satpoint(1, 0), BTreeMap::new(), utxos.into_iter().collect(), BTreeSet::new(), recipient(), [change(0), change(1)], FeeRate::try_from(1.0).unwrap(), Target::Postage, ) .build_transaction(), Ok(Transaction { version: 1, lock_time: LockTime::ZERO, input: vec![tx_in(outpoint(1))], output: vec![ tx_out(TransactionBuilder::TARGET_POSTAGE.to_sat(), recipient()),