Enforce MINIMALIF-compliant witness for spending revokable redeemscript
authorAntoine Riard <ariard@student.42.fr>
Thu, 2 Apr 2020 21:13:13 +0000 (17:13 -0400)
committerAntoine Riard <ariard@student.42.fr>
Thu, 2 Apr 2020 21:13:13 +0000 (17:13 -0400)
lightning/src/chain/keysinterface.rs
lightning/src/ln/functional_tests.rs

index d023c31de239c1127cf62c63ed1fabc39a6010da..2b90188637c1535bb8ce442a1f5478c914926fcf 100644 (file)
@@ -54,7 +54,7 @@ pub enum SpendableOutputDescriptor {
        /// The private key which should be used to sign the transaction is provided, as well as the
        /// full witness redeemScript which is hashed in the output script_pubkey.
        /// The witness in the spending input should be:
-       /// <BIP 143 signature generated with the given key> <one zero byte aka OP_0>
+       /// <BIP 143 signature generated with the given key> <empty vector> (MINIMALIF standard rule)
        /// <witness_script as provided>
        /// Note that the nSequence field in the input must be set to_self_delay (which corresponds to
        /// the transaction not being broadcastable until at least to_self_delay blocks after the input
index 8ea9dcf753c07159bb376d0ace428e88754e59b4..de6488d144e65f437e6e57c6d47c23182393e462 100644 (file)
@@ -4009,7 +4009,7 @@ macro_rules! check_spendable_outputs {
                                                                        let local_delaysig = secp_ctx.sign(&sighash, key);
                                                                        spend_tx.input[0].witness.push(local_delaysig.serialize_der().to_vec());
                                                                        spend_tx.input[0].witness[0].push(SigHashType::All as u8);
-                                                                       spend_tx.input[0].witness.push(vec!(0));
+                                                                       spend_tx.input[0].witness.push(vec!());
                                                                        spend_tx.input[0].witness.push(witness_script.clone().into_bytes());
                                                                        txn.push(spend_tx);
                                                                },