@vbyte/btc-dev 1.0.10 → 1.0.12
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/dist/index.d.ts +0 -1
- package/dist/index.js +0 -1
- package/dist/lib/sighash/segwit.d.ts +4 -1
- package/dist/lib/sighash/segwit.js +6 -6
- package/dist/lib/sighash/taproot.d.ts +7 -6
- package/dist/lib/sighash/taproot.js +24 -53
- package/dist/lib/sighash/util.d.ts +4 -2
- package/dist/lib/sighash/util.js +16 -2
- package/dist/lib/signer/sign.js +8 -5
- package/dist/lib/signer/verify.d.ts +1 -2
- package/dist/lib/signer/verify.js +1 -5
- package/dist/lib/tx/create.d.ts +7 -6
- package/dist/lib/tx/create.js +25 -27
- package/dist/lib/tx/decode.d.ts +4 -9
- package/dist/lib/tx/decode.js +16 -28
- package/dist/lib/tx/encode.d.ts +1 -1
- package/dist/lib/tx/encode.js +6 -6
- package/dist/lib/tx/parse.d.ts +3 -2
- package/dist/lib/tx/parse.js +38 -5
- package/dist/lib/tx/util.d.ts +8 -4
- package/dist/lib/tx/util.js +39 -15
- package/dist/lib/tx/validate.d.ts +4 -2
- package/dist/lib/tx/validate.js +9 -2
- package/dist/main.cjs +4049 -4269
- package/dist/main.cjs.map +1 -1
- package/dist/module.mjs +4040 -4255
- package/dist/module.mjs.map +1 -1
- package/dist/package.json +2 -2
- package/dist/schema/taproot.d.ts +2 -2
- package/dist/schema/tx.d.ts +53 -40
- package/dist/schema/tx.js +9 -6
- package/dist/script.js +8 -8
- package/dist/script.js.map +1 -1
- package/dist/types/txdata.d.ts +28 -5
- package/package.json +2 -2
- package/src/index.ts +0 -2
- package/src/lib/sighash/segwit.ts +6 -6
- package/src/lib/sighash/taproot.ts +40 -70
- package/src/lib/sighash/util.ts +25 -3
- package/src/lib/signer/sign.ts +9 -5
- package/src/lib/signer/verify.ts +1 -18
- package/src/lib/tx/create.ts +44 -36
- package/src/lib/tx/decode.ts +23 -45
- package/src/lib/tx/encode.ts +10 -9
- package/src/lib/tx/parse.ts +61 -8
- package/src/lib/tx/util.ts +57 -20
- package/src/lib/tx/validate.ts +15 -2
- package/src/schema/tx.ts +10 -6
- package/src/types/txdata.ts +32 -5
- package/dist/class/index.d.ts +0 -5
- package/dist/class/index.js +0 -5
- package/dist/class/signer.d.ts +0 -18
- package/dist/class/signer.js +0 -34
- package/dist/class/tx.d.ts +0 -51
- package/dist/class/tx.js +0 -122
- package/dist/class/txin.d.ts +0 -27
- package/dist/class/txin.js +0 -59
- package/dist/class/txout.d.ts +0 -16
- package/dist/class/txout.js +0 -31
- package/dist/class/witness.d.ts +0 -23
- package/dist/class/witness.js +0 -68
- package/src/class/index.ts +0 -5
- package/src/class/signer.ts +0 -49
- package/src/class/tx.ts +0 -175
- package/src/class/txin.ts +0 -81
- package/src/class/txout.ts +0 -50
- package/src/class/witness.ts +0 -99
package/dist/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vbyte/btc-dev",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.12",
|
|
4
4
|
"description": "Batteries-included toolset for plebian bitcoin development",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"keywords": [
|
|
@@ -87,7 +87,7 @@
|
|
|
87
87
|
"@noble/hashes": "^1.8.0",
|
|
88
88
|
"@scure/btc-signer": "^1.8.1",
|
|
89
89
|
"@vbyte/buff": "^1.0.2",
|
|
90
|
-
"@vbyte/micro-lib": "^1.0.
|
|
90
|
+
"@vbyte/micro-lib": "^1.0.14",
|
|
91
91
|
"zod": "^3.25.69"
|
|
92
92
|
},
|
|
93
93
|
"devDependencies": {
|
package/dist/schema/taproot.d.ts
CHANGED
|
@@ -7,12 +7,12 @@ export declare const config: z.ZodObject<{
|
|
|
7
7
|
version: z.ZodOptional<z.ZodNumber>;
|
|
8
8
|
}, "strip", z.ZodTypeAny, {
|
|
9
9
|
pubkey: string | Uint8Array<ArrayBuffer>;
|
|
10
|
+
version?: number | undefined;
|
|
10
11
|
leaves?: (string | Uint8Array<ArrayBuffer> | (string | Uint8Array<ArrayBuffer>)[])[] | undefined;
|
|
11
12
|
target?: string | Uint8Array<ArrayBuffer> | undefined;
|
|
12
|
-
version?: number | undefined;
|
|
13
13
|
}, {
|
|
14
14
|
pubkey: string | Uint8Array<ArrayBuffer>;
|
|
15
|
+
version?: number | undefined;
|
|
15
16
|
leaves?: (string | Uint8Array<ArrayBuffer> | (string | Uint8Array<ArrayBuffer>)[])[] | undefined;
|
|
16
17
|
target?: string | Uint8Array<ArrayBuffer> | undefined;
|
|
17
|
-
version?: number | undefined;
|
|
18
18
|
}>;
|
package/dist/schema/tx.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
export declare const sats: z.ZodBigInt;
|
|
3
2
|
export declare const tx_output: z.ZodObject<{
|
|
4
3
|
value: z.ZodBigInt;
|
|
5
4
|
script_pk: z.ZodEffects<z.ZodString, string, string>;
|
|
@@ -28,26 +27,26 @@ export declare const tx_input: z.ZodObject<{
|
|
|
28
27
|
sequence: z.ZodNumber;
|
|
29
28
|
witness: z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">;
|
|
30
29
|
}, "strip", z.ZodTypeAny, {
|
|
31
|
-
coinbase: string | null;
|
|
32
30
|
txid: string;
|
|
33
31
|
vout: number;
|
|
32
|
+
sequence: number;
|
|
33
|
+
coinbase: string | null;
|
|
34
34
|
prevout: {
|
|
35
35
|
value: bigint;
|
|
36
36
|
script_pk: string;
|
|
37
37
|
} | null;
|
|
38
38
|
script_sig: string | null;
|
|
39
|
-
sequence: number;
|
|
40
39
|
witness: string[];
|
|
41
40
|
}, {
|
|
42
|
-
coinbase: string | null;
|
|
43
41
|
txid: string;
|
|
44
42
|
vout: number;
|
|
43
|
+
sequence: number;
|
|
44
|
+
coinbase: string | null;
|
|
45
45
|
prevout: {
|
|
46
46
|
value: bigint;
|
|
47
47
|
script_pk: string;
|
|
48
48
|
} | null;
|
|
49
49
|
script_sig: string | null;
|
|
50
|
-
sequence: number;
|
|
51
50
|
witness: string[];
|
|
52
51
|
}>;
|
|
53
52
|
export declare const tx_data: z.ZodObject<{
|
|
@@ -70,26 +69,26 @@ export declare const tx_data: z.ZodObject<{
|
|
|
70
69
|
sequence: z.ZodNumber;
|
|
71
70
|
witness: z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">;
|
|
72
71
|
}, "strip", z.ZodTypeAny, {
|
|
73
|
-
coinbase: string | null;
|
|
74
72
|
txid: string;
|
|
75
73
|
vout: number;
|
|
74
|
+
sequence: number;
|
|
75
|
+
coinbase: string | null;
|
|
76
76
|
prevout: {
|
|
77
77
|
value: bigint;
|
|
78
78
|
script_pk: string;
|
|
79
79
|
} | null;
|
|
80
80
|
script_sig: string | null;
|
|
81
|
-
sequence: number;
|
|
82
81
|
witness: string[];
|
|
83
82
|
}, {
|
|
84
|
-
coinbase: string | null;
|
|
85
83
|
txid: string;
|
|
86
84
|
vout: number;
|
|
85
|
+
sequence: number;
|
|
86
|
+
coinbase: string | null;
|
|
87
87
|
prevout: {
|
|
88
88
|
value: bigint;
|
|
89
89
|
script_pk: string;
|
|
90
90
|
} | null;
|
|
91
91
|
script_sig: string | null;
|
|
92
|
-
sequence: number;
|
|
93
92
|
witness: string[];
|
|
94
93
|
}>, "many">;
|
|
95
94
|
vout: z.ZodArray<z.ZodObject<{
|
|
@@ -110,15 +109,15 @@ export declare const tx_data: z.ZodObject<{
|
|
|
110
109
|
script_pk: string;
|
|
111
110
|
}[];
|
|
112
111
|
vin: {
|
|
113
|
-
coinbase: string | null;
|
|
114
112
|
txid: string;
|
|
115
113
|
vout: number;
|
|
114
|
+
sequence: number;
|
|
115
|
+
coinbase: string | null;
|
|
116
116
|
prevout: {
|
|
117
117
|
value: bigint;
|
|
118
118
|
script_pk: string;
|
|
119
119
|
} | null;
|
|
120
120
|
script_sig: string | null;
|
|
121
|
-
sequence: number;
|
|
122
121
|
witness: string[];
|
|
123
122
|
}[];
|
|
124
123
|
locktime: number;
|
|
@@ -129,149 +128,163 @@ export declare const tx_data: z.ZodObject<{
|
|
|
129
128
|
script_pk: string;
|
|
130
129
|
}[];
|
|
131
130
|
vin: {
|
|
132
|
-
coinbase: string | null;
|
|
133
131
|
txid: string;
|
|
134
132
|
vout: number;
|
|
133
|
+
sequence: number;
|
|
134
|
+
coinbase: string | null;
|
|
135
135
|
prevout: {
|
|
136
136
|
value: bigint;
|
|
137
137
|
script_pk: string;
|
|
138
138
|
} | null;
|
|
139
139
|
script_sig: string | null;
|
|
140
|
-
sequence: number;
|
|
141
140
|
witness: string[];
|
|
142
141
|
}[];
|
|
143
142
|
locktime: number;
|
|
144
143
|
}>;
|
|
144
|
+
export declare const vout_template: z.ZodObject<{
|
|
145
|
+
script_pk: z.ZodEffects<z.ZodString, string, string>;
|
|
146
|
+
} & {
|
|
147
|
+
value: z.ZodUnion<[z.ZodNumber, z.ZodBigInt]>;
|
|
148
|
+
}, "strip", z.ZodTypeAny, {
|
|
149
|
+
value: number | bigint;
|
|
150
|
+
script_pk: string;
|
|
151
|
+
}, {
|
|
152
|
+
value: number | bigint;
|
|
153
|
+
script_pk: string;
|
|
154
|
+
}>;
|
|
145
155
|
export declare const vin_template: z.ZodObject<{
|
|
146
156
|
txid: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
|
|
147
157
|
vout: z.ZodNumber;
|
|
148
158
|
} & {
|
|
149
159
|
coinbase: z.ZodOptional<z.ZodNullable<z.ZodEffects<z.ZodString, string, string>>>;
|
|
150
160
|
prevout: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
151
|
-
value: z.ZodBigInt;
|
|
152
161
|
script_pk: z.ZodEffects<z.ZodString, string, string>;
|
|
162
|
+
} & {
|
|
163
|
+
value: z.ZodUnion<[z.ZodNumber, z.ZodBigInt]>;
|
|
153
164
|
}, "strip", z.ZodTypeAny, {
|
|
154
|
-
value: bigint;
|
|
165
|
+
value: number | bigint;
|
|
155
166
|
script_pk: string;
|
|
156
167
|
}, {
|
|
157
|
-
value: bigint;
|
|
168
|
+
value: number | bigint;
|
|
158
169
|
script_pk: string;
|
|
159
170
|
}>>>;
|
|
160
171
|
script_sig: z.ZodOptional<z.ZodNullable<z.ZodEffects<z.ZodString, string, string>>>;
|
|
161
|
-
sequence: z.ZodOptional<z.ZodNumber
|
|
172
|
+
sequence: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodString, string, string>, z.ZodNumber]>>;
|
|
162
173
|
witness: z.ZodOptional<z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">>;
|
|
163
174
|
}, "strip", z.ZodTypeAny, {
|
|
164
175
|
txid: string;
|
|
165
176
|
vout: number;
|
|
177
|
+
sequence?: string | number | undefined;
|
|
166
178
|
coinbase?: string | null | undefined;
|
|
167
179
|
prevout?: {
|
|
168
|
-
value: bigint;
|
|
180
|
+
value: number | bigint;
|
|
169
181
|
script_pk: string;
|
|
170
182
|
} | null | undefined;
|
|
171
183
|
script_sig?: string | null | undefined;
|
|
172
|
-
sequence?: number | undefined;
|
|
173
184
|
witness?: string[] | undefined;
|
|
174
185
|
}, {
|
|
175
186
|
txid: string;
|
|
176
187
|
vout: number;
|
|
188
|
+
sequence?: string | number | undefined;
|
|
177
189
|
coinbase?: string | null | undefined;
|
|
178
190
|
prevout?: {
|
|
179
|
-
value: bigint;
|
|
191
|
+
value: number | bigint;
|
|
180
192
|
script_pk: string;
|
|
181
193
|
} | null | undefined;
|
|
182
194
|
script_sig?: string | null | undefined;
|
|
183
|
-
sequence?: number | undefined;
|
|
184
195
|
witness?: string[] | undefined;
|
|
185
196
|
}>;
|
|
186
197
|
export declare const tx_template: z.ZodObject<{
|
|
187
|
-
version: z.
|
|
198
|
+
version: z.ZodDefault<z.ZodNumber>;
|
|
188
199
|
vin: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
189
200
|
txid: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
|
|
190
201
|
vout: z.ZodNumber;
|
|
191
202
|
} & {
|
|
192
203
|
coinbase: z.ZodOptional<z.ZodNullable<z.ZodEffects<z.ZodString, string, string>>>;
|
|
193
204
|
prevout: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
194
|
-
value: z.ZodBigInt;
|
|
195
205
|
script_pk: z.ZodEffects<z.ZodString, string, string>;
|
|
206
|
+
} & {
|
|
207
|
+
value: z.ZodUnion<[z.ZodNumber, z.ZodBigInt]>;
|
|
196
208
|
}, "strip", z.ZodTypeAny, {
|
|
197
|
-
value: bigint;
|
|
209
|
+
value: number | bigint;
|
|
198
210
|
script_pk: string;
|
|
199
211
|
}, {
|
|
200
|
-
value: bigint;
|
|
212
|
+
value: number | bigint;
|
|
201
213
|
script_pk: string;
|
|
202
214
|
}>>>;
|
|
203
215
|
script_sig: z.ZodOptional<z.ZodNullable<z.ZodEffects<z.ZodString, string, string>>>;
|
|
204
|
-
sequence: z.ZodOptional<z.ZodNumber
|
|
216
|
+
sequence: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodString, string, string>, z.ZodNumber]>>;
|
|
205
217
|
witness: z.ZodOptional<z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">>;
|
|
206
218
|
}, "strip", z.ZodTypeAny, {
|
|
207
219
|
txid: string;
|
|
208
220
|
vout: number;
|
|
221
|
+
sequence?: string | number | undefined;
|
|
209
222
|
coinbase?: string | null | undefined;
|
|
210
223
|
prevout?: {
|
|
211
|
-
value: bigint;
|
|
224
|
+
value: number | bigint;
|
|
212
225
|
script_pk: string;
|
|
213
226
|
} | null | undefined;
|
|
214
227
|
script_sig?: string | null | undefined;
|
|
215
|
-
sequence?: number | undefined;
|
|
216
228
|
witness?: string[] | undefined;
|
|
217
229
|
}, {
|
|
218
230
|
txid: string;
|
|
219
231
|
vout: number;
|
|
232
|
+
sequence?: string | number | undefined;
|
|
220
233
|
coinbase?: string | null | undefined;
|
|
221
234
|
prevout?: {
|
|
222
|
-
value: bigint;
|
|
235
|
+
value: number | bigint;
|
|
223
236
|
script_pk: string;
|
|
224
237
|
} | null | undefined;
|
|
225
238
|
script_sig?: string | null | undefined;
|
|
226
|
-
sequence?: number | undefined;
|
|
227
239
|
witness?: string[] | undefined;
|
|
228
240
|
}>, "many">>;
|
|
229
241
|
vout: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
230
|
-
value: z.ZodBigInt;
|
|
231
242
|
script_pk: z.ZodEffects<z.ZodString, string, string>;
|
|
243
|
+
} & {
|
|
244
|
+
value: z.ZodUnion<[z.ZodNumber, z.ZodBigInt]>;
|
|
232
245
|
}, "strip", z.ZodTypeAny, {
|
|
233
|
-
value: bigint;
|
|
246
|
+
value: number | bigint;
|
|
234
247
|
script_pk: string;
|
|
235
248
|
}, {
|
|
236
|
-
value: bigint;
|
|
249
|
+
value: number | bigint;
|
|
237
250
|
script_pk: string;
|
|
238
251
|
}>, "many">>;
|
|
239
252
|
locktime: z.ZodOptional<z.ZodNumber>;
|
|
240
253
|
}, "strip", z.ZodTypeAny, {
|
|
254
|
+
version: number;
|
|
241
255
|
vout: {
|
|
242
|
-
value: bigint;
|
|
256
|
+
value: number | bigint;
|
|
243
257
|
script_pk: string;
|
|
244
258
|
}[];
|
|
245
259
|
vin: {
|
|
246
260
|
txid: string;
|
|
247
261
|
vout: number;
|
|
262
|
+
sequence?: string | number | undefined;
|
|
248
263
|
coinbase?: string | null | undefined;
|
|
249
264
|
prevout?: {
|
|
250
|
-
value: bigint;
|
|
265
|
+
value: number | bigint;
|
|
251
266
|
script_pk: string;
|
|
252
267
|
} | null | undefined;
|
|
253
268
|
script_sig?: string | null | undefined;
|
|
254
|
-
sequence?: number | undefined;
|
|
255
269
|
witness?: string[] | undefined;
|
|
256
270
|
}[];
|
|
257
|
-
version?: number | undefined;
|
|
258
271
|
locktime?: number | undefined;
|
|
259
272
|
}, {
|
|
260
273
|
version?: number | undefined;
|
|
261
274
|
vout?: {
|
|
262
|
-
value: bigint;
|
|
275
|
+
value: number | bigint;
|
|
263
276
|
script_pk: string;
|
|
264
277
|
}[] | undefined;
|
|
265
278
|
vin?: {
|
|
266
279
|
txid: string;
|
|
267
280
|
vout: number;
|
|
281
|
+
sequence?: string | number | undefined;
|
|
268
282
|
coinbase?: string | null | undefined;
|
|
269
283
|
prevout?: {
|
|
270
|
-
value: bigint;
|
|
284
|
+
value: number | bigint;
|
|
271
285
|
script_pk: string;
|
|
272
286
|
} | null | undefined;
|
|
273
287
|
script_sig?: string | null | undefined;
|
|
274
|
-
sequence?: number | undefined;
|
|
275
288
|
witness?: string[] | undefined;
|
|
276
289
|
}[] | undefined;
|
|
277
290
|
locktime?: number | undefined;
|
package/dist/schema/tx.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import {
|
|
3
|
-
|
|
2
|
+
import { hex, hex32, uint } from '@vbyte/micro-lib/schema';
|
|
3
|
+
const sats = z.bigint().positive().max(2100000000000000n);
|
|
4
4
|
export const tx_output = z.object({
|
|
5
5
|
value: sats,
|
|
6
6
|
script_pk: hex,
|
|
@@ -20,16 +20,19 @@ export const tx_data = z.object({
|
|
|
20
20
|
vout: z.array(tx_output),
|
|
21
21
|
locktime: uint,
|
|
22
22
|
});
|
|
23
|
+
export const vout_template = tx_output.extend({
|
|
24
|
+
value: z.union([uint, sats])
|
|
25
|
+
});
|
|
23
26
|
export const vin_template = tx_input.extend({
|
|
24
27
|
coinbase: hex.nullable().optional(),
|
|
25
|
-
prevout:
|
|
28
|
+
prevout: vout_template.nullable().optional(),
|
|
26
29
|
script_sig: hex.nullable().optional(),
|
|
27
|
-
sequence: uint.optional(),
|
|
30
|
+
sequence: z.union([hex, uint]).optional(),
|
|
28
31
|
witness: z.array(hex).optional(),
|
|
29
32
|
});
|
|
30
33
|
export const tx_template = z.object({
|
|
31
|
-
version: uint.
|
|
34
|
+
version: uint.default(1),
|
|
32
35
|
vin: z.array(vin_template).default([]),
|
|
33
|
-
vout: z.array(
|
|
36
|
+
vout: z.array(vout_template).default([]),
|
|
34
37
|
locktime: uint.optional(),
|
|
35
38
|
});
|