mirror of
https://github.com/dashpay/dash.git
synced 2024-12-25 12:02:48 +01:00
Merge #17502: test: add unit test for non-standard bare multisig txs
1bb5d517aa616c1d5b5801d2ea36a2de5fb61eba test: add unit test for non-standard bare multisig txs (Sebastian Falbesoner)
Pull request description:
Approaches another missing unit test of issue #17394: Checks that the function `IsStandardTx()` returns rejection reason `"bare-multisig"` if any one of the outputs' scriptPubKey has bare multisignature format (i.e. `M <PubKey1> <PubKey2> ... <PubKeyN> N OP_CHECKSIG`, not P2SH!) and the policy flag `fIsBareMultisigStd` is set to false.
ACKs for top commit:
instagibbs:
utACK 1bb5d517aa
Tree-SHA512: d7c95e35da16520d6dcd2b4278e2426fedd13f68d1f23c90e85e929774e123fbfcfbccc26df6ad1c0dd61780896fa4b4b3d4e8280c647bb06df2bfcf2ba572fb
This commit is contained in:
parent
10d3849271
commit
44fec4395a
@ -464,6 +464,17 @@ BOOST_AUTO_TEST_CASE(test_IsStandard)
|
|||||||
reason.clear();
|
reason.clear();
|
||||||
BOOST_CHECK(!IsStandardTx(CTransaction(t), reason));
|
BOOST_CHECK(!IsStandardTx(CTransaction(t), reason));
|
||||||
BOOST_CHECK_EQUAL(reason, "scriptsig-size");
|
BOOST_CHECK_EQUAL(reason, "scriptsig-size");
|
||||||
|
|
||||||
|
// Check bare multisig (standard if policy flag fIsBareMultisigStd is set)
|
||||||
|
fIsBareMultisigStd = true;
|
||||||
|
t.vout[0].scriptPubKey = GetScriptForMultisig(1, {key.GetPubKey()}); // simple 1-of-1
|
||||||
|
t.vin[0].scriptSig = CScript() << std::vector<unsigned char>(65, 0);
|
||||||
|
BOOST_CHECK(IsStandardTx(CTransaction(t), reason));
|
||||||
|
|
||||||
|
fIsBareMultisigStd = false;
|
||||||
|
reason.clear();
|
||||||
|
BOOST_CHECK(!IsStandardTx(CTransaction(t), reason));
|
||||||
|
BOOST_CHECK_EQUAL(reason, "bare-multisig");
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOST_AUTO_TEST_SUITE_END()
|
BOOST_AUTO_TEST_SUITE_END()
|
||||||
|
Loading…
Reference in New Issue
Block a user