Check all outputs meet the dust threshold in check_spends!() 2021-07-check-dust
authorMatt Corallo <git@bluematt.me>
Sat, 31 Jul 2021 18:33:57 +0000 (18:33 +0000)
committerMatt Corallo <git@bluematt.me>
Fri, 19 Nov 2021 22:52:26 +0000 (22:52 +0000)
lightning/src/ln/functional_test_utils.rs

index 82c5d2901e2c15ddedf1ca35548492207f392858..6b46f62813b0baa23f13fe1b32425d9f9720f9fd 100644 (file)
@@ -690,6 +690,14 @@ pub fn update_nodes_with_chan_announce<'a, 'b, 'c, 'd>(nodes: &'a Vec<Node<'b, '
 macro_rules! check_spends {
        ($tx: expr, $($spends_txn: expr),*) => {
                {
+                       $(
+                       for outp in $spends_txn.output.iter() {
+                               assert!(outp.value >= outp.script_pubkey.dust_value().as_sat(), "Input tx output didn't meet dust limit");
+                       }
+                       )*
+                       for outp in $tx.output.iter() {
+                               assert!(outp.value >= outp.script_pubkey.dust_value().as_sat(), "Spending tx output didn't meet dust limit");
+                       }
                        let get_output = |out_point: &bitcoin::blockdata::transaction::OutPoint| {
                                $(
                                        if out_point.txid == $spends_txn.txid() {