Add HasCanonicalPushes(), and use it in IsStandardTx

This commit is contained in:
Pieter Wuille
2013-09-24 00:48:00 +02:00
committed by Pieter Wuille
parent 9aea601b05
commit 87fe71e1fc
4 changed files with 53 additions and 1 deletions

View File

@@ -438,4 +438,22 @@ BOOST_AUTO_TEST_CASE(script_combineSigs)
BOOST_CHECK(combined == partial3c);
}
BOOST_AUTO_TEST_CASE(script_standard_push)
{
for (int i=0; i<1000; i++) {
CScript script;
script << i;
BOOST_CHECK_MESSAGE(script.IsPushOnly(), "Number " << i << " is not pure push.");
BOOST_CHECK_MESSAGE(script.HasCanonicalPushes(), "Number " << i << " push is not canonical.");
}
for (int i=0; i<1000; i++) {
std::vector<unsigned char> data(i, '\111');
CScript script;
script << data;
BOOST_CHECK_MESSAGE(script.IsPushOnly(), "Length " << i << " is not pure push.");
BOOST_CHECK_MESSAGE(script.HasCanonicalPushes(), "Length " << i << " push is not canonical.");
}
}
BOOST_AUTO_TEST_SUITE_END()