@bitgo/wasm-utxo 1.4.0 → 1.6.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 (84) hide show
  1. package/dist/cjs/{ast → js/ast}/formatNode.js +2 -2
  2. package/dist/cjs/{ast → js/ast}/fromWasmNode.js +2 -1
  3. package/dist/{esm → cjs/js}/fixedScriptWallet.d.ts +21 -0
  4. package/dist/cjs/{fixedScriptWallet.js → js/fixedScriptWallet.js} +25 -0
  5. package/dist/{esm → cjs/js}/wasm/wasm_utxo.d.ts +29 -0
  6. package/dist/cjs/{wasm → js/wasm}/wasm_utxo.js +77 -0
  7. package/dist/{esm → cjs/js}/wasm/wasm_utxo_bg.wasm +0 -0
  8. package/dist/cjs/{wasm → js/wasm}/wasm_utxo_bg.wasm.d.ts +19 -16
  9. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -0
  10. package/dist/esm/{ast → js/ast}/formatNode.js +2 -2
  11. package/dist/esm/{ast → js/ast}/fromWasmNode.js +2 -1
  12. package/dist/{cjs → esm/js}/fixedScriptWallet.d.ts +21 -0
  13. package/dist/esm/{fixedScriptWallet.js → js/fixedScriptWallet.js} +25 -0
  14. package/dist/{cjs → esm/js}/wasm/wasm_utxo.d.ts +29 -0
  15. package/dist/esm/{wasm → js/wasm}/wasm_utxo_bg.js +77 -0
  16. package/dist/{cjs → esm/js}/wasm/wasm_utxo_bg.wasm +0 -0
  17. package/dist/esm/{wasm → js/wasm}/wasm_utxo_bg.wasm.d.ts +19 -16
  18. package/dist/esm/test/address/utxolibCompat.d.ts +1 -0
  19. package/dist/esm/test/address/utxolibCompat.js +107 -0
  20. package/dist/esm/test/ast/formatNode.d.ts +1 -0
  21. package/dist/esm/test/ast/formatNode.js +15 -0
  22. package/dist/esm/test/descriptorFixtures.d.ts +25 -0
  23. package/dist/esm/test/descriptorFixtures.js +605 -0
  24. package/dist/esm/test/descriptorUtil.d.ts +13 -0
  25. package/dist/esm/test/descriptorUtil.js +52 -0
  26. package/dist/esm/test/fixedScript/address.d.ts +1 -0
  27. package/dist/esm/test/fixedScript/address.js +66 -0
  28. package/dist/esm/test/fixedScript/finalizeExtract.d.ts +1 -0
  29. package/dist/esm/test/fixedScript/finalizeExtract.js +66 -0
  30. package/dist/esm/test/fixedScript/fixtureUtil.d.ts +93 -0
  31. package/dist/esm/test/fixedScript/fixtureUtil.js +44 -0
  32. package/dist/esm/test/fixedScript/parseTransactionWithWalletKeys.d.ts +1 -0
  33. package/dist/esm/test/fixedScript/parseTransactionWithWalletKeys.js +168 -0
  34. package/dist/esm/test/fixedScript/verifySignature.d.ts +1 -0
  35. package/dist/esm/test/fixedScript/verifySignature.js +141 -0
  36. package/dist/esm/test/fixedScriptToDescriptor.d.ts +1 -0
  37. package/dist/esm/test/fixedScriptToDescriptor.js +93 -0
  38. package/dist/esm/test/fixtures.d.ts +1 -0
  39. package/dist/esm/test/fixtures.js +16 -0
  40. package/dist/esm/test/opdrop.d.ts +1 -0
  41. package/dist/esm/test/opdrop.js +85 -0
  42. package/dist/esm/test/psbt.util.d.ts +8 -0
  43. package/dist/esm/test/psbt.util.js +113 -0
  44. package/dist/esm/test/psbtFixedScriptCompat.d.ts +1 -0
  45. package/dist/esm/test/psbtFixedScriptCompat.js +116 -0
  46. package/dist/esm/test/psbtFixedScriptCompatFixtures.d.ts +10 -0
  47. package/dist/esm/test/psbtFixedScriptCompatFixtures.js +53 -0
  48. package/dist/esm/test/psbtFromDescriptor.d.ts +1 -0
  49. package/dist/esm/test/psbtFromDescriptor.js +104 -0
  50. package/dist/esm/test/psbtFromDescriptor.util.d.ts +63 -0
  51. package/dist/esm/test/psbtFromDescriptor.util.js +101 -0
  52. package/dist/esm/test/test.d.ts +1 -0
  53. package/dist/esm/test/test.js +123 -0
  54. package/dist/esm/tsconfig.tsbuildinfo +1 -0
  55. package/package.json +19 -14
  56. /package/dist/cjs/{address.d.ts → js/address.d.ts} +0 -0
  57. /package/dist/cjs/{address.js → js/address.js} +0 -0
  58. /package/dist/cjs/{ast → js/ast}/formatNode.d.ts +0 -0
  59. /package/dist/cjs/{ast → js/ast}/fromWasmNode.d.ts +0 -0
  60. /package/dist/cjs/{ast → js/ast}/index.d.ts +0 -0
  61. /package/dist/cjs/{ast → js/ast}/index.js +0 -0
  62. /package/dist/cjs/{coinName.d.ts → js/coinName.d.ts} +0 -0
  63. /package/dist/cjs/{coinName.js → js/coinName.js} +0 -0
  64. /package/dist/cjs/{index.d.ts → js/index.d.ts} +0 -0
  65. /package/dist/cjs/{index.js → js/index.js} +0 -0
  66. /package/dist/cjs/{triple.d.ts → js/triple.d.ts} +0 -0
  67. /package/dist/cjs/{triple.js → js/triple.js} +0 -0
  68. /package/dist/cjs/{utxolibCompat.d.ts → js/utxolibCompat.d.ts} +0 -0
  69. /package/dist/cjs/{utxolibCompat.js → js/utxolibCompat.js} +0 -0
  70. /package/dist/esm/{address.d.ts → js/address.d.ts} +0 -0
  71. /package/dist/esm/{address.js → js/address.js} +0 -0
  72. /package/dist/esm/{ast → js/ast}/formatNode.d.ts +0 -0
  73. /package/dist/esm/{ast → js/ast}/fromWasmNode.d.ts +0 -0
  74. /package/dist/esm/{ast → js/ast}/index.d.ts +0 -0
  75. /package/dist/esm/{ast → js/ast}/index.js +0 -0
  76. /package/dist/esm/{coinName.d.ts → js/coinName.d.ts} +0 -0
  77. /package/dist/esm/{coinName.js → js/coinName.js} +0 -0
  78. /package/dist/esm/{index.d.ts → js/index.d.ts} +0 -0
  79. /package/dist/esm/{index.js → js/index.js} +0 -0
  80. /package/dist/esm/{triple.d.ts → js/triple.d.ts} +0 -0
  81. /package/dist/esm/{triple.js → js/triple.js} +0 -0
  82. /package/dist/esm/{utxolibCompat.d.ts → js/utxolibCompat.d.ts} +0 -0
  83. /package/dist/esm/{utxolibCompat.js → js/utxolibCompat.js} +0 -0
  84. /package/dist/esm/{wasm → js/wasm}/wasm_utxo.js +0 -0
@@ -22,7 +22,7 @@ function formatN(n) {
22
22
  if (n && typeof n === "object") {
23
23
  const entries = Object.entries(n);
24
24
  if (entries.length !== 1) {
25
- throw new Error(`Invalid node: ${n}`);
25
+ throw new Error(`Invalid node: ${JSON.stringify(n)}`);
26
26
  }
27
27
  const [name, value] = entries[0];
28
28
  if (name === "tr" && Array.isArray(value)) {
@@ -31,7 +31,7 @@ function formatN(n) {
31
31
  }
32
32
  return `${name}(${formatN(value)})`;
33
33
  }
34
- throw new Error(`Invalid node: ${n}`);
34
+ throw new Error(`Invalid node: ${JSON.stringify(n)}`);
35
35
  }
36
36
  /** Format a Miniscript or Descriptor node as a descriptor string (without checksum) */
37
37
  function formatNode(n) {
@@ -79,7 +79,7 @@ function fromUnknown(v) {
79
79
  return node("and_v", value);
80
80
  case "AndB":
81
81
  return node("and_b", value);
82
- case "AndOr":
82
+ case "AndOr": {
83
83
  if (!Array.isArray(value)) {
84
84
  throw new Error(`Invalid AndOr node: ${JSON.stringify(value)}`);
85
85
  }
@@ -88,6 +88,7 @@ function fromUnknown(v) {
88
88
  return node("and_n", [cond, success]);
89
89
  }
90
90
  return node("andor", [cond, success, failure]);
91
+ }
91
92
  // Disjunctions
92
93
  case "OrB":
93
94
  return node("or_b", value);
@@ -34,11 +34,13 @@ export type ScriptId = {
34
34
  chain: number;
35
35
  index: number;
36
36
  };
37
+ export type InputScriptType = "p2shP2pk" | "p2sh" | "p2shP2wsh" | "p2wsh" | "p2trLegacy" | "p2trMusig2ScriptPath" | "p2trMusig2KeyPath";
37
38
  export type ParsedInput = {
38
39
  address: string;
39
40
  script: Uint8Array;
40
41
  value: bigint;
41
42
  scriptId: ScriptId | null;
43
+ scriptType: InputScriptType;
42
44
  };
43
45
  export type ParsedOutput = {
44
46
  address: string | null;
@@ -121,5 +123,24 @@ export declare class BitGoPsbt {
121
123
  * @throws Error if the input is not a replay protection input, index is out of bounds, or scripts are invalid
122
124
  */
123
125
  verifyReplayProtectionSignature(inputIndex: number, replayProtection: ReplayProtection): boolean;
126
+ /**
127
+ * Serialize the PSBT to bytes
128
+ *
129
+ * @returns The serialized PSBT as a byte array
130
+ */
131
+ serialize(): Uint8Array;
132
+ /**
133
+ * Finalize all inputs in the PSBT
134
+ *
135
+ * @throws Error if any input failed to finalize
136
+ */
137
+ finalizeAllInputs(): void;
138
+ /**
139
+ * Extract the final transaction from a finalized PSBT
140
+ *
141
+ * @returns The serialized transaction bytes
142
+ * @throws Error if the PSBT is not fully finalized or extraction fails
143
+ */
144
+ extractTransaction(): Uint8Array;
124
145
  }
125
146
  export {};
@@ -109,5 +109,30 @@ class BitGoPsbt {
109
109
  verifyReplayProtectionSignature(inputIndex, replayProtection) {
110
110
  return this.wasm.verify_replay_protection_signature(inputIndex, replayProtection);
111
111
  }
112
+ /**
113
+ * Serialize the PSBT to bytes
114
+ *
115
+ * @returns The serialized PSBT as a byte array
116
+ */
117
+ serialize() {
118
+ return this.wasm.serialize();
119
+ }
120
+ /**
121
+ * Finalize all inputs in the PSBT
122
+ *
123
+ * @throws Error if any input failed to finalize
124
+ */
125
+ finalizeAllInputs() {
126
+ this.wasm.finalize_all_inputs();
127
+ }
128
+ /**
129
+ * Extract the final transaction from a finalized PSBT
130
+ *
131
+ * @returns The serialized transaction bytes
132
+ * @throws Error if the PSBT is not fully finalized or extraction fails
133
+ */
134
+ extractTransaction() {
135
+ return this.wasm.extract_transaction();
136
+ }
112
137
  }
113
138
  exports.BitGoPsbt = BitGoPsbt;
@@ -36,6 +36,28 @@ export class BitGoPsbt {
36
36
  * - `Err(WasmUtxoError)` if the input index is out of bounds, xpub is invalid, derivation fails, or verification fails
37
37
  */
38
38
  verify_signature(input_index: number, xpub_str: string): boolean;
39
+ /**
40
+ * Extract the final transaction from a finalized PSBT
41
+ *
42
+ * This method should be called after all inputs have been finalized.
43
+ * It extracts the fully signed transaction.
44
+ *
45
+ * # Returns
46
+ * - `Ok(Vec<u8>)` containing the serialized transaction bytes
47
+ * - `Err(WasmUtxoError)` if the PSBT is not fully finalized or extraction fails
48
+ */
49
+ extract_transaction(): Uint8Array;
50
+ /**
51
+ * Finalize all inputs in the PSBT
52
+ *
53
+ * This method attempts to finalize all inputs in the PSBT, computing the final
54
+ * scriptSig and witness data for each input.
55
+ *
56
+ * # Returns
57
+ * - `Ok(())` if all inputs were successfully finalized
58
+ * - `Err(WasmUtxoError)` if any input failed to finalize
59
+ */
60
+ finalize_all_inputs(): void;
39
61
  /**
40
62
  * Parse outputs with wallet keys to identify which outputs belong to a wallet
41
63
  *
@@ -64,6 +86,13 @@ export class BitGoPsbt {
64
86
  * - `Err(WasmUtxoError)` if the input is not a replay protection input, index is out of bounds, or configuration is invalid
65
87
  */
66
88
  verify_replay_protection_signature(input_index: number, replay_protection: any): boolean;
89
+ /**
90
+ * Serialize the PSBT to bytes
91
+ *
92
+ * # Returns
93
+ * The serialized PSBT as a byte array
94
+ */
95
+ serialize(): Uint8Array;
67
96
  }
68
97
  export class FixedScriptWalletNamespace {
69
98
  private constructor();
@@ -337,6 +337,58 @@ class BitGoPsbt {
337
337
  wasm.__wbindgen_add_to_stack_pointer(16);
338
338
  }
339
339
  }
340
+ /**
341
+ * Extract the final transaction from a finalized PSBT
342
+ *
343
+ * This method should be called after all inputs have been finalized.
344
+ * It extracts the fully signed transaction.
345
+ *
346
+ * # Returns
347
+ * - `Ok(Vec<u8>)` containing the serialized transaction bytes
348
+ * - `Err(WasmUtxoError)` if the PSBT is not fully finalized or extraction fails
349
+ * @returns {Uint8Array}
350
+ */
351
+ extract_transaction() {
352
+ try {
353
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
354
+ wasm.bitgopsbt_extract_transaction(retptr, this.__wbg_ptr);
355
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
356
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
357
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
358
+ var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
359
+ if (r3) {
360
+ throw takeObject(r2);
361
+ }
362
+ var v1 = getArrayU8FromWasm0(r0, r1).slice();
363
+ wasm.__wbindgen_export_3(r0, r1 * 1, 1);
364
+ return v1;
365
+ } finally {
366
+ wasm.__wbindgen_add_to_stack_pointer(16);
367
+ }
368
+ }
369
+ /**
370
+ * Finalize all inputs in the PSBT
371
+ *
372
+ * This method attempts to finalize all inputs in the PSBT, computing the final
373
+ * scriptSig and witness data for each input.
374
+ *
375
+ * # Returns
376
+ * - `Ok(())` if all inputs were successfully finalized
377
+ * - `Err(WasmUtxoError)` if any input failed to finalize
378
+ */
379
+ finalize_all_inputs() {
380
+ try {
381
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
382
+ wasm.bitgopsbt_finalize_all_inputs(retptr, this.__wbg_ptr);
383
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
384
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
385
+ if (r1) {
386
+ throw takeObject(r0);
387
+ }
388
+ } finally {
389
+ wasm.__wbindgen_add_to_stack_pointer(16);
390
+ }
391
+ }
340
392
  /**
341
393
  * Parse outputs with wallet keys to identify which outputs belong to a wallet
342
394
  *
@@ -415,6 +467,31 @@ class BitGoPsbt {
415
467
  wasm.__wbindgen_add_to_stack_pointer(16);
416
468
  }
417
469
  }
470
+ /**
471
+ * Serialize the PSBT to bytes
472
+ *
473
+ * # Returns
474
+ * The serialized PSBT as a byte array
475
+ * @returns {Uint8Array}
476
+ */
477
+ serialize() {
478
+ try {
479
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
480
+ wasm.bitgopsbt_serialize(retptr, this.__wbg_ptr);
481
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
482
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
483
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
484
+ var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
485
+ if (r3) {
486
+ throw takeObject(r2);
487
+ }
488
+ var v1 = getArrayU8FromWasm0(r0, r1).slice();
489
+ wasm.__wbindgen_export_3(r0, r1 * 1, 1);
490
+ return v1;
491
+ } finally {
492
+ wasm.__wbindgen_add_to_stack_pointer(16);
493
+ }
494
+ }
418
495
  }
419
496
  if (Symbol.dispose) BitGoPsbt.prototype[Symbol.dispose] = BitGoPsbt.prototype.free;
420
497
 
@@ -1,29 +1,28 @@
1
1
  /* tslint:disable */
2
2
  /* eslint-disable */
3
3
  export const memory: WebAssembly.Memory;
4
+ export const __wbg_addressnamespace_free: (a: number, b: number) => void;
4
5
  export const __wbg_bitgopsbt_free: (a: number, b: number) => void;
5
6
  export const __wbg_fixedscriptwalletnamespace_free: (a: number, b: number) => void;
6
- export const __wbg_wrappsbt_free: (a: number, b: number) => void;
7
+ export const addressnamespace_from_output_script_with_coin: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
8
+ export const addressnamespace_to_output_script_with_coin: (a: number, b: number, c: number, d: number, e: number) => void;
9
+ export const bitgopsbt_extract_transaction: (a: number, b: number) => void;
10
+ export const bitgopsbt_finalize_all_inputs: (a: number, b: number) => void;
7
11
  export const bitgopsbt_from_bytes: (a: number, b: number, c: number, d: number, e: number) => void;
8
12
  export const bitgopsbt_parse_outputs_with_wallet_keys: (a: number, b: number, c: number) => void;
9
13
  export const bitgopsbt_parse_transaction_with_wallet_keys: (a: number, b: number, c: number, d: number) => void;
14
+ export const bitgopsbt_serialize: (a: number, b: number) => void;
10
15
  export const bitgopsbt_unsigned_txid: (a: number, b: number) => void;
11
16
  export const bitgopsbt_verify_replay_protection_signature: (a: number, b: number, c: number, d: number) => void;
12
17
  export const bitgopsbt_verify_signature: (a: number, b: number, c: number, d: number, e: number) => void;
13
18
  export const fixedscriptwalletnamespace_address: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
14
19
  export const fixedscriptwalletnamespace_output_script: (a: number, b: number, c: number, d: number, e: number) => void;
15
- export const wrappsbt_clone: (a: number) => number;
16
- export const wrappsbt_deserialize: (a: number, b: number, c: number) => void;
17
- export const wrappsbt_finalize: (a: number, b: number) => void;
18
- export const wrappsbt_serialize: (a: number, b: number) => void;
19
- export const wrappsbt_signWithPrv: (a: number, b: number, c: number, d: number) => void;
20
- export const wrappsbt_signWithXprv: (a: number, b: number, c: number, d: number) => void;
21
- export const wrappsbt_updateInputWithDescriptor: (a: number, b: number, c: number, d: number) => void;
22
- export const wrappsbt_updateOutputWithDescriptor: (a: number, b: number, c: number, d: number) => void;
23
- export const __wbg_addressnamespace_free: (a: number, b: number) => void;
24
- export const addressnamespace_from_output_script_with_coin: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
25
- export const addressnamespace_to_output_script_with_coin: (a: number, b: number, c: number, d: number, e: number) => void;
20
+ export const __wbg_utxolibcompatnamespace_free: (a: number, b: number) => void;
26
21
  export const __wbg_wrapdescriptor_free: (a: number, b: number) => void;
22
+ export const __wbg_wrapminiscript_free: (a: number, b: number) => void;
23
+ export const __wbg_wrappsbt_free: (a: number, b: number) => void;
24
+ export const utxolibcompatnamespace_from_output_script: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
25
+ export const utxolibcompatnamespace_to_output_script: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
27
26
  export const wrapdescriptor_atDerivationIndex: (a: number, b: number, c: number) => void;
28
27
  export const wrapdescriptor_descType: (a: number, b: number) => void;
29
28
  export const wrapdescriptor_encode: (a: number, b: number) => void;
@@ -35,16 +34,20 @@ export const wrapdescriptor_node: (a: number, b: number) => void;
35
34
  export const wrapdescriptor_scriptPubkey: (a: number, b: number) => void;
36
35
  export const wrapdescriptor_toAsmString: (a: number, b: number) => void;
37
36
  export const wrapdescriptor_toString: (a: number, b: number) => void;
38
- export const __wbg_utxolibcompatnamespace_free: (a: number, b: number) => void;
39
- export const __wbg_wrapminiscript_free: (a: number, b: number) => void;
40
- export const utxolibcompatnamespace_from_output_script: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
41
- export const utxolibcompatnamespace_to_output_script: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
42
37
  export const wrapminiscript_encode: (a: number, b: number) => void;
43
38
  export const wrapminiscript_fromBitcoinScript: (a: number, b: number, c: number, d: number, e: number) => void;
44
39
  export const wrapminiscript_fromString: (a: number, b: number, c: number, d: number, e: number) => void;
45
40
  export const wrapminiscript_node: (a: number, b: number) => void;
46
41
  export const wrapminiscript_toAsmString: (a: number, b: number) => void;
47
42
  export const wrapminiscript_toString: (a: number, b: number) => void;
43
+ export const wrappsbt_clone: (a: number) => number;
44
+ export const wrappsbt_deserialize: (a: number, b: number, c: number) => void;
45
+ export const wrappsbt_finalize: (a: number, b: number) => void;
46
+ export const wrappsbt_serialize: (a: number, b: number) => void;
47
+ export const wrappsbt_signWithPrv: (a: number, b: number, c: number, d: number) => void;
48
+ export const wrappsbt_signWithXprv: (a: number, b: number, c: number, d: number) => void;
49
+ export const wrappsbt_updateInputWithDescriptor: (a: number, b: number, c: number, d: number) => void;
50
+ export const wrappsbt_updateOutputWithDescriptor: (a: number, b: number, c: number, d: number) => void;
48
51
  export const rustsecp256k1_v0_10_0_context_create: (a: number) => number;
49
52
  export const rustsecp256k1_v0_10_0_context_destroy: (a: number) => void;
50
53
  export const rustsecp256k1_v0_10_0_default_error_callback_fn: (a: number, b: number) => void;
@@ -0,0 +1 @@
1
+ {"fileNames":["../../../../node_modules/typescript/lib/lib.es5.d.ts","../../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../../node_modules/typescript/lib/lib.es2022.d.ts","../../../../node_modules/typescript/lib/lib.dom.d.ts","../../../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../../node_modules/typescript/lib/lib.dom.asynciterable.d.ts","../../../../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../../../../node_modules/typescript/lib/lib.scripthost.d.ts","../../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../../node_modules/typescript/lib/lib.es2022.full.d.ts","../../js/wasm/wasm_utxo.d.ts","../../js/coinName.ts","../../js/address.ts","../../js/triple.ts","../../js/utxolibCompat.ts","../../js/fixedScriptWallet.ts","../../js/ast/formatNode.ts","../../js/ast/fromWasmNode.ts","../../js/ast/index.ts","../../js/index.ts","../../js/wasm/wasm_utxo_bg.wasm.d.ts","../../../../node_modules/@types/node/compatibility/disposable.d.ts","../../../../node_modules/@types/node/compatibility/indexable.d.ts","../../../../node_modules/@types/node/compatibility/iterators.d.ts","../../../../node_modules/@types/node/compatibility/index.d.ts","../../../../node_modules/@types/node/globals.typedarray.d.ts","../../../../node_modules/@types/node/buffer.buffer.d.ts","../../../../node_modules/@types/node/globals.d.ts","../../../../node_modules/@types/node/web-globals/abortcontroller.d.ts","../../../../node_modules/@types/node/web-globals/domexception.d.ts","../../../../node_modules/@types/node/web-globals/events.d.ts","../../../../node_modules/undici-types/header.d.ts","../../../../node_modules/undici-types/readable.d.ts","../../../../node_modules/undici-types/file.d.ts","../../../../node_modules/undici-types/fetch.d.ts","../../../../node_modules/undici-types/formdata.d.ts","../../../../node_modules/undici-types/connector.d.ts","../../../../node_modules/undici-types/client.d.ts","../../../../node_modules/undici-types/errors.d.ts","../../../../node_modules/undici-types/dispatcher.d.ts","../../../../node_modules/undici-types/global-dispatcher.d.ts","../../../../node_modules/undici-types/global-origin.d.ts","../../../../node_modules/undici-types/pool-stats.d.ts","../../../../node_modules/undici-types/pool.d.ts","../../../../node_modules/undici-types/handlers.d.ts","../../../../node_modules/undici-types/balanced-pool.d.ts","../../../../node_modules/undici-types/agent.d.ts","../../../../node_modules/undici-types/mock-interceptor.d.ts","../../../../node_modules/undici-types/mock-agent.d.ts","../../../../node_modules/undici-types/mock-client.d.ts","../../../../node_modules/undici-types/mock-pool.d.ts","../../../../node_modules/undici-types/mock-errors.d.ts","../../../../node_modules/undici-types/proxy-agent.d.ts","../../../../node_modules/undici-types/env-http-proxy-agent.d.ts","../../../../node_modules/undici-types/retry-handler.d.ts","../../../../node_modules/undici-types/retry-agent.d.ts","../../../../node_modules/undici-types/api.d.ts","../../../../node_modules/undici-types/interceptors.d.ts","../../../../node_modules/undici-types/util.d.ts","../../../../node_modules/undici-types/cookies.d.ts","../../../../node_modules/undici-types/patch.d.ts","../../../../node_modules/undici-types/websocket.d.ts","../../../../node_modules/undici-types/eventsource.d.ts","../../../../node_modules/undici-types/filereader.d.ts","../../../../node_modules/undici-types/diagnostics-channel.d.ts","../../../../node_modules/undici-types/content-type.d.ts","../../../../node_modules/undici-types/cache.d.ts","../../../../node_modules/undici-types/index.d.ts","../../../../node_modules/@types/node/web-globals/fetch.d.ts","../../../../node_modules/@types/node/web-globals/navigator.d.ts","../../../../node_modules/@types/node/web-globals/storage.d.ts","../../../../node_modules/@types/node/assert.d.ts","../../../../node_modules/@types/node/assert/strict.d.ts","../../../../node_modules/@types/node/async_hooks.d.ts","../../../../node_modules/@types/node/buffer.d.ts","../../../../node_modules/@types/node/child_process.d.ts","../../../../node_modules/@types/node/cluster.d.ts","../../../../node_modules/@types/node/console.d.ts","../../../../node_modules/@types/node/constants.d.ts","../../../../node_modules/@types/node/crypto.d.ts","../../../../node_modules/@types/node/dgram.d.ts","../../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../../node_modules/@types/node/dns.d.ts","../../../../node_modules/@types/node/dns/promises.d.ts","../../../../node_modules/@types/node/domain.d.ts","../../../../node_modules/@types/node/events.d.ts","../../../../node_modules/@types/node/fs.d.ts","../../../../node_modules/@types/node/fs/promises.d.ts","../../../../node_modules/@types/node/http.d.ts","../../../../node_modules/@types/node/http2.d.ts","../../../../node_modules/@types/node/https.d.ts","../../../../node_modules/@types/node/inspector.generated.d.ts","../../../../node_modules/@types/node/module.d.ts","../../../../node_modules/@types/node/net.d.ts","../../../../node_modules/@types/node/os.d.ts","../../../../node_modules/@types/node/path.d.ts","../../../../node_modules/@types/node/perf_hooks.d.ts","../../../../node_modules/@types/node/process.d.ts","../../../../node_modules/@types/node/punycode.d.ts","../../../../node_modules/@types/node/querystring.d.ts","../../../../node_modules/@types/node/readline.d.ts","../../../../node_modules/@types/node/readline/promises.d.ts","../../../../node_modules/@types/node/repl.d.ts","../../../../node_modules/@types/node/sea.d.ts","../../../../node_modules/@types/node/sqlite.d.ts","../../../../node_modules/@types/node/stream.d.ts","../../../../node_modules/@types/node/stream/promises.d.ts","../../../../node_modules/@types/node/stream/consumers.d.ts","../../../../node_modules/@types/node/stream/web.d.ts","../../../../node_modules/@types/node/string_decoder.d.ts","../../../../node_modules/@types/node/test.d.ts","../../../../node_modules/@types/node/timers.d.ts","../../../../node_modules/@types/node/timers/promises.d.ts","../../../../node_modules/@types/node/tls.d.ts","../../../../node_modules/@types/node/trace_events.d.ts","../../../../node_modules/@types/node/tty.d.ts","../../../../node_modules/@types/node/url.d.ts","../../../../node_modules/@types/node/util.d.ts","../../../../node_modules/@types/node/v8.d.ts","../../../../node_modules/@types/node/vm.d.ts","../../../../node_modules/@types/node/wasi.d.ts","../../../../node_modules/@types/node/worker_threads.d.ts","../../../../node_modules/@types/node/zlib.d.ts","../../../../node_modules/@types/node/index.d.ts","../../../../node_modules/@types/connect/index.d.ts","../../../../node_modules/@types/body-parser/index.d.ts","../../../../node_modules/@types/bonjour/index.d.ts","../../../../node_modules/mime/dist/src/Mime.d.ts","../../../../node_modules/mime/dist/src/index.d.ts","../../../../node_modules/@types/send/index.d.ts","../../../../node_modules/@types/qs/index.d.ts","../../../../node_modules/@types/range-parser/index.d.ts","../../../../node_modules/@types/express-serve-static-core/index.d.ts","../../../../node_modules/@types/connect-history-api-fallback/index.d.ts","../../../../node_modules/@types/estree/index.d.ts","../../../../node_modules/@types/http-errors/index.d.ts","../../../../node_modules/@types/serve-static/index.d.ts","../../../../node_modules/@types/express/index.d.ts","../../../../node_modules/@types/html-minifier-terser/index.d.ts","../../../../node_modules/@types/http-proxy/index.d.ts","../../../../node_modules/@types/json-schema/index.d.ts","../../../../node_modules/@types/mime/index.d.ts","../../../../node_modules/@types/minimatch/index.d.ts","../../../../node_modules/@types/minimist/index.d.ts","../../../../node_modules/@types/mocha/index.d.ts","../../../../node_modules/@types/node-forge/index.d.ts","../../../../node_modules/@types/normalize-package-data/index.d.ts","../../../../node_modules/@types/parse-json/index.d.ts","../../../../node_modules/@types/retry/index.d.ts","../../../../node_modules/@types/serve-index/index.d.ts","../../../../node_modules/@types/sockjs/index.d.ts","../../../../node_modules/@types/ws/index.d.ts"],"fileIdsList":[[80,128,142,177,178],[80,128,134,177],[80,128,170,177,186],[80,128,142,177],[80,128],[80,128,139,142,177,183,184,185],[80,128,179,184,186,190],[80,128,139,142,144,147,159,170,177],[80,128,177],[80,125,128],[80,127,128],[128],[80,128,133,162],[80,128,129,134,139,147,159,170],[80,128,129,130,139,147],[75,76,77,80,128],[80,128,131,171],[80,128,132,133,140,148],[80,128,133,159,167],[80,128,134,136,139,147],[80,127,128,135],[80,128,136,137],[80,128,138,139],[80,127,128,139],[80,128,139,140,141,159,170],[80,128,139,140,141,154,159,162],[80,121,128,136,139,142,147,159,170],[80,128,139,140,142,143,147,159,167,170],[80,128,142,144,159,167,170],[78,79,80,81,82,83,84,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176],[80,128,139,145],[80,128,146,170],[80,128,136,139,147,159],[80,128,148],[80,128,149],[80,127,128,150],[80,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176],[80,128,152],[80,128,153],[80,128,139,154,155],[80,128,154,156,171,173],[80,128,140],[80,128,139,159,160,162],[80,128,161,162],[80,128,159,160],[80,128,162],[80,128,163],[80,125,128,159,164],[80,128,139,165,166],[80,128,165,166],[80,128,133,147,159,167],[80,128,168],[80,128,147,169],[80,128,142,153,170],[80,128,133,171],[80,128,159,172],[80,128,146,173],[80,128,174],[80,121,128],[80,121,128,139,141,150,159,162,170,172,173,175],[80,128,159,176],[80,128,140,159,177,182],[80,128,140,191],[80,128,142,177,183,189],[80,128,139,142,144,159,167,170,176,177],[80,128,181],[80,93,97,128,170],[80,93,128,159,170],[80,88,128],[80,90,93,128,167,170],[80,128,147,167],[80,88,128,177],[80,90,93,128,147,170],[80,85,86,89,92,128,139,159,170],[80,93,100,128],[80,85,91,128],[80,93,114,115,128],[80,89,93,128,162,170,177],[80,114,128,177],[80,87,88,128,177],[80,93,128],[80,87,88,89,90,91,92,93,94,95,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,115,116,117,118,119,120,128],[80,93,108,128],[80,93,100,101,128],[80,91,93,101,102,128],[80,92,128],[80,85,88,93,128],[80,93,97,101,102,128],[80,97,128],[80,91,93,96,128,170],[80,85,90,93,100,128],[80,128,159],[80,88,93,114,128,175,177],[64,65,73,80,128],[70,73,80,128],[70,71,80,128],[64,65,66,67,68,73,80,128],[64,65,66,67,68,69,72,73,80,128],[64,66,67,73,80,128]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2e80ee7a49e8ac312cc11b77f1475804bee36b3b2bc896bead8b6e1266befb43","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7a3c8b952931daebdfc7a2897c53c0a1c73624593fa070e46bd537e64dcd20a","affectsGlobalScope":true,"impliedFormat":1},{"version":"80e18897e5884b6723488d4f5652167e7bb5024f946743134ecc4aa4ee731f89","affectsGlobalScope":true,"impliedFormat":1},{"version":"cd034f499c6cdca722b60c04b5b1b78e058487a7085a8e0d6fb50809947ee573","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cdf8847677ac7d20486e54dd3fcf09eda95812ac8ace44b4418da1bbbab6eb8","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"3cbad9a1ba4453443026ed38e4b8be018abb26565fa7c944376463ad9df07c41","impliedFormat":1},"7e3ccceb5bf499b1d1d7c1eac94865f1485bf077c3319d828c876fd218f90655",{"version":"3b99dea801fd316188b5fad98943e2b372f3149e7bd951c05851c594b65cc7b6","signature":"7fa7f4adf80750703996ddde2f5e1b1b693b2896642abcb46d3bcb75dacb9586"},{"version":"d7c783ec45de983a020025b0cd384c29588077f87b1859f4cb9ba73b462efd2a","signature":"e5432fa80d0a2bc1449512292bae450c583c62317ef7f268143fbaea6e2f6ea3"},"cd45d67cb5fcdf6ead91db2e486a890dcb62dd14053bb29c136f959123650ed0",{"version":"1dd5527e7c1f8d3bc75d6e8f2a470a41b4e006a370551489482b3843996fb503","signature":"6f2e452a59e43eb44ff2c7ce95c7d1210abd82af6a98cd17e4cf3272cbb431c5"},{"version":"e445b8b9b1edb4262eafe27f624444ae4b1cbb64eb8af464f20c4f8d12a9dcaf","signature":"970254bc3c63a0d86a5605d1e210d490c70adb6c8cb7b7dcefbc856131f56abe"},{"version":"da6fd182232dba4d34f9c5c8680ac6b5d825c326167dcf7330375a2743052a29","signature":"61dfd53156ff3b08d41058733fdc6f829ac4dd4fc7cdf2162752bdcdcb5087b7"},{"version":"3aa6ef162edd718ea06dc8773deafd8d9ced429ee4273034f72bdf630c0d2bfe","signature":"71aa3455a73e209077b4f9dd880bca15e93a6ce1d8553c36b169b9903a0b553c"},"0332cd036e345ef857f693c100d10e2d3b6a924f1941a49645fb521eae8c96dd",{"version":"a3fe4cd37b227ef6422356f525b08cd0efae79d51a01939370de66fb5a0effb4","signature":"a473a85d354efccb38249d75ec22016f3a342a795f7429fcbbbf9876fac07b7e"},"2669d104900bf9829783a040b7a941fbcffeadc0424de4000ead20e3743f2fd0",{"version":"6c7176368037af28cb72f2392010fa1cef295d6d6744bca8cfb54985f3a18c3e","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab41ef1f2cdafb8df48be20cd969d875602483859dc194e9c97c8a576892c052","affectsGlobalScope":true,"impliedFormat":1},{"version":"437e20f2ba32abaeb7985e0afe0002de1917bc74e949ba585e49feba65da6ca1","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"98cffbf06d6bab333473c70a893770dbe990783904002c4f1a960447b4b53dca","affectsGlobalScope":true,"impliedFormat":1},{"version":"3af97acf03cc97de58a3a4bc91f8f616408099bc4233f6d0852e72a8ffb91ac9","affectsGlobalScope":true,"impliedFormat":1},{"version":"808069bba06b6768b62fd22429b53362e7af342da4a236ed2d2e1c89fcca3b4a","affectsGlobalScope":true,"impliedFormat":1},{"version":"1db0b7dca579049ca4193d034d835f6bfe73096c73663e5ef9a0b5779939f3d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"9798340ffb0d067d69b1ae5b32faa17ab31b82466a3fc00d8f2f2df0c8554aaa","affectsGlobalScope":true,"impliedFormat":1},{"version":"f26b11d8d8e4b8028f1c7d618b22274c892e4b0ef5b3678a8ccbad85419aef43","affectsGlobalScope":true,"impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"763fe0f42b3d79b440a9b6e51e9ba3f3f91352469c1e4b3b67bfa4ff6352f3f4","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"7f182617db458e98fc18dfb272d40aa2fff3a353c44a89b2c0ccb3937709bfb5","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"e61be3f894b41b7baa1fbd6a66893f2579bfad01d208b4ff61daef21493ef0a8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"615ba88d0128ed16bf83ef8ccbb6aff05c3ee2db1cc0f89ab50a4939bfc1943f","impliedFormat":1},{"version":"a4d551dbf8746780194d550c88f26cf937caf8d56f102969a110cfaed4b06656","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"317e63deeb21ac07f3992f5b50cdca8338f10acd4fbb7257ebf56735bf52ab00","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"2cbe0621042e2a68c7cbce5dfed3906a1862a16a7d496010636cdbdb91341c0f","affectsGlobalScope":true,"impliedFormat":1},{"version":"f9501cc13ce624c72b61f12b3963e84fad210fbdf0ffbc4590e08460a3f04eba","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7721c4f69f93c91360c26a0a84ee885997d748237ef78ef665b153e622b36c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"df48adbf5b82b79ed989ec3bef2979d988b94978907fd86b4f30ba2b668e49de","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"2b06b93fd01bcd49d1a6bd1f9b65ddcae6480b9a86e9061634d6f8e354c1468f","impliedFormat":1},{"version":"6a0cd27e5dc2cfbe039e731cf879d12b0e2dded06d1b1dedad07f7712de0d7f4","affectsGlobalScope":true,"impliedFormat":1},{"version":"13f5c844119c43e51ce777c509267f14d6aaf31eafb2c2b002ca35584cd13b29","impliedFormat":1},{"version":"e60477649d6ad21542bd2dc7e3d9ff6853d0797ba9f689ba2f6653818999c264","impliedFormat":1},{"version":"c2510f124c0293ab80b1777c44d80f812b75612f297b9857406468c0f4dafe29","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"4c829ab315f57c5442c6667b53769975acbf92003a66aef19bce151987675bd1","affectsGlobalScope":true,"impliedFormat":1},{"version":"b2ade7657e2db96d18315694789eff2ddd3d8aea7215b181f8a0b303277cc579","impliedFormat":1},{"version":"9855e02d837744303391e5623a531734443a5f8e6e8755e018c41d63ad797db2","impliedFormat":1},{"version":"6851b67b164a1e84add721ea67ac52696b5aee426b800f68283c6a13046f95ec","impliedFormat":1},{"version":"836a356aae992ff3c28a0212e3eabcb76dd4b0cc06bcb9607aeef560661b860d","impliedFormat":1},{"version":"1e0d1f8b0adfa0b0330e028c7941b5a98c08b600efe7f14d2d2a00854fb2f393","impliedFormat":1},{"version":"41670ee38943d9cbb4924e436f56fc19ee94232bc96108562de1a734af20dc2c","affectsGlobalScope":true,"impliedFormat":1},{"version":"c906fb15bd2aabc9ed1e3f44eb6a8661199d6c320b3aa196b826121552cb3695","impliedFormat":1},{"version":"22295e8103f1d6d8ea4b5d6211e43421fe4564e34d0dd8e09e520e452d89e659","impliedFormat":1},{"version":"a0c4ff5309f0108772562412d15aaa15b32f5db3326288a4490fd461f66a95c8","impliedFormat":1},{"version":"6b4e081d55ac24fc8a4631d5dd77fe249fa25900abd7d046abb87d90e3b45645","impliedFormat":1},{"version":"a10f0e1854f3316d7ee437b79649e5a6ae3ae14ffe6322b02d4987071a95362e","impliedFormat":1},{"version":"ed58b9974bb3114f39806c9c2c6258c4ffa6a255921976a7c53dfa94bf178f42","impliedFormat":1},{"version":"e6fa9ad47c5f71ff733744a029d1dc472c618de53804eae08ffc243b936f87ff","affectsGlobalScope":true,"impliedFormat":1},{"version":"b57f8f7247d878e1bb5c329acbd4c1ad8efb073f4ffa6dc120d52924b1e30e40","impliedFormat":1},{"version":"24826ed94a78d5c64bd857570fdbd96229ad41b5cb654c08d75a9845e3ab7dde","impliedFormat":1},{"version":"45875bcae57270aeb3ebc73a5e3fb4c7b9d91d6b045f107c1d8513c28ece71c0","impliedFormat":1},{"version":"928af3d90454bf656a52a48679f199f64c1435247d6189d1caf4c68f2eaf921f","affectsGlobalScope":true,"impliedFormat":1},{"version":"1006bd26bab1e32617bf91a999b28a939666d7eee1f46c1047d9c11b4d2f3fcf","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f16a7e4deafa527ed9995a772bb380eb7d3c2c0fd4ae178c5263ed18394db2c","impliedFormat":1},{"version":"933921f0bb0ec12ef45d1062a1fc0f27635318f4d294e4d99de9a5493e618ca2","impliedFormat":1},{"version":"71a0f3ad612c123b57239a7749770017ecfe6b66411488000aba83e4546fde25","impliedFormat":1},{"version":"77fbe5eecb6fac4b6242bbf6eebfc43e98ce5ccba8fa44e0ef6a95c945ff4d98","impliedFormat":1},{"version":"4f9d8ca0c417b67b69eeb54c7ca1bedd7b56034bb9bfd27c5d4f3bc4692daca7","impliedFormat":1},{"version":"814118df420c4e38fe5ae1b9a3bafb6e9c2aa40838e528cde908381867be6466","impliedFormat":1},{"version":"248bc21b92f51ce0b8a67140f2e55887c5f598095e9a790a05fdd2729b531e7a","impliedFormat":1},{"version":"f27524f4bef4b6519c604bdb23bf4465bddcccbf3f003abb901acbd0d7404d99","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"45650f47bfb376c8a8ed39d4bcda5902ab899a3150029684ee4c10676d9fbaee","impliedFormat":1},{"version":"dba28a419aec76ed864ef43e5f577a5c99a010c32e5949fe4e17a4d57c58dd11","affectsGlobalScope":true,"impliedFormat":1},{"version":"18fd40412d102c5564136f29735e5d1c3b455b8a37f920da79561f1fde068208","impliedFormat":1},{"version":"c959a391a75be9789b43c8468f71e3fa06488b4d691d5729dde1416dcd38225b","impliedFormat":1},{"version":"f0be1b8078cd549d91f37c30c222c2a187ac1cf981d994fb476a1adc61387b14","affectsGlobalScope":true,"impliedFormat":1},{"version":"0aaed1d72199b01234152f7a60046bc947f1f37d78d182e9ae09c4289e06a592","impliedFormat":1},{"version":"8c66347a2f5b28e579a306672633dd900751e72bb5c3150ceb10b1fcfcf3d12d","impliedFormat":1},{"version":"66ba1b2c3e3a3644a1011cd530fb444a96b1b2dfe2f5e837a002d41a1a799e60","impliedFormat":1},{"version":"7e514f5b852fdbc166b539fdd1f4e9114f29911592a5eb10a94bb3a13ccac3c4","impliedFormat":1},{"version":"ea2e8e586844e2ebda7986fd859c4c7b283dc90198cd485250498a5412db27a0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4bf07b8f59b43670a28f14d0d5668a5f4abfe106d481fad660f8a1010529609a","affectsGlobalScope":true,"impliedFormat":1},{"version":"ea08a0345023ade2b47fbff5a76d0d0ed8bff10bc9d22b83f40858a8e941501c","impliedFormat":1},{"version":"47613031a5a31510831304405af561b0ffaedb734437c595256bb61a90f9311b","impliedFormat":1},{"version":"ae062ce7d9510060c5d7e7952ae379224fb3f8f2dd74e88959878af2057c143b","impliedFormat":1},{"version":"71122b94871f11a2be216426470523b679a318b08b34dab23e5e4ba9bdf54c23","affectsGlobalScope":true,"impliedFormat":1},{"version":"02aa5feb7aaa41b25b86c7a873839a799d4c6beee4f7d1789aa338905554e495","impliedFormat":1},{"version":"bdf1feb266c87edbee61f12ceaaef60ab0e2e5dba70ca19360b6448911c53d52","impliedFormat":1},{"version":"104c67f0da1bdf0d94865419247e20eded83ce7f9911a1aa75fc675c077ca66e","impliedFormat":1},{"version":"cc0d0b339f31ce0ab3b7a5b714d8e578ce698f1e13d7f8c60bfb766baeb1d35c","impliedFormat":1},{"version":"f9e22729fa06ed20f8b1fe60670b7c74933fdfd44d869ddfb1919c15a5cf12fb","impliedFormat":1},{"version":"0ae65c3e977c81f6e46ae9028ae97fc75c78c70f4d6d5f961a8af60301145af6","impliedFormat":99},{"version":"b1a6683b821c624d63d887dbdd9f34aebb9de586acf87bbf50cb16f5ec2c36c7","impliedFormat":99},{"version":"b78cd10245a90e27e62d0558564f5d9a16576294eee724a59ae21b91f9269e4a","impliedFormat":1},{"version":"17f0ae35f62a9586cade6c10e5a0d61362257b8e03e661c49ca417e4f3da857d","impliedFormat":1},{"version":"2f5747b1508ccf83fad0c251ba1e5da2f5a30b78b09ffa1cfaf633045160afed","impliedFormat":1},{"version":"a45c25e77c911c1f2a04cade78f6f42b4d7d896a3882d4e226efd3a3fcd5f2c4","affectsGlobalScope":true,"impliedFormat":1},{"version":"689be50b735f145624c6f391042155ae2ff6b90a93bac11ca5712bc866f6010c","impliedFormat":1},{"version":"151ff381ef9ff8da2da9b9663ebf657eac35c4c9a19183420c05728f31a6761d","impliedFormat":1},{"version":"b71c603a539078a5e3a039b20f2b0a0d1708967530cf97dec8850a9ca45baa2b","impliedFormat":1},{"version":"0e13570a7e86c6d83dd92e81758a930f63747483e2cd34ef36fcdb47d1f9726a","impliedFormat":1},{"version":"5c45abf1e13e4463eacfd5dedda06855da8748a6a6cb3334f582b52e219acc04","impliedFormat":1},{"version":"ee65fe452abe1309389c5f50710f24114e08a302d40708101c4aa950a2a7d044","impliedFormat":1},{"version":"f9649058dc6542f821894390c2358cd71c9350bae97478eff06d9a39c8b082a4","impliedFormat":1},{"version":"f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","impliedFormat":1},{"version":"d3f2d715f57df3f04bf7b16dde01dec10366f64fce44503c92b8f78f614c1769","impliedFormat":1},{"version":"8841e2aa774b89bd23302dede20663306dc1b9902431ac64b24be8b8d0e3f649","impliedFormat":1},{"version":"fbca5ffaebf282ec3cdac47b0d1d4a138a8b0bb32105251a38acb235087d3318","impliedFormat":1},{"version":"90ebf5865e27d8966ef44b073e6e83b0ddd45058bab1d58b1e4b5a47d36396c4","affectsGlobalScope":true,"impliedFormat":1},{"version":"8b5402ae709d042c3530ed3506c135a967159f42aed3221267e70c5b7240b577","impliedFormat":1},{"version":"22293bd6fa12747929f8dfca3ec1684a3fe08638aa18023dd286ab337e88a592","impliedFormat":1},{"version":"916be7d770b0ae0406be9486ac12eb9825f21514961dd050594c4b250617d5a8","impliedFormat":1},{"version":"510616459e6edd01acbce333fb256e06bdffdad43ca233a9090164bf8bb83912","impliedFormat":1},{"version":"ddef25f825320de051dcb0e62ffce621b41c67712b5b4105740c32fd83f4c449","impliedFormat":1},{"version":"1b3dffaa4ca8e38ac434856843505af767a614d187fb3a5ef4fcebb023c355aa","impliedFormat":1},{"version":"9a2eaab4e54953c6b2ba21f7ac4c2593859da03917011c10a2acd8864e38e7b2","impliedFormat":1}],"root":[[64,74]],"options":{"allowJs":true,"composite":true,"declaration":true,"esModuleInterop":true,"module":1,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","rootDir":"../..","skipLibCheck":true,"target":9},"referencedMap":[[179,1],[180,2],[187,3],[178,4],[188,5],[186,6],[191,7],[192,5],[189,5],[193,8],[194,5],[195,5],[196,5],[197,5],[198,5],[199,9],[125,10],[126,10],[127,11],[80,12],[128,13],[129,14],[130,15],[75,5],[78,16],[76,5],[77,5],[131,17],[132,18],[133,19],[134,20],[135,21],[136,22],[137,22],[138,23],[139,24],[140,25],[141,26],[81,5],[79,5],[142,27],[143,28],[144,29],[177,30],[145,31],[146,32],[147,33],[148,34],[149,35],[150,36],[151,37],[152,38],[153,39],[154,40],[155,40],[156,41],[157,5],[158,42],[159,43],[161,44],[160,45],[162,46],[163,47],[164,48],[165,49],[166,50],[167,51],[168,52],[169,53],[170,54],[171,55],[172,56],[173,57],[174,58],[82,5],[83,5],[84,5],[122,59],[123,5],[124,5],[175,60],[176,61],[200,5],[201,5],[184,5],[185,5],[202,5],[183,62],[203,63],[190,64],[204,4],[205,65],[181,5],[182,66],[61,5],[62,5],[12,5],[10,5],[11,5],[16,5],[15,5],[2,5],[17,5],[18,5],[19,5],[20,5],[21,5],[22,5],[23,5],[24,5],[3,5],[25,5],[26,5],[4,5],[27,5],[31,5],[28,5],[29,5],[30,5],[32,5],[33,5],[34,5],[5,5],[35,5],[36,5],[37,5],[38,5],[6,5],[42,5],[39,5],[40,5],[41,5],[43,5],[7,5],[44,5],[49,5],[50,5],[45,5],[46,5],[47,5],[48,5],[8,5],[54,5],[51,5],[52,5],[53,5],[55,5],[9,5],[56,5],[63,5],[57,5],[58,5],[60,5],[59,5],[1,5],[14,5],[13,5],[100,67],[110,68],[99,67],[120,69],[91,70],[90,71],[119,9],[113,72],[118,73],[93,74],[107,75],[92,76],[116,77],[88,78],[87,9],[117,79],[89,80],[94,81],[95,5],[98,81],[85,5],[121,82],[111,83],[102,84],[103,85],[105,86],[101,87],[104,88],[114,9],[96,89],[97,90],[106,91],[86,92],[109,83],[108,81],[112,5],[115,93],[66,94],[70,5],[71,95],[72,96],[65,5],[69,97],[73,98],[67,5],[68,99],[64,5],[74,5]],"latestChangedDtsFile":"./js/index.d.ts","version":"5.9.3"}
@@ -19,7 +19,7 @@ function formatN(n) {
19
19
  if (n && typeof n === "object") {
20
20
  const entries = Object.entries(n);
21
21
  if (entries.length !== 1) {
22
- throw new Error(`Invalid node: ${n}`);
22
+ throw new Error(`Invalid node: ${JSON.stringify(n)}`);
23
23
  }
24
24
  const [name, value] = entries[0];
25
25
  if (name === "tr" && Array.isArray(value)) {
@@ -28,7 +28,7 @@ function formatN(n) {
28
28
  }
29
29
  return `${name}(${formatN(value)})`;
30
30
  }
31
- throw new Error(`Invalid node: ${n}`);
31
+ throw new Error(`Invalid node: ${JSON.stringify(n)}`);
32
32
  }
33
33
  /** Format a Miniscript or Descriptor node as a descriptor string (without checksum) */
34
34
  export function formatNode(n) {
@@ -75,7 +75,7 @@ function fromUnknown(v) {
75
75
  return node("and_v", value);
76
76
  case "AndB":
77
77
  return node("and_b", value);
78
- case "AndOr":
78
+ case "AndOr": {
79
79
  if (!Array.isArray(value)) {
80
80
  throw new Error(`Invalid AndOr node: ${JSON.stringify(value)}`);
81
81
  }
@@ -84,6 +84,7 @@ function fromUnknown(v) {
84
84
  return node("and_n", [cond, success]);
85
85
  }
86
86
  return node("andor", [cond, success, failure]);
87
+ }
87
88
  // Disjunctions
88
89
  case "OrB":
89
90
  return node("or_b", value);
@@ -34,11 +34,13 @@ export type ScriptId = {
34
34
  chain: number;
35
35
  index: number;
36
36
  };
37
+ export type InputScriptType = "p2shP2pk" | "p2sh" | "p2shP2wsh" | "p2wsh" | "p2trLegacy" | "p2trMusig2ScriptPath" | "p2trMusig2KeyPath";
37
38
  export type ParsedInput = {
38
39
  address: string;
39
40
  script: Uint8Array;
40
41
  value: bigint;
41
42
  scriptId: ScriptId | null;
43
+ scriptType: InputScriptType;
42
44
  };
43
45
  export type ParsedOutput = {
44
46
  address: string | null;
@@ -121,5 +123,24 @@ export declare class BitGoPsbt {
121
123
  * @throws Error if the input is not a replay protection input, index is out of bounds, or scripts are invalid
122
124
  */
123
125
  verifyReplayProtectionSignature(inputIndex: number, replayProtection: ReplayProtection): boolean;
126
+ /**
127
+ * Serialize the PSBT to bytes
128
+ *
129
+ * @returns The serialized PSBT as a byte array
130
+ */
131
+ serialize(): Uint8Array;
132
+ /**
133
+ * Finalize all inputs in the PSBT
134
+ *
135
+ * @throws Error if any input failed to finalize
136
+ */
137
+ finalizeAllInputs(): void;
138
+ /**
139
+ * Extract the final transaction from a finalized PSBT
140
+ *
141
+ * @returns The serialized transaction bytes
142
+ * @throws Error if the PSBT is not fully finalized or extraction fails
143
+ */
144
+ extractTransaction(): Uint8Array;
124
145
  }
125
146
  export {};
@@ -104,4 +104,29 @@ export class BitGoPsbt {
104
104
  verifyReplayProtectionSignature(inputIndex, replayProtection) {
105
105
  return this.wasm.verify_replay_protection_signature(inputIndex, replayProtection);
106
106
  }
107
+ /**
108
+ * Serialize the PSBT to bytes
109
+ *
110
+ * @returns The serialized PSBT as a byte array
111
+ */
112
+ serialize() {
113
+ return this.wasm.serialize();
114
+ }
115
+ /**
116
+ * Finalize all inputs in the PSBT
117
+ *
118
+ * @throws Error if any input failed to finalize
119
+ */
120
+ finalizeAllInputs() {
121
+ this.wasm.finalize_all_inputs();
122
+ }
123
+ /**
124
+ * Extract the final transaction from a finalized PSBT
125
+ *
126
+ * @returns The serialized transaction bytes
127
+ * @throws Error if the PSBT is not fully finalized or extraction fails
128
+ */
129
+ extractTransaction() {
130
+ return this.wasm.extract_transaction();
131
+ }
107
132
  }
@@ -36,6 +36,28 @@ export class BitGoPsbt {
36
36
  * - `Err(WasmUtxoError)` if the input index is out of bounds, xpub is invalid, derivation fails, or verification fails
37
37
  */
38
38
  verify_signature(input_index: number, xpub_str: string): boolean;
39
+ /**
40
+ * Extract the final transaction from a finalized PSBT
41
+ *
42
+ * This method should be called after all inputs have been finalized.
43
+ * It extracts the fully signed transaction.
44
+ *
45
+ * # Returns
46
+ * - `Ok(Vec<u8>)` containing the serialized transaction bytes
47
+ * - `Err(WasmUtxoError)` if the PSBT is not fully finalized or extraction fails
48
+ */
49
+ extract_transaction(): Uint8Array;
50
+ /**
51
+ * Finalize all inputs in the PSBT
52
+ *
53
+ * This method attempts to finalize all inputs in the PSBT, computing the final
54
+ * scriptSig and witness data for each input.
55
+ *
56
+ * # Returns
57
+ * - `Ok(())` if all inputs were successfully finalized
58
+ * - `Err(WasmUtxoError)` if any input failed to finalize
59
+ */
60
+ finalize_all_inputs(): void;
39
61
  /**
40
62
  * Parse outputs with wallet keys to identify which outputs belong to a wallet
41
63
  *
@@ -64,6 +86,13 @@ export class BitGoPsbt {
64
86
  * - `Err(WasmUtxoError)` if the input is not a replay protection input, index is out of bounds, or configuration is invalid
65
87
  */
66
88
  verify_replay_protection_signature(input_index: number, replay_protection: any): boolean;
89
+ /**
90
+ * Serialize the PSBT to bytes
91
+ *
92
+ * # Returns
93
+ * The serialized PSBT as a byte array
94
+ */
95
+ serialize(): Uint8Array;
67
96
  }
68
97
  export class FixedScriptWalletNamespace {
69
98
  private constructor();