@cashscript/utils 0.12.0 → 0.13.0-next.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
- declare const _default: "\n# This file can be run with CashProof to prove that the optimisations preserve exact functionality\n# This includes most of CashScript's bytecode optimisations, although some are incompatible with CashProof\n\n# Hardcoded arithmetic\n# OP_NOT OP_IF <=> OP_NOTIF;\nOP_1 OP_ADD <=> OP_1ADD;\nOP_1 OP_SUB <=> OP_1SUB;\nOP_1 OP_NEGATE <=> OP_1NEGATE;\nOP_0 OP_NUMEQUAL OP_NOT <=> OP_0NOTEQUAL;\nOP_NUMEQUAL OP_NOT <=> OP_NUMNOTEQUAL;\nOP_SHA256 OP_SHA256 <=> OP_HASH256;\nOP_SHA256 OP_RIPEMD160 <=> OP_HASH160;\n\n# Hardcoded stack ops\nOP_2 OP_PICK OP_1 OP_PICK OP_3 OP_PICK <=> OP_3DUP OP_SWAP;\nOP_2 OP_PICK OP_2 OP_PICK OP_2 OP_PICK <=> OP_3DUP;\n\nOP_0 OP_PICK OP_2 OP_PICK <=> OP_2DUP OP_SWAP;\nOP_2 OP_PICK OP_4 OP_PICK <=> OP_2OVER OP_SWAP;\nOP_3 OP_PICK OP_3 OP_PICK <=> OP_2OVER;\n\nOP_2 OP_ROLL OP_3 OP_ROLL <=> OP_2SWAP OP_SWAP;\nOP_3 OP_ROLL OP_3 OP_ROLL <=> OP_2SWAP;\nOP_4 OP_ROLL OP_5 OP_ROLL <=> OP_2ROT OP_SWAP;\nOP_5 OP_ROLL OP_5 OP_ROLL <=> OP_2ROT;\n\nOP_0 OP_PICK <=> OP_DUP;\nOP_1 OP_PICK <=> OP_OVER;\nOP_0 OP_ROLL <=> ;\nOP_1 OP_ROLL <=> OP_SWAP;\nOP_2 OP_ROLL <=> OP_ROT;\nOP_DROP OP_DROP <=> OP_2DROP;\n\n# Secondary effects\nOP_DUP OP_SWAP <=> OP_DUP;\nOP_SWAP OP_SWAP <=> ;\nOP_2SWAP OP_2SWAP <=> ;\nOP_ROT OP_ROT OP_ROT <=> ;\nOP_2ROT OP_2ROT OP_2ROT <=> ;\nOP_OVER OP_OVER <=> OP_2DUP;\nOP_DUP OP_DROP <=> ;\nOP_DUP OP_NIP <=> ;\n\n# Enabling secondary effects\nOP_DUP OP_OVER <=> OP_DUP OP_DUP;\n\n# Merge OP_VERIFY\nOP_EQUAL OP_VERIFY <=> OP_EQUALVERIFY;\nOP_NUMEQUAL OP_VERIFY <=> OP_NUMEQUALVERIFY;\nOP_CHECKSIG OP_VERIFY <=> OP_CHECKSIGVERIFY;\n# OP_CHECKMULTISIG OP_VERIFY <=> OP_CHECKMULTISIGVERIFY;\nOP_CHECKDATASIG OP_VERIFY <=> OP_CHECKDATASIGVERIFY;\n\n# Remove/replace extraneous OP_SWAP\n# OP_SWAP OP_AND <=> OP_AND;\n# OP_SWAP OP_OR <=> OP_OR;\n# OP_SWAP OP_XOR <=> OP_XOR;\nOP_SWAP OP_ADD <=> OP_ADD;\nOP_SWAP OP_EQUAL <=> OP_EQUAL;\nOP_SWAP OP_NUMEQUAL <=> OP_NUMEQUAL;\nOP_SWAP OP_NUMNOTEQUAL <=> OP_NUMNOTEQUAL;\nOP_SWAP OP_GREATERTHANOREQUAL <=> OP_LESSTHANOREQUAL;\nOP_SWAP OP_LESSTHANOREQUAL <=> OP_GREATERTHANOREQUAL;\nOP_SWAP OP_GREATERTHAN <=> OP_LESSTHAN;\nOP_SWAP OP_LESSTHAN <=> OP_GREATERTHAN;\nOP_SWAP OP_DROP <=> OP_NIP;\nOP_SWAP OP_NIP <=> OP_DROP;\n\n# Remove/replace extraneous OP_DUP\n# OP_DUP OP_AND <=> ;\n# OP_DUP OP_OR <=> ;\nOP_DUP OP_DROP <=> ;\nOP_DUP OP_NIP <=> ;\n\n# Random optimisations (don't know what I'm targeting with this)\nOP_2DUP OP_DROP <=> OP_OVER;\nOP_2DUP OP_NIP <=> OP_DUP;\nOP_CAT OP_DROP <=> OP_2DROP;\nOP_NIP OP_DROP <=> OP_2DROP;\n\n# Far-fetched stuff\nOP_DUP OP_ROT OP_SWAP OP_DROP <=> OP_SWAP;\nOP_OVER OP_ROT OP_SWAP OP_DROP <=> OP_SWAP;\nOP_2 OP_PICK OP_ROT OP_SWAP OP_DROP <=> OP_SWAP;\nOP_3 OP_PICK OP_ROT OP_SWAP OP_DROP <=> OP_SWAP;\nOP_4 OP_PICK OP_ROT OP_SWAP OP_DROP <=> OP_SWAP;\nOP_5 OP_PICK OP_ROT OP_SWAP OP_DROP <=> OP_SWAP;\nOP_6 OP_PICK OP_ROT OP_SWAP OP_DROP <=> OP_SWAP;\nOP_7 OP_PICK OP_ROT OP_SWAP OP_DROP <=> OP_SWAP;\nOP_8 OP_PICK OP_ROT OP_SWAP OP_DROP <=> OP_SWAP;\nOP_9 OP_PICK OP_ROT OP_SWAP OP_DROP <=> OP_SWAP;\nOP_10 OP_PICK OP_ROT OP_SWAP OP_DROP <=> OP_SWAP;\nOP_11 OP_PICK OP_ROT OP_SWAP OP_DROP <=> OP_SWAP;\nOP_12 OP_PICK OP_ROT OP_SWAP OP_DROP <=> OP_SWAP;\nOP_13 OP_PICK OP_ROT OP_SWAP OP_DROP <=> OP_SWAP;\nOP_14 OP_PICK OP_ROT OP_SWAP OP_DROP <=> OP_SWAP;\nOP_15 OP_PICK OP_ROT OP_SWAP OP_DROP <=> OP_SWAP;\nOP_16 OP_PICK OP_ROT OP_SWAP OP_DROP <=> OP_SWAP;\n\nOP_DUP OP_ROT OP_DROP <=> OP_NIP OP_DUP;\nOP_OVER OP_ROT OP_DROP <=> OP_SWAP;\nOP_2 OP_PICK OP_ROT OP_DROP <=> OP_NIP OP_OVER;\n\nOP_0 OP_NIP <=> OP_DROP OP_0;\nOP_1 OP_NIP <=> OP_DROP OP_1;\nOP_2 OP_NIP <=> OP_DROP OP_2;\nOP_3 OP_NIP <=> OP_DROP OP_3;\nOP_4 OP_NIP <=> OP_DROP OP_4;\nOP_5 OP_NIP <=> OP_DROP OP_5;\nOP_6 OP_NIP <=> OP_DROP OP_6;\nOP_7 OP_NIP <=> OP_DROP OP_7;\nOP_8 OP_NIP <=> OP_DROP OP_8;\nOP_9 OP_NIP <=> OP_DROP OP_9;\nOP_10 OP_NIP <=> OP_DROP OP_10;\nOP_11 OP_NIP <=> OP_DROP OP_11;\nOP_12 OP_NIP <=> OP_DROP OP_12;\nOP_13 OP_NIP <=> OP_DROP OP_13;\nOP_14 OP_NIP <=> OP_DROP OP_14;\nOP_15 OP_NIP <=> OP_DROP OP_15;\nOP_16 OP_NIP <=> OP_DROP OP_16;\n\nOP_2 OP_PICK OP_SWAP OP_2 OP_PICK OP_NIP <=> OP_DROP OP_2DUP;\n\n# .slice(0, x) optimisation & .slice(x, y.length) optimisation\nOP_0 OP_SPLIT OP_NIP <=> ;\nOP_SIZE OP_SPLIT OP_DROP <=> ;\n";
1
+ declare const _default: "\n# This file can be run with CashProof to prove that the optimisations preserve exact functionality\n# This includes most of CashScript's bytecode optimisations, although some are incompatible with CashProof\n\n# Hardcoded arithmetic\n# OP_NOT OP_IF <=> OP_NOTIF;\nOP_1 OP_ADD <=> OP_1ADD;\nOP_1 OP_SUB <=> OP_1SUB;\nOP_1 OP_NEGATE <=> OP_1NEGATE;\nOP_0 OP_NUMEQUAL OP_NOT <=> OP_0NOTEQUAL;\nOP_NUMEQUAL OP_NOT <=> OP_NUMNOTEQUAL;\nOP_SHA256 OP_SHA256 <=> OP_HASH256;\nOP_SHA256 OP_RIPEMD160 <=> OP_HASH160;\n\n# Hardcoded stack ops\nOP_2 OP_PICK OP_1 OP_PICK OP_3 OP_PICK <=> OP_3DUP OP_SWAP;\nOP_2 OP_PICK OP_2 OP_PICK OP_2 OP_PICK <=> OP_3DUP;\n\nOP_0 OP_PICK OP_2 OP_PICK <=> OP_2DUP OP_SWAP;\nOP_2 OP_PICK OP_4 OP_PICK <=> OP_2OVER OP_SWAP;\nOP_3 OP_PICK OP_3 OP_PICK <=> OP_2OVER;\n\nOP_2 OP_ROLL OP_3 OP_ROLL <=> OP_2SWAP OP_SWAP;\nOP_3 OP_ROLL OP_3 OP_ROLL <=> OP_2SWAP;\nOP_4 OP_ROLL OP_5 OP_ROLL <=> OP_2ROT OP_SWAP;\nOP_5 OP_ROLL OP_5 OP_ROLL <=> OP_2ROT;\n\nOP_0 OP_PICK <=> OP_DUP;\nOP_1 OP_PICK <=> OP_OVER;\nOP_0 OP_ROLL <=> ;\nOP_1 OP_ROLL <=> OP_SWAP;\nOP_2 OP_ROLL <=> OP_ROT;\nOP_DROP OP_DROP <=> OP_2DROP;\n\n# Secondary effects\nOP_DUP OP_SWAP <=> OP_DUP;\nOP_SWAP OP_SWAP <=> ;\nOP_2SWAP OP_2SWAP <=> ;\nOP_ROT OP_ROT OP_ROT <=> ;\nOP_2ROT OP_2ROT OP_2ROT <=> ;\nOP_OVER OP_OVER <=> OP_2DUP;\nOP_DUP OP_DROP <=> ;\nOP_DUP OP_NIP <=> ;\n\n# Enabling secondary effects\nOP_DUP OP_OVER <=> OP_DUP OP_DUP;\n\n# Merge OP_VERIFY\nOP_EQUAL OP_VERIFY <=> OP_EQUALVERIFY;\nOP_NUMEQUAL OP_VERIFY <=> OP_NUMEQUALVERIFY;\nOP_CHECKSIG OP_VERIFY <=> OP_CHECKSIGVERIFY;\n# OP_CHECKMULTISIG OP_VERIFY <=> OP_CHECKMULTISIGVERIFY;\nOP_CHECKDATASIG OP_VERIFY <=> OP_CHECKDATASIGVERIFY;\n\n# Remove/replace extraneous OP_SWAP\n# OP_SWAP OP_AND <=> OP_AND;\n# OP_SWAP OP_OR <=> OP_OR;\n# OP_SWAP OP_XOR <=> OP_XOR;\nOP_SWAP OP_ADD <=> OP_ADD;\nOP_SWAP OP_EQUAL <=> OP_EQUAL;\nOP_SWAP OP_NUMEQUAL <=> OP_NUMEQUAL;\nOP_SWAP OP_NUMNOTEQUAL <=> OP_NUMNOTEQUAL;\nOP_SWAP OP_GREATERTHANOREQUAL <=> OP_LESSTHANOREQUAL;\nOP_SWAP OP_LESSTHANOREQUAL <=> OP_GREATERTHANOREQUAL;\nOP_SWAP OP_GREATERTHAN <=> OP_LESSTHAN;\nOP_SWAP OP_LESSTHAN <=> OP_GREATERTHAN;\nOP_SWAP OP_DROP <=> OP_NIP;\nOP_SWAP OP_NIP <=> OP_DROP;\n\n# Remove/replace extraneous OP_DUP\n# OP_DUP OP_AND <=> ;\n# OP_DUP OP_OR <=> ;\nOP_DUP OP_DROP <=> ;\nOP_DUP OP_NIP <=> ;\n\n# Random optimisations (don't know what I'm targeting with this)\nOP_2DUP OP_DROP <=> OP_OVER;\nOP_2DUP OP_NIP <=> OP_DUP;\nOP_CAT OP_DROP <=> OP_2DROP;\nOP_NIP OP_DROP <=> OP_2DROP;\n\n# Far-fetched stuff\nOP_DUP OP_ROT OP_SWAP OP_DROP <=> OP_SWAP;\nOP_OVER OP_ROT OP_SWAP OP_DROP <=> OP_SWAP;\nOP_2 OP_PICK OP_ROT OP_SWAP OP_DROP <=> OP_SWAP;\nOP_3 OP_PICK OP_ROT OP_SWAP OP_DROP <=> OP_SWAP;\nOP_4 OP_PICK OP_ROT OP_SWAP OP_DROP <=> OP_SWAP;\nOP_5 OP_PICK OP_ROT OP_SWAP OP_DROP <=> OP_SWAP;\nOP_6 OP_PICK OP_ROT OP_SWAP OP_DROP <=> OP_SWAP;\nOP_7 OP_PICK OP_ROT OP_SWAP OP_DROP <=> OP_SWAP;\nOP_8 OP_PICK OP_ROT OP_SWAP OP_DROP <=> OP_SWAP;\nOP_9 OP_PICK OP_ROT OP_SWAP OP_DROP <=> OP_SWAP;\nOP_10 OP_PICK OP_ROT OP_SWAP OP_DROP <=> OP_SWAP;\nOP_11 OP_PICK OP_ROT OP_SWAP OP_DROP <=> OP_SWAP;\nOP_12 OP_PICK OP_ROT OP_SWAP OP_DROP <=> OP_SWAP;\nOP_13 OP_PICK OP_ROT OP_SWAP OP_DROP <=> OP_SWAP;\nOP_14 OP_PICK OP_ROT OP_SWAP OP_DROP <=> OP_SWAP;\nOP_15 OP_PICK OP_ROT OP_SWAP OP_DROP <=> OP_SWAP;\nOP_16 OP_PICK OP_ROT OP_SWAP OP_DROP <=> OP_SWAP;\n\nOP_DUP OP_ROT OP_DROP <=> OP_NIP OP_DUP;\nOP_OVER OP_ROT OP_DROP <=> OP_SWAP;\nOP_2 OP_PICK OP_ROT OP_DROP <=> OP_NIP OP_OVER;\n\nOP_0 OP_NIP <=> OP_DROP OP_0;\nOP_1 OP_NIP <=> OP_DROP OP_1;\nOP_2 OP_NIP <=> OP_DROP OP_2;\nOP_3 OP_NIP <=> OP_DROP OP_3;\nOP_4 OP_NIP <=> OP_DROP OP_4;\nOP_5 OP_NIP <=> OP_DROP OP_5;\nOP_6 OP_NIP <=> OP_DROP OP_6;\nOP_7 OP_NIP <=> OP_DROP OP_7;\nOP_8 OP_NIP <=> OP_DROP OP_8;\nOP_9 OP_NIP <=> OP_DROP OP_9;\nOP_10 OP_NIP <=> OP_DROP OP_10;\nOP_11 OP_NIP <=> OP_DROP OP_11;\nOP_12 OP_NIP <=> OP_DROP OP_12;\nOP_13 OP_NIP <=> OP_DROP OP_13;\nOP_14 OP_NIP <=> OP_DROP OP_14;\nOP_15 OP_NIP <=> OP_DROP OP_15;\nOP_16 OP_NIP <=> OP_DROP OP_16;\n\nOP_2 OP_PICK OP_SWAP OP_2 OP_PICK OP_NIP <=> OP_DROP OP_2DUP;\n\n# .slice(0, x) optimisation & .slice(x, y.length) optimisation\nOP_0 OP_SPLIT OP_NIP <=> ;\nOP_SIZE OP_SPLIT OP_DROP <=> ;\n\n# These are new optimisations that we cannot prove since CashProof doesn't work any more\n# //////////////////////////////////////////////////////////////////////////////////////\n\nOP_LESSTHAN OP_NOT <=> OP_GREATERTHANOREQUAL;\nOP_GREATERTHAN OP_NOT <=> OP_LESSTHANOREQUAL;\nOP_LESSTHANOREQUAL OP_NOT <=> OP_GREATERTHAN;\nOP_GREATERTHANOREQUAL OP_NOT <=> OP_LESSTHAN;\n";
2
2
  export default _default;
@@ -125,5 +125,13 @@ OP_2 OP_PICK OP_SWAP OP_2 OP_PICK OP_NIP <=> OP_DROP OP_2DUP;
125
125
  # .slice(0, x) optimisation & .slice(x, y.length) optimisation
126
126
  OP_0 OP_SPLIT OP_NIP <=> ;
127
127
  OP_SIZE OP_SPLIT OP_DROP <=> ;
128
+
129
+ # These are new optimisations that we cannot prove since CashProof doesn't work any more
130
+ # //////////////////////////////////////////////////////////////////////////////////////
131
+
132
+ OP_LESSTHAN OP_NOT <=> OP_GREATERTHANOREQUAL;
133
+ OP_GREATERTHAN OP_NOT <=> OP_LESSTHANOREQUAL;
134
+ OP_LESSTHANOREQUAL OP_NOT <=> OP_GREATERTHAN;
135
+ OP_GREATERTHANOREQUAL OP_NOT <=> OP_LESSTHAN;
128
136
  `;
129
137
  //# sourceMappingURL=cashproof-optimisations.js.map
@@ -120,6 +120,15 @@ const unprovableOptimisations = [
120
120
  // CashProof can't prove bitwise operators
121
121
  ['OP_DUP OP_AND', ''],
122
122
  ['OP_DUP OP_OR', ''],
123
+ // These are new optimisations that we cannot prove since CashProof doesn't work any more
124
+ // //////////////////////////////////////////////////////////////////////////////////////
125
+ // TODO: Enable this optimisation when we overhaul the type system
126
+ // (right now bool(4) == true => false, but !!bool(4) == true => true) so can't replace OP_NOT OP_NOT with ''
127
+ // ['OP_NOT OP_NOT', '']
128
+ ['OP_LESSTHAN OP_NOT', 'OP_GREATERTHANOREQUAL'],
129
+ ['OP_GREATERTHAN OP_NOT', 'OP_LESSTHANOREQUAL'],
130
+ ['OP_LESSTHANOREQUAL OP_NOT', 'OP_GREATERTHAN'],
131
+ ['OP_GREATERTHANOREQUAL OP_NOT', 'OP_LESSTHAN'],
123
132
  ];
124
133
  // Note: we moved these optimisations into a single file, but kept the exact same order as before,
125
134
  // because the order in which optimisations are applied can impact the output.
package/dist/script.d.ts CHANGED
@@ -1,7 +1,274 @@
1
- import { OpcodesBch2023 } from '@bitauth/libauth';
2
1
  import { FullLocationData } from './types.js';
3
2
  import { LogEntry, RequireStatement } from './artifact.js';
4
- export declare const Op: typeof OpcodesBch2023;
3
+ export declare const Op: {
4
+ [x: number]: string;
5
+ OP_EVAL: import("@bitauth/libauth").OpcodesBchSpecAdditions.OP_EVAL;
6
+ OP_POW: import("@bitauth/libauth").OpcodesBchSpecAdditions.OP_POW;
7
+ OP_BEGIN: import("@bitauth/libauth/build/lib/vm/instruction-sets/bch/2026/bch-2026-opcodes.js").OpcodesBch2026Additions.OP_BEGIN;
8
+ OP_UNTIL: import("@bitauth/libauth/build/lib/vm/instruction-sets/bch/2026/bch-2026-opcodes.js").OpcodesBch2026Additions.OP_UNTIL;
9
+ OP_INVERT: import("@bitauth/libauth/build/lib/vm/instruction-sets/bch/2026/bch-2026-opcodes.js").OpcodesBch2026Additions.OP_INVERT;
10
+ OP_DEFINE: import("@bitauth/libauth/build/lib/vm/instruction-sets/bch/2026/bch-2026-opcodes.js").OpcodesBch2026Additions.OP_DEFINE;
11
+ OP_INVOKE: import("@bitauth/libauth/build/lib/vm/instruction-sets/bch/2026/bch-2026-opcodes.js").OpcodesBch2026Additions.OP_INVOKE;
12
+ OP_LSHIFTNUM: import("@bitauth/libauth/build/lib/vm/instruction-sets/bch/2026/bch-2026-opcodes.js").OpcodesBch2026Additions.OP_LSHIFTNUM;
13
+ OP_RSHIFTNUM: import("@bitauth/libauth/build/lib/vm/instruction-sets/bch/2026/bch-2026-opcodes.js").OpcodesBch2026Additions.OP_RSHIFTNUM;
14
+ OP_LSHIFTBIN: import("@bitauth/libauth/build/lib/vm/instruction-sets/bch/2026/bch-2026-opcodes.js").OpcodesBch2026Additions.OP_LSHIFTBIN;
15
+ OP_RSHIFTBIN: import("@bitauth/libauth/build/lib/vm/instruction-sets/bch/2026/bch-2026-opcodes.js").OpcodesBch2026Additions.OP_RSHIFTBIN;
16
+ OP_0: import("@bitauth/libauth").OpcodesBch2023.OP_0;
17
+ OP_PUSHBYTES_1: import("@bitauth/libauth").OpcodesBch2023.OP_PUSHBYTES_1;
18
+ OP_PUSHBYTES_2: import("@bitauth/libauth").OpcodesBch2023.OP_PUSHBYTES_2;
19
+ OP_PUSHBYTES_3: import("@bitauth/libauth").OpcodesBch2023.OP_PUSHBYTES_3;
20
+ OP_PUSHBYTES_4: import("@bitauth/libauth").OpcodesBch2023.OP_PUSHBYTES_4;
21
+ OP_PUSHBYTES_5: import("@bitauth/libauth").OpcodesBch2023.OP_PUSHBYTES_5;
22
+ OP_PUSHBYTES_6: import("@bitauth/libauth").OpcodesBch2023.OP_PUSHBYTES_6;
23
+ OP_PUSHBYTES_7: import("@bitauth/libauth").OpcodesBch2023.OP_PUSHBYTES_7;
24
+ OP_PUSHBYTES_8: import("@bitauth/libauth").OpcodesBch2023.OP_PUSHBYTES_8;
25
+ OP_PUSHBYTES_9: import("@bitauth/libauth").OpcodesBch2023.OP_PUSHBYTES_9;
26
+ OP_PUSHBYTES_10: import("@bitauth/libauth").OpcodesBch2023.OP_PUSHBYTES_10;
27
+ OP_PUSHBYTES_11: import("@bitauth/libauth").OpcodesBch2023.OP_PUSHBYTES_11;
28
+ OP_PUSHBYTES_12: import("@bitauth/libauth").OpcodesBch2023.OP_PUSHBYTES_12;
29
+ OP_PUSHBYTES_13: import("@bitauth/libauth").OpcodesBch2023.OP_PUSHBYTES_13;
30
+ OP_PUSHBYTES_14: import("@bitauth/libauth").OpcodesBch2023.OP_PUSHBYTES_14;
31
+ OP_PUSHBYTES_15: import("@bitauth/libauth").OpcodesBch2023.OP_PUSHBYTES_15;
32
+ OP_PUSHBYTES_16: import("@bitauth/libauth").OpcodesBch2023.OP_PUSHBYTES_16;
33
+ OP_PUSHBYTES_17: import("@bitauth/libauth").OpcodesBch2023.OP_PUSHBYTES_17;
34
+ OP_PUSHBYTES_18: import("@bitauth/libauth").OpcodesBch2023.OP_PUSHBYTES_18;
35
+ OP_PUSHBYTES_19: import("@bitauth/libauth").OpcodesBch2023.OP_PUSHBYTES_19;
36
+ OP_PUSHBYTES_20: import("@bitauth/libauth").OpcodesBch2023.OP_PUSHBYTES_20;
37
+ OP_PUSHBYTES_21: import("@bitauth/libauth").OpcodesBch2023.OP_PUSHBYTES_21;
38
+ OP_PUSHBYTES_22: import("@bitauth/libauth").OpcodesBch2023.OP_PUSHBYTES_22;
39
+ OP_PUSHBYTES_23: import("@bitauth/libauth").OpcodesBch2023.OP_PUSHBYTES_23;
40
+ OP_PUSHBYTES_24: import("@bitauth/libauth").OpcodesBch2023.OP_PUSHBYTES_24;
41
+ OP_PUSHBYTES_25: import("@bitauth/libauth").OpcodesBch2023.OP_PUSHBYTES_25;
42
+ OP_PUSHBYTES_26: import("@bitauth/libauth").OpcodesBch2023.OP_PUSHBYTES_26;
43
+ OP_PUSHBYTES_27: import("@bitauth/libauth").OpcodesBch2023.OP_PUSHBYTES_27;
44
+ OP_PUSHBYTES_28: import("@bitauth/libauth").OpcodesBch2023.OP_PUSHBYTES_28;
45
+ OP_PUSHBYTES_29: import("@bitauth/libauth").OpcodesBch2023.OP_PUSHBYTES_29;
46
+ OP_PUSHBYTES_30: import("@bitauth/libauth").OpcodesBch2023.OP_PUSHBYTES_30;
47
+ OP_PUSHBYTES_31: import("@bitauth/libauth").OpcodesBch2023.OP_PUSHBYTES_31;
48
+ OP_PUSHBYTES_32: import("@bitauth/libauth").OpcodesBch2023.OP_PUSHBYTES_32;
49
+ OP_PUSHBYTES_33: import("@bitauth/libauth").OpcodesBch2023.OP_PUSHBYTES_33;
50
+ OP_PUSHBYTES_34: import("@bitauth/libauth").OpcodesBch2023.OP_PUSHBYTES_34;
51
+ OP_PUSHBYTES_35: import("@bitauth/libauth").OpcodesBch2023.OP_PUSHBYTES_35;
52
+ OP_PUSHBYTES_36: import("@bitauth/libauth").OpcodesBch2023.OP_PUSHBYTES_36;
53
+ OP_PUSHBYTES_37: import("@bitauth/libauth").OpcodesBch2023.OP_PUSHBYTES_37;
54
+ OP_PUSHBYTES_38: import("@bitauth/libauth").OpcodesBch2023.OP_PUSHBYTES_38;
55
+ OP_PUSHBYTES_39: import("@bitauth/libauth").OpcodesBch2023.OP_PUSHBYTES_39;
56
+ OP_PUSHBYTES_40: import("@bitauth/libauth").OpcodesBch2023.OP_PUSHBYTES_40;
57
+ OP_PUSHBYTES_41: import("@bitauth/libauth").OpcodesBch2023.OP_PUSHBYTES_41;
58
+ OP_PUSHBYTES_42: import("@bitauth/libauth").OpcodesBch2023.OP_PUSHBYTES_42;
59
+ OP_PUSHBYTES_43: import("@bitauth/libauth").OpcodesBch2023.OP_PUSHBYTES_43;
60
+ OP_PUSHBYTES_44: import("@bitauth/libauth").OpcodesBch2023.OP_PUSHBYTES_44;
61
+ OP_PUSHBYTES_45: import("@bitauth/libauth").OpcodesBch2023.OP_PUSHBYTES_45;
62
+ OP_PUSHBYTES_46: import("@bitauth/libauth").OpcodesBch2023.OP_PUSHBYTES_46;
63
+ OP_PUSHBYTES_47: import("@bitauth/libauth").OpcodesBch2023.OP_PUSHBYTES_47;
64
+ OP_PUSHBYTES_48: import("@bitauth/libauth").OpcodesBch2023.OP_PUSHBYTES_48;
65
+ OP_PUSHBYTES_49: import("@bitauth/libauth").OpcodesBch2023.OP_PUSHBYTES_49;
66
+ OP_PUSHBYTES_50: import("@bitauth/libauth").OpcodesBch2023.OP_PUSHBYTES_50;
67
+ OP_PUSHBYTES_51: import("@bitauth/libauth").OpcodesBch2023.OP_PUSHBYTES_51;
68
+ OP_PUSHBYTES_52: import("@bitauth/libauth").OpcodesBch2023.OP_PUSHBYTES_52;
69
+ OP_PUSHBYTES_53: import("@bitauth/libauth").OpcodesBch2023.OP_PUSHBYTES_53;
70
+ OP_PUSHBYTES_54: import("@bitauth/libauth").OpcodesBch2023.OP_PUSHBYTES_54;
71
+ OP_PUSHBYTES_55: import("@bitauth/libauth").OpcodesBch2023.OP_PUSHBYTES_55;
72
+ OP_PUSHBYTES_56: import("@bitauth/libauth").OpcodesBch2023.OP_PUSHBYTES_56;
73
+ OP_PUSHBYTES_57: import("@bitauth/libauth").OpcodesBch2023.OP_PUSHBYTES_57;
74
+ OP_PUSHBYTES_58: import("@bitauth/libauth").OpcodesBch2023.OP_PUSHBYTES_58;
75
+ OP_PUSHBYTES_59: import("@bitauth/libauth").OpcodesBch2023.OP_PUSHBYTES_59;
76
+ OP_PUSHBYTES_60: import("@bitauth/libauth").OpcodesBch2023.OP_PUSHBYTES_60;
77
+ OP_PUSHBYTES_61: import("@bitauth/libauth").OpcodesBch2023.OP_PUSHBYTES_61;
78
+ OP_PUSHBYTES_62: import("@bitauth/libauth").OpcodesBch2023.OP_PUSHBYTES_62;
79
+ OP_PUSHBYTES_63: import("@bitauth/libauth").OpcodesBch2023.OP_PUSHBYTES_63;
80
+ OP_PUSHBYTES_64: import("@bitauth/libauth").OpcodesBch2023.OP_PUSHBYTES_64;
81
+ OP_PUSHBYTES_65: import("@bitauth/libauth").OpcodesBch2023.OP_PUSHBYTES_65;
82
+ OP_PUSHBYTES_66: import("@bitauth/libauth").OpcodesBch2023.OP_PUSHBYTES_66;
83
+ OP_PUSHBYTES_67: import("@bitauth/libauth").OpcodesBch2023.OP_PUSHBYTES_67;
84
+ OP_PUSHBYTES_68: import("@bitauth/libauth").OpcodesBch2023.OP_PUSHBYTES_68;
85
+ OP_PUSHBYTES_69: import("@bitauth/libauth").OpcodesBch2023.OP_PUSHBYTES_69;
86
+ OP_PUSHBYTES_70: import("@bitauth/libauth").OpcodesBch2023.OP_PUSHBYTES_70;
87
+ OP_PUSHBYTES_71: import("@bitauth/libauth").OpcodesBch2023.OP_PUSHBYTES_71;
88
+ OP_PUSHBYTES_72: import("@bitauth/libauth").OpcodesBch2023.OP_PUSHBYTES_72;
89
+ OP_PUSHBYTES_73: import("@bitauth/libauth").OpcodesBch2023.OP_PUSHBYTES_73;
90
+ OP_PUSHBYTES_74: import("@bitauth/libauth").OpcodesBch2023.OP_PUSHBYTES_74;
91
+ OP_PUSHBYTES_75: import("@bitauth/libauth").OpcodesBch2023.OP_PUSHBYTES_75;
92
+ OP_PUSHDATA_1: import("@bitauth/libauth").OpcodesBch2023.OP_PUSHDATA_1;
93
+ OP_PUSHDATA_2: import("@bitauth/libauth").OpcodesBch2023.OP_PUSHDATA_2;
94
+ OP_PUSHDATA_4: import("@bitauth/libauth").OpcodesBch2023.OP_PUSHDATA_4;
95
+ OP_1NEGATE: import("@bitauth/libauth").OpcodesBch2023.OP_1NEGATE;
96
+ OP_RESERVED: import("@bitauth/libauth").OpcodesBch2023.OP_RESERVED;
97
+ OP_1: import("@bitauth/libauth").OpcodesBch2023.OP_1;
98
+ OP_2: import("@bitauth/libauth").OpcodesBch2023.OP_2;
99
+ OP_3: import("@bitauth/libauth").OpcodesBch2023.OP_3;
100
+ OP_4: import("@bitauth/libauth").OpcodesBch2023.OP_4;
101
+ OP_5: import("@bitauth/libauth").OpcodesBch2023.OP_5;
102
+ OP_6: import("@bitauth/libauth").OpcodesBch2023.OP_6;
103
+ OP_7: import("@bitauth/libauth").OpcodesBch2023.OP_7;
104
+ OP_8: import("@bitauth/libauth").OpcodesBch2023.OP_8;
105
+ OP_9: import("@bitauth/libauth").OpcodesBch2023.OP_9;
106
+ OP_10: import("@bitauth/libauth").OpcodesBch2023.OP_10;
107
+ OP_11: import("@bitauth/libauth").OpcodesBch2023.OP_11;
108
+ OP_12: import("@bitauth/libauth").OpcodesBch2023.OP_12;
109
+ OP_13: import("@bitauth/libauth").OpcodesBch2023.OP_13;
110
+ OP_14: import("@bitauth/libauth").OpcodesBch2023.OP_14;
111
+ OP_15: import("@bitauth/libauth").OpcodesBch2023.OP_15;
112
+ OP_16: import("@bitauth/libauth").OpcodesBch2023.OP_16;
113
+ OP_NOP: import("@bitauth/libauth").OpcodesBch2023.OP_NOP;
114
+ OP_VER: import("@bitauth/libauth").OpcodesBch2023.OP_VER;
115
+ OP_IF: import("@bitauth/libauth").OpcodesBch2023.OP_IF;
116
+ OP_NOTIF: import("@bitauth/libauth").OpcodesBch2023.OP_NOTIF;
117
+ OP_VERIF: import("@bitauth/libauth").OpcodesBch2023.OP_VERIF;
118
+ OP_VERNOTIF: import("@bitauth/libauth").OpcodesBch2023.OP_VERNOTIF;
119
+ OP_ELSE: import("@bitauth/libauth").OpcodesBch2023.OP_ELSE;
120
+ OP_ENDIF: import("@bitauth/libauth").OpcodesBch2023.OP_ENDIF;
121
+ OP_VERIFY: import("@bitauth/libauth").OpcodesBch2023.OP_VERIFY;
122
+ OP_RETURN: import("@bitauth/libauth").OpcodesBch2023.OP_RETURN;
123
+ OP_TOALTSTACK: import("@bitauth/libauth").OpcodesBch2023.OP_TOALTSTACK;
124
+ OP_FROMALTSTACK: import("@bitauth/libauth").OpcodesBch2023.OP_FROMALTSTACK;
125
+ OP_2DROP: import("@bitauth/libauth").OpcodesBch2023.OP_2DROP;
126
+ OP_2DUP: import("@bitauth/libauth").OpcodesBch2023.OP_2DUP;
127
+ OP_3DUP: import("@bitauth/libauth").OpcodesBch2023.OP_3DUP;
128
+ OP_2OVER: import("@bitauth/libauth").OpcodesBch2023.OP_2OVER;
129
+ OP_2ROT: import("@bitauth/libauth").OpcodesBch2023.OP_2ROT;
130
+ OP_2SWAP: import("@bitauth/libauth").OpcodesBch2023.OP_2SWAP;
131
+ OP_IFDUP: import("@bitauth/libauth").OpcodesBch2023.OP_IFDUP;
132
+ OP_DEPTH: import("@bitauth/libauth").OpcodesBch2023.OP_DEPTH;
133
+ OP_DROP: import("@bitauth/libauth").OpcodesBch2023.OP_DROP;
134
+ OP_DUP: import("@bitauth/libauth").OpcodesBch2023.OP_DUP;
135
+ OP_NIP: import("@bitauth/libauth").OpcodesBch2023.OP_NIP;
136
+ OP_OVER: import("@bitauth/libauth").OpcodesBch2023.OP_OVER;
137
+ OP_PICK: import("@bitauth/libauth").OpcodesBch2023.OP_PICK;
138
+ OP_ROLL: import("@bitauth/libauth").OpcodesBch2023.OP_ROLL;
139
+ OP_ROT: import("@bitauth/libauth").OpcodesBch2023.OP_ROT;
140
+ OP_SWAP: import("@bitauth/libauth").OpcodesBch2023.OP_SWAP;
141
+ OP_TUCK: import("@bitauth/libauth").OpcodesBch2023.OP_TUCK;
142
+ OP_CAT: import("@bitauth/libauth").OpcodesBch2023.OP_CAT;
143
+ OP_SPLIT: import("@bitauth/libauth").OpcodesBch2023.OP_SPLIT;
144
+ OP_NUM2BIN: import("@bitauth/libauth").OpcodesBch2023.OP_NUM2BIN;
145
+ OP_BIN2NUM: import("@bitauth/libauth").OpcodesBch2023.OP_BIN2NUM;
146
+ OP_SIZE: import("@bitauth/libauth").OpcodesBch2023.OP_SIZE;
147
+ OP_AND: import("@bitauth/libauth").OpcodesBch2023.OP_AND;
148
+ OP_OR: import("@bitauth/libauth").OpcodesBch2023.OP_OR;
149
+ OP_XOR: import("@bitauth/libauth").OpcodesBch2023.OP_XOR;
150
+ OP_EQUAL: import("@bitauth/libauth").OpcodesBch2023.OP_EQUAL;
151
+ OP_EQUALVERIFY: import("@bitauth/libauth").OpcodesBch2023.OP_EQUALVERIFY;
152
+ OP_RESERVED1: import("@bitauth/libauth").OpcodesBch2023.OP_RESERVED1;
153
+ OP_RESERVED2: import("@bitauth/libauth").OpcodesBch2023.OP_RESERVED2;
154
+ OP_1ADD: import("@bitauth/libauth").OpcodesBch2023.OP_1ADD;
155
+ OP_1SUB: import("@bitauth/libauth").OpcodesBch2023.OP_1SUB;
156
+ OP_2MUL: import("@bitauth/libauth").OpcodesBch2023.OP_2MUL;
157
+ OP_2DIV: import("@bitauth/libauth").OpcodesBch2023.OP_2DIV;
158
+ OP_NEGATE: import("@bitauth/libauth").OpcodesBch2023.OP_NEGATE;
159
+ OP_ABS: import("@bitauth/libauth").OpcodesBch2023.OP_ABS;
160
+ OP_NOT: import("@bitauth/libauth").OpcodesBch2023.OP_NOT;
161
+ OP_0NOTEQUAL: import("@bitauth/libauth").OpcodesBch2023.OP_0NOTEQUAL;
162
+ OP_ADD: import("@bitauth/libauth").OpcodesBch2023.OP_ADD;
163
+ OP_SUB: import("@bitauth/libauth").OpcodesBch2023.OP_SUB;
164
+ OP_MUL: import("@bitauth/libauth").OpcodesBch2023.OP_MUL;
165
+ OP_DIV: import("@bitauth/libauth").OpcodesBch2023.OP_DIV;
166
+ OP_MOD: import("@bitauth/libauth").OpcodesBch2023.OP_MOD;
167
+ OP_LSHIFT: import("@bitauth/libauth").OpcodesBch2023.OP_LSHIFT;
168
+ OP_RSHIFT: import("@bitauth/libauth").OpcodesBch2023.OP_RSHIFT;
169
+ OP_BOOLAND: import("@bitauth/libauth").OpcodesBch2023.OP_BOOLAND;
170
+ OP_BOOLOR: import("@bitauth/libauth").OpcodesBch2023.OP_BOOLOR;
171
+ OP_NUMEQUAL: import("@bitauth/libauth").OpcodesBch2023.OP_NUMEQUAL;
172
+ OP_NUMEQUALVERIFY: import("@bitauth/libauth").OpcodesBch2023.OP_NUMEQUALVERIFY;
173
+ OP_NUMNOTEQUAL: import("@bitauth/libauth").OpcodesBch2023.OP_NUMNOTEQUAL;
174
+ OP_LESSTHAN: import("@bitauth/libauth").OpcodesBch2023.OP_LESSTHAN;
175
+ OP_GREATERTHAN: import("@bitauth/libauth").OpcodesBch2023.OP_GREATERTHAN;
176
+ OP_LESSTHANOREQUAL: import("@bitauth/libauth").OpcodesBch2023.OP_LESSTHANOREQUAL;
177
+ OP_GREATERTHANOREQUAL: import("@bitauth/libauth").OpcodesBch2023.OP_GREATERTHANOREQUAL;
178
+ OP_MIN: import("@bitauth/libauth").OpcodesBch2023.OP_MIN;
179
+ OP_MAX: import("@bitauth/libauth").OpcodesBch2023.OP_MAX;
180
+ OP_WITHIN: import("@bitauth/libauth").OpcodesBch2023.OP_WITHIN;
181
+ OP_RIPEMD160: import("@bitauth/libauth").OpcodesBch2023.OP_RIPEMD160;
182
+ OP_SHA1: import("@bitauth/libauth").OpcodesBch2023.OP_SHA1;
183
+ OP_SHA256: import("@bitauth/libauth").OpcodesBch2023.OP_SHA256;
184
+ OP_HASH160: import("@bitauth/libauth").OpcodesBch2023.OP_HASH160;
185
+ OP_HASH256: import("@bitauth/libauth").OpcodesBch2023.OP_HASH256;
186
+ OP_CODESEPARATOR: import("@bitauth/libauth").OpcodesBch2023.OP_CODESEPARATOR;
187
+ OP_CHECKSIG: import("@bitauth/libauth").OpcodesBch2023.OP_CHECKSIG;
188
+ OP_CHECKSIGVERIFY: import("@bitauth/libauth").OpcodesBch2023.OP_CHECKSIGVERIFY;
189
+ OP_CHECKMULTISIG: import("@bitauth/libauth").OpcodesBch2023.OP_CHECKMULTISIG;
190
+ OP_CHECKMULTISIGVERIFY: import("@bitauth/libauth").OpcodesBch2023.OP_CHECKMULTISIGVERIFY;
191
+ OP_NOP1: import("@bitauth/libauth").OpcodesBch2023.OP_NOP1;
192
+ OP_CHECKLOCKTIMEVERIFY: import("@bitauth/libauth").OpcodesBch2023.OP_CHECKLOCKTIMEVERIFY;
193
+ OP_CHECKSEQUENCEVERIFY: import("@bitauth/libauth").OpcodesBch2023.OP_CHECKSEQUENCEVERIFY;
194
+ OP_NOP4: import("@bitauth/libauth").OpcodesBch2023.OP_NOP4;
195
+ OP_NOP5: import("@bitauth/libauth").OpcodesBch2023.OP_NOP5;
196
+ OP_NOP6: import("@bitauth/libauth").OpcodesBch2023.OP_NOP6;
197
+ OP_NOP7: import("@bitauth/libauth").OpcodesBch2023.OP_NOP7;
198
+ OP_NOP8: import("@bitauth/libauth").OpcodesBch2023.OP_NOP8;
199
+ OP_NOP9: import("@bitauth/libauth").OpcodesBch2023.OP_NOP9;
200
+ OP_NOP10: import("@bitauth/libauth").OpcodesBch2023.OP_NOP10;
201
+ OP_CHECKDATASIG: import("@bitauth/libauth").OpcodesBch2023.OP_CHECKDATASIG;
202
+ OP_CHECKDATASIGVERIFY: import("@bitauth/libauth").OpcodesBch2023.OP_CHECKDATASIGVERIFY;
203
+ OP_REVERSEBYTES: import("@bitauth/libauth").OpcodesBch2023.OP_REVERSEBYTES;
204
+ OP_UNKNOWN189: import("@bitauth/libauth").OpcodesBch2023.OP_UNKNOWN189;
205
+ OP_UNKNOWN190: import("@bitauth/libauth").OpcodesBch2023.OP_UNKNOWN190;
206
+ OP_UNKNOWN191: import("@bitauth/libauth").OpcodesBch2023.OP_UNKNOWN191;
207
+ OP_INPUTINDEX: import("@bitauth/libauth").OpcodesBch2023.OP_INPUTINDEX;
208
+ OP_ACTIVEBYTECODE: import("@bitauth/libauth").OpcodesBch2023.OP_ACTIVEBYTECODE;
209
+ OP_TXVERSION: import("@bitauth/libauth").OpcodesBch2023.OP_TXVERSION;
210
+ OP_TXINPUTCOUNT: import("@bitauth/libauth").OpcodesBch2023.OP_TXINPUTCOUNT;
211
+ OP_TXOUTPUTCOUNT: import("@bitauth/libauth").OpcodesBch2023.OP_TXOUTPUTCOUNT;
212
+ OP_TXLOCKTIME: import("@bitauth/libauth").OpcodesBch2023.OP_TXLOCKTIME;
213
+ OP_UTXOVALUE: import("@bitauth/libauth").OpcodesBch2023.OP_UTXOVALUE;
214
+ OP_UTXOBYTECODE: import("@bitauth/libauth").OpcodesBch2023.OP_UTXOBYTECODE;
215
+ OP_OUTPOINTTXHASH: import("@bitauth/libauth").OpcodesBch2023.OP_OUTPOINTTXHASH;
216
+ OP_OUTPOINTINDEX: import("@bitauth/libauth").OpcodesBch2023.OP_OUTPOINTINDEX;
217
+ OP_INPUTBYTECODE: import("@bitauth/libauth").OpcodesBch2023.OP_INPUTBYTECODE;
218
+ OP_INPUTSEQUENCENUMBER: import("@bitauth/libauth").OpcodesBch2023.OP_INPUTSEQUENCENUMBER;
219
+ OP_OUTPUTVALUE: import("@bitauth/libauth").OpcodesBch2023.OP_OUTPUTVALUE;
220
+ OP_OUTPUTBYTECODE: import("@bitauth/libauth").OpcodesBch2023.OP_OUTPUTBYTECODE;
221
+ OP_UTXOTOKENCATEGORY: import("@bitauth/libauth").OpcodesBch2023.OP_UTXOTOKENCATEGORY;
222
+ OP_UTXOTOKENCOMMITMENT: import("@bitauth/libauth").OpcodesBch2023.OP_UTXOTOKENCOMMITMENT;
223
+ OP_UTXOTOKENAMOUNT: import("@bitauth/libauth").OpcodesBch2023.OP_UTXOTOKENAMOUNT;
224
+ OP_OUTPUTTOKENCATEGORY: import("@bitauth/libauth").OpcodesBch2023.OP_OUTPUTTOKENCATEGORY;
225
+ OP_OUTPUTTOKENCOMMITMENT: import("@bitauth/libauth").OpcodesBch2023.OP_OUTPUTTOKENCOMMITMENT;
226
+ OP_OUTPUTTOKENAMOUNT: import("@bitauth/libauth").OpcodesBch2023.OP_OUTPUTTOKENAMOUNT;
227
+ OP_UNKNOWN212: import("@bitauth/libauth").OpcodesBch2023.OP_UNKNOWN212;
228
+ OP_UNKNOWN213: import("@bitauth/libauth").OpcodesBch2023.OP_UNKNOWN213;
229
+ OP_UNKNOWN214: import("@bitauth/libauth").OpcodesBch2023.OP_UNKNOWN214;
230
+ OP_UNKNOWN215: import("@bitauth/libauth").OpcodesBch2023.OP_UNKNOWN215;
231
+ OP_UNKNOWN216: import("@bitauth/libauth").OpcodesBch2023.OP_UNKNOWN216;
232
+ OP_UNKNOWN217: import("@bitauth/libauth").OpcodesBch2023.OP_UNKNOWN217;
233
+ OP_UNKNOWN218: import("@bitauth/libauth").OpcodesBch2023.OP_UNKNOWN218;
234
+ OP_UNKNOWN219: import("@bitauth/libauth").OpcodesBch2023.OP_UNKNOWN219;
235
+ OP_UNKNOWN220: import("@bitauth/libauth").OpcodesBch2023.OP_UNKNOWN220;
236
+ OP_UNKNOWN221: import("@bitauth/libauth").OpcodesBch2023.OP_UNKNOWN221;
237
+ OP_UNKNOWN222: import("@bitauth/libauth").OpcodesBch2023.OP_UNKNOWN222;
238
+ OP_UNKNOWN223: import("@bitauth/libauth").OpcodesBch2023.OP_UNKNOWN223;
239
+ OP_UNKNOWN224: import("@bitauth/libauth").OpcodesBch2023.OP_UNKNOWN224;
240
+ OP_UNKNOWN225: import("@bitauth/libauth").OpcodesBch2023.OP_UNKNOWN225;
241
+ OP_UNKNOWN226: import("@bitauth/libauth").OpcodesBch2023.OP_UNKNOWN226;
242
+ OP_UNKNOWN227: import("@bitauth/libauth").OpcodesBch2023.OP_UNKNOWN227;
243
+ OP_UNKNOWN228: import("@bitauth/libauth").OpcodesBch2023.OP_UNKNOWN228;
244
+ OP_UNKNOWN229: import("@bitauth/libauth").OpcodesBch2023.OP_UNKNOWN229;
245
+ OP_UNKNOWN230: import("@bitauth/libauth").OpcodesBch2023.OP_UNKNOWN230;
246
+ OP_UNKNOWN231: import("@bitauth/libauth").OpcodesBch2023.OP_UNKNOWN231;
247
+ OP_UNKNOWN232: import("@bitauth/libauth").OpcodesBch2023.OP_UNKNOWN232;
248
+ OP_UNKNOWN233: import("@bitauth/libauth").OpcodesBch2023.OP_UNKNOWN233;
249
+ OP_UNKNOWN234: import("@bitauth/libauth").OpcodesBch2023.OP_UNKNOWN234;
250
+ OP_UNKNOWN235: import("@bitauth/libauth").OpcodesBch2023.OP_UNKNOWN235;
251
+ OP_UNKNOWN236: import("@bitauth/libauth").OpcodesBch2023.OP_UNKNOWN236;
252
+ OP_UNKNOWN237: import("@bitauth/libauth").OpcodesBch2023.OP_UNKNOWN237;
253
+ OP_UNKNOWN238: import("@bitauth/libauth").OpcodesBch2023.OP_UNKNOWN238;
254
+ OP_UNKNOWN239: import("@bitauth/libauth").OpcodesBch2023.OP_UNKNOWN239;
255
+ OP_UNKNOWN240: import("@bitauth/libauth").OpcodesBch2023.OP_UNKNOWN240;
256
+ OP_UNKNOWN241: import("@bitauth/libauth").OpcodesBch2023.OP_UNKNOWN241;
257
+ OP_UNKNOWN242: import("@bitauth/libauth").OpcodesBch2023.OP_UNKNOWN242;
258
+ OP_UNKNOWN243: import("@bitauth/libauth").OpcodesBch2023.OP_UNKNOWN243;
259
+ OP_UNKNOWN244: import("@bitauth/libauth").OpcodesBch2023.OP_UNKNOWN244;
260
+ OP_UNKNOWN245: import("@bitauth/libauth").OpcodesBch2023.OP_UNKNOWN245;
261
+ OP_UNKNOWN246: import("@bitauth/libauth").OpcodesBch2023.OP_UNKNOWN246;
262
+ OP_UNKNOWN247: import("@bitauth/libauth").OpcodesBch2023.OP_UNKNOWN247;
263
+ OP_UNKNOWN248: import("@bitauth/libauth").OpcodesBch2023.OP_UNKNOWN248;
264
+ OP_UNKNOWN249: import("@bitauth/libauth").OpcodesBch2023.OP_UNKNOWN249;
265
+ OP_UNKNOWN250: import("@bitauth/libauth").OpcodesBch2023.OP_UNKNOWN250;
266
+ OP_UNKNOWN251: import("@bitauth/libauth").OpcodesBch2023.OP_UNKNOWN251;
267
+ OP_UNKNOWN252: import("@bitauth/libauth").OpcodesBch2023.OP_UNKNOWN252;
268
+ OP_UNKNOWN253: import("@bitauth/libauth").OpcodesBch2023.OP_UNKNOWN253;
269
+ OP_UNKNOWN254: import("@bitauth/libauth").OpcodesBch2023.OP_UNKNOWN254;
270
+ OP_UNKNOWN255: import("@bitauth/libauth").OpcodesBch2023.OP_UNKNOWN255;
271
+ };
5
272
  export type Op = number;
6
273
  export type OpOrData = Op | Uint8Array;
7
274
  export type Script = OpOrData[];
package/dist/script.js CHANGED
@@ -1,8 +1,8 @@
1
- import { OpcodesBch2023, encodeDataPush, hexToBin, disassembleBytecodeBch, flattenBinArray, encodeAuthenticationInstructions, decodeAuthenticationInstructions, } from '@bitauth/libauth';
1
+ import { encodeDataPush, hexToBin, disassembleBytecodeBch, flattenBinArray, encodeAuthenticationInstructions, decodeAuthenticationInstructions, OpcodesBch, } from '@bitauth/libauth';
2
2
  import OptimisationsEquivFile from './cashproof-optimisations.js';
3
3
  import { optimisationReplacements } from './optimisations.js';
4
4
  import { PositionHint } from './types.js';
5
- export const Op = OpcodesBch2023;
5
+ export const Op = OpcodesBch;
6
6
  export function scriptToAsm(script) {
7
7
  return bytecodeToAsm(scriptToBytecode(script));
8
8
  }
@@ -39,6 +39,8 @@ export function asmToBytecode(asm) {
39
39
  asm = asm.replace(/\s+/g, ' ').trim();
40
40
  // Convert the ASM tokens to AuthenticationInstructions
41
41
  const instructions = asm.split(' ').map((token) => {
42
+ // Even though the OpcodesBch type allows for { [key: number]: string }, we know that the keys are always the opcodes
43
+ // so we can safely cast to the AuthenticationInstruction type
42
44
  if (token.startsWith('OP_')) {
43
45
  return { opcode: Op[token] };
44
46
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cashscript/utils",
3
- "version": "0.12.0",
3
+ "version": "0.13.0-next.1",
4
4
  "description": "CashScript utilities and types",
5
5
  "keywords": [
6
6
  "bitcoin cash",
@@ -52,5 +52,5 @@
52
52
  "jest": "^29.7.0",
53
53
  "typescript": "^5.9.2"
54
54
  },
55
- "gitHead": "dfa7ea1cfe1c369ab1dd9a919ab89b9a98331872"
55
+ "gitHead": "f3d3fd75400c93f4457276b56ce094b11c0986d7"
56
56
  }