Clearly separate PUSHDATA and numeric argument MINIMALDATA tests
This commit is contained in:
committed by
Pieter Wuille
parent
dfeec18b85
commit
2b62e1796b
@@ -384,22 +384,51 @@ nSequences are max.
|
||||
|
||||
["0x00", "'00' EQUAL", "P2SH,STRICTENC", "Basic OP_0 execution"],
|
||||
|
||||
["0x01 0x81", "DROP 1", "MINIMALDATA", "direct push of 0x81 equals 1NEGATE"],
|
||||
["0x01 0x05", "DROP 1", "MINIMALDATA", "direct push of 0x05 equals 5"],
|
||||
["0x4c 0x48 0x111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111", "DROP 1", "MINIMALDATA", "PUSHDATA1 of 72 bytes equals direct push of it"],
|
||||
["0x4d 0xFF00 0x111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111", "DROP 1", "MINIMALDATA", "PUSHDATA2 of 255 bytes equals PUSHDATA1 of it"],
|
||||
["0x01 0x00", "NOT DROP 1", "MINIMALDATA", "0x00 numequals 0"],
|
||||
["0x01 0x80", "NOT DROP 1", "MINIMALDATA", "0x80 (negative zero) numequals 0"],
|
||||
["0x02 0x0080", "NOT DROP 1", "MINIMALDATA", "0x0080 numequals 0"],
|
||||
["0x02 0x0500", "NOT DROP 1", "MINIMALDATA", "0x0500 numequals 5"],
|
||||
["0x03 0xff7f80", "NOT DROP 1", "MINIMALDATA", "Minimal encoding is ffff"],
|
||||
["0x03 0xff7f00", "NOT DROP 1", "MINIMALDATA", "Minimal encoding is ff7f"],
|
||||
["0x04 0xffff7f80", "NOT DROP 1", "MINIMALDATA", "Minimal encoding is ffffff"],
|
||||
["0x04 0xffff7f00", "NOT DROP 1", "MINIMALDATA", "Minimal encoding is ffff7f"],
|
||||
["1 IF 0x01 0x81 ENDIF 1", "", "MINIMALDATA", "evaluated non-minimal data"],
|
||||
["1 IF 0x01 0x05 ENDIF 1", "", "MINIMALDATA", "evaluated non-minimal data"],
|
||||
["1 IF 0x4c 0x03 0x222222 ENDIF 1", "", "MINIMALDATA", "evaluated non-minimal data"],
|
||||
["MINIMALDATA enforcement for PUSHDATAs"],
|
||||
|
||||
["0x4c 0x00", "DROP 1", "MINIMALDATA", "Empty vector minimally represented by OP_0"],
|
||||
["0x01 0x81", "DROP 1", "MINIMALDATA", "-1 minimally represented by OP_1NEGATE"],
|
||||
["0x01 0x01", "DROP 1", "MINIMALDATA", "1 to 16 minimally represented by OP_1 to OP_16"],
|
||||
["0x01 0x02", "DROP 1", "MINIMALDATA"],
|
||||
["0x01 0x03", "DROP 1", "MINIMALDATA"],
|
||||
["0x01 0x04", "DROP 1", "MINIMALDATA"],
|
||||
["0x01 0x05", "DROP 1", "MINIMALDATA"],
|
||||
["0x01 0x06", "DROP 1", "MINIMALDATA"],
|
||||
["0x01 0x07", "DROP 1", "MINIMALDATA"],
|
||||
["0x01 0x08", "DROP 1", "MINIMALDATA"],
|
||||
["0x01 0x09", "DROP 1", "MINIMALDATA"],
|
||||
["0x01 0x0a", "DROP 1", "MINIMALDATA"],
|
||||
["0x01 0x0b", "DROP 1", "MINIMALDATA"],
|
||||
["0x01 0x0c", "DROP 1", "MINIMALDATA"],
|
||||
["0x01 0x0d", "DROP 1", "MINIMALDATA"],
|
||||
["0x01 0x0e", "DROP 1", "MINIMALDATA"],
|
||||
["0x01 0x0f", "DROP 1", "MINIMALDATA"],
|
||||
["0x01 0x10", "DROP 1", "MINIMALDATA"],
|
||||
|
||||
["0x4c 0x48 0x111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111", "DROP 1", "MINIMALDATA",
|
||||
"PUSHDATA1 of 72 bytes minimally represented by direct push"],
|
||||
|
||||
["0x4d 0xFF00 0x111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111", "DROP 1", "MINIMALDATA",
|
||||
"PUSHDATA2 of 255 bytes minimally represented by PUSHDATA1"],
|
||||
|
||||
["0x4f 0x00100000 0x11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111", "DROP 1", "MINIMALDATA",
|
||||
"PUSHDATA4 of 256 bytes minimally represented by PUSHDATA2"],
|
||||
|
||||
|
||||
["MINIMALDATA enforcement for numeric arguments"],
|
||||
|
||||
["0x01 0x00", "NOT DROP 1", "MINIMALDATA", "numequals 0"],
|
||||
["0x02 0x0000", "NOT DROP 1", "MINIMALDATA", "numequals 0"],
|
||||
["0x01 0x80", "NOT DROP 1", "MINIMALDATA", "0x80 (negative zero) numequals 0"],
|
||||
["0x02 0x0080", "NOT DROP 1", "MINIMALDATA", "numequals 0"],
|
||||
["0x02 0x0500", "NOT DROP 1", "MINIMALDATA", "numequals 5"],
|
||||
["0x03 0x050000", "NOT DROP 1", "MINIMALDATA", "numequals 5"],
|
||||
["0x02 0x0580", "NOT DROP 1", "MINIMALDATA", "numequals -5"],
|
||||
["0x03 0x050080", "NOT DROP 1", "MINIMALDATA", "numequals -5"],
|
||||
["0x03 0xff7f80", "NOT DROP 1", "MINIMALDATA", "Minimal encoding is 0xffff"],
|
||||
["0x03 0xff7f00", "NOT DROP 1", "MINIMALDATA", "Minimal encoding is 0xff7f"],
|
||||
["0x04 0xffff7f80", "NOT DROP 1", "MINIMALDATA", "Minimal encoding is 0xffffff"],
|
||||
["0x04 0xffff7f00", "NOT DROP 1", "MINIMALDATA", "Minimal encoding is 0xffff7f"],
|
||||
|
||||
["Test every numeric-accepting opcode for correct handling of the numeric minimal encoding rule"],
|
||||
|
||||
|
||||
Reference in New Issue
Block a user