) } #[test] fn excess_additional_postage_is_stripped() { let utxos = vec![ (outpoint(1), Amount::from_sat(5_000)), (outpoint(2), Amount::from_sat(25_000)), ]; pretty_assert_eq!( TransactionBuilder::new( satpoint(1, 4_950), 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)), tx_in(outpoint(2))], output: vec![ tx_out(4_950, change(1)), tx_out(TransactionBuilder::TARGET_POSTAGE.to_sat(), recipient()), tx_out(14_831, change(0)), ], }) ) } #[test] #[should_panic(expected = "invariant: outgoing sat is contained in utxos")] fn invariant_satpoint_outpoint_is_contained_in_utxos() { TransactionBuilder::new(