@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.
- package/README.md +8 -5
- package/index.js +17 -61
- package/index.js.map +1 -1
- package/musig2.d.ts +2 -2
- package/musig2.d.ts.map +1 -1
- package/musig2.js +93 -90
- package/musig2.js.map +1 -1
- package/p2p.d.ts +7 -8
- package/p2p.d.ts.map +1 -1
- package/p2p.js +32 -38
- package/p2p.js.map +1 -1
- package/package.json +33 -103
- package/payment.js +73 -96
- package/payment.js.map +1 -1
- package/psbt.d.ts +224 -224
- package/psbt.d.ts.map +1 -1
- package/psbt.js +58 -63
- package/psbt.js.map +1 -1
- package/script.d.ts +125 -120
- package/script.d.ts.map +1 -1
- package/script.js +46 -146
- package/script.js.map +1 -1
- package/src/musig2.ts +43 -50
- package/src/p2p.ts +28 -40
- package/src/psbt.ts +7 -7
- package/src/script.ts +29 -26
- package/src/transaction.ts +21 -21
- package/src/utils.ts +41 -22
- package/transaction.d.ts +22 -28
- package/transaction.d.ts.map +1 -1
- package/transaction.js +134 -151
- package/transaction.js.map +1 -1
- package/utils.d.ts +11 -5
- package/utils.d.ts.map +1 -1
- package/utils.js +60 -62
- package/utils.js.map +1 -1
- package/utxo.d.ts +45 -45
- package/utxo.d.ts.map +1 -1
- package/utxo.js +62 -58
- package/utxo.js.map +1 -1
- package/_type_test.d.ts +0 -2
- package/_type_test.d.ts.map +0 -1
- package/_type_test.js +0 -59
- package/_type_test.js.map +0 -1
- package/esm/_type_test.d.ts +0 -2
- package/esm/_type_test.d.ts.map +0 -1
- package/esm/_type_test.js +0 -57
- package/esm/_type_test.js.map +0 -1
- package/esm/index.d.ts +0 -22
- package/esm/index.d.ts.map +0 -1
- package/esm/index.js +0 -22
- package/esm/index.js.map +0 -1
- package/esm/musig2.d.ts +0 -148
- package/esm/musig2.d.ts.map +0 -1
- package/esm/musig2.js +0 -404
- package/esm/musig2.js.map +0 -1
- package/esm/p2p.d.ts +0 -38
- package/esm/p2p.d.ts.map +0 -1
- package/esm/p2p.js +0 -156
- package/esm/p2p.js.map +0 -1
- package/esm/package.json +0 -1
- package/esm/payment.d.ts +0 -200
- package/esm/payment.d.ts.map +0 -1
- package/esm/payment.js +0 -697
- package/esm/payment.js.map +0 -1
- package/esm/psbt.d.ts +0 -820
- package/esm/psbt.d.ts.map +0 -1
- package/esm/psbt.js +0 -409
- package/esm/psbt.js.map +0 -1
- package/esm/script.d.ts +0 -170
- package/esm/script.d.ts.map +0 -1
- package/esm/script.js +0 -356
- package/esm/script.js.map +0 -1
- package/esm/transaction.d.ts +0 -172
- package/esm/transaction.d.ts.map +0 -1
- package/esm/transaction.js +0 -1185
- package/esm/transaction.js.map +0 -1
- package/esm/utils.d.ts +0 -35
- package/esm/utils.d.ts.map +0 -1
- package/esm/utils.js +0 -118
- package/esm/utils.js.map +0 -1
- package/esm/utxo.d.ts +0 -198
- package/esm/utxo.d.ts.map +0 -1
- package/esm/utxo.js +0 -461
- package/esm/utxo.js.map +0 -1
- package/src/_type_test.ts +0 -69
- 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
|
|
4
|
-
OP_0
|
|
5
|
-
PUSHDATA1
|
|
6
|
-
PUSHDATA2
|
|
7
|
-
PUSHDATA4
|
|
8
|
-
'1NEGATE'
|
|
9
|
-
RESERVED
|
|
10
|
-
OP_1
|
|
11
|
-
OP_2
|
|
12
|
-
OP_3
|
|
13
|
-
OP_4
|
|
14
|
-
OP_5
|
|
15
|
-
OP_6
|
|
16
|
-
OP_7
|
|
17
|
-
OP_8
|
|
18
|
-
OP_9
|
|
19
|
-
OP_10
|
|
20
|
-
OP_11
|
|
21
|
-
OP_12
|
|
22
|
-
OP_13
|
|
23
|
-
OP_14
|
|
24
|
-
OP_15
|
|
25
|
-
OP_16
|
|
26
|
-
NOP
|
|
27
|
-
VER
|
|
28
|
-
IF
|
|
29
|
-
NOTIF
|
|
30
|
-
VERIF
|
|
31
|
-
VERNOTIF
|
|
32
|
-
ELSE
|
|
33
|
-
ENDIF
|
|
34
|
-
VERIFY
|
|
35
|
-
RETURN
|
|
36
|
-
TOALTSTACK
|
|
37
|
-
FROMALTSTACK
|
|
38
|
-
'2DROP'
|
|
39
|
-
'2DUP'
|
|
40
|
-
'3DUP'
|
|
41
|
-
'2OVER'
|
|
42
|
-
'2ROT'
|
|
43
|
-
'2SWAP'
|
|
44
|
-
IFDUP
|
|
45
|
-
DEPTH
|
|
46
|
-
DROP
|
|
47
|
-
DUP
|
|
48
|
-
NIP
|
|
49
|
-
OVER
|
|
50
|
-
PICK
|
|
51
|
-
ROLL
|
|
52
|
-
ROT
|
|
53
|
-
SWAP
|
|
54
|
-
TUCK
|
|
55
|
-
CAT
|
|
56
|
-
SUBSTR
|
|
57
|
-
LEFT
|
|
58
|
-
RIGHT
|
|
59
|
-
SIZE
|
|
60
|
-
INVERT
|
|
61
|
-
AND
|
|
62
|
-
OR
|
|
63
|
-
XOR
|
|
64
|
-
EQUAL
|
|
65
|
-
EQUALVERIFY
|
|
66
|
-
RESERVED1
|
|
67
|
-
RESERVED2
|
|
68
|
-
'1ADD'
|
|
69
|
-
'1SUB'
|
|
70
|
-
'2MUL'
|
|
71
|
-
'2DIV'
|
|
72
|
-
NEGATE
|
|
73
|
-
ABS
|
|
74
|
-
NOT
|
|
75
|
-
'0NOTEQUAL'
|
|
76
|
-
ADD
|
|
77
|
-
SUB
|
|
78
|
-
MUL
|
|
79
|
-
DIV
|
|
80
|
-
MOD
|
|
81
|
-
LSHIFT
|
|
82
|
-
RSHIFT
|
|
83
|
-
BOOLAND
|
|
84
|
-
BOOLOR
|
|
85
|
-
NUMEQUAL
|
|
86
|
-
NUMEQUALVERIFY
|
|
87
|
-
NUMNOTEQUAL
|
|
88
|
-
LESSTHAN
|
|
89
|
-
GREATERTHAN
|
|
90
|
-
LESSTHANOREQUAL
|
|
91
|
-
GREATERTHANOREQUAL
|
|
92
|
-
MIN
|
|
93
|
-
MAX
|
|
94
|
-
WITHIN
|
|
95
|
-
RIPEMD160
|
|
96
|
-
SHA1
|
|
97
|
-
SHA256
|
|
98
|
-
HASH160
|
|
99
|
-
HASH256
|
|
100
|
-
CODESEPARATOR
|
|
101
|
-
CHECKSIG
|
|
102
|
-
CHECKSIGVERIFY
|
|
103
|
-
CHECKMULTISIG
|
|
104
|
-
CHECKMULTISIGVERIFY
|
|
105
|
-
NOP1
|
|
106
|
-
CHECKLOCKTIMEVERIFY
|
|
107
|
-
CHECKSEQUENCEVERIFY
|
|
108
|
-
NOP4
|
|
109
|
-
NOP5
|
|
110
|
-
NOP6
|
|
111
|
-
NOP7
|
|
112
|
-
NOP8
|
|
113
|
-
NOP9
|
|
114
|
-
NOP10
|
|
115
|
-
CHECKSIGADD
|
|
116
|
-
INVALID
|
|
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<
|
|
126
|
-
export declare const RawWitness: P.CoderType<
|
|
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:
|
|
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:
|
|
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<
|
|
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":"AAAA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;
|
|
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
|
-
|
|
2
|
-
|
|
3
|
-
|
|
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
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
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
|
-
|
|
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
|
-
|
|
47
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
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
|
-
|
|
110
|
-
|
|
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
|
-
|
|
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
|
-
|
|
31
|
+
CHECKSIGADD: 186,
|
|
132
32
|
// Invalid
|
|
133
|
-
|
|
134
|
-
}
|
|
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 (
|
|
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
|
-
|
|
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 (!
|
|
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 =
|
|
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
|
-
|
|
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
|
-
|
|
223
|
+
export const CompactSizeLen = P.apply(CompactSize, P.coders.numberBigint);
|
|
323
224
|
// ui8a of size <CompactSize>
|
|
324
|
-
|
|
225
|
+
export const VarBytes = P.bytes(CompactSize);
|
|
325
226
|
// SegWit v0 stack of witness buffers
|
|
326
|
-
|
|
227
|
+
export const RawWitness = P.array(CompactSizeLen, VarBytes);
|
|
327
228
|
// Array of size <CompactSize>
|
|
328
|
-
const BTCArray = (t) => P.array(
|
|
329
|
-
|
|
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:
|
|
233
|
+
finalScriptSig: VarBytes, // btc merges input and output script, executes it. If ok = tx passes
|
|
334
234
|
sequence: P.U32LE, // ?
|
|
335
235
|
});
|
|
336
|
-
|
|
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:
|
|
342
|
-
outputs:
|
|
343
|
-
witnesses: P.flagged('segwitFlag', P.array('inputs/length',
|
|
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
|
-
|
|
254
|
+
export const RawTx = P.validate(_RawTx, validateRawTx);
|
|
355
255
|
// Pre-SegWit serialization format (for PSBTv0)
|
|
356
|
-
|
|
256
|
+
export const RawOldTx = P.struct({
|
|
357
257
|
version: P.I32LE,
|
|
358
|
-
inputs:
|
|
359
|
-
outputs:
|
|
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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"}
|