version: 1,
lock_time: LockTime::ZERO,
input: vec![tx_in(outpoint(1))],
output: vec![tx_out(3_333, change(1)), tx_out(6_537, recipient())],
})
)
}
#[test]
fn alignment_output_under_dust_limit_is_padded() {
let utxos = vec![
(outpoint(1), Amount::from_sat(10_000)),
(outpoint(2), Amount::from_sat(10_000)),
];
pretty_assert_eq!(
TransactionBuilder::new(
satpoint(1, 1),
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(2)), tx_in(outpoint(1))],
output: vec![tx_out(10_001, change(1)), tx_out(9_811, recipient())],
})
)
}
#[test]
#[should_panic(expected = "invariant: all outputs are either change or recipient")]