@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/esm/script.js DELETED
@@ -1,356 +0,0 @@
1
- import * as P from 'micro-packed';
2
- import { isBytes } from "./utils.js";
3
- export const MAX_SCRIPT_BYTE_LENGTH = 520;
4
- // prettier-ignore
5
- export var OP;
6
- (function (OP) {
7
- OP[OP["OP_0"] = 0] = "OP_0";
8
- OP[OP["PUSHDATA1"] = 76] = "PUSHDATA1";
9
- OP[OP["PUSHDATA2"] = 77] = "PUSHDATA2";
10
- OP[OP["PUSHDATA4"] = 78] = "PUSHDATA4";
11
- OP[OP["1NEGATE"] = 79] = "1NEGATE";
12
- OP[OP["RESERVED"] = 80] = "RESERVED";
13
- OP[OP["OP_1"] = 81] = "OP_1";
14
- OP[OP["OP_2"] = 82] = "OP_2";
15
- OP[OP["OP_3"] = 83] = "OP_3";
16
- OP[OP["OP_4"] = 84] = "OP_4";
17
- OP[OP["OP_5"] = 85] = "OP_5";
18
- OP[OP["OP_6"] = 86] = "OP_6";
19
- OP[OP["OP_7"] = 87] = "OP_7";
20
- OP[OP["OP_8"] = 88] = "OP_8";
21
- OP[OP["OP_9"] = 89] = "OP_9";
22
- OP[OP["OP_10"] = 90] = "OP_10";
23
- OP[OP["OP_11"] = 91] = "OP_11";
24
- OP[OP["OP_12"] = 92] = "OP_12";
25
- OP[OP["OP_13"] = 93] = "OP_13";
26
- OP[OP["OP_14"] = 94] = "OP_14";
27
- OP[OP["OP_15"] = 95] = "OP_15";
28
- OP[OP["OP_16"] = 96] = "OP_16";
29
- // Control
30
- OP[OP["NOP"] = 97] = "NOP";
31
- OP[OP["VER"] = 98] = "VER";
32
- OP[OP["IF"] = 99] = "IF";
33
- OP[OP["NOTIF"] = 100] = "NOTIF";
34
- OP[OP["VERIF"] = 101] = "VERIF";
35
- OP[OP["VERNOTIF"] = 102] = "VERNOTIF";
36
- OP[OP["ELSE"] = 103] = "ELSE";
37
- OP[OP["ENDIF"] = 104] = "ENDIF";
38
- OP[OP["VERIFY"] = 105] = "VERIFY";
39
- OP[OP["RETURN"] = 106] = "RETURN";
40
- // Stack
41
- OP[OP["TOALTSTACK"] = 107] = "TOALTSTACK";
42
- OP[OP["FROMALTSTACK"] = 108] = "FROMALTSTACK";
43
- OP[OP["2DROP"] = 109] = "2DROP";
44
- OP[OP["2DUP"] = 110] = "2DUP";
45
- OP[OP["3DUP"] = 111] = "3DUP";
46
- OP[OP["2OVER"] = 112] = "2OVER";
47
- OP[OP["2ROT"] = 113] = "2ROT";
48
- OP[OP["2SWAP"] = 114] = "2SWAP";
49
- OP[OP["IFDUP"] = 115] = "IFDUP";
50
- OP[OP["DEPTH"] = 116] = "DEPTH";
51
- OP[OP["DROP"] = 117] = "DROP";
52
- OP[OP["DUP"] = 118] = "DUP";
53
- OP[OP["NIP"] = 119] = "NIP";
54
- OP[OP["OVER"] = 120] = "OVER";
55
- OP[OP["PICK"] = 121] = "PICK";
56
- OP[OP["ROLL"] = 122] = "ROLL";
57
- OP[OP["ROT"] = 123] = "ROT";
58
- OP[OP["SWAP"] = 124] = "SWAP";
59
- OP[OP["TUCK"] = 125] = "TUCK";
60
- // Splice
61
- OP[OP["CAT"] = 126] = "CAT";
62
- OP[OP["SUBSTR"] = 127] = "SUBSTR";
63
- OP[OP["LEFT"] = 128] = "LEFT";
64
- OP[OP["RIGHT"] = 129] = "RIGHT";
65
- OP[OP["SIZE"] = 130] = "SIZE";
66
- // Boolean logic
67
- OP[OP["INVERT"] = 131] = "INVERT";
68
- OP[OP["AND"] = 132] = "AND";
69
- OP[OP["OR"] = 133] = "OR";
70
- OP[OP["XOR"] = 134] = "XOR";
71
- OP[OP["EQUAL"] = 135] = "EQUAL";
72
- OP[OP["EQUALVERIFY"] = 136] = "EQUALVERIFY";
73
- OP[OP["RESERVED1"] = 137] = "RESERVED1";
74
- OP[OP["RESERVED2"] = 138] = "RESERVED2";
75
- // Numbers
76
- OP[OP["1ADD"] = 139] = "1ADD";
77
- OP[OP["1SUB"] = 140] = "1SUB";
78
- OP[OP["2MUL"] = 141] = "2MUL";
79
- OP[OP["2DIV"] = 142] = "2DIV";
80
- OP[OP["NEGATE"] = 143] = "NEGATE";
81
- OP[OP["ABS"] = 144] = "ABS";
82
- OP[OP["NOT"] = 145] = "NOT";
83
- OP[OP["0NOTEQUAL"] = 146] = "0NOTEQUAL";
84
- OP[OP["ADD"] = 147] = "ADD";
85
- OP[OP["SUB"] = 148] = "SUB";
86
- OP[OP["MUL"] = 149] = "MUL";
87
- OP[OP["DIV"] = 150] = "DIV";
88
- OP[OP["MOD"] = 151] = "MOD";
89
- OP[OP["LSHIFT"] = 152] = "LSHIFT";
90
- OP[OP["RSHIFT"] = 153] = "RSHIFT";
91
- OP[OP["BOOLAND"] = 154] = "BOOLAND";
92
- OP[OP["BOOLOR"] = 155] = "BOOLOR";
93
- OP[OP["NUMEQUAL"] = 156] = "NUMEQUAL";
94
- OP[OP["NUMEQUALVERIFY"] = 157] = "NUMEQUALVERIFY";
95
- OP[OP["NUMNOTEQUAL"] = 158] = "NUMNOTEQUAL";
96
- OP[OP["LESSTHAN"] = 159] = "LESSTHAN";
97
- OP[OP["GREATERTHAN"] = 160] = "GREATERTHAN";
98
- OP[OP["LESSTHANOREQUAL"] = 161] = "LESSTHANOREQUAL";
99
- OP[OP["GREATERTHANOREQUAL"] = 162] = "GREATERTHANOREQUAL";
100
- OP[OP["MIN"] = 163] = "MIN";
101
- OP[OP["MAX"] = 164] = "MAX";
102
- OP[OP["WITHIN"] = 165] = "WITHIN";
103
- // Crypto
104
- OP[OP["RIPEMD160"] = 166] = "RIPEMD160";
105
- OP[OP["SHA1"] = 167] = "SHA1";
106
- OP[OP["SHA256"] = 168] = "SHA256";
107
- OP[OP["HASH160"] = 169] = "HASH160";
108
- OP[OP["HASH256"] = 170] = "HASH256";
109
- OP[OP["CODESEPARATOR"] = 171] = "CODESEPARATOR";
110
- OP[OP["CHECKSIG"] = 172] = "CHECKSIG";
111
- OP[OP["CHECKSIGVERIFY"] = 173] = "CHECKSIGVERIFY";
112
- OP[OP["CHECKMULTISIG"] = 174] = "CHECKMULTISIG";
113
- OP[OP["CHECKMULTISIGVERIFY"] = 175] = "CHECKMULTISIGVERIFY";
114
- // Expansion
115
- OP[OP["NOP1"] = 176] = "NOP1";
116
- OP[OP["CHECKLOCKTIMEVERIFY"] = 177] = "CHECKLOCKTIMEVERIFY";
117
- OP[OP["CHECKSEQUENCEVERIFY"] = 178] = "CHECKSEQUENCEVERIFY";
118
- OP[OP["NOP4"] = 179] = "NOP4";
119
- OP[OP["NOP5"] = 180] = "NOP5";
120
- OP[OP["NOP6"] = 181] = "NOP6";
121
- OP[OP["NOP7"] = 182] = "NOP7";
122
- OP[OP["NOP8"] = 183] = "NOP8";
123
- OP[OP["NOP9"] = 184] = "NOP9";
124
- OP[OP["NOP10"] = 185] = "NOP10";
125
- // BIP 342
126
- OP[OP["CHECKSIGADD"] = 186] = "CHECKSIGADD";
127
- // Invalid
128
- OP[OP["INVALID"] = 255] = "INVALID";
129
- })(OP || (OP = {}));
130
- // We can encode almost any number as ScriptNum, however, parsing will be a problem
131
- // since we can't know if buffer is a number or something else.
132
- export function ScriptNum(bytesLimit = 6, forceMinimal = false) {
133
- return P.wrap({
134
- encodeStream: (w, value) => {
135
- if (value === 0n)
136
- return;
137
- const neg = value < 0;
138
- const val = BigInt(value);
139
- const nums = [];
140
- for (let abs = neg ? -val : val; abs; abs >>= 8n)
141
- nums.push(Number(abs & 0xffn));
142
- if (nums[nums.length - 1] >= 0x80)
143
- nums.push(neg ? 0x80 : 0);
144
- else if (neg)
145
- nums[nums.length - 1] |= 0x80;
146
- w.bytes(new Uint8Array(nums));
147
- },
148
- decodeStream: (r) => {
149
- const len = r.leftBytes;
150
- if (len > bytesLimit)
151
- throw new Error(`ScriptNum: number (${len}) bigger than limit=${bytesLimit}`);
152
- if (len === 0)
153
- return 0n;
154
- if (forceMinimal) {
155
- const data = r.bytes(len, true);
156
- // MSB is zero (without sign bit) -> not minimally encoded
157
- if ((data[data.length - 1] & 0x7f) === 0) {
158
- // exception
159
- if (len <= 1 || (data[data.length - 2] & 0x80) === 0)
160
- throw new Error('Non-minimally encoded ScriptNum');
161
- }
162
- }
163
- let last = 0;
164
- let res = 0n;
165
- for (let i = 0; i < len; ++i) {
166
- last = r.byte();
167
- res |= BigInt(last) << (8n * BigInt(i));
168
- }
169
- if (last >= 0x80) {
170
- res &= (2n ** BigInt(len * 8) - 1n) >> 1n;
171
- res = -res;
172
- }
173
- return res;
174
- },
175
- });
176
- }
177
- export function OpToNum(op, bytesLimit = 4, forceMinimal = true) {
178
- if (typeof op === 'number')
179
- return op;
180
- if (isBytes(op)) {
181
- try {
182
- const val = ScriptNum(bytesLimit, forceMinimal).decode(op);
183
- if (val > Number.MAX_SAFE_INTEGER)
184
- return;
185
- return Number(val);
186
- }
187
- catch (e) {
188
- return;
189
- }
190
- }
191
- return;
192
- }
193
- // Converts script bytes to parsed script
194
- // 5221030000000000000000000000000000000000000000000000000000000000000001210300000000000000000000000000000000000000000000000000000000000000022103000000000000000000000000000000000000000000000000000000000000000353ae
195
- // =>
196
- // OP_2
197
- // 030000000000000000000000000000000000000000000000000000000000000001
198
- // 030000000000000000000000000000000000000000000000000000000000000002
199
- // 030000000000000000000000000000000000000000000000000000000000000003
200
- // OP_3
201
- // CHECKMULTISIG
202
- export const Script = P.wrap({
203
- encodeStream: (w, value) => {
204
- for (let o of value) {
205
- if (typeof o === 'string') {
206
- if (OP[o] === undefined)
207
- throw new Error(`Unknown opcode=${o}`);
208
- w.byte(OP[o]);
209
- continue;
210
- }
211
- else if (typeof o === 'number') {
212
- if (o === 0x00) {
213
- w.byte(0x00);
214
- continue;
215
- }
216
- else if (1 <= o && o <= 16) {
217
- w.byte(OP.OP_1 - 1 + o);
218
- continue;
219
- }
220
- }
221
- // Encode big numbers
222
- if (typeof o === 'number')
223
- o = ScriptNum().encode(BigInt(o));
224
- if (!isBytes(o))
225
- throw new Error(`Wrong Script OP=${o} (${typeof o})`);
226
- // Bytes
227
- const len = o.length;
228
- if (len < OP.PUSHDATA1)
229
- w.byte(len);
230
- else if (len <= 0xff) {
231
- w.byte(OP.PUSHDATA1);
232
- w.byte(len);
233
- }
234
- else if (len <= 0xffff) {
235
- w.byte(OP.PUSHDATA2);
236
- w.bytes(P.U16LE.encode(len));
237
- }
238
- else {
239
- w.byte(OP.PUSHDATA4);
240
- w.bytes(P.U32LE.encode(len));
241
- }
242
- w.bytes(o);
243
- }
244
- },
245
- decodeStream: (r) => {
246
- const out = [];
247
- while (!r.isEnd()) {
248
- const cur = r.byte();
249
- // if 0 < cur < 78
250
- if (OP.OP_0 < cur && cur <= OP.PUSHDATA4) {
251
- let len;
252
- if (cur < OP.PUSHDATA1)
253
- len = cur;
254
- else if (cur === OP.PUSHDATA1)
255
- len = P.U8.decodeStream(r);
256
- else if (cur === OP.PUSHDATA2)
257
- len = P.U16LE.decodeStream(r);
258
- else if (cur === OP.PUSHDATA4)
259
- len = P.U32LE.decodeStream(r);
260
- else
261
- throw new Error('Should be not possible');
262
- out.push(r.bytes(len));
263
- }
264
- else if (cur === 0x00) {
265
- out.push(0);
266
- }
267
- else if (OP.OP_1 <= cur && cur <= OP.OP_16) {
268
- out.push(cur - (OP.OP_1 - 1));
269
- }
270
- else {
271
- const op = OP[cur];
272
- if (op === undefined)
273
- throw new Error(`Unknown opcode=${cur.toString(16)}`);
274
- out.push(op);
275
- }
276
- }
277
- return out;
278
- },
279
- });
280
- // BTC specific variable length integer encoding
281
- // https://en.bitcoin.it/wiki/Protocol_documentation#Variable_length_integer
282
- const CSLimits = {
283
- 0xfd: [0xfd, 2, 253n, 65535n],
284
- 0xfe: [0xfe, 4, 65536n, 4294967295n],
285
- 0xff: [0xff, 8, 4294967296n, 18446744073709551615n],
286
- };
287
- export const CompactSize = P.wrap({
288
- encodeStream: (w, value) => {
289
- if (typeof value === 'number')
290
- value = BigInt(value);
291
- if (0n <= value && value <= 252n)
292
- return w.byte(Number(value));
293
- for (const [flag, bytes, start, stop] of Object.values(CSLimits)) {
294
- if (start > value || value > stop)
295
- continue;
296
- w.byte(flag);
297
- for (let i = 0; i < bytes; i++)
298
- w.byte(Number((value >> (8n * BigInt(i))) & 0xffn));
299
- return;
300
- }
301
- throw w.err(`VarInt too big: ${value}`);
302
- },
303
- decodeStream: (r) => {
304
- const b0 = r.byte();
305
- if (b0 <= 0xfc)
306
- return BigInt(b0);
307
- const [_, bytes, start] = CSLimits[b0];
308
- let num = 0n;
309
- for (let i = 0; i < bytes; i++)
310
- num |= BigInt(r.byte()) << (8n * BigInt(i));
311
- if (num < start)
312
- throw r.err(`Wrong CompactSize(${8 * bytes})`);
313
- return num;
314
- },
315
- });
316
- // Same thing, but in number instead of bigint. Checks for safe integer inside
317
- export const CompactSizeLen = P.apply(CompactSize, P.coders.numberBigint);
318
- // ui8a of size <CompactSize>
319
- export const VarBytes = P.bytes(CompactSize);
320
- // SegWit v0 stack of witness buffers
321
- export const RawWitness = P.array(CompactSizeLen, VarBytes);
322
- // Array of size <CompactSize>
323
- export const BTCArray = (t) => P.array(CompactSize, t);
324
- export const RawInput = P.struct({
325
- txid: P.bytes(32, true), // hash(prev_tx),
326
- index: P.U32LE, // output number of previous tx
327
- finalScriptSig: VarBytes, // btc merges input and output script, executes it. If ok = tx passes
328
- sequence: P.U32LE, // ?
329
- });
330
- export const RawOutput = P.struct({ amount: P.U64LE, script: VarBytes });
331
- // https://en.bitcoin.it/wiki/Protocol_documentation#tx
332
- const _RawTx = P.struct({
333
- version: P.I32LE,
334
- segwitFlag: P.flag(new Uint8Array([0x00, 0x01])),
335
- inputs: BTCArray(RawInput),
336
- outputs: BTCArray(RawOutput),
337
- witnesses: P.flagged('segwitFlag', P.array('inputs/length', RawWitness)),
338
- // < 500000000 Block number at which this transaction is unlocked
339
- // >= 500000000 UNIX timestamp at which this transaction is unlocked
340
- // Handled as part of PSBTv2
341
- lockTime: P.U32LE,
342
- });
343
- function validateRawTx(tx) {
344
- if (tx.segwitFlag && tx.witnesses && !tx.witnesses.length)
345
- throw new Error('Segwit flag with empty witnesses array');
346
- return tx;
347
- }
348
- export const RawTx = P.validate(_RawTx, validateRawTx);
349
- // Pre-SegWit serialization format (for PSBTv0)
350
- export const RawOldTx = P.struct({
351
- version: P.I32LE,
352
- inputs: BTCArray(RawInput),
353
- outputs: BTCArray(RawOutput),
354
- lockTime: P.U32LE,
355
- });
356
- //# sourceMappingURL=script.js.map
package/esm/script.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"script.js","sourceRoot":"","sources":["../src/script.ts"],"names":[],"mappings":"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"}
@@ -1,172 +0,0 @@
1
- import * as P from 'micro-packed';
2
- import { type CustomScript } from './payment.ts';
3
- import * as psbt from './psbt.ts';
4
- import { RawOutput } from './script.ts';
5
- import * as u from './utils.ts';
6
- import { type Bytes } from './utils.ts';
7
- export declare const toVsize: (weight: number) => number;
8
- interface HDKey {
9
- publicKey: Bytes;
10
- privateKey: Bytes;
11
- fingerprint: number;
12
- derive(path: string): HDKey;
13
- deriveChild(index: number): HDKey;
14
- sign(hash: Bytes): Bytes;
15
- }
16
- export type Signer = Bytes | HDKey;
17
- export declare const PRECISION = 8;
18
- export declare const DEFAULT_VERSION = 2;
19
- export declare const DEFAULT_LOCKTIME = 0;
20
- export declare const DEFAULT_SEQUENCE = 4294967295;
21
- export declare const Decimal: P.Coder<bigint, string>;
22
- export declare const def: <T>(value: T | undefined, def: T) => T;
23
- export declare function cloneDeep<T>(obj: T): T;
24
- export interface TxOpts {
25
- version?: number;
26
- lockTime?: number;
27
- PSBTVersion?: number;
28
- allowUnknownVersion?: boolean;
29
- /** @deprecated Use `allowUnknownOutputs` */
30
- allowUnknowOutput?: boolean;
31
- allowUnknownOutputs?: boolean;
32
- /** @deprecated Use `allowUnknownInputs` */
33
- allowUnknowInput?: boolean;
34
- allowUnknownInputs?: boolean;
35
- disableScriptCheck?: boolean;
36
- bip174jsCompat?: boolean;
37
- allowLegacyWitnessUtxo?: boolean;
38
- lowR?: boolean;
39
- customScripts?: CustomScript[];
40
- allowUnknown?: boolean;
41
- }
42
- /**
43
- * Internal, exported only for backwards-compat. Use `SigHash` instead.
44
- * @deprecated
45
- */
46
- export declare enum SignatureHash {
47
- DEFAULT = 0,
48
- ALL = 1,
49
- NONE = 2,
50
- SINGLE = 3,
51
- ANYONECANPAY = 128
52
- }
53
- export declare enum SigHash {
54
- DEFAULT = 0,
55
- ALL = 1,
56
- NONE = 2,
57
- SINGLE = 3,
58
- DEFAULT_ANYONECANPAY = 128,
59
- ALL_ANYONECANPAY = 129,
60
- NONE_ANYONECANPAY = 130,
61
- SINGLE_ANYONECANPAY = 131
62
- }
63
- export type TransactionInputRequired = {
64
- txid: Bytes;
65
- index: number;
66
- sequence: number;
67
- finalScriptSig: Bytes;
68
- };
69
- export declare function inputBeforeSign(i: psbt.TransactionInput): TransactionInputRequired;
70
- declare function validateOpts(opts: TxOpts): Readonly<TxOpts>;
71
- export type PSBTInputs = psbt.PSBTKeyMapKeys<typeof psbt.PSBTInput>;
72
- export declare function getPrevOut(input: psbt.TransactionInput): P.UnwrapCoder<typeof RawOutput>;
73
- export declare function normalizeInput(i: psbt.TransactionInputUpdate, cur?: psbt.TransactionInput, allowedFields?: (keyof psbt.TransactionInput)[], disableScriptCheck?: boolean, allowUnknown?: boolean): psbt.TransactionInput;
74
- export declare function getInputType(input: psbt.TransactionInput, allowLegacyWitnessUtxo?: boolean): {
75
- type: string;
76
- txType: string;
77
- last: {
78
- type: "p2a";
79
- script: Bytes;
80
- } | {
81
- type: "pk";
82
- pubkey: Bytes;
83
- } | {
84
- type: "pkh";
85
- hash: Bytes;
86
- } | {
87
- type: "wpkh";
88
- hash: Bytes;
89
- } | {
90
- type: "ms";
91
- pubkeys: Bytes[];
92
- m: number;
93
- } | {
94
- type: "tr";
95
- pubkey: Bytes;
96
- } | {
97
- type: "tr_ns";
98
- pubkeys: Bytes[];
99
- } | {
100
- type: "tr_ms";
101
- pubkeys: Bytes[];
102
- m: number;
103
- } | {
104
- type: "unknown";
105
- script: Bytes;
106
- };
107
- lastScript: P.Bytes;
108
- defaultSighash: SignatureHash.ALL;
109
- sighash: number;
110
- } | {
111
- txType: string;
112
- type: string;
113
- last: {
114
- type: "tr";
115
- pubkey: Bytes;
116
- };
117
- lastScript: Uint8Array<ArrayBufferLike>;
118
- defaultSighash: SignatureHash.DEFAULT;
119
- sighash: number;
120
- };
121
- export declare class Transaction {
122
- private global;
123
- private inputs;
124
- private outputs;
125
- readonly opts: ReturnType<typeof validateOpts>;
126
- constructor(opts?: TxOpts);
127
- static fromRaw(raw: Bytes, opts?: TxOpts): Transaction;
128
- static fromPSBT(psbt_: Bytes, opts?: TxOpts): Transaction;
129
- toPSBT(PSBTVersion?: number | undefined): Uint8Array;
130
- get lockTime(): number;
131
- get version(): number;
132
- private inputStatus;
133
- private inputSighash;
134
- private signStatus;
135
- get isFinal(): boolean;
136
- get hasWitnesses(): boolean;
137
- get weight(): number;
138
- get vsize(): number;
139
- toBytes(withScriptSig?: boolean, withWitness?: boolean): Uint8Array;
140
- get unsignedTx(): Bytes;
141
- get hex(): string;
142
- get hash(): string;
143
- get id(): string;
144
- private checkInputIdx;
145
- getInput(idx: number): psbt.TransactionInput;
146
- get inputsLength(): number;
147
- addInput(input: psbt.TransactionInputUpdate, _ignoreSignStatus?: boolean): number;
148
- updateInput(idx: number, input: psbt.TransactionInputUpdate, _ignoreSignStatus?: boolean): void;
149
- private checkOutputIdx;
150
- getOutput(idx: number): psbt.TransactionOutput;
151
- getOutputAddress(idx: number, network?: u.BTC_NETWORK): string | undefined;
152
- get outputsLength(): number;
153
- private normalizeOutput;
154
- addOutput(o: psbt.TransactionOutputUpdate, _ignoreSignStatus?: boolean): number;
155
- updateOutput(idx: number, output: psbt.TransactionOutputUpdate, _ignoreSignStatus?: boolean): void;
156
- addOutputAddress(address: string, amount: bigint, network?: u.BTC_NETWORK): number;
157
- get fee(): bigint;
158
- private preimageLegacy;
159
- preimageWitnessV0(idx: number, prevOutScript: Bytes, hashType: number, amount: bigint): Uint8Array;
160
- preimageWitnessV1(idx: number, prevOutScript: Bytes[], hashType: number, amount: bigint[], codeSeparator?: number, leafScript?: Bytes, leafVer?: number, annex?: Bytes): Uint8Array;
161
- signIdx(privateKey: Signer, idx: number, allowedSighash?: SigHash[], _auxRand?: Bytes): boolean;
162
- sign(privateKey: Signer, allowedSighash?: number[], _auxRand?: Bytes): number;
163
- finalizeIdx(idx: number): void;
164
- finalize(): void;
165
- extract(): Uint8Array;
166
- combine(other: Transaction): this;
167
- clone(): Transaction;
168
- }
169
- export declare function PSBTCombine(psbts: Bytes[]): Bytes;
170
- export declare function bip32Path(path: string): number[];
171
- export {};
172
- //# sourceMappingURL=transaction.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../src/transaction.ts"],"names":[],"mappings":"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"}