txscript: add stake opcode tests.

This commit is contained in:
Donald Adu-Poku 2018-09-11 20:21:42 +00:00
parent e0222e383c
commit 60cbb70c67
2 changed files with 29 additions and 0 deletions

View File

@ -2999,5 +2999,32 @@
["1 1","IF 0xfe ELSE ENDIF", "NONE", "ERR_RESERVED_OPCODE", "Opcode 0xfe is reserved in executed branch"],
["1 1","IF 0xff ELSE ENDIF", "NONE", "ERR_RESERVED_OPCODE", "Opcode 0xff is reserved in executed branch"],
["0", "IF 0x50{255} ENDIF 1", "NONE", "OK", ">255 opcodes, but RESERVED (0x50) doesn't count towards opcode limit"],
["0 0x01 0x50", "HASH160 0x14 0x77c33ee1f1892b124f2c9aaed62114c23cffe2da EQUAL", "NONE", "ERR_RESERVED_OPCODE", "OP_RESERVED in P2SH should fail"],
["0 0x01 VER", "HASH160 0x14 0xe682277f7669fe986d315d52b56df3d244da11a0 EQUAL", "NONE", "ERR_RESERVED_OPCODE", "OP_VER in P2SH should fail"],
["STAKE opcodes tests"],
["SSTX related tests"],
["1 1 ADD", "SSTX 2 OP_EQUAL", "NONE", "OK", "SSTX is a NOP"],
["DATA_5 DATA_4 0x7a{4}", "SSTX HASH160 DATA_20 0x246bda0f2b9aba6dc78c6259970e45e6af960d46 EQUAL", "NONE", "ERR_EVAL_FALSE", "SSTX almost P2SH"],
["1 3 DATA_2 ADD SSTX", "HASH160 DATA_20 0xdcbd287f8a23bf97cea3c77392854976a6feff8f EQUAL", "NONE", "ERR_P2SH_STAKE_OPCODES", "SSTX invalid in a P2SH"],
["SSGEN related tests"],
["1 1 ADD", "SSGEN 2 OP_EQUAL", "NONE", "OK", "SSGEN is a NOP"],
["DATA_5 DATA_4 0x7a{4}", "SSGEN HASH160 DATA_20 0x246bda0f2b9aba6dc78c6259970e45e6af960d46 EQUAL", "NONE", "ERR_EVAL_FALSE", "SSGEN almost P2SH"],
["1 3 DATA_2 ADD SSGEN", "HASH160 DATA_20 0xdb831e9b4c3e3a3f383bbf397aee000a27ba275e EQUAL", "NONE", "ERR_P2SH_STAKE_OPCODES", "SSGEN invalid in a P2SH"],
["SSRTX related tests"],
["1 1 ADD", "SSRTX 2 OP_EQUAL", "NONE", "OK", "SSRTX is a NOP"],
["DATA_5 DATA_4 0x7a{4}", "SSRTX HASH160 DATA_20 0x246bda0f2b9aba6dc78c6259970e45e6af960d46 EQUAL", "NONE", "ERR_EVAL_FALSE", "SSRTX almost P2SH"],
["1 3 DATA_2 ADD SSRTX", "HASH160 DATA_20 0xe24f7b2b9b8fae339d3a66ac5ab661c7da97038a EQUAL", "NONE", "ERR_P2SH_STAKE_OPCODES", "SSRTX invalid in a P2SH"],
["SSTXCHANGE related tests"],
["1 1 ADD", "SSTXCHANGE 2 OP_EQUAL", "NONE", "OK", "SSTXCHANGE is a NOP"],
["DATA_5 DATA_4 0x7a{4}", "SSTXCHANGE HASH160 DATA_20 0x246bda0f2b9aba6dc78c6259970e45e6af960d46 EQUAL", "NONE", "ERR_EVAL_FALSE", "SSTXCHANGE almost P2SH"],
["1 3 DATA_2 ADD SSTXCHANGE", "HASH160 DATA_20 0x346bae114bc3467f3c337f620a3272f4dd417daa EQUAL", "NONE", "ERR_P2SH_STAKE_OPCODES", "SSTXCHANGE invalid in a P2SH"],
["The End"]
]

View File

@ -283,6 +283,8 @@ func parseExpectedResult(expected string) ([]ErrorCode, error) {
return []ErrorCode{ErrDisabledOpcode}, nil
case "ERR_RESERVED_OPCODE":
return []ErrorCode{ErrReservedOpcode}, nil
case "ERR_P2SH_STAKE_OPCODES":
return []ErrorCode{ErrP2SHStakeOpCodes}, nil
case "ERR_MALFORMED_PUSH":
return []ErrorCode{ErrMalformedPush}, nil
case "ERR_INVALID_STACK_OPERATION", "ERR_INVALID_ALTSTACK_OPERATION":