Merge pull request #4560
d2d9dc0
script tests: add tests for CHECKMULTISIG limits (Otto Allmendinger)89101c6
script test: test case for 5-byte bools (Otto Allmendinger)4cac5db
script tests: value with trailing 0x00 is true (Otto Allmendinger)833ff16
script tests: values that overflow to 0 are true (Otto Allmendinger)0072d98
script tests: BOOLAND, BOOLOR decode to integer (Otto Allmendinger)ed02282
additional test for OP_SIZE in script_valid.json (Otto Allmendinger)
This commit is contained in:
commit
b7bba43a14
2 changed files with 10 additions and 0 deletions
|
@ -272,6 +272,9 @@
|
||||||
["2147483647", "1ADD 1SUB 1", "We cannot do math on 5-byte integers, even if the result is 4-bytes"],
|
["2147483647", "1ADD 1SUB 1", "We cannot do math on 5-byte integers, even if the result is 4-bytes"],
|
||||||
["2147483648", "1SUB 1", "We cannot do math on 5-byte integers, even if the result is 4-bytes"],
|
["2147483648", "1SUB 1", "We cannot do math on 5-byte integers, even if the result is 4-bytes"],
|
||||||
|
|
||||||
|
["2147483648 1", "BOOLOR 1", "We cannot do BOOLOR on 5-byte integers (but we can still do IF etc)"],
|
||||||
|
["2147483648 1", "BOOLAND 1", "We cannot do BOOLAND on 5-byte integers"],
|
||||||
|
|
||||||
["1", "1 ENDIF", "ENDIF without IF"],
|
["1", "1 ENDIF", "ENDIF without IF"],
|
||||||
["1", "IF 1", "IF without ENDIF"],
|
["1", "IF 1", "IF without ENDIF"],
|
||||||
["1 IF 1", "ENDIF", "IFs don't carry over"],
|
["1 IF 1", "ENDIF", "IFs don't carry over"],
|
||||||
|
@ -349,6 +352,9 @@
|
||||||
"NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP 0 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIGVERIFY 0 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIGVERIFY 0 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIGVERIFY 0 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIGVERIFY 0 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIGVERIFY 0 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIGVERIFY 0 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIGVERIFY 0 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIGVERIFY 0 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIGVERIFY"],
|
"NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP 0 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIGVERIFY 0 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIGVERIFY 0 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIGVERIFY 0 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIGVERIFY 0 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIGVERIFY 0 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIGVERIFY 0 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIGVERIFY 0 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIGVERIFY 0 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIGVERIFY"],
|
||||||
|
|
||||||
|
|
||||||
|
["0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21", "21 CHECKMULTISIG 1", "nPubKeys > 20"],
|
||||||
|
["0 'sig' 1 0", "CHECKMULTISIG 1", "nSigs > nPubKeys"],
|
||||||
|
|
||||||
|
|
||||||
["NOP 0x01 1", "HASH160 0x14 0xda1745e9b549bd0bfa1a569971c77eba30cd5a4b EQUAL", "Tests for Script.IsPushOnly()"],
|
["NOP 0x01 1", "HASH160 0x14 0xda1745e9b549bd0bfa1a569971c77eba30cd5a4b EQUAL", "Tests for Script.IsPushOnly()"],
|
||||||
["NOP1 0x01 1", "HASH160 0x14 0xda1745e9b549bd0bfa1a569971c77eba30cd5a4b EQUAL"],
|
["NOP1 0x01 1", "HASH160 0x14 0xda1745e9b549bd0bfa1a569971c77eba30cd5a4b EQUAL"],
|
||||||
|
|
|
@ -10,6 +10,8 @@
|
||||||
[" 1 2 ", "2 EQUALVERIFY 1 EQUAL"],
|
[" 1 2 ", "2 EQUALVERIFY 1 EQUAL"],
|
||||||
|
|
||||||
["1", ""],
|
["1", ""],
|
||||||
|
["0x02 0x01 0x00", "", "all bytes are significant, not only the last one"],
|
||||||
|
["0x09 0x00000000 0x00000000 0x10", "", "equals zero when cast to Int64"],
|
||||||
|
|
||||||
["0x01 0x0b", "11 EQUAL", "push 1 byte"],
|
["0x01 0x0b", "11 EQUAL", "push 1 byte"],
|
||||||
["0x02 0x417a", "'Az' EQUAL"],
|
["0x02 0x417a", "'Az' EQUAL"],
|
||||||
|
@ -64,6 +66,7 @@
|
||||||
["0", "IF RETURN ENDIF 1", "RETURN only works if executed"],
|
["0", "IF RETURN ENDIF 1", "RETURN only works if executed"],
|
||||||
|
|
||||||
["1 1", "VERIFY"],
|
["1 1", "VERIFY"],
|
||||||
|
["1 0x05 0x01 0x00 0x00 0x00 0x00", "VERIFY", "values >4 bytes can be cast to boolean"],
|
||||||
|
|
||||||
["10 0 11 TOALTSTACK DROP FROMALTSTACK", "ADD 21 EQUAL"],
|
["10 0 11 TOALTSTACK DROP FROMALTSTACK", "ADD 21 EQUAL"],
|
||||||
["'gavin_was_here' TOALTSTACK 11 FROMALTSTACK", "'gavin_was_here' EQUALVERIFY 11 EQUAL"],
|
["'gavin_was_here' TOALTSTACK 11 FROMALTSTACK", "'gavin_was_here' EQUALVERIFY 11 EQUAL"],
|
||||||
|
@ -126,6 +129,7 @@
|
||||||
["-9223372036854775807", "SIZE 8 EQUAL"],
|
["-9223372036854775807", "SIZE 8 EQUAL"],
|
||||||
["'abcdefghijklmnopqrstuvwxyz'", "SIZE 26 EQUAL"],
|
["'abcdefghijklmnopqrstuvwxyz'", "SIZE 26 EQUAL"],
|
||||||
|
|
||||||
|
["42", "SIZE 1 EQUALVERIFY 42 EQUAL", "SIZE does not consume argument"],
|
||||||
|
|
||||||
["2 -2 ADD", "0 EQUAL"],
|
["2 -2 ADD", "0 EQUAL"],
|
||||||
["2147483647 -2147483647 ADD", "0 EQUAL"],
|
["2147483647 -2147483647 ADD", "0 EQUAL"],
|
||||||
|
|
Loading…
Reference in a new issue