@scure/btc-signer 1.8.1 → 2.0.0

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.
Files changed (87) hide show
  1. package/README.md +8 -5
  2. package/index.js +17 -61
  3. package/index.js.map +1 -1
  4. package/musig2.d.ts +2 -2
  5. package/musig2.d.ts.map +1 -1
  6. package/musig2.js +93 -90
  7. package/musig2.js.map +1 -1
  8. package/p2p.d.ts +7 -8
  9. package/p2p.d.ts.map +1 -1
  10. package/p2p.js +32 -38
  11. package/p2p.js.map +1 -1
  12. package/package.json +33 -103
  13. package/payment.js +73 -96
  14. package/payment.js.map +1 -1
  15. package/psbt.d.ts +224 -224
  16. package/psbt.d.ts.map +1 -1
  17. package/psbt.js +58 -63
  18. package/psbt.js.map +1 -1
  19. package/script.d.ts +125 -120
  20. package/script.d.ts.map +1 -1
  21. package/script.js +46 -146
  22. package/script.js.map +1 -1
  23. package/src/musig2.ts +43 -50
  24. package/src/p2p.ts +28 -40
  25. package/src/psbt.ts +7 -7
  26. package/src/script.ts +29 -26
  27. package/src/transaction.ts +21 -21
  28. package/src/utils.ts +41 -22
  29. package/transaction.d.ts +22 -28
  30. package/transaction.d.ts.map +1 -1
  31. package/transaction.js +134 -151
  32. package/transaction.js.map +1 -1
  33. package/utils.d.ts +11 -5
  34. package/utils.d.ts.map +1 -1
  35. package/utils.js +60 -62
  36. package/utils.js.map +1 -1
  37. package/utxo.d.ts +45 -45
  38. package/utxo.d.ts.map +1 -1
  39. package/utxo.js +62 -58
  40. package/utxo.js.map +1 -1
  41. package/_type_test.d.ts +0 -2
  42. package/_type_test.d.ts.map +0 -1
  43. package/_type_test.js +0 -59
  44. package/_type_test.js.map +0 -1
  45. package/esm/_type_test.d.ts +0 -2
  46. package/esm/_type_test.d.ts.map +0 -1
  47. package/esm/_type_test.js +0 -57
  48. package/esm/_type_test.js.map +0 -1
  49. package/esm/index.d.ts +0 -22
  50. package/esm/index.d.ts.map +0 -1
  51. package/esm/index.js +0 -22
  52. package/esm/index.js.map +0 -1
  53. package/esm/musig2.d.ts +0 -148
  54. package/esm/musig2.d.ts.map +0 -1
  55. package/esm/musig2.js +0 -404
  56. package/esm/musig2.js.map +0 -1
  57. package/esm/p2p.d.ts +0 -38
  58. package/esm/p2p.d.ts.map +0 -1
  59. package/esm/p2p.js +0 -156
  60. package/esm/p2p.js.map +0 -1
  61. package/esm/package.json +0 -1
  62. package/esm/payment.d.ts +0 -200
  63. package/esm/payment.d.ts.map +0 -1
  64. package/esm/payment.js +0 -697
  65. package/esm/payment.js.map +0 -1
  66. package/esm/psbt.d.ts +0 -820
  67. package/esm/psbt.d.ts.map +0 -1
  68. package/esm/psbt.js +0 -409
  69. package/esm/psbt.js.map +0 -1
  70. package/esm/script.d.ts +0 -170
  71. package/esm/script.d.ts.map +0 -1
  72. package/esm/script.js +0 -356
  73. package/esm/script.js.map +0 -1
  74. package/esm/transaction.d.ts +0 -172
  75. package/esm/transaction.d.ts.map +0 -1
  76. package/esm/transaction.js +0 -1185
  77. package/esm/transaction.js.map +0 -1
  78. package/esm/utils.d.ts +0 -35
  79. package/esm/utils.d.ts.map +0 -1
  80. package/esm/utils.js +0 -118
  81. package/esm/utils.js.map +0 -1
  82. package/esm/utxo.d.ts +0 -198
  83. package/esm/utxo.d.ts.map +0 -1
  84. package/esm/utxo.js +0 -461
  85. package/esm/utxo.js.map +0 -1
  86. package/src/_type_test.ts +0 -69
  87. package/src/package.json +0 -3
package/script.d.ts CHANGED
@@ -1,120 +1,125 @@
1
1
  import * as P from 'micro-packed';
2
+ import { type ValueOf, type Bytes } from './utils.ts';
2
3
  export declare const MAX_SCRIPT_BYTE_LENGTH = 520;
3
- export declare enum OP {
4
- OP_0 = 0,
5
- PUSHDATA1 = 76,
6
- PUSHDATA2 = 77,
7
- PUSHDATA4 = 78,
8
- '1NEGATE' = 79,
9
- RESERVED = 80,
10
- OP_1 = 81,
11
- OP_2 = 82,
12
- OP_3 = 83,
13
- OP_4 = 84,
14
- OP_5 = 85,
15
- OP_6 = 86,
16
- OP_7 = 87,
17
- OP_8 = 88,
18
- OP_9 = 89,
19
- OP_10 = 90,
20
- OP_11 = 91,
21
- OP_12 = 92,
22
- OP_13 = 93,
23
- OP_14 = 94,
24
- OP_15 = 95,
25
- OP_16 = 96,
26
- NOP = 97,
27
- VER = 98,
28
- IF = 99,
29
- NOTIF = 100,
30
- VERIF = 101,
31
- VERNOTIF = 102,
32
- ELSE = 103,
33
- ENDIF = 104,
34
- VERIFY = 105,
35
- RETURN = 106,
36
- TOALTSTACK = 107,
37
- FROMALTSTACK = 108,
38
- '2DROP' = 109,
39
- '2DUP' = 110,
40
- '3DUP' = 111,
41
- '2OVER' = 112,
42
- '2ROT' = 113,
43
- '2SWAP' = 114,
44
- IFDUP = 115,
45
- DEPTH = 116,
46
- DROP = 117,
47
- DUP = 118,
48
- NIP = 119,
49
- OVER = 120,
50
- PICK = 121,
51
- ROLL = 122,
52
- ROT = 123,
53
- SWAP = 124,
54
- TUCK = 125,
55
- CAT = 126,
56
- SUBSTR = 127,
57
- LEFT = 128,
58
- RIGHT = 129,
59
- SIZE = 130,
60
- INVERT = 131,
61
- AND = 132,
62
- OR = 133,
63
- XOR = 134,
64
- EQUAL = 135,
65
- EQUALVERIFY = 136,
66
- RESERVED1 = 137,
67
- RESERVED2 = 138,
68
- '1ADD' = 139,
69
- '1SUB' = 140,
70
- '2MUL' = 141,
71
- '2DIV' = 142,
72
- NEGATE = 143,
73
- ABS = 144,
74
- NOT = 145,
75
- '0NOTEQUAL' = 146,
76
- ADD = 147,
77
- SUB = 148,
78
- MUL = 149,
79
- DIV = 150,
80
- MOD = 151,
81
- LSHIFT = 152,
82
- RSHIFT = 153,
83
- BOOLAND = 154,
84
- BOOLOR = 155,
85
- NUMEQUAL = 156,
86
- NUMEQUALVERIFY = 157,
87
- NUMNOTEQUAL = 158,
88
- LESSTHAN = 159,
89
- GREATERTHAN = 160,
90
- LESSTHANOREQUAL = 161,
91
- GREATERTHANOREQUAL = 162,
92
- MIN = 163,
93
- MAX = 164,
94
- WITHIN = 165,
95
- RIPEMD160 = 166,
96
- SHA1 = 167,
97
- SHA256 = 168,
98
- HASH160 = 169,
99
- HASH256 = 170,
100
- CODESEPARATOR = 171,
101
- CHECKSIG = 172,
102
- CHECKSIGVERIFY = 173,
103
- CHECKMULTISIG = 174,
104
- CHECKMULTISIGVERIFY = 175,
105
- NOP1 = 176,
106
- CHECKLOCKTIMEVERIFY = 177,
107
- CHECKSEQUENCEVERIFY = 178,
108
- NOP4 = 179,
109
- NOP5 = 180,
110
- NOP6 = 181,
111
- NOP7 = 182,
112
- NOP8 = 183,
113
- NOP9 = 184,
114
- NOP10 = 185,
115
- CHECKSIGADD = 186,
116
- INVALID = 255
117
- }
4
+ export declare const OP: {
5
+ OP_0: number;
6
+ PUSHDATA1: number;
7
+ PUSHDATA2: number;
8
+ PUSHDATA4: number;
9
+ '1NEGATE': number;
10
+ RESERVED: number;
11
+ OP_1: number;
12
+ OP_2: number;
13
+ OP_3: number;
14
+ OP_4: number;
15
+ OP_5: number;
16
+ OP_6: number;
17
+ OP_7: number;
18
+ OP_8: number;
19
+ OP_9: number;
20
+ OP_10: number;
21
+ OP_11: number;
22
+ OP_12: number;
23
+ OP_13: number;
24
+ OP_14: number;
25
+ OP_15: number;
26
+ OP_16: number;
27
+ NOP: number;
28
+ VER: number;
29
+ IF: number;
30
+ NOTIF: number;
31
+ VERIF: number;
32
+ VERNOTIF: number;
33
+ ELSE: number;
34
+ ENDIF: number;
35
+ VERIFY: number;
36
+ RETURN: number;
37
+ TOALTSTACK: number;
38
+ FROMALTSTACK: number;
39
+ '2DROP': number;
40
+ '2DUP': number;
41
+ '3DUP': number;
42
+ '2OVER': number;
43
+ '2ROT': number;
44
+ '2SWAP': number;
45
+ IFDUP: number;
46
+ DEPTH: number;
47
+ DROP: number;
48
+ DUP: number;
49
+ NIP: number;
50
+ OVER: number;
51
+ PICK: number;
52
+ ROLL: number;
53
+ ROT: number;
54
+ SWAP: number;
55
+ TUCK: number;
56
+ CAT: number;
57
+ SUBSTR: number;
58
+ LEFT: number;
59
+ RIGHT: number;
60
+ SIZE: number;
61
+ INVERT: number;
62
+ AND: number;
63
+ OR: number;
64
+ XOR: number;
65
+ EQUAL: number;
66
+ EQUALVERIFY: number;
67
+ RESERVED1: number;
68
+ RESERVED2: number;
69
+ '1ADD': number;
70
+ '1SUB': number;
71
+ '2MUL': number;
72
+ '2DIV': number;
73
+ NEGATE: number;
74
+ ABS: number;
75
+ NOT: number;
76
+ '0NOTEQUAL': number;
77
+ ADD: number;
78
+ SUB: number;
79
+ MUL: number;
80
+ DIV: number;
81
+ MOD: number;
82
+ LSHIFT: number;
83
+ RSHIFT: number;
84
+ BOOLAND: number;
85
+ BOOLOR: number;
86
+ NUMEQUAL: number;
87
+ NUMEQUALVERIFY: number;
88
+ NUMNOTEQUAL: number;
89
+ LESSTHAN: number;
90
+ GREATERTHAN: number;
91
+ LESSTHANOREQUAL: number;
92
+ GREATERTHANOREQUAL: number;
93
+ MIN: number;
94
+ MAX: number;
95
+ WITHIN: number;
96
+ RIPEMD160: number;
97
+ SHA1: number;
98
+ SHA256: number;
99
+ HASH160: number;
100
+ HASH256: number;
101
+ CODESEPARATOR: number;
102
+ CHECKSIG: number;
103
+ CHECKSIGVERIFY: number;
104
+ CHECKMULTISIG: number;
105
+ CHECKMULTISIGVERIFY: number;
106
+ NOP1: number;
107
+ CHECKLOCKTIMEVERIFY: number;
108
+ CHECKSEQUENCEVERIFY: number;
109
+ NOP4: number;
110
+ NOP5: number;
111
+ NOP6: number;
112
+ NOP7: number;
113
+ NOP8: number;
114
+ NOP9: number;
115
+ NOP10: number;
116
+ CHECKSIGADD: number;
117
+ INVALID: number;
118
+ };
119
+ export declare const OPNames: {
120
+ [x: number]: "OP_0" | "PUSHDATA1" | "PUSHDATA2" | "PUSHDATA4" | "1NEGATE" | "RESERVED" | "OP_1" | "OP_2" | "OP_3" | "OP_4" | "OP_5" | "OP_6" | "OP_7" | "OP_8" | "OP_9" | "OP_10" | "OP_11" | "OP_12" | "OP_13" | "OP_14" | "OP_15" | "OP_16" | "NOP" | "VER" | "IF" | "NOTIF" | "VERIF" | "VERNOTIF" | "ELSE" | "ENDIF" | "VERIFY" | "RETURN" | "TOALTSTACK" | "FROMALTSTACK" | "2DROP" | "2DUP" | "3DUP" | "2OVER" | "2ROT" | "2SWAP" | "IFDUP" | "DEPTH" | "DROP" | "DUP" | "NIP" | "OVER" | "PICK" | "ROLL" | "ROT" | "SWAP" | "TUCK" | "CAT" | "SUBSTR" | "LEFT" | "RIGHT" | "SIZE" | "INVERT" | "AND" | "OR" | "XOR" | "EQUAL" | "EQUALVERIFY" | "RESERVED1" | "RESERVED2" | "1ADD" | "1SUB" | "2MUL" | "2DIV" | "NEGATE" | "ABS" | "NOT" | "0NOTEQUAL" | "ADD" | "SUB" | "MUL" | "DIV" | "MOD" | "LSHIFT" | "RSHIFT" | "BOOLAND" | "BOOLOR" | "NUMEQUAL" | "NUMEQUALVERIFY" | "NUMNOTEQUAL" | "LESSTHAN" | "GREATERTHAN" | "LESSTHANOREQUAL" | "GREATERTHANOREQUAL" | "MIN" | "MAX" | "WITHIN" | "RIPEMD160" | "SHA1" | "SHA256" | "HASH160" | "HASH256" | "CODESEPARATOR" | "CHECKSIG" | "CHECKSIGVERIFY" | "CHECKMULTISIG" | "CHECKMULTISIGVERIFY" | "NOP1" | "CHECKLOCKTIMEVERIFY" | "CHECKSEQUENCEVERIFY" | "NOP4" | "NOP5" | "NOP6" | "NOP7" | "NOP8" | "NOP9" | "NOP10" | "CHECKSIGADD" | "INVALID";
121
+ };
122
+ export type OP = ValueOf<typeof OP>;
118
123
  export type ScriptOP = keyof typeof OP | Uint8Array | number;
119
124
  export type ScriptType = ScriptOP[];
120
125
  export declare function ScriptNum(bytesLimit?: number, forceMinimal?: boolean): P.CoderType<bigint>;
@@ -122,18 +127,18 @@ export declare function OpToNum(op: ScriptOP, bytesLimit?: number, forceMinimal?
122
127
  export declare const Script: P.CoderType<ScriptType>;
123
128
  export declare const CompactSize: P.CoderType<bigint>;
124
129
  export declare const CompactSizeLen: P.CoderType<number>;
125
- export declare const VarBytes: P.CoderType<Uint8Array>;
126
- export declare const RawWitness: P.CoderType<Uint8Array[]>;
130
+ export declare const VarBytes: P.CoderType<Bytes>;
131
+ export declare const RawWitness: P.CoderType<Bytes[]>;
127
132
  export declare const BTCArray: <T>(t: P.CoderType<T>) => P.CoderType<T[]>;
128
133
  export declare const RawInput: P.CoderType<P.StructInput<{
129
134
  txid: P.Bytes;
130
135
  index: number;
131
- finalScriptSig: Uint8Array<ArrayBufferLike>;
136
+ finalScriptSig: Bytes;
132
137
  sequence: number;
133
138
  }>>;
134
139
  export declare const RawOutput: P.CoderType<P.StructInput<{
135
140
  amount: bigint;
136
- script: Uint8Array<ArrayBufferLike>;
141
+ script: Bytes;
137
142
  }>>;
138
143
  declare const _RawTx: P.CoderType<P.StructInput<{
139
144
  version: number;
@@ -148,7 +153,7 @@ declare const _RawTx: P.CoderType<P.StructInput<{
148
153
  amount: /*elided*/ any;
149
154
  script: /*elided*/ any;
150
155
  }>[];
151
- witnesses: P.Option<Uint8Array<ArrayBufferLike>[][]>;
156
+ witnesses: P.Option<Bytes[][]>;
152
157
  lockTime: number;
153
158
  }>>;
154
159
  export declare const RawTx: typeof _RawTx;
package/script.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"script.d.ts","sourceRoot":"","sources":["src/script.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"script.d.ts","sourceRoot":"","sources":["src/script.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAClC,OAAO,EAA0B,KAAK,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAE9E,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAG1C,eAAO,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6Bd,CAAC;AAEF,eAAO,MAAM,OAAO;;CAAoB,CAAC;AACzC,MAAM,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;AAEpC,MAAM,MAAM,QAAQ,GAAG,MAAM,OAAO,EAAE,GAAG,UAAU,GAAG,MAAM,CAAC;AAC7D,MAAM,MAAM,UAAU,GAAG,QAAQ,EAAE,CAAC;AAIpC,wBAAgB,SAAS,CAAC,UAAU,SAAI,EAAE,YAAY,UAAQ,GAAG,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAuCnF;AAED,wBAAgB,OAAO,CAAC,EAAE,EAAE,QAAQ,EAAE,UAAU,SAAI,EAAE,YAAY,UAAO,GAAG,MAAM,GAAG,SAAS,CAY7F;AAWD,eAAO,MAAM,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,UAAU,CA4DzC,CAAC;AASH,eAAO,MAAM,WAAW,EAAE,CAAC,CAAC,SAAS,CAAC,MAAM,CAqB1C,CAAC;AAGH,eAAO,MAAM,cAAc,EAAE,CAAC,CAAC,SAAS,CAAC,MAAM,CAA+C,CAAC;AAG/F,eAAO,MAAM,QAAQ,EAAE,CAAC,CAAC,SAAS,CAAC,KAAK,CAAwB,CAAC;AAGjE,eAAO,MAAM,UAAU,EAAE,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,CAAqC,CAAC;AAGlF,eAAO,MAAM,QAAQ,GAAI,CAAC,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAG,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAA4B,CAAC;AAE5F,eAAO,MAAM,QAAQ;;;;;GAKnB,CAAC;AAEH,eAAO,MAAM,SAAS;;;GAAkD,CAAC;AAGzE,QAAA,MAAM,MAAM;;;;;;;;;;;;;;;GAUV,CAAC;AAOH,eAAO,MAAM,KAAK,EAAE,OAAO,MAA0C,CAAC;AAEtE,eAAO,MAAM,QAAQ;;;;;;;;;;;;;GAKnB,CAAC"}
package/script.js CHANGED
@@ -1,140 +1,41 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RawOldTx = exports.RawTx = exports.RawOutput = exports.RawInput = exports.BTCArray = exports.RawWitness = exports.VarBytes = exports.CompactSizeLen = exports.CompactSize = exports.Script = exports.OP = exports.MAX_SCRIPT_BYTE_LENGTH = void 0;
4
- exports.ScriptNum = ScriptNum;
5
- exports.OpToNum = OpToNum;
6
- const P = require("micro-packed");
7
- const utils_ts_1 = require("./utils.js");
8
- exports.MAX_SCRIPT_BYTE_LENGTH = 520;
1
+ import * as P from 'micro-packed';
2
+ import { isBytes, reverseObject } from "./utils.js";
3
+ export const MAX_SCRIPT_BYTE_LENGTH = 520;
9
4
  // prettier-ignore
10
- var OP;
11
- (function (OP) {
12
- OP[OP["OP_0"] = 0] = "OP_0";
13
- OP[OP["PUSHDATA1"] = 76] = "PUSHDATA1";
14
- OP[OP["PUSHDATA2"] = 77] = "PUSHDATA2";
15
- OP[OP["PUSHDATA4"] = 78] = "PUSHDATA4";
16
- OP[OP["1NEGATE"] = 79] = "1NEGATE";
17
- OP[OP["RESERVED"] = 80] = "RESERVED";
18
- OP[OP["OP_1"] = 81] = "OP_1";
19
- OP[OP["OP_2"] = 82] = "OP_2";
20
- OP[OP["OP_3"] = 83] = "OP_3";
21
- OP[OP["OP_4"] = 84] = "OP_4";
22
- OP[OP["OP_5"] = 85] = "OP_5";
23
- OP[OP["OP_6"] = 86] = "OP_6";
24
- OP[OP["OP_7"] = 87] = "OP_7";
25
- OP[OP["OP_8"] = 88] = "OP_8";
26
- OP[OP["OP_9"] = 89] = "OP_9";
27
- OP[OP["OP_10"] = 90] = "OP_10";
28
- OP[OP["OP_11"] = 91] = "OP_11";
29
- OP[OP["OP_12"] = 92] = "OP_12";
30
- OP[OP["OP_13"] = 93] = "OP_13";
31
- OP[OP["OP_14"] = 94] = "OP_14";
32
- OP[OP["OP_15"] = 95] = "OP_15";
33
- OP[OP["OP_16"] = 96] = "OP_16";
5
+ export const OP = {
6
+ OP_0: 0, PUSHDATA1: 76, PUSHDATA2: 77, PUSHDATA4: 78, '1NEGATE': 79,
7
+ RESERVED: 80,
8
+ OP_1: 81, OP_2: 82, OP_3: 83, OP_4: 84, OP_5: 85, OP_6: 86, OP_7: 87, OP_8: 88, OP_9: 89,
9
+ OP_10: 90, OP_11: 91, OP_12: 92, OP_13: 93, OP_14: 94, OP_15: 95, OP_16: 96,
34
10
  // Control
35
- OP[OP["NOP"] = 97] = "NOP";
36
- OP[OP["VER"] = 98] = "VER";
37
- OP[OP["IF"] = 99] = "IF";
38
- OP[OP["NOTIF"] = 100] = "NOTIF";
39
- OP[OP["VERIF"] = 101] = "VERIF";
40
- OP[OP["VERNOTIF"] = 102] = "VERNOTIF";
41
- OP[OP["ELSE"] = 103] = "ELSE";
42
- OP[OP["ENDIF"] = 104] = "ENDIF";
43
- OP[OP["VERIFY"] = 105] = "VERIFY";
44
- OP[OP["RETURN"] = 106] = "RETURN";
11
+ NOP: 97, VER: 98, IF: 99, NOTIF: 100, VERIF: 101, VERNOTIF: 102, ELSE: 103, ENDIF: 104, VERIFY: 105, RETURN: 106,
45
12
  // Stack
46
- OP[OP["TOALTSTACK"] = 107] = "TOALTSTACK";
47
- OP[OP["FROMALTSTACK"] = 108] = "FROMALTSTACK";
48
- OP[OP["2DROP"] = 109] = "2DROP";
49
- OP[OP["2DUP"] = 110] = "2DUP";
50
- OP[OP["3DUP"] = 111] = "3DUP";
51
- OP[OP["2OVER"] = 112] = "2OVER";
52
- OP[OP["2ROT"] = 113] = "2ROT";
53
- OP[OP["2SWAP"] = 114] = "2SWAP";
54
- OP[OP["IFDUP"] = 115] = "IFDUP";
55
- OP[OP["DEPTH"] = 116] = "DEPTH";
56
- OP[OP["DROP"] = 117] = "DROP";
57
- OP[OP["DUP"] = 118] = "DUP";
58
- OP[OP["NIP"] = 119] = "NIP";
59
- OP[OP["OVER"] = 120] = "OVER";
60
- OP[OP["PICK"] = 121] = "PICK";
61
- OP[OP["ROLL"] = 122] = "ROLL";
62
- OP[OP["ROT"] = 123] = "ROT";
63
- OP[OP["SWAP"] = 124] = "SWAP";
64
- OP[OP["TUCK"] = 125] = "TUCK";
13
+ TOALTSTACK: 107, FROMALTSTACK: 108, '2DROP': 109, '2DUP': 110, '3DUP': 111, '2OVER': 112, '2ROT': 113, '2SWAP': 114,
14
+ IFDUP: 115, DEPTH: 116, DROP: 117, DUP: 118, NIP: 119, OVER: 120, PICK: 121, ROLL: 122, ROT: 123, SWAP: 124, TUCK: 125,
65
15
  // Splice
66
- OP[OP["CAT"] = 126] = "CAT";
67
- OP[OP["SUBSTR"] = 127] = "SUBSTR";
68
- OP[OP["LEFT"] = 128] = "LEFT";
69
- OP[OP["RIGHT"] = 129] = "RIGHT";
70
- OP[OP["SIZE"] = 130] = "SIZE";
16
+ CAT: 126, SUBSTR: 127, LEFT: 128, RIGHT: 129, SIZE: 130,
71
17
  // Boolean logic
72
- OP[OP["INVERT"] = 131] = "INVERT";
73
- OP[OP["AND"] = 132] = "AND";
74
- OP[OP["OR"] = 133] = "OR";
75
- OP[OP["XOR"] = 134] = "XOR";
76
- OP[OP["EQUAL"] = 135] = "EQUAL";
77
- OP[OP["EQUALVERIFY"] = 136] = "EQUALVERIFY";
78
- OP[OP["RESERVED1"] = 137] = "RESERVED1";
79
- OP[OP["RESERVED2"] = 138] = "RESERVED2";
18
+ INVERT: 131, AND: 132, OR: 133, XOR: 134, EQUAL: 135, EQUALVERIFY: 136, RESERVED1: 137, RESERVED2: 138,
80
19
  // Numbers
81
- OP[OP["1ADD"] = 139] = "1ADD";
82
- OP[OP["1SUB"] = 140] = "1SUB";
83
- OP[OP["2MUL"] = 141] = "2MUL";
84
- OP[OP["2DIV"] = 142] = "2DIV";
85
- OP[OP["NEGATE"] = 143] = "NEGATE";
86
- OP[OP["ABS"] = 144] = "ABS";
87
- OP[OP["NOT"] = 145] = "NOT";
88
- OP[OP["0NOTEQUAL"] = 146] = "0NOTEQUAL";
89
- OP[OP["ADD"] = 147] = "ADD";
90
- OP[OP["SUB"] = 148] = "SUB";
91
- OP[OP["MUL"] = 149] = "MUL";
92
- OP[OP["DIV"] = 150] = "DIV";
93
- OP[OP["MOD"] = 151] = "MOD";
94
- OP[OP["LSHIFT"] = 152] = "LSHIFT";
95
- OP[OP["RSHIFT"] = 153] = "RSHIFT";
96
- OP[OP["BOOLAND"] = 154] = "BOOLAND";
97
- OP[OP["BOOLOR"] = 155] = "BOOLOR";
98
- OP[OP["NUMEQUAL"] = 156] = "NUMEQUAL";
99
- OP[OP["NUMEQUALVERIFY"] = 157] = "NUMEQUALVERIFY";
100
- OP[OP["NUMNOTEQUAL"] = 158] = "NUMNOTEQUAL";
101
- OP[OP["LESSTHAN"] = 159] = "LESSTHAN";
102
- OP[OP["GREATERTHAN"] = 160] = "GREATERTHAN";
103
- OP[OP["LESSTHANOREQUAL"] = 161] = "LESSTHANOREQUAL";
104
- OP[OP["GREATERTHANOREQUAL"] = 162] = "GREATERTHANOREQUAL";
105
- OP[OP["MIN"] = 163] = "MIN";
106
- OP[OP["MAX"] = 164] = "MAX";
107
- OP[OP["WITHIN"] = 165] = "WITHIN";
20
+ '1ADD': 139, '1SUB': 140, '2MUL': 141, '2DIV': 142,
21
+ NEGATE: 143, ABS: 144, NOT: 145, '0NOTEQUAL': 146,
22
+ ADD: 147, SUB: 148, MUL: 149, DIV: 150, MOD: 151, LSHIFT: 152, RSHIFT: 153, BOOLAND: 154, BOOLOR: 155,
23
+ NUMEQUAL: 156, NUMEQUALVERIFY: 157, NUMNOTEQUAL: 158, LESSTHAN: 159, GREATERTHAN: 160,
24
+ LESSTHANOREQUAL: 161, GREATERTHANOREQUAL: 162, MIN: 163, MAX: 164, WITHIN: 165,
108
25
  // Crypto
109
- OP[OP["RIPEMD160"] = 166] = "RIPEMD160";
110
- OP[OP["SHA1"] = 167] = "SHA1";
111
- OP[OP["SHA256"] = 168] = "SHA256";
112
- OP[OP["HASH160"] = 169] = "HASH160";
113
- OP[OP["HASH256"] = 170] = "HASH256";
114
- OP[OP["CODESEPARATOR"] = 171] = "CODESEPARATOR";
115
- OP[OP["CHECKSIG"] = 172] = "CHECKSIG";
116
- OP[OP["CHECKSIGVERIFY"] = 173] = "CHECKSIGVERIFY";
117
- OP[OP["CHECKMULTISIG"] = 174] = "CHECKMULTISIG";
118
- OP[OP["CHECKMULTISIGVERIFY"] = 175] = "CHECKMULTISIGVERIFY";
26
+ RIPEMD160: 166, SHA1: 167, SHA256: 168, HASH160: 169, HASH256: 170, CODESEPARATOR: 171,
27
+ CHECKSIG: 172, CHECKSIGVERIFY: 173, CHECKMULTISIG: 174, CHECKMULTISIGVERIFY: 175,
119
28
  // Expansion
120
- OP[OP["NOP1"] = 176] = "NOP1";
121
- OP[OP["CHECKLOCKTIMEVERIFY"] = 177] = "CHECKLOCKTIMEVERIFY";
122
- OP[OP["CHECKSEQUENCEVERIFY"] = 178] = "CHECKSEQUENCEVERIFY";
123
- OP[OP["NOP4"] = 179] = "NOP4";
124
- OP[OP["NOP5"] = 180] = "NOP5";
125
- OP[OP["NOP6"] = 181] = "NOP6";
126
- OP[OP["NOP7"] = 182] = "NOP7";
127
- OP[OP["NOP8"] = 183] = "NOP8";
128
- OP[OP["NOP9"] = 184] = "NOP9";
129
- OP[OP["NOP10"] = 185] = "NOP10";
29
+ NOP1: 176, CHECKLOCKTIMEVERIFY: 177, CHECKSEQUENCEVERIFY: 178, NOP4: 179, NOP5: 180, NOP6: 181, NOP7: 182, NOP8: 183, NOP9: 184, NOP10: 185,
130
30
  // BIP 342
131
- OP[OP["CHECKSIGADD"] = 186] = "CHECKSIGADD";
31
+ CHECKSIGADD: 186,
132
32
  // Invalid
133
- OP[OP["INVALID"] = 255] = "INVALID";
134
- })(OP || (exports.OP = OP = {}));
33
+ INVALID: 255,
34
+ };
35
+ export const OPNames = reverseObject(OP);
135
36
  // We can encode almost any number as ScriptNum, however, parsing will be a problem
136
37
  // since we can't know if buffer is a number or something else.
137
- function ScriptNum(bytesLimit = 6, forceMinimal = false) {
38
+ export function ScriptNum(bytesLimit = 6, forceMinimal = false) {
138
39
  return P.wrap({
139
40
  encodeStream: (w, value) => {
140
41
  if (value === 0n)
@@ -179,10 +80,10 @@ function ScriptNum(bytesLimit = 6, forceMinimal = false) {
179
80
  },
180
81
  });
181
82
  }
182
- function OpToNum(op, bytesLimit = 4, forceMinimal = true) {
83
+ export function OpToNum(op, bytesLimit = 4, forceMinimal = true) {
183
84
  if (typeof op === 'number')
184
85
  return op;
185
- if ((0, utils_ts_1.isBytes)(op)) {
86
+ if (isBytes(op)) {
186
87
  try {
187
88
  const val = ScriptNum(bytesLimit, forceMinimal).decode(op);
188
89
  if (val > Number.MAX_SAFE_INTEGER)
@@ -204,7 +105,7 @@ function OpToNum(op, bytesLimit = 4, forceMinimal = true) {
204
105
  // 030000000000000000000000000000000000000000000000000000000000000003
205
106
  // OP_3
206
107
  // CHECKMULTISIG
207
- exports.Script = P.wrap({
108
+ export const Script = P.wrap({
208
109
  encodeStream: (w, value) => {
209
110
  for (let o of value) {
210
111
  if (typeof o === 'string') {
@@ -226,7 +127,7 @@ exports.Script = P.wrap({
226
127
  // Encode big numbers
227
128
  if (typeof o === 'number')
228
129
  o = ScriptNum().encode(BigInt(o));
229
- if (!(0, utils_ts_1.isBytes)(o))
130
+ if (!isBytes(o))
230
131
  throw new Error(`Wrong Script OP=${o} (${typeof o})`);
231
132
  // Bytes
232
133
  const len = o.length;
@@ -273,7 +174,7 @@ exports.Script = P.wrap({
273
174
  out.push(cur - (OP.OP_1 - 1));
274
175
  }
275
176
  else {
276
- const op = OP[cur];
177
+ const op = OPNames[cur];
277
178
  if (op === undefined)
278
179
  throw new Error(`Unknown opcode=${cur.toString(16)}`);
279
180
  out.push(op);
@@ -289,7 +190,7 @@ const CSLimits = {
289
190
  0xfe: [0xfe, 4, 65536n, 4294967295n],
290
191
  0xff: [0xff, 8, 4294967296n, 18446744073709551615n],
291
192
  };
292
- exports.CompactSize = P.wrap({
193
+ export const CompactSize = P.wrap({
293
194
  encodeStream: (w, value) => {
294
195
  if (typeof value === 'number')
295
196
  value = BigInt(value);
@@ -319,28 +220,27 @@ exports.CompactSize = P.wrap({
319
220
  },
320
221
  });
321
222
  // Same thing, but in number instead of bigint. Checks for safe integer inside
322
- exports.CompactSizeLen = P.apply(exports.CompactSize, P.coders.numberBigint);
223
+ export const CompactSizeLen = P.apply(CompactSize, P.coders.numberBigint);
323
224
  // ui8a of size <CompactSize>
324
- exports.VarBytes = P.bytes(exports.CompactSize);
225
+ export const VarBytes = P.bytes(CompactSize);
325
226
  // SegWit v0 stack of witness buffers
326
- exports.RawWitness = P.array(exports.CompactSizeLen, exports.VarBytes);
227
+ export const RawWitness = P.array(CompactSizeLen, VarBytes);
327
228
  // Array of size <CompactSize>
328
- const BTCArray = (t) => P.array(exports.CompactSize, t);
329
- exports.BTCArray = BTCArray;
330
- exports.RawInput = P.struct({
229
+ export const BTCArray = (t) => P.array(CompactSize, t);
230
+ export const RawInput = P.struct({
331
231
  txid: P.bytes(32, true), // hash(prev_tx),
332
232
  index: P.U32LE, // output number of previous tx
333
- finalScriptSig: exports.VarBytes, // btc merges input and output script, executes it. If ok = tx passes
233
+ finalScriptSig: VarBytes, // btc merges input and output script, executes it. If ok = tx passes
334
234
  sequence: P.U32LE, // ?
335
235
  });
336
- exports.RawOutput = P.struct({ amount: P.U64LE, script: exports.VarBytes });
236
+ export const RawOutput = P.struct({ amount: P.U64LE, script: VarBytes });
337
237
  // https://en.bitcoin.it/wiki/Protocol_documentation#tx
338
238
  const _RawTx = P.struct({
339
239
  version: P.I32LE,
340
240
  segwitFlag: P.flag(new Uint8Array([0x00, 0x01])),
341
- inputs: (0, exports.BTCArray)(exports.RawInput),
342
- outputs: (0, exports.BTCArray)(exports.RawOutput),
343
- witnesses: P.flagged('segwitFlag', P.array('inputs/length', exports.RawWitness)),
241
+ inputs: BTCArray(RawInput),
242
+ outputs: BTCArray(RawOutput),
243
+ witnesses: P.flagged('segwitFlag', P.array('inputs/length', RawWitness)),
344
244
  // < 500000000 Block number at which this transaction is unlocked
345
245
  // >= 500000000 UNIX timestamp at which this transaction is unlocked
346
246
  // Handled as part of PSBTv2
@@ -351,12 +251,12 @@ function validateRawTx(tx) {
351
251
  throw new Error('Segwit flag with empty witnesses array');
352
252
  return tx;
353
253
  }
354
- exports.RawTx = P.validate(_RawTx, validateRawTx);
254
+ export const RawTx = P.validate(_RawTx, validateRawTx);
355
255
  // Pre-SegWit serialization format (for PSBTv0)
356
- exports.RawOldTx = P.struct({
256
+ export const RawOldTx = P.struct({
357
257
  version: P.I32LE,
358
- inputs: (0, exports.BTCArray)(exports.RawInput),
359
- outputs: (0, exports.BTCArray)(exports.RawOutput),
258
+ inputs: BTCArray(RawInput),
259
+ outputs: BTCArray(RawOutput),
360
260
  lockTime: P.U32LE,
361
261
  });
362
262
  //# sourceMappingURL=script.js.map
package/script.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"script.js","sourceRoot":"","sources":["src/script.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"script.js","sourceRoot":"","sources":["src/script.ts"],"names":[],"mappings":"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"}