Skip to content

Commit

Permalink
Commit BCH_2026 tests
Browse files Browse the repository at this point in the history
  • Loading branch information
bitjson committed Dec 13, 2024
1 parent 3075c46 commit 4efa3fb
Show file tree
Hide file tree
Showing 52 changed files with 681 additions and 24 deletions.
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@ src/lib/vmb-tests/export
src/lib/vmb-tests/generated/.vmb-*
src/lib/vmb-tests/generated/**/*bench.csv
src/lib/vmb-tests/generated/bch_chip_*
src/lib/vmb-tests/generated/bch_2026_*

src/lib/bin/**/*.html
src/lib/bin/**/*.js
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import { OpcodeDescriptionsBch2023 } from '../2023/bch-2023-descriptions.js';
* beyond those present in `BCH_2025_05`.
*/
export enum OpcodeDescriptionsBch2026Additions {
OP_EVAL = 'Pop the top item from the stack as bytecode. Preserve the active bytecode at the top of the control stack, then evaluate the bytecode as if it were the active bytecode (without modifying the stack, alternate stack, or other evaluation context). When the evaluation is complete, restore the original bytecode and continue evaluation after the OP_EVAL instruction. If the bytecode is malformed, error.',
OP_EVAL = 'Pop the top item from the stack as bytecode. Preserve the active bytecode at the top of the control stack, then evaluate the stack-provided bytecode as if it were the active bytecode (without modifying the stack, alternate stack, or other evaluation context). When the evaluation is complete, restore the original bytecode and continue evaluation after the OP_EVAL instruction. If the bytecode is malformed, error.',
OP_BEGIN = 'Push the current instruction pointer index to the control stack as an integer (to be read by OP_UNTIL).',
OP_UNTIL = 'Pop the top item from the control stack (if the control value is not an integer, error). Add the difference between the control value and the current instruction pointer index to the repeated bytes counter, if the sum of the repeated bytes counter and the active bytecode length is greater than the maximum bytecode length, error. Pop the top item from the stack, if the value is not truthy, move the instruction pointer to the control value (and re-evaluate the OP_BEGIN).',
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,15 @@
"05fpsr":[309,247200,465,"OP_EVAL: Control stack limited to depth of 100 (nonP2SH)"],
"4xfv3c":[311,248800,1035,"OP_EVAL: Control stack limited to depth of 100 (P2SH20)"],
"c8frkn":[311,248800,1059,"OP_EVAL: Control stack limited to depth of 100 (P2SH32)"],
"g3u8du":[41,32800,685,"OP_EVAL: Nesting with OP_IF/OP_ENDIF to depth 100 (nonP2SH)"],
"4cvzpw":[335,268000,1801,"OP_EVAL: Nesting with OP_IF/OP_ENDIF to depth 100 (P2SH20)"],
"9782kk":[335,268000,1825,"OP_EVAL: Nesting with OP_IF/OP_ENDIF to depth 100 (P2SH32)"],
"ekqyxw":[41,32800,687,"OP_EVAL: Nesting with OP_IF/OP_ENDIF to depth 100, attempt OP_EVAL at 100 (nonP2SH)"],
"sqwlkq":[337,269600,1805,"OP_EVAL: Nesting with OP_IF/OP_ENDIF to depth 100, attempt OP_EVAL at 100 (P2SH20)"],
"ltlhp7":[337,269600,1829,"OP_EVAL: Nesting with OP_IF/OP_ENDIF to depth 100, attempt OP_EVAL at 100 (P2SH32)"],
"g3u8du":[41,32800,685,"OP_EVAL: Nesting with OP_IF/OP_ENDIF to depth 100, \"OP_1\" at 100 (nonP2SH)"],
"4cvzpw":[335,268000,1801,"OP_EVAL: Nesting with OP_IF/OP_ENDIF to depth 100, \"OP_1\" at 100 (P2SH20)"],
"9782kk":[335,268000,1825,"OP_EVAL: Nesting with OP_IF/OP_ENDIF to depth 100, \"OP_1\" at 100 (P2SH32)"],
"ekqyxw":[41,32800,687,"OP_EVAL: Nesting with OP_IF/OP_ENDIF to depth 100, attempt \"<OP_1> OP_EVAL\" at 100 (nonP2SH)"],
"sqwlkq":[337,269600,1805,"OP_EVAL: Nesting with OP_IF/OP_ENDIF to depth 100, attempt \"<OP_1> OP_EVAL\" at 100 (P2SH20)"],
"ltlhp7":[337,269600,1829,"OP_EVAL: Nesting with OP_IF/OP_ENDIF to depth 100, attempt \"<OP_1> OP_EVAL\" at 100 (P2SH32)"],
"t0rx6q":[41,32800,687,"OP_EVAL: Nesting with OP_IF/OP_ENDIF to depth 100, attempt \"OP_1 OP_0 OP_EVAL\" (evaluation of empty bytecode) at 100 (nonP2SH)"],
"x55fkv":[337,269600,1805,"OP_EVAL: Nesting with OP_IF/OP_ENDIF to depth 100, attempt \"OP_1 OP_0 OP_EVAL\" (evaluation of empty bytecode) at 100 (P2SH20)"],
"2wcdcd":[337,269600,1829,"OP_EVAL: Nesting with OP_IF/OP_ENDIF to depth 100, attempt \"OP_1 OP_0 OP_EVAL\" (evaluation of empty bytecode) at 100 (P2SH32)"],
"unhdgg":[47,37600,205,"OP_EVAL: ((2 2 +)) 4 = (nonP2SH)"],
"k0n4m0":[51,40800,777,"OP_EVAL: ((2 2 +)) 4 = (P2SH20)"],
"htr8ly":[51,40800,801,"OP_EVAL: ((2 2 +)) 4 = (P2SH32)"],
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,9 @@
"ekqyxw":"Unable to verify transaction: error in evaluating input index 1: Program called an unassigned, reserved operation.",
"sqwlkq":"Unable to verify transaction: error in evaluating input index 1: Program called an unassigned, reserved operation.",
"ltlhp7":"Unable to verify transaction: error in evaluating input index 1: Program called an unassigned, reserved operation.",
"t0rx6q":"Unable to verify transaction: error in evaluating input index 1: Program called an unassigned, reserved operation.",
"x55fkv":"Unable to verify transaction: error in evaluating input index 1: Program called an unassigned, reserved operation.",
"2wcdcd":"Unable to verify transaction: error in evaluating input index 1: Program called an unassigned, reserved operation.",
"unhdgg":"Unable to verify transaction: error in evaluating input index 1: Program called an unassigned, reserved operation.",
"k0n4m0":"Unable to verify transaction: error in evaluating input index 1: Program called an unassigned, reserved operation.",
"htr8ly":"Unable to verify transaction: error in evaluating input index 1: Program called an unassigned, reserved operation.",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,18 @@ c8frkn,"OP_EVAL: Control stack limited to depth of 100 (P2SH32)",483,79,2,1,311,
g3u8du,"OP_EVAL: Nesting with OP_IF/OP_ENDIF to depth 100 (nonP2SH)",211,337,2,1,41,32800,685,1,0,143,0,4,285,0
4cvzpw,"OP_EVAL: Nesting with OP_IF/OP_ENDIF to depth 100 (P2SH20)",507,67,2,1,335,268000,1801,8,0,1172,6,8,617,0
9782kk,"OP_EVAL: Nesting with OP_IF/OP_ENDIF to depth 100 (P2SH32)",507,79,2,1,335,268000,1825,8,0,1172,6,8,641,0
ekqyxw,"OP_EVAL: Nesting with OP_IF/OP_ENDIF to depth 100, attempt OP_EVAL at 100 (nonP2SH)",211,339,2,1,41,32800,687,1,0,143,0,4,287,0
sqwlkq,"OP_EVAL: Nesting with OP_IF/OP_ENDIF to depth 100, attempt OP_EVAL at 100 (P2SH20)",509,67,2,1,337,269600,1805,8,0,1179,6,8,621,0
ltlhp7,"OP_EVAL: Nesting with OP_IF/OP_ENDIF to depth 100, attempt OP_EVAL at 100 (P2SH32)",509,79,2,1,337,269600,1829,8,0,1179,6,8,645,0
g3u8du,"OP_EVAL: Nesting with OP_IF/OP_ENDIF to depth 100 (nonP2SH)",211,337,2,1,41,32800,685,1,0,143,0,4,285,0
4cvzpw,"OP_EVAL: Nesting with OP_IF/OP_ENDIF to depth 100 (P2SH20)",507,67,2,1,335,268000,1801,8,0,1172,6,8,617,0
9782kk,"OP_EVAL: Nesting with OP_IF/OP_ENDIF to depth 100 (P2SH32)",507,79,2,1,335,268000,1825,8,0,1172,6,8,641,0
g3u8du,"OP_EVAL: Nesting with OP_IF/OP_ENDIF to depth 100, "OP_1" at 100 (nonP2SH)",211,337,2,1,41,32800,685,1,0,143,0,4,285,0
4cvzpw,"OP_EVAL: Nesting with OP_IF/OP_ENDIF to depth 100, "OP_1" at 100 (P2SH20)",507,67,2,1,335,268000,1801,8,0,1172,6,8,617,0
9782kk,"OP_EVAL: Nesting with OP_IF/OP_ENDIF to depth 100, "OP_1" at 100 (P2SH32)",507,79,2,1,335,268000,1825,8,0,1172,6,8,641,0
ekqyxw,"OP_EVAL: Nesting with OP_IF/OP_ENDIF to depth 100, attempt "<OP_1> OP_EVAL" at 100 (nonP2SH)",211,339,2,1,41,32800,687,1,0,143,0,4,287,0
sqwlkq,"OP_EVAL: Nesting with OP_IF/OP_ENDIF to depth 100, attempt "<OP_1> OP_EVAL" at 100 (P2SH20)",509,67,2,1,337,269600,1805,8,0,1179,6,8,621,0
ltlhp7,"OP_EVAL: Nesting with OP_IF/OP_ENDIF to depth 100, attempt "<OP_1> OP_EVAL" at 100 (P2SH32)",509,79,2,1,337,269600,1829,8,0,1179,6,8,645,0
t0rx6q,"OP_EVAL: Nesting with OP_IF/OP_ENDIF to depth 100, attempt "OP_1 OP_0 OP_EVAL" (evaluation of empty bytecode) at 100 (nonP2SH)",211,339,2,1,41,32800,687,1,0,143,0,4,287,0
x55fkv,"OP_EVAL: Nesting with OP_IF/OP_ENDIF to depth 100, attempt "OP_1 OP_0 OP_EVAL" (evaluation of empty bytecode) at 100 (P2SH20)",509,67,2,1,337,269600,1805,8,0,1179,6,8,621,0
2wcdcd,"OP_EVAL: Nesting with OP_IF/OP_ENDIF to depth 100, attempt "OP_1 OP_0 OP_EVAL" (evaluation of empty bytecode) at 100 (P2SH32)",509,79,2,1,337,269600,1829,8,0,1179,6,8,645,0
unhdgg,"OP_EVAL: ((2 2 +)) 4 = (nonP2SH)",217,47,2,1,47,37600,205,1,0,164,0,2,5,0
k0n4m0,"OP_EVAL: ((2 2 +)) 4 = (P2SH20)",221,67,2,1,51,40800,777,1,0,178,2,6,49,0
htr8ly,"OP_EVAL: ((2 2 +)) 4 = (P2SH32)",221,79,2,1,51,40800,801,1,0,178,2,6,73,0
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,15 @@
"05fpsr":[309,247200,465,"OP_EVAL: Control stack limited to depth of 100 (nonP2SH)"],
"4xfv3c":[311,248800,1291,"OP_EVAL: Control stack limited to depth of 100 (P2SH20)"],
"c8frkn":[311,248800,1315,"OP_EVAL: Control stack limited to depth of 100 (P2SH32)"],
"g3u8du":[41,32800,685,"OP_EVAL: Nesting with OP_IF/OP_ENDIF to depth 100 (nonP2SH)"],
"4cvzpw":[335,268000,2569,"OP_EVAL: Nesting with OP_IF/OP_ENDIF to depth 100 (P2SH20)"],
"9782kk":[335,268000,2593,"OP_EVAL: Nesting with OP_IF/OP_ENDIF to depth 100 (P2SH32)"],
"ekqyxw":[41,32800,687,"OP_EVAL: Nesting with OP_IF/OP_ENDIF to depth 100, attempt OP_EVAL at 100 (nonP2SH)"],
"sqwlkq":[337,269600,2573,"OP_EVAL: Nesting with OP_IF/OP_ENDIF to depth 100, attempt OP_EVAL at 100 (P2SH20)"],
"ltlhp7":[337,269600,2597,"OP_EVAL: Nesting with OP_IF/OP_ENDIF to depth 100, attempt OP_EVAL at 100 (P2SH32)"],
"g3u8du":[41,32800,685,"OP_EVAL: Nesting with OP_IF/OP_ENDIF to depth 100, \"OP_1\" at 100 (nonP2SH)"],
"4cvzpw":[335,268000,2569,"OP_EVAL: Nesting with OP_IF/OP_ENDIF to depth 100, \"OP_1\" at 100 (P2SH20)"],
"9782kk":[335,268000,2593,"OP_EVAL: Nesting with OP_IF/OP_ENDIF to depth 100, \"OP_1\" at 100 (P2SH32)"],
"ekqyxw":[41,32800,687,"OP_EVAL: Nesting with OP_IF/OP_ENDIF to depth 100, attempt \"<OP_1> OP_EVAL\" at 100 (nonP2SH)"],
"sqwlkq":[337,269600,2573,"OP_EVAL: Nesting with OP_IF/OP_ENDIF to depth 100, attempt \"<OP_1> OP_EVAL\" at 100 (P2SH20)"],
"ltlhp7":[337,269600,2597,"OP_EVAL: Nesting with OP_IF/OP_ENDIF to depth 100, attempt \"<OP_1> OP_EVAL\" at 100 (P2SH32)"],
"t0rx6q":[41,32800,687,"OP_EVAL: Nesting with OP_IF/OP_ENDIF to depth 100, attempt \"OP_1 OP_0 OP_EVAL\" (evaluation of empty bytecode) at 100 (nonP2SH)"],
"x55fkv":[337,269600,2573,"OP_EVAL: Nesting with OP_IF/OP_ENDIF to depth 100, attempt \"OP_1 OP_0 OP_EVAL\" (evaluation of empty bytecode) at 100 (P2SH20)"],
"2wcdcd":[337,269600,2597,"OP_EVAL: Nesting with OP_IF/OP_ENDIF to depth 100, attempt \"OP_1 OP_0 OP_EVAL\" (evaluation of empty bytecode) at 100 (P2SH32)"],
"unhdgg":[47,37600,205,"OP_EVAL: ((2 2 +)) 4 = (nonP2SH)"],
"k0n4m0":[51,40800,1033,"OP_EVAL: ((2 2 +)) 4 = (P2SH20)"],
"htr8ly":[51,40800,1057,"OP_EVAL: ((2 2 +)) 4 = (P2SH32)"],
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,9 @@
"ekqyxw":"Unable to verify standard transaction: standard transactions may only spend standard output types. Source output 1 is non-standard: locking bytecode does not match a standard pattern: P2PKH, P2PK, P2SH, P2MS, or arbitrary data (OP_RETURN).",
"sqwlkq":"Unable to verify transaction: error in evaluating input index 1: Program called an unassigned, reserved operation.",
"ltlhp7":"Unable to verify transaction: error in evaluating input index 1: Program called an unassigned, reserved operation.",
"t0rx6q":"Unable to verify standard transaction: standard transactions may only spend standard output types. Source output 1 is non-standard: locking bytecode does not match a standard pattern: P2PKH, P2PK, P2SH, P2MS, or arbitrary data (OP_RETURN).",
"x55fkv":"Unable to verify transaction: error in evaluating input index 1: Program called an unassigned, reserved operation.",
"2wcdcd":"Unable to verify transaction: error in evaluating input index 1: Program called an unassigned, reserved operation.",
"unhdgg":"Unable to verify standard transaction: standard transactions may only spend standard output types. Source output 1 is non-standard: locking bytecode does not match a standard pattern: P2PKH, P2PK, P2SH, P2MS, or arbitrary data (OP_RETURN).",
"k0n4m0":"Unable to verify transaction: error in evaluating input index 1: Program called an unassigned, reserved operation.",
"htr8ly":"Unable to verify transaction: error in evaluating input index 1: Program called an unassigned, reserved operation.",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,18 @@ c8frkn,"OP_EVAL: Control stack limited to depth of 100 (P2SH32)",483,79,2,1,311,
g3u8du,"OP_EVAL: Nesting with OP_IF/OP_ENDIF to depth 100 (nonP2SH)",211,337,2,1,41,32800,685,1,0,20,0,4,285,0
4cvzpw,"OP_EVAL: Nesting with OP_IF/OP_ENDIF to depth 100 (P2SH20)",507,67,2,1,335,268000,2569,8,0,167,6,8,617,0
9782kk,"OP_EVAL: Nesting with OP_IF/OP_ENDIF to depth 100 (P2SH32)",507,79,2,1,335,268000,2593,8,0,167,6,8,641,0
ekqyxw,"OP_EVAL: Nesting with OP_IF/OP_ENDIF to depth 100, attempt OP_EVAL at 100 (nonP2SH)",211,339,2,1,41,32800,687,1,0,20,0,4,287,0
sqwlkq,"OP_EVAL: Nesting with OP_IF/OP_ENDIF to depth 100, attempt OP_EVAL at 100 (P2SH20)",509,67,2,1,337,269600,2573,8,0,168,6,8,621,0
ltlhp7,"OP_EVAL: Nesting with OP_IF/OP_ENDIF to depth 100, attempt OP_EVAL at 100 (P2SH32)",509,79,2,1,337,269600,2597,8,0,168,6,8,645,0
g3u8du,"OP_EVAL: Nesting with OP_IF/OP_ENDIF to depth 100 (nonP2SH)",211,337,2,1,41,32800,685,1,0,20,0,4,285,0
4cvzpw,"OP_EVAL: Nesting with OP_IF/OP_ENDIF to depth 100 (P2SH20)",507,67,2,1,335,268000,2569,8,0,167,6,8,617,0
9782kk,"OP_EVAL: Nesting with OP_IF/OP_ENDIF to depth 100 (P2SH32)",507,79,2,1,335,268000,2593,8,0,167,6,8,641,0
g3u8du,"OP_EVAL: Nesting with OP_IF/OP_ENDIF to depth 100, "OP_1" at 100 (nonP2SH)",211,337,2,1,41,32800,685,1,0,20,0,4,285,0
4cvzpw,"OP_EVAL: Nesting with OP_IF/OP_ENDIF to depth 100, "OP_1" at 100 (P2SH20)",507,67,2,1,335,268000,2569,8,0,167,6,8,617,0
9782kk,"OP_EVAL: Nesting with OP_IF/OP_ENDIF to depth 100, "OP_1" at 100 (P2SH32)",507,79,2,1,335,268000,2593,8,0,167,6,8,641,0
ekqyxw,"OP_EVAL: Nesting with OP_IF/OP_ENDIF to depth 100, attempt "<OP_1> OP_EVAL" at 100 (nonP2SH)",211,339,2,1,41,32800,687,1,0,20,0,4,287,0
sqwlkq,"OP_EVAL: Nesting with OP_IF/OP_ENDIF to depth 100, attempt "<OP_1> OP_EVAL" at 100 (P2SH20)",509,67,2,1,337,269600,2573,8,0,168,6,8,621,0
ltlhp7,"OP_EVAL: Nesting with OP_IF/OP_ENDIF to depth 100, attempt "<OP_1> OP_EVAL" at 100 (P2SH32)",509,79,2,1,337,269600,2597,8,0,168,6,8,645,0
t0rx6q,"OP_EVAL: Nesting with OP_IF/OP_ENDIF to depth 100, attempt "OP_1 OP_0 OP_EVAL" (evaluation of empty bytecode) at 100 (nonP2SH)",211,339,2,1,41,32800,687,1,0,20,0,4,287,0
x55fkv,"OP_EVAL: Nesting with OP_IF/OP_ENDIF to depth 100, attempt "OP_1 OP_0 OP_EVAL" (evaluation of empty bytecode) at 100 (P2SH20)",509,67,2,1,337,269600,2573,8,0,168,6,8,621,0
2wcdcd,"OP_EVAL: Nesting with OP_IF/OP_ENDIF to depth 100, attempt "OP_1 OP_0 OP_EVAL" (evaluation of empty bytecode) at 100 (P2SH32)",509,79,2,1,337,269600,2597,8,0,168,6,8,645,0
unhdgg,"OP_EVAL: ((2 2 +)) 4 = (nonP2SH)",217,47,2,1,47,37600,205,1,0,23,0,2,5,0
k0n4m0,"OP_EVAL: ((2 2 +)) 4 = (P2SH20)",221,67,2,1,51,40800,1033,1,0,25,2,6,49,0
htr8ly,"OP_EVAL: ((2 2 +)) 4 = (P2SH32)",221,79,2,1,51,40800,1057,1,0,25,2,6,73,0
Expand Down
Loading

0 comments on commit 4efa3fb

Please sign in to comment.