Changeset View
Changeset View
Standalone View
Standalone View
src/test/script_tests.cpp
Show First 20 Lines • Show All 1,127 Lines • ▼ Show 20 Lines | BOOST_AUTO_TEST_CASE(script_build) { | ||||
// Test OP_CHECKDATASIG | // Test OP_CHECKDATASIG | ||||
static const uint256 one(uint256S( | static const uint256 one(uint256S( | ||||
"0000000000000000000000000000000000000000000000000000000000000001")); | "0000000000000000000000000000000000000000000000000000000000000001")); | ||||
static const uint256 two(uint256S( | static const uint256 two(uint256S( | ||||
"0000000000000000000000000000000000000000000000000000000000000002")); | "0000000000000000000000000000000000000000000000000000000000000002")); | ||||
const uint32_t checkdatasigflags = SCRIPT_VERIFY_STRICTENC | | const uint32_t checkdatasigflags = SCRIPT_VERIFY_STRICTENC | | ||||
SCRIPT_VERIFY_NULLFAIL | | SCRIPT_VERIFY_NULLFAIL | | ||||
SCRIPT_ENABLE_CHECKDATASIG; | SCRIPT_ENABLE_MAGNETIC_OPCODES; | ||||
tests.push_back( | tests.push_back( | ||||
TestBuilder(CScript() << ToByteVector(keys.pubkey1C) << OP_CHECKDATASIG, | TestBuilder(CScript() << ToByteVector(keys.pubkey1C) << OP_CHECKDATASIG, | ||||
"Standard CHECKDATASIG", checkdatasigflags) | "Standard CHECKDATASIG", checkdatasigflags) | ||||
.PushDataSig(keys.key1, one) | .PushDataSig(keys.key1, one) | ||||
.Push(one)); | .Push(one)); | ||||
tests.push_back(TestBuilder(CScript() << ToByteVector(keys.pubkey1C) | tests.push_back(TestBuilder(CScript() << ToByteVector(keys.pubkey1C) | ||||
<< OP_CHECKDATASIG << OP_NOT, | << OP_CHECKDATASIG << OP_NOT, | ||||
▲ Show 20 Lines • Show All 51 Lines • ▼ Show 20 Lines | tests.push_back( | ||||
"CHECKDATASIG with hybrid pubkey", checkdatasigflags) | "CHECKDATASIG with hybrid pubkey", checkdatasigflags) | ||||
.PushDataSig(keys.key0, one) | .PushDataSig(keys.key0, one) | ||||
.Push(one) | .Push(one) | ||||
.ScriptError(SCRIPT_ERR_PUBKEYTYPE)); | .ScriptError(SCRIPT_ERR_PUBKEYTYPE)); | ||||
tests.push_back( | tests.push_back( | ||||
TestBuilder(CScript() << ToByteVector(keys.pubkey0H) << OP_CHECKDATASIG | TestBuilder(CScript() << ToByteVector(keys.pubkey0H) << OP_CHECKDATASIG | ||||
<< OP_NOT, | << OP_NOT, | ||||
"CHECKDATASIG with invalid hybrid pubkey but no STRICTENC", | "CHECKDATASIG with invalid hybrid pubkey but no STRICTENC", | ||||
SCRIPT_ENABLE_CHECKDATASIG) | SCRIPT_ENABLE_MAGNETIC_OPCODES) | ||||
.PushDataSig(keys.key0, one) | .PushDataSig(keys.key0, one) | ||||
.DamagePush(10) | .DamagePush(10) | ||||
.Push(one)); | .Push(one)); | ||||
tests.push_back( | tests.push_back( | ||||
TestBuilder(CScript() << ToByteVector(keys.pubkey0H) << OP_CHECKDATASIG, | TestBuilder(CScript() << ToByteVector(keys.pubkey0H) << OP_CHECKDATASIG, | ||||
"CHECKDATASIG with invalid hybrid pubkey", | "CHECKDATASIG with invalid hybrid pubkey", | ||||
checkdatasigflags) | checkdatasigflags) | ||||
.PushDataSig(keys.key0, one) | .PushDataSig(keys.key0, one) | ||||
▲ Show 20 Lines • Show All 73 Lines • ▼ Show 20 Lines | tests.push_back(TestBuilder(CScript() << ToByteVector(keys.pubkey0H) | ||||
.PushDataSig(keys.key0, one) | .PushDataSig(keys.key0, one) | ||||
.Push(one) | .Push(one) | ||||
.ScriptError(SCRIPT_ERR_PUBKEYTYPE)); | .ScriptError(SCRIPT_ERR_PUBKEYTYPE)); | ||||
tests.push_back( | tests.push_back( | ||||
TestBuilder( | TestBuilder( | ||||
CScript() << ToByteVector(keys.pubkey0H) << OP_CHECKDATASIGVERIFY | CScript() << ToByteVector(keys.pubkey0H) << OP_CHECKDATASIGVERIFY | ||||
<< OP_TRUE, | << OP_TRUE, | ||||
"CHECKDATASIGVERIFY with invalid hybrid pubkey but no STRICTENC", | "CHECKDATASIGVERIFY with invalid hybrid pubkey but no STRICTENC", | ||||
SCRIPT_ENABLE_CHECKDATASIG) | SCRIPT_ENABLE_MAGNETIC_OPCODES) | ||||
.PushDataSig(keys.key0, one) | .PushDataSig(keys.key0, one) | ||||
.DamagePush(10) | .DamagePush(10) | ||||
.Push(one) | .Push(one) | ||||
.ScriptError(SCRIPT_ERR_CHECKDATASIGVERIFY)); | .ScriptError(SCRIPT_ERR_CHECKDATASIGVERIFY)); | ||||
tests.push_back(TestBuilder(CScript() << ToByteVector(keys.pubkey0H) | tests.push_back(TestBuilder(CScript() << ToByteVector(keys.pubkey0H) | ||||
<< OP_CHECKDATASIGVERIFY << OP_TRUE, | << OP_CHECKDATASIGVERIFY << OP_TRUE, | ||||
"CHECKDATASIGVERIFY with invalid hybrid pubkey", | "CHECKDATASIGVERIFY with invalid hybrid pubkey", | ||||
checkdatasigflags) | checkdatasigflags) | ||||
▲ Show 20 Lines • Show All 767 Lines • Show Last 20 Lines |