@bitgo/wasm-utxo 5.6.0 → 5.8.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.
@@ -201,8 +201,9 @@ export declare class ZcashIronwoodBitGoPsbt extends ZcashBitGoPsbt {
201
201
  setShieldedOutCiphertext(actionIndex: number, userKey: BIP32Arg, rootWalletKeys: WalletKeysArg): void;
202
202
  /**
203
203
  * The canonical (display-order) ZIP-244 v6 txid as a lowercase hex string, matching
204
- * `ITransaction.getId()`. Defined once the transparent inputs/outputs and the shielded output are
205
- * in place; unchanged by signing or proving.
204
+ * `ITransaction.getId()`. Defined once the transparent inputs/outputs are in place; unchanged by
205
+ * signing or proving. Works whether or not a shielded output has been added — a transparent-only
206
+ * v6 PSBT has a well-defined ZIP-244 txid too.
206
207
  */
207
208
  getId(): string;
208
209
  /**
@@ -272,7 +273,9 @@ export declare class ZcashIronwoodBitGoPsbt extends ZcashBitGoPsbt {
272
273
  * @returns true if a valid signature by the key's public key exists for the input's
273
274
  * ZIP-244 transparent sighash
274
275
  * @throws Error if the input index is out of range, the key cannot be parsed, or the v6
275
- * sighash cannot be computed (e.g. the Ironwood PCZT has not been added yet)
276
+ * sighash cannot be computed. Works whether or not a shielded output has been added; the one
277
+ * case this still throws for is a shielded output that was added and then consumed by
278
+ * `combineProof` (its action data is gone, not merely absent).
276
279
  *
277
280
  * @example
278
281
  * ```typescript
@@ -293,6 +296,22 @@ export declare class ZcashIronwoodBitGoPsbt extends ZcashBitGoPsbt {
293
296
  * errors (bad proof, unsigned input) leaves the PSBT retryable.
294
297
  */
295
298
  combineProof(proof: Uint8Array): Uint8Array;
299
+ /**
300
+ * Transaction Extractor role for a transparent-only v6 transaction: valid only when
301
+ * no shielded output was ever added via {@link addShieldedOutput}/{@link addShieldedOutputs} —
302
+ * there is no PCZT, and therefore nothing to combine an external proof into. Finalizes the
303
+ * transparent inputs (the same 2-of-3 signature check {@link combineProof} performs) and
304
+ * returns broadcast-ready v6 transaction bytes with an empty Ironwood bundle slot.
305
+ *
306
+ * Not terminal (unlike {@link combineProof}): there is no stored PCZT to drop, so calling this
307
+ * more than once is safe and simply re-finalizes the same already-signed inputs.
308
+ *
309
+ * Use {@link combineProof} instead for a PSBT that carries (or carried) a shielded output.
310
+ *
311
+ * @throws Error if a shielded output was ever added to this PSBT (even one already extracted),
312
+ * or if any transparent input is missing a required signature
313
+ */
314
+ extractTransparentOnlyTransaction(): Uint8Array;
296
315
  /**
297
316
  * The raw serialized orchard PCZT (Partially Created Zcash Transaction) bundle stored in this
298
317
  * PSBT, or `undefined` if none is present.
@@ -204,8 +204,9 @@ class ZcashIronwoodBitGoPsbt extends ZcashBitGoPsbt_js_1.ZcashBitGoPsbt {
204
204
  }
205
205
  /**
206
206
  * The canonical (display-order) ZIP-244 v6 txid as a lowercase hex string, matching
207
- * `ITransaction.getId()`. Defined once the transparent inputs/outputs and the shielded output are
208
- * in place; unchanged by signing or proving.
207
+ * `ITransaction.getId()`. Defined once the transparent inputs/outputs are in place; unchanged by
208
+ * signing or proving. Works whether or not a shielded output has been added — a transparent-only
209
+ * v6 PSBT has a well-defined ZIP-244 txid too.
209
210
  */
210
211
  getId() {
211
212
  return this.wasm.ironwood_v6_txid();
@@ -265,7 +266,9 @@ class ZcashIronwoodBitGoPsbt extends ZcashBitGoPsbt_js_1.ZcashBitGoPsbt {
265
266
  * @returns true if a valid signature by the key's public key exists for the input's
266
267
  * ZIP-244 transparent sighash
267
268
  * @throws Error if the input index is out of range, the key cannot be parsed, or the v6
268
- * sighash cannot be computed (e.g. the Ironwood PCZT has not been added yet)
269
+ * sighash cannot be computed. Works whether or not a shielded output has been added; the one
270
+ * case this still throws for is a shielded output that was added and then consumed by
271
+ * `combineProof` (its action data is gone, not merely absent).
269
272
  *
270
273
  * @example
271
274
  * ```typescript
@@ -295,6 +298,24 @@ class ZcashIronwoodBitGoPsbt extends ZcashBitGoPsbt_js_1.ZcashBitGoPsbt {
295
298
  combineProof(proof) {
296
299
  return this.wasm.combine_ironwood_proof(proof);
297
300
  }
301
+ /**
302
+ * Transaction Extractor role for a transparent-only v6 transaction: valid only when
303
+ * no shielded output was ever added via {@link addShieldedOutput}/{@link addShieldedOutputs} —
304
+ * there is no PCZT, and therefore nothing to combine an external proof into. Finalizes the
305
+ * transparent inputs (the same 2-of-3 signature check {@link combineProof} performs) and
306
+ * returns broadcast-ready v6 transaction bytes with an empty Ironwood bundle slot.
307
+ *
308
+ * Not terminal (unlike {@link combineProof}): there is no stored PCZT to drop, so calling this
309
+ * more than once is safe and simply re-finalizes the same already-signed inputs.
310
+ *
311
+ * Use {@link combineProof} instead for a PSBT that carries (or carried) a shielded output.
312
+ *
313
+ * @throws Error if a shielded output was ever added to this PSBT (even one already extracted),
314
+ * or if any transparent input is missing a required signature
315
+ */
316
+ extractTransparentOnlyTransaction() {
317
+ return this.wasm.extract_transparent_only_v6_tx();
318
+ }
298
319
  /**
299
320
  * The raw serialized orchard PCZT (Partially Created Zcash Transaction) bundle stored in this
300
321
  * PSBT, or `undefined` if none is present.
@@ -389,6 +389,19 @@ export class BitGoPsbt {
389
389
  * - `Err(WasmUtxoError)` if the PSBT is not fully finalized or extraction fails
390
390
  */
391
391
  extract_transaction(max_fee_rate_sat_per_vb?: number | null): any;
392
+ /**
393
+ * Transaction Extractor for a transparent-only v6 (Ironwood) PSBT: no shielded output was
394
+ * ever added, so there is no PCZT and nothing to combine an external proof into. Returns
395
+ * broadcast-ready v6 transaction bytes with an empty Ironwood bundle slot.
396
+ *
397
+ * Not terminal (unlike `combine_ironwood_proof`): there is no stored PCZT to drop, so
398
+ * calling this more than once is safe.
399
+ *
400
+ * Errors if a shielded output was ever added to this PSBT, or if any transparent input is
401
+ * missing a required signature. See
402
+ * [`crate::fixed_script_wallet::bitgo_psbt::zcash_psbt::ZcashBitGoPsbt::extract_transparent_only_v6_tx`].
403
+ */
404
+ extract_transparent_only_v6_tx(): Uint8Array;
392
405
  /**
393
406
  * Extract the final transaction as a WasmZcashTransaction (for Zcash networks)
394
407
  *
@@ -1392,6 +1392,37 @@ class BitGoPsbt {
1392
1392
  wasm.__wbindgen_add_to_stack_pointer(16);
1393
1393
  }
1394
1394
  }
1395
+ /**
1396
+ * Transaction Extractor for a transparent-only v6 (Ironwood) PSBT: no shielded output was
1397
+ * ever added, so there is no PCZT and nothing to combine an external proof into. Returns
1398
+ * broadcast-ready v6 transaction bytes with an empty Ironwood bundle slot.
1399
+ *
1400
+ * Not terminal (unlike `combine_ironwood_proof`): there is no stored PCZT to drop, so
1401
+ * calling this more than once is safe.
1402
+ *
1403
+ * Errors if a shielded output was ever added to this PSBT, or if any transparent input is
1404
+ * missing a required signature. See
1405
+ * [`crate::fixed_script_wallet::bitgo_psbt::zcash_psbt::ZcashBitGoPsbt::extract_transparent_only_v6_tx`].
1406
+ * @returns {Uint8Array}
1407
+ */
1408
+ extract_transparent_only_v6_tx() {
1409
+ try {
1410
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
1411
+ wasm.bitgopsbt_extract_transparent_only_v6_tx(retptr, this.__wbg_ptr);
1412
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
1413
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
1414
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
1415
+ var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
1416
+ if (r3) {
1417
+ throw takeObject(r2);
1418
+ }
1419
+ var v1 = getArrayU8FromWasm0(r0, r1).slice();
1420
+ wasm.__wbindgen_export4(r0, r1 * 1, 1);
1421
+ return v1;
1422
+ } finally {
1423
+ wasm.__wbindgen_add_to_stack_pointer(16);
1424
+ }
1425
+ }
1395
1426
  /**
1396
1427
  * Extract the final transaction as a WasmZcashTransaction (for Zcash networks)
1397
1428
  *
Binary file
@@ -1,12 +1,136 @@
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;
5
- export const __wbg_utxolibcompatnamespace_free: (a: number, b: number) => void;
6
- export const addressnamespace_from_output_script_with_coin: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
7
- export const addressnamespace_to_output_script_with_coin: (a: number, b: number, c: number, d: number, e: number) => void;
8
- export const utxolibcompatnamespace_from_output_script: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
9
- export const utxolibcompatnamespace_to_output_script: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
4
+ export const __wbg_bitgopsbt_free: (a: number, b: number) => void;
5
+ export const __wbg_fixedscriptwalletnamespace_free: (a: number, b: number) => void;
6
+ export const __wbg_messagenamespace_free: (a: number, b: number) => void;
7
+ export const __wbg_wasmdimensions_free: (a: number, b: number) => void;
8
+ export const __wbg_wasmreplayprotection_free: (a: number, b: number) => void;
9
+ export const bitgopsbt_add_input: (a: number, b: number, c: number, d: number, e: number, f: bigint, g: number, h: number, i: number, j: number, k: number) => void;
10
+ export const bitgopsbt_add_input_at_index: (a: number, b: number, c: number, d: number, e: number, f: number, g: bigint, h: number, i: number, j: number, k: number, l: number) => void;
11
+ export const bitgopsbt_add_ironwood_output: (a: number, b: number, c: number, d: number, e: bigint, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number) => void;
12
+ export const bitgopsbt_add_ironwood_outputs: (a: number, b: number, c: number, d: number, e: number) => void;
13
+ export const bitgopsbt_add_ironwood_v6_signature: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
14
+ export const bitgopsbt_add_output: (a: number, b: number, c: number, d: number, e: bigint) => void;
15
+ export const bitgopsbt_add_output_at_index: (a: number, b: number, c: number, d: number, e: number, f: bigint) => void;
16
+ export const bitgopsbt_add_output_with_address: (a: number, b: number, c: number, d: number, e: bigint) => void;
17
+ export const bitgopsbt_add_output_with_address_at_index: (a: number, b: number, c: number, d: number, e: number, f: bigint) => void;
18
+ export const bitgopsbt_add_paygo_attestation: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
19
+ export const bitgopsbt_add_replay_protection_input: (a: number, b: number, c: number, d: number, e: number, f: number, g: bigint, h: number, i: number, j: number) => void;
20
+ export const bitgopsbt_add_replay_protection_input_at_index: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: bigint, i: number, j: number, k: number) => void;
21
+ export const bitgopsbt_add_transparent_output: (a: number, b: number, c: number, d: number, e: bigint, f: number, g: number) => void;
22
+ export const bitgopsbt_add_wallet_input: (a: number, b: number, c: number, d: number, e: number, f: bigint, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number) => void;
23
+ export const bitgopsbt_add_wallet_input_at_index: (a: number, b: number, c: number, d: number, e: number, f: number, g: bigint, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number, q: number) => void;
24
+ export const bitgopsbt_add_wallet_output: (a: number, b: number, c: number, d: number, e: bigint, f: number) => void;
25
+ export const bitgopsbt_add_wallet_output_at_index: (a: number, b: number, c: number, d: number, e: number, f: bigint, g: number) => void;
26
+ export const bitgopsbt_assert_sighash_all_policy: (a: number, b: number) => void;
27
+ export const bitgopsbt_combine_inputs: (a: number, b: number, c: number, d: number) => void;
28
+ export const bitgopsbt_combine_ironwood_proof: (a: number, b: number, c: number, d: number) => void;
29
+ export const bitgopsbt_combine_musig2_nonces: (a: number, b: number, c: number) => void;
30
+ export const bitgopsbt_consensus_branch_id: (a: number) => number;
31
+ export const bitgopsbt_create_empty: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
32
+ export const bitgopsbt_create_empty_zcash: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => void;
33
+ export const bitgopsbt_create_empty_zcash_at_height: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => void;
34
+ export const bitgopsbt_create_empty_zcash_v6: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
35
+ export const bitgopsbt_create_empty_zcash_v6_at_height: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
36
+ export const bitgopsbt_delete_input_kv: (a: number, b: number, c: number, d: number) => void;
37
+ export const bitgopsbt_delete_kv: (a: number, b: number, c: number) => void;
38
+ export const bitgopsbt_delete_output_kv: (a: number, b: number, c: number, d: number) => void;
39
+ export const bitgopsbt_expiry_height: (a: number) => number;
40
+ export const bitgopsbt_extract_bitcoin_transaction: (a: number, b: number, c: number, d: number) => void;
41
+ export const bitgopsbt_extract_dash_transaction: (a: number, b: number, c: number, d: number) => void;
42
+ export const bitgopsbt_extract_half_signed_legacy_tx: (a: number, b: number) => void;
43
+ export const bitgopsbt_extract_transaction: (a: number, b: number, c: number, d: number) => void;
44
+ export const bitgopsbt_extract_transparent_only_v6_tx: (a: number, b: number) => void;
45
+ export const bitgopsbt_extract_zcash_transaction: (a: number, b: number, c: number, d: number) => void;
46
+ export const bitgopsbt_finalize_all_inputs: (a: number, b: number) => void;
47
+ export const bitgopsbt_from_bytes: (a: number, b: number, c: number, d: number, e: number) => void;
48
+ export const bitgopsbt_from_half_signed_legacy_transaction: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
49
+ export const bitgopsbt_from_half_signed_legacy_transaction_dash: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
50
+ export const bitgopsbt_from_network_format: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
51
+ export const bitgopsbt_from_network_format_dash: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
52
+ export const bitgopsbt_from_network_format_zcash_with_block_height: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
53
+ export const bitgopsbt_from_network_format_zcash_with_branch_id: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
54
+ export const bitgopsbt_generate_musig2_nonces: (a: number, b: number, c: number, d: number, e: number) => void;
55
+ export const bitgopsbt_get_global_xpubs: (a: number) => number;
56
+ export const bitgopsbt_get_input_key_values: (a: number, b: number, c: number) => void;
57
+ export const bitgopsbt_get_input_kv: (a: number, b: number, c: number, d: number) => void;
58
+ export const bitgopsbt_get_input_sighash_types: (a: number, b: number) => void;
59
+ export const bitgopsbt_get_inputs: (a: number, b: number) => void;
60
+ export const bitgopsbt_get_kv: (a: number, b: number, c: number) => void;
61
+ export const bitgopsbt_get_network_type: (a: number, b: number) => void;
62
+ export const bitgopsbt_get_output_kv: (a: number, b: number, c: number, d: number) => void;
63
+ export const bitgopsbt_get_outputs: (a: number, b: number) => void;
64
+ export const bitgopsbt_get_outputs_with_address: (a: number, b: number) => void;
65
+ export const bitgopsbt_get_unsigned_tx: (a: number, b: number) => void;
66
+ export const bitgopsbt_input_count: (a: number) => number;
67
+ export const bitgopsbt_ironwood_pczt_bytes: (a: number, b: number) => void;
68
+ export const bitgopsbt_ironwood_v6_transparent_sighash: (a: number, b: number, c: number) => void;
69
+ export const bitgopsbt_ironwood_v6_txid: (a: number, b: number) => void;
70
+ export const bitgopsbt_is_musig2_input: (a: number, b: number) => number;
71
+ export const bitgopsbt_lock_time: (a: number) => number;
72
+ export const bitgopsbt_network: (a: number, b: number) => void;
73
+ export const bitgopsbt_output_count: (a: number) => number;
74
+ export const bitgopsbt_parse_outputs_with_wallet_keys: (a: number, b: number, c: number, d: number, e: number) => void;
75
+ export const bitgopsbt_parse_transaction_with_wallet_keys: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
76
+ export const bitgopsbt_remove_input: (a: number, b: number, c: number) => void;
77
+ export const bitgopsbt_remove_output: (a: number, b: number, c: number) => void;
78
+ export const bitgopsbt_serialize: (a: number, b: number) => void;
79
+ export const bitgopsbt_set_input_kv: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
80
+ export const bitgopsbt_set_ironwood_out_ciphertext: (a: number, b: number, c: number, d: number, e: number) => void;
81
+ export const bitgopsbt_set_kv: (a: number, b: number, c: number, d: number, e: number) => void;
82
+ export const bitgopsbt_set_output_kv: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
83
+ export const bitgopsbt_sign_all_musig2_inputs: (a: number, b: number, c: number) => void;
84
+ export const bitgopsbt_sign_all_replay_protection_inputs: (a: number, b: number, c: number) => void;
85
+ export const bitgopsbt_sign_all_wallet_inputs: (a: number, b: number, c: number) => void;
86
+ export const bitgopsbt_sign_ironwood_v6: (a: number, b: number, c: number, d: number) => void;
87
+ export const bitgopsbt_sign_musig2_input: (a: number, b: number, c: number, d: number) => void;
88
+ export const bitgopsbt_sign_single_input_with_privkey: (a: number, b: number, c: number, d: number) => void;
89
+ export const bitgopsbt_sign_single_input_with_xpriv: (a: number, b: number, c: number, d: number) => void;
90
+ export const bitgopsbt_sign_with_privkey: (a: number, b: number, c: number, d: number) => void;
91
+ export const bitgopsbt_sign_with_xpriv: (a: number, b: number, c: number, d: number) => void;
92
+ export const bitgopsbt_transparent_output_unified_address: (a: number, b: number, c: number) => void;
93
+ export const bitgopsbt_unsigned_tx_id: (a: number, b: number) => void;
94
+ export const bitgopsbt_verify_ironwood_v6_signature_with_pub: (a: number, b: number, c: number, d: number) => void;
95
+ export const bitgopsbt_verify_ironwood_v6_signature_with_xpub: (a: number, b: number, c: number, d: number) => void;
96
+ export const bitgopsbt_verify_replay_protection_signature: (a: number, b: number, c: number, d: number) => void;
97
+ export const bitgopsbt_verify_signature_with_pub: (a: number, b: number, c: number, d: number) => void;
98
+ export const bitgopsbt_verify_signature_with_xpub: (a: number, b: number, c: number, d: number) => void;
99
+ export const bitgopsbt_version: (a: number) => number;
100
+ export const bitgopsbt_version_group_id: (a: number) => number;
101
+ export const fixedscriptwalletnamespace_address: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
102
+ export const fixedscriptwalletnamespace_address_with_network_str: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => void;
103
+ export const fixedscriptwalletnamespace_chain_code_table: () => number;
104
+ export const fixedscriptwalletnamespace_create_op_return_script: (a: number, b: number, c: number) => void;
105
+ export const fixedscriptwalletnamespace_get_bitgo_key_subtypes: () => number;
106
+ export const fixedscriptwalletnamespace_output_script: (a: number, b: number, c: number, d: number, e: number) => void;
107
+ export const fixedscriptwalletnamespace_output_script_with_network_str: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
108
+ export const fixedscriptwalletnamespace_p2sh_p2pk_output_script: (a: number, b: number, c: number) => void;
109
+ export const fixedscriptwalletnamespace_supports_script_type: (a: number, b: number, c: number, d: number, e: number) => void;
110
+ export const fixedscriptwalletnamespace_to_wallet_keys: (a: number, b: number, c: number, d: number, e: number) => void;
111
+ export const messagenamespace_sign_message: (a: number, b: number, c: number, d: number) => void;
112
+ export const messagenamespace_verify_message: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
113
+ export const wasmdimensions_empty: () => number;
114
+ export const wasmdimensions_from_input: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
115
+ export const wasmdimensions_from_input_script_type: (a: number, b: number, c: number, d: number) => void;
116
+ export const wasmdimensions_from_output_script_length: (a: number) => number;
117
+ export const wasmdimensions_from_output_script_type: (a: number, b: number, c: number) => void;
118
+ export const wasmdimensions_from_psbt: (a: number, b: number) => void;
119
+ export const wasmdimensions_get_input_vsize: (a: number, b: number, c: number) => number;
120
+ export const wasmdimensions_get_input_weight: (a: number, b: number, c: number) => number;
121
+ export const wasmdimensions_get_output_vsize: (a: number) => number;
122
+ export const wasmdimensions_get_output_weight: (a: number) => number;
123
+ export const wasmdimensions_get_vsize: (a: number, b: number, c: number) => number;
124
+ export const wasmdimensions_get_weight: (a: number, b: number, c: number) => number;
125
+ export const wasmdimensions_has_segwit: (a: number) => number;
126
+ export const wasmdimensions_plus: (a: number, b: number) => number;
127
+ export const wasmdimensions_times: (a: number, b: number) => number;
128
+ export const wasmreplayprotection_from_addresses: (a: number, b: number, c: number, d: number, e: number) => void;
129
+ export const wasmreplayprotection_from_output_scripts: (a: number, b: number) => number;
130
+ export const wasmreplayprotection_from_public_keys: (a: number, b: number, c: number) => void;
131
+ export const bitgopsbt_sign_wallet_input: (a: number, b: number, c: number, d: number) => void;
132
+ export const bitgopsbt_sign_all_with_xpriv: (a: number, b: number, c: number) => void;
133
+ export const bitgopsbt_sign_replay_protection_inputs: (a: number, b: number, c: number) => void;
10
134
  export const __wbg_bip322namespace_free: (a: number, b: number) => void;
11
135
  export const __wbg_inscriptionsnamespace_free: (a: number, b: number) => void;
12
136
  export const __wbg_ironwoodwitness_free: (a: number, b: number) => void;
@@ -15,7 +139,6 @@ export const __wbg_wasmdashtransaction_free: (a: number, b: number) => void;
15
139
  export const __wbg_wasmecpair_free: (a: number, b: number) => void;
16
140
  export const __wbg_wasmrootwalletkeys_free: (a: number, b: number) => void;
17
141
  export const __wbg_wasmtransaction_free: (a: number, b: number) => void;
18
- export const __wbg_wasmutxonamespace_free: (a: number, b: number) => void;
19
142
  export const __wbg_wasmzcashtransaction_free: (a: number, b: number) => void;
20
143
  export const __wbg_wrappsbt_free: (a: number, b: number) => void;
21
144
  export const __wbg_zcashunifiedaddress_free: (a: number, b: number) => void;
@@ -91,7 +214,6 @@ export const wasmtransaction_get_outputs_with_address: (a: number, b: number, c:
91
214
  export const wasmtransaction_get_txid: (a: number, b: number) => void;
92
215
  export const wasmtransaction_get_vsize: (a: number) => number;
93
216
  export const wasmtransaction_to_bytes: (a: number, b: number) => void;
94
- export const wasmutxonamespace_get_wasm_utxo_version: (a: number) => void;
95
217
  export const wasmzcashtransaction_from_bytes: (a: number, b: number, c: number) => void;
96
218
  export const wasmzcashtransaction_get_inputs: (a: number, b: number) => void;
97
219
  export const wasmzcashtransaction_get_outputs: (a: number, b: number) => void;
@@ -181,139 +303,6 @@ export const wasmzcashtransaction_lock_time: (a: number) => number;
181
303
  export const wasmzcashtransaction_version: (a: number) => number;
182
304
  export const wrappsbt_lock_time: (a: number) => number;
183
305
  export const wrappsbt_version: (a: number) => number;
184
- export const __wbg_bitgopsbt_free: (a: number, b: number) => void;
185
- export const __wbg_fixedscriptwalletnamespace_free: (a: number, b: number) => void;
186
- export const __wbg_messagenamespace_free: (a: number, b: number) => void;
187
- export const __wbg_wasmdimensions_free: (a: number, b: number) => void;
188
- export const __wbg_wasmreplayprotection_free: (a: number, b: number) => void;
189
- export const bitgopsbt_add_input: (a: number, b: number, c: number, d: number, e: number, f: bigint, g: number, h: number, i: number, j: number, k: number) => void;
190
- export const bitgopsbt_add_input_at_index: (a: number, b: number, c: number, d: number, e: number, f: number, g: bigint, h: number, i: number, j: number, k: number, l: number) => void;
191
- export const bitgopsbt_add_ironwood_output: (a: number, b: number, c: number, d: number, e: bigint, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number) => void;
192
- export const bitgopsbt_add_ironwood_outputs: (a: number, b: number, c: number, d: number, e: number) => void;
193
- export const bitgopsbt_add_ironwood_v6_signature: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
194
- export const bitgopsbt_add_output: (a: number, b: number, c: number, d: number, e: bigint) => void;
195
- export const bitgopsbt_add_output_at_index: (a: number, b: number, c: number, d: number, e: number, f: bigint) => void;
196
- export const bitgopsbt_add_output_with_address: (a: number, b: number, c: number, d: number, e: bigint) => void;
197
- export const bitgopsbt_add_output_with_address_at_index: (a: number, b: number, c: number, d: number, e: number, f: bigint) => void;
198
- export const bitgopsbt_add_paygo_attestation: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
199
- export const bitgopsbt_add_replay_protection_input: (a: number, b: number, c: number, d: number, e: number, f: number, g: bigint, h: number, i: number, j: number) => void;
200
- export const bitgopsbt_add_replay_protection_input_at_index: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: bigint, i: number, j: number, k: number) => void;
201
- export const bitgopsbt_add_transparent_output: (a: number, b: number, c: number, d: number, e: bigint, f: number, g: number) => void;
202
- export const bitgopsbt_add_wallet_input: (a: number, b: number, c: number, d: number, e: number, f: bigint, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number) => void;
203
- export const bitgopsbt_add_wallet_input_at_index: (a: number, b: number, c: number, d: number, e: number, f: number, g: bigint, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number, q: number) => void;
204
- export const bitgopsbt_add_wallet_output: (a: number, b: number, c: number, d: number, e: bigint, f: number) => void;
205
- export const bitgopsbt_add_wallet_output_at_index: (a: number, b: number, c: number, d: number, e: number, f: bigint, g: number) => void;
206
- export const bitgopsbt_assert_sighash_all_policy: (a: number, b: number) => void;
207
- export const bitgopsbt_combine_inputs: (a: number, b: number, c: number, d: number) => void;
208
- export const bitgopsbt_combine_ironwood_proof: (a: number, b: number, c: number, d: number) => void;
209
- export const bitgopsbt_combine_musig2_nonces: (a: number, b: number, c: number) => void;
210
- export const bitgopsbt_consensus_branch_id: (a: number) => number;
211
- export const bitgopsbt_create_empty: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
212
- export const bitgopsbt_create_empty_zcash: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => void;
213
- export const bitgopsbt_create_empty_zcash_at_height: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => void;
214
- export const bitgopsbt_create_empty_zcash_v6: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
215
- export const bitgopsbt_create_empty_zcash_v6_at_height: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
216
- export const bitgopsbt_delete_input_kv: (a: number, b: number, c: number, d: number) => void;
217
- export const bitgopsbt_delete_kv: (a: number, b: number, c: number) => void;
218
- export const bitgopsbt_delete_output_kv: (a: number, b: number, c: number, d: number) => void;
219
- export const bitgopsbt_expiry_height: (a: number) => number;
220
- export const bitgopsbt_extract_bitcoin_transaction: (a: number, b: number, c: number, d: number) => void;
221
- export const bitgopsbt_extract_dash_transaction: (a: number, b: number, c: number, d: number) => void;
222
- export const bitgopsbt_extract_half_signed_legacy_tx: (a: number, b: number) => void;
223
- export const bitgopsbt_extract_transaction: (a: number, b: number, c: number, d: number) => void;
224
- export const bitgopsbt_extract_zcash_transaction: (a: number, b: number, c: number, d: number) => void;
225
- export const bitgopsbt_finalize_all_inputs: (a: number, b: number) => void;
226
- export const bitgopsbt_from_bytes: (a: number, b: number, c: number, d: number, e: number) => void;
227
- export const bitgopsbt_from_half_signed_legacy_transaction: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
228
- export const bitgopsbt_from_half_signed_legacy_transaction_dash: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
229
- export const bitgopsbt_from_network_format: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
230
- export const bitgopsbt_from_network_format_dash: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
231
- export const bitgopsbt_from_network_format_zcash_with_block_height: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
232
- export const bitgopsbt_from_network_format_zcash_with_branch_id: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
233
- export const bitgopsbt_generate_musig2_nonces: (a: number, b: number, c: number, d: number, e: number) => void;
234
- export const bitgopsbt_get_global_xpubs: (a: number) => number;
235
- export const bitgopsbt_get_input_key_values: (a: number, b: number, c: number) => void;
236
- export const bitgopsbt_get_input_kv: (a: number, b: number, c: number, d: number) => void;
237
- export const bitgopsbt_get_input_sighash_types: (a: number, b: number) => void;
238
- export const bitgopsbt_get_inputs: (a: number, b: number) => void;
239
- export const bitgopsbt_get_kv: (a: number, b: number, c: number) => void;
240
- export const bitgopsbt_get_network_type: (a: number, b: number) => void;
241
- export const bitgopsbt_get_output_kv: (a: number, b: number, c: number, d: number) => void;
242
- export const bitgopsbt_get_outputs: (a: number, b: number) => void;
243
- export const bitgopsbt_get_outputs_with_address: (a: number, b: number) => void;
244
- export const bitgopsbt_get_unsigned_tx: (a: number, b: number) => void;
245
- export const bitgopsbt_input_count: (a: number) => number;
246
- export const bitgopsbt_ironwood_pczt_bytes: (a: number, b: number) => void;
247
- export const bitgopsbt_ironwood_v6_transparent_sighash: (a: number, b: number, c: number) => void;
248
- export const bitgopsbt_ironwood_v6_txid: (a: number, b: number) => void;
249
- export const bitgopsbt_is_musig2_input: (a: number, b: number) => number;
250
- export const bitgopsbt_lock_time: (a: number) => number;
251
- export const bitgopsbt_network: (a: number, b: number) => void;
252
- export const bitgopsbt_output_count: (a: number) => number;
253
- export const bitgopsbt_parse_outputs_with_wallet_keys: (a: number, b: number, c: number, d: number, e: number) => void;
254
- export const bitgopsbt_parse_transaction_with_wallet_keys: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
255
- export const bitgopsbt_remove_input: (a: number, b: number, c: number) => void;
256
- export const bitgopsbt_remove_output: (a: number, b: number, c: number) => void;
257
- export const bitgopsbt_serialize: (a: number, b: number) => void;
258
- export const bitgopsbt_set_input_kv: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
259
- export const bitgopsbt_set_ironwood_out_ciphertext: (a: number, b: number, c: number, d: number, e: number) => void;
260
- export const bitgopsbt_set_kv: (a: number, b: number, c: number, d: number, e: number) => void;
261
- export const bitgopsbt_set_output_kv: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
262
- export const bitgopsbt_sign_all_musig2_inputs: (a: number, b: number, c: number) => void;
263
- export const bitgopsbt_sign_all_replay_protection_inputs: (a: number, b: number, c: number) => void;
264
- export const bitgopsbt_sign_all_wallet_inputs: (a: number, b: number, c: number) => void;
265
- export const bitgopsbt_sign_ironwood_v6: (a: number, b: number, c: number, d: number) => void;
266
- export const bitgopsbt_sign_musig2_input: (a: number, b: number, c: number, d: number) => void;
267
- export const bitgopsbt_sign_single_input_with_privkey: (a: number, b: number, c: number, d: number) => void;
268
- export const bitgopsbt_sign_single_input_with_xpriv: (a: number, b: number, c: number, d: number) => void;
269
- export const bitgopsbt_sign_with_privkey: (a: number, b: number, c: number, d: number) => void;
270
- export const bitgopsbt_sign_with_xpriv: (a: number, b: number, c: number, d: number) => void;
271
- export const bitgopsbt_transparent_output_unified_address: (a: number, b: number, c: number) => void;
272
- export const bitgopsbt_unsigned_tx_id: (a: number, b: number) => void;
273
- export const bitgopsbt_verify_ironwood_v6_signature_with_pub: (a: number, b: number, c: number, d: number) => void;
274
- export const bitgopsbt_verify_ironwood_v6_signature_with_xpub: (a: number, b: number, c: number, d: number) => void;
275
- export const bitgopsbt_verify_replay_protection_signature: (a: number, b: number, c: number, d: number) => void;
276
- export const bitgopsbt_verify_signature_with_pub: (a: number, b: number, c: number, d: number) => void;
277
- export const bitgopsbt_verify_signature_with_xpub: (a: number, b: number, c: number, d: number) => void;
278
- export const bitgopsbt_version: (a: number) => number;
279
- export const bitgopsbt_version_group_id: (a: number) => number;
280
- export const fixedscriptwalletnamespace_address: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
281
- export const fixedscriptwalletnamespace_address_with_network_str: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => void;
282
- export const fixedscriptwalletnamespace_chain_code_table: () => number;
283
- export const fixedscriptwalletnamespace_create_op_return_script: (a: number, b: number, c: number) => void;
284
- export const fixedscriptwalletnamespace_get_bitgo_key_subtypes: () => number;
285
- export const fixedscriptwalletnamespace_output_script: (a: number, b: number, c: number, d: number, e: number) => void;
286
- export const fixedscriptwalletnamespace_output_script_with_network_str: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
287
- export const fixedscriptwalletnamespace_p2sh_p2pk_output_script: (a: number, b: number, c: number) => void;
288
- export const fixedscriptwalletnamespace_supports_script_type: (a: number, b: number, c: number, d: number, e: number) => void;
289
- export const fixedscriptwalletnamespace_to_wallet_keys: (a: number, b: number, c: number, d: number, e: number) => void;
290
- export const isInspectEnabled: () => number;
291
- export const messagenamespace_sign_message: (a: number, b: number, c: number, d: number) => void;
292
- export const messagenamespace_verify_message: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
293
- export const parsePsbtRawToJson: (a: number, b: number, c: number, d: number, e: number) => void;
294
- export const wasmdimensions_empty: () => number;
295
- export const wasmdimensions_from_input: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
296
- export const wasmdimensions_from_input_script_type: (a: number, b: number, c: number, d: number) => void;
297
- export const wasmdimensions_from_output_script_length: (a: number) => number;
298
- export const wasmdimensions_from_output_script_type: (a: number, b: number, c: number) => void;
299
- export const wasmdimensions_from_psbt: (a: number, b: number) => void;
300
- export const wasmdimensions_get_input_vsize: (a: number, b: number, c: number) => number;
301
- export const wasmdimensions_get_input_weight: (a: number, b: number, c: number) => number;
302
- export const wasmdimensions_get_output_vsize: (a: number) => number;
303
- export const wasmdimensions_get_output_weight: (a: number) => number;
304
- export const wasmdimensions_get_vsize: (a: number, b: number, c: number) => number;
305
- export const wasmdimensions_get_weight: (a: number, b: number, c: number) => number;
306
- export const wasmdimensions_has_segwit: (a: number) => number;
307
- export const wasmdimensions_plus: (a: number, b: number) => number;
308
- export const wasmdimensions_times: (a: number, b: number) => number;
309
- export const wasmreplayprotection_from_addresses: (a: number, b: number, c: number, d: number, e: number) => void;
310
- export const wasmreplayprotection_from_output_scripts: (a: number, b: number) => number;
311
- export const wasmreplayprotection_from_public_keys: (a: number, b: number, c: number) => void;
312
- export const parsePsbtToJson: (a: number, b: number, c: number, d: number, e: number) => void;
313
- export const parseTxToJson: (a: number, b: number, c: number, d: number, e: number) => void;
314
- export const bitgopsbt_sign_wallet_input: (a: number, b: number, c: number, d: number) => void;
315
- export const bitgopsbt_sign_all_with_xpriv: (a: number, b: number, c: number) => void;
316
- export const bitgopsbt_sign_replay_protection_inputs: (a: number, b: number, c: number) => void;
317
306
  export const __wbg_wrapdescriptor_free: (a: number, b: number) => void;
318
307
  export const __wbg_wrapminiscript_free: (a: number, b: number) => void;
319
308
  export const wrapdescriptor_atDerivationIndex: (a: number, b: number, c: number) => void;
@@ -336,6 +325,18 @@ export const wrapminiscript_fromStringExt: (a: number, b: number, c: number, d:
336
325
  export const wrapminiscript_node: (a: number, b: number) => void;
337
326
  export const wrapminiscript_toAsmString: (a: number, b: number) => void;
338
327
  export const wrapminiscript_toString: (a: number, b: number) => void;
328
+ export const __wbg_addressnamespace_free: (a: number, b: number) => void;
329
+ export const __wbg_utxolibcompatnamespace_free: (a: number, b: number) => void;
330
+ export const __wbg_wasmutxonamespace_free: (a: number, b: number) => void;
331
+ export const addressnamespace_from_output_script_with_coin: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
332
+ export const addressnamespace_to_output_script_with_coin: (a: number, b: number, c: number, d: number, e: number) => void;
333
+ export const isInspectEnabled: () => number;
334
+ export const parsePsbtRawToJson: (a: number, b: number, c: number, d: number, e: number) => void;
335
+ export const utxolibcompatnamespace_from_output_script: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
336
+ export const utxolibcompatnamespace_to_output_script: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
337
+ export const wasmutxonamespace_get_wasm_utxo_version: (a: number) => void;
338
+ export const parsePsbtToJson: (a: number, b: number, c: number, d: number, e: number) => void;
339
+ export const parseTxToJson: (a: number, b: number, c: number, d: number, e: number) => void;
339
340
  export const rustsecp256k1_v0_10_0_context_create: (a: number) => number;
340
341
  export const rustsecp256k1_v0_10_0_context_destroy: (a: number) => void;
341
342
  export const rustsecp256k1_v0_10_0_default_error_callback_fn: (a: number, b: number) => void;
@@ -201,8 +201,9 @@ export declare class ZcashIronwoodBitGoPsbt extends ZcashBitGoPsbt {
201
201
  setShieldedOutCiphertext(actionIndex: number, userKey: BIP32Arg, rootWalletKeys: WalletKeysArg): void;
202
202
  /**
203
203
  * The canonical (display-order) ZIP-244 v6 txid as a lowercase hex string, matching
204
- * `ITransaction.getId()`. Defined once the transparent inputs/outputs and the shielded output are
205
- * in place; unchanged by signing or proving.
204
+ * `ITransaction.getId()`. Defined once the transparent inputs/outputs are in place; unchanged by
205
+ * signing or proving. Works whether or not a shielded output has been added — a transparent-only
206
+ * v6 PSBT has a well-defined ZIP-244 txid too.
206
207
  */
207
208
  getId(): string;
208
209
  /**
@@ -272,7 +273,9 @@ export declare class ZcashIronwoodBitGoPsbt extends ZcashBitGoPsbt {
272
273
  * @returns true if a valid signature by the key's public key exists for the input's
273
274
  * ZIP-244 transparent sighash
274
275
  * @throws Error if the input index is out of range, the key cannot be parsed, or the v6
275
- * sighash cannot be computed (e.g. the Ironwood PCZT has not been added yet)
276
+ * sighash cannot be computed. Works whether or not a shielded output has been added; the one
277
+ * case this still throws for is a shielded output that was added and then consumed by
278
+ * `combineProof` (its action data is gone, not merely absent).
276
279
  *
277
280
  * @example
278
281
  * ```typescript
@@ -293,6 +296,22 @@ export declare class ZcashIronwoodBitGoPsbt extends ZcashBitGoPsbt {
293
296
  * errors (bad proof, unsigned input) leaves the PSBT retryable.
294
297
  */
295
298
  combineProof(proof: Uint8Array): Uint8Array;
299
+ /**
300
+ * Transaction Extractor role for a transparent-only v6 transaction: valid only when
301
+ * no shielded output was ever added via {@link addShieldedOutput}/{@link addShieldedOutputs} —
302
+ * there is no PCZT, and therefore nothing to combine an external proof into. Finalizes the
303
+ * transparent inputs (the same 2-of-3 signature check {@link combineProof} performs) and
304
+ * returns broadcast-ready v6 transaction bytes with an empty Ironwood bundle slot.
305
+ *
306
+ * Not terminal (unlike {@link combineProof}): there is no stored PCZT to drop, so calling this
307
+ * more than once is safe and simply re-finalizes the same already-signed inputs.
308
+ *
309
+ * Use {@link combineProof} instead for a PSBT that carries (or carried) a shielded output.
310
+ *
311
+ * @throws Error if a shielded output was ever added to this PSBT (even one already extracted),
312
+ * or if any transparent input is missing a required signature
313
+ */
314
+ extractTransparentOnlyTransaction(): Uint8Array;
296
315
  /**
297
316
  * The raw serialized orchard PCZT (Partially Created Zcash Transaction) bundle stored in this
298
317
  * PSBT, or `undefined` if none is present.
@@ -200,8 +200,9 @@ export class ZcashIronwoodBitGoPsbt extends ZcashBitGoPsbt {
200
200
  }
201
201
  /**
202
202
  * The canonical (display-order) ZIP-244 v6 txid as a lowercase hex string, matching
203
- * `ITransaction.getId()`. Defined once the transparent inputs/outputs and the shielded output are
204
- * in place; unchanged by signing or proving.
203
+ * `ITransaction.getId()`. Defined once the transparent inputs/outputs are in place; unchanged by
204
+ * signing or proving. Works whether or not a shielded output has been added — a transparent-only
205
+ * v6 PSBT has a well-defined ZIP-244 txid too.
205
206
  */
206
207
  getId() {
207
208
  return this.wasm.ironwood_v6_txid();
@@ -261,7 +262,9 @@ export class ZcashIronwoodBitGoPsbt extends ZcashBitGoPsbt {
261
262
  * @returns true if a valid signature by the key's public key exists for the input's
262
263
  * ZIP-244 transparent sighash
263
264
  * @throws Error if the input index is out of range, the key cannot be parsed, or the v6
264
- * sighash cannot be computed (e.g. the Ironwood PCZT has not been added yet)
265
+ * sighash cannot be computed. Works whether or not a shielded output has been added; the one
266
+ * case this still throws for is a shielded output that was added and then consumed by
267
+ * `combineProof` (its action data is gone, not merely absent).
265
268
  *
266
269
  * @example
267
270
  * ```typescript
@@ -291,6 +294,24 @@ export class ZcashIronwoodBitGoPsbt extends ZcashBitGoPsbt {
291
294
  combineProof(proof) {
292
295
  return this.wasm.combine_ironwood_proof(proof);
293
296
  }
297
+ /**
298
+ * Transaction Extractor role for a transparent-only v6 transaction: valid only when
299
+ * no shielded output was ever added via {@link addShieldedOutput}/{@link addShieldedOutputs} —
300
+ * there is no PCZT, and therefore nothing to combine an external proof into. Finalizes the
301
+ * transparent inputs (the same 2-of-3 signature check {@link combineProof} performs) and
302
+ * returns broadcast-ready v6 transaction bytes with an empty Ironwood bundle slot.
303
+ *
304
+ * Not terminal (unlike {@link combineProof}): there is no stored PCZT to drop, so calling this
305
+ * more than once is safe and simply re-finalizes the same already-signed inputs.
306
+ *
307
+ * Use {@link combineProof} instead for a PSBT that carries (or carried) a shielded output.
308
+ *
309
+ * @throws Error if a shielded output was ever added to this PSBT (even one already extracted),
310
+ * or if any transparent input is missing a required signature
311
+ */
312
+ extractTransparentOnlyTransaction() {
313
+ return this.wasm.extract_transparent_only_v6_tx();
314
+ }
294
315
  /**
295
316
  * The raw serialized orchard PCZT (Partially Created Zcash Transaction) bundle stored in this
296
317
  * PSBT, or `undefined` if none is present.
@@ -389,6 +389,19 @@ export class BitGoPsbt {
389
389
  * - `Err(WasmUtxoError)` if the PSBT is not fully finalized or extraction fails
390
390
  */
391
391
  extract_transaction(max_fee_rate_sat_per_vb?: number | null): any;
392
+ /**
393
+ * Transaction Extractor for a transparent-only v6 (Ironwood) PSBT: no shielded output was
394
+ * ever added, so there is no PCZT and nothing to combine an external proof into. Returns
395
+ * broadcast-ready v6 transaction bytes with an empty Ironwood bundle slot.
396
+ *
397
+ * Not terminal (unlike `combine_ironwood_proof`): there is no stored PCZT to drop, so
398
+ * calling this more than once is safe.
399
+ *
400
+ * Errors if a shielded output was ever added to this PSBT, or if any transparent input is
401
+ * missing a required signature. See
402
+ * [`crate::fixed_script_wallet::bitgo_psbt::zcash_psbt::ZcashBitGoPsbt::extract_transparent_only_v6_tx`].
403
+ */
404
+ extract_transparent_only_v6_tx(): Uint8Array;
392
405
  /**
393
406
  * Extract the final transaction as a WasmZcashTransaction (for Zcash networks)
394
407
  *
@@ -1388,6 +1388,37 @@ export class BitGoPsbt {
1388
1388
  wasm.__wbindgen_add_to_stack_pointer(16);
1389
1389
  }
1390
1390
  }
1391
+ /**
1392
+ * Transaction Extractor for a transparent-only v6 (Ironwood) PSBT: no shielded output was
1393
+ * ever added, so there is no PCZT and nothing to combine an external proof into. Returns
1394
+ * broadcast-ready v6 transaction bytes with an empty Ironwood bundle slot.
1395
+ *
1396
+ * Not terminal (unlike `combine_ironwood_proof`): there is no stored PCZT to drop, so
1397
+ * calling this more than once is safe.
1398
+ *
1399
+ * Errors if a shielded output was ever added to this PSBT, or if any transparent input is
1400
+ * missing a required signature. See
1401
+ * [`crate::fixed_script_wallet::bitgo_psbt::zcash_psbt::ZcashBitGoPsbt::extract_transparent_only_v6_tx`].
1402
+ * @returns {Uint8Array}
1403
+ */
1404
+ extract_transparent_only_v6_tx() {
1405
+ try {
1406
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
1407
+ wasm.bitgopsbt_extract_transparent_only_v6_tx(retptr, this.__wbg_ptr);
1408
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
1409
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
1410
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
1411
+ var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
1412
+ if (r3) {
1413
+ throw takeObject(r2);
1414
+ }
1415
+ var v1 = getArrayU8FromWasm0(r0, r1).slice();
1416
+ wasm.__wbindgen_export4(r0, r1 * 1, 1);
1417
+ return v1;
1418
+ } finally {
1419
+ wasm.__wbindgen_add_to_stack_pointer(16);
1420
+ }
1421
+ }
1391
1422
  /**
1392
1423
  * Extract the final transaction as a WasmZcashTransaction (for Zcash networks)
1393
1424
  *
Binary file
@@ -1,12 +1,136 @@
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;
5
- export const __wbg_utxolibcompatnamespace_free: (a: number, b: number) => void;
6
- export const addressnamespace_from_output_script_with_coin: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
7
- export const addressnamespace_to_output_script_with_coin: (a: number, b: number, c: number, d: number, e: number) => void;
8
- export const utxolibcompatnamespace_from_output_script: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
9
- export const utxolibcompatnamespace_to_output_script: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
4
+ export const __wbg_bitgopsbt_free: (a: number, b: number) => void;
5
+ export const __wbg_fixedscriptwalletnamespace_free: (a: number, b: number) => void;
6
+ export const __wbg_messagenamespace_free: (a: number, b: number) => void;
7
+ export const __wbg_wasmdimensions_free: (a: number, b: number) => void;
8
+ export const __wbg_wasmreplayprotection_free: (a: number, b: number) => void;
9
+ export const bitgopsbt_add_input: (a: number, b: number, c: number, d: number, e: number, f: bigint, g: number, h: number, i: number, j: number, k: number) => void;
10
+ export const bitgopsbt_add_input_at_index: (a: number, b: number, c: number, d: number, e: number, f: number, g: bigint, h: number, i: number, j: number, k: number, l: number) => void;
11
+ export const bitgopsbt_add_ironwood_output: (a: number, b: number, c: number, d: number, e: bigint, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number) => void;
12
+ export const bitgopsbt_add_ironwood_outputs: (a: number, b: number, c: number, d: number, e: number) => void;
13
+ export const bitgopsbt_add_ironwood_v6_signature: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
14
+ export const bitgopsbt_add_output: (a: number, b: number, c: number, d: number, e: bigint) => void;
15
+ export const bitgopsbt_add_output_at_index: (a: number, b: number, c: number, d: number, e: number, f: bigint) => void;
16
+ export const bitgopsbt_add_output_with_address: (a: number, b: number, c: number, d: number, e: bigint) => void;
17
+ export const bitgopsbt_add_output_with_address_at_index: (a: number, b: number, c: number, d: number, e: number, f: bigint) => void;
18
+ export const bitgopsbt_add_paygo_attestation: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
19
+ export const bitgopsbt_add_replay_protection_input: (a: number, b: number, c: number, d: number, e: number, f: number, g: bigint, h: number, i: number, j: number) => void;
20
+ export const bitgopsbt_add_replay_protection_input_at_index: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: bigint, i: number, j: number, k: number) => void;
21
+ export const bitgopsbt_add_transparent_output: (a: number, b: number, c: number, d: number, e: bigint, f: number, g: number) => void;
22
+ export const bitgopsbt_add_wallet_input: (a: number, b: number, c: number, d: number, e: number, f: bigint, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number) => void;
23
+ export const bitgopsbt_add_wallet_input_at_index: (a: number, b: number, c: number, d: number, e: number, f: number, g: bigint, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number, q: number) => void;
24
+ export const bitgopsbt_add_wallet_output: (a: number, b: number, c: number, d: number, e: bigint, f: number) => void;
25
+ export const bitgopsbt_add_wallet_output_at_index: (a: number, b: number, c: number, d: number, e: number, f: bigint, g: number) => void;
26
+ export const bitgopsbt_assert_sighash_all_policy: (a: number, b: number) => void;
27
+ export const bitgopsbt_combine_inputs: (a: number, b: number, c: number, d: number) => void;
28
+ export const bitgopsbt_combine_ironwood_proof: (a: number, b: number, c: number, d: number) => void;
29
+ export const bitgopsbt_combine_musig2_nonces: (a: number, b: number, c: number) => void;
30
+ export const bitgopsbt_consensus_branch_id: (a: number) => number;
31
+ export const bitgopsbt_create_empty: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
32
+ export const bitgopsbt_create_empty_zcash: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => void;
33
+ export const bitgopsbt_create_empty_zcash_at_height: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => void;
34
+ export const bitgopsbt_create_empty_zcash_v6: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
35
+ export const bitgopsbt_create_empty_zcash_v6_at_height: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
36
+ export const bitgopsbt_delete_input_kv: (a: number, b: number, c: number, d: number) => void;
37
+ export const bitgopsbt_delete_kv: (a: number, b: number, c: number) => void;
38
+ export const bitgopsbt_delete_output_kv: (a: number, b: number, c: number, d: number) => void;
39
+ export const bitgopsbt_expiry_height: (a: number) => number;
40
+ export const bitgopsbt_extract_bitcoin_transaction: (a: number, b: number, c: number, d: number) => void;
41
+ export const bitgopsbt_extract_dash_transaction: (a: number, b: number, c: number, d: number) => void;
42
+ export const bitgopsbt_extract_half_signed_legacy_tx: (a: number, b: number) => void;
43
+ export const bitgopsbt_extract_transaction: (a: number, b: number, c: number, d: number) => void;
44
+ export const bitgopsbt_extract_transparent_only_v6_tx: (a: number, b: number) => void;
45
+ export const bitgopsbt_extract_zcash_transaction: (a: number, b: number, c: number, d: number) => void;
46
+ export const bitgopsbt_finalize_all_inputs: (a: number, b: number) => void;
47
+ export const bitgopsbt_from_bytes: (a: number, b: number, c: number, d: number, e: number) => void;
48
+ export const bitgopsbt_from_half_signed_legacy_transaction: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
49
+ export const bitgopsbt_from_half_signed_legacy_transaction_dash: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
50
+ export const bitgopsbt_from_network_format: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
51
+ export const bitgopsbt_from_network_format_dash: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
52
+ export const bitgopsbt_from_network_format_zcash_with_block_height: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
53
+ export const bitgopsbt_from_network_format_zcash_with_branch_id: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
54
+ export const bitgopsbt_generate_musig2_nonces: (a: number, b: number, c: number, d: number, e: number) => void;
55
+ export const bitgopsbt_get_global_xpubs: (a: number) => number;
56
+ export const bitgopsbt_get_input_key_values: (a: number, b: number, c: number) => void;
57
+ export const bitgopsbt_get_input_kv: (a: number, b: number, c: number, d: number) => void;
58
+ export const bitgopsbt_get_input_sighash_types: (a: number, b: number) => void;
59
+ export const bitgopsbt_get_inputs: (a: number, b: number) => void;
60
+ export const bitgopsbt_get_kv: (a: number, b: number, c: number) => void;
61
+ export const bitgopsbt_get_network_type: (a: number, b: number) => void;
62
+ export const bitgopsbt_get_output_kv: (a: number, b: number, c: number, d: number) => void;
63
+ export const bitgopsbt_get_outputs: (a: number, b: number) => void;
64
+ export const bitgopsbt_get_outputs_with_address: (a: number, b: number) => void;
65
+ export const bitgopsbt_get_unsigned_tx: (a: number, b: number) => void;
66
+ export const bitgopsbt_input_count: (a: number) => number;
67
+ export const bitgopsbt_ironwood_pczt_bytes: (a: number, b: number) => void;
68
+ export const bitgopsbt_ironwood_v6_transparent_sighash: (a: number, b: number, c: number) => void;
69
+ export const bitgopsbt_ironwood_v6_txid: (a: number, b: number) => void;
70
+ export const bitgopsbt_is_musig2_input: (a: number, b: number) => number;
71
+ export const bitgopsbt_lock_time: (a: number) => number;
72
+ export const bitgopsbt_network: (a: number, b: number) => void;
73
+ export const bitgopsbt_output_count: (a: number) => number;
74
+ export const bitgopsbt_parse_outputs_with_wallet_keys: (a: number, b: number, c: number, d: number, e: number) => void;
75
+ export const bitgopsbt_parse_transaction_with_wallet_keys: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
76
+ export const bitgopsbt_remove_input: (a: number, b: number, c: number) => void;
77
+ export const bitgopsbt_remove_output: (a: number, b: number, c: number) => void;
78
+ export const bitgopsbt_serialize: (a: number, b: number) => void;
79
+ export const bitgopsbt_set_input_kv: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
80
+ export const bitgopsbt_set_ironwood_out_ciphertext: (a: number, b: number, c: number, d: number, e: number) => void;
81
+ export const bitgopsbt_set_kv: (a: number, b: number, c: number, d: number, e: number) => void;
82
+ export const bitgopsbt_set_output_kv: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
83
+ export const bitgopsbt_sign_all_musig2_inputs: (a: number, b: number, c: number) => void;
84
+ export const bitgopsbt_sign_all_replay_protection_inputs: (a: number, b: number, c: number) => void;
85
+ export const bitgopsbt_sign_all_wallet_inputs: (a: number, b: number, c: number) => void;
86
+ export const bitgopsbt_sign_ironwood_v6: (a: number, b: number, c: number, d: number) => void;
87
+ export const bitgopsbt_sign_musig2_input: (a: number, b: number, c: number, d: number) => void;
88
+ export const bitgopsbt_sign_single_input_with_privkey: (a: number, b: number, c: number, d: number) => void;
89
+ export const bitgopsbt_sign_single_input_with_xpriv: (a: number, b: number, c: number, d: number) => void;
90
+ export const bitgopsbt_sign_with_privkey: (a: number, b: number, c: number, d: number) => void;
91
+ export const bitgopsbt_sign_with_xpriv: (a: number, b: number, c: number, d: number) => void;
92
+ export const bitgopsbt_transparent_output_unified_address: (a: number, b: number, c: number) => void;
93
+ export const bitgopsbt_unsigned_tx_id: (a: number, b: number) => void;
94
+ export const bitgopsbt_verify_ironwood_v6_signature_with_pub: (a: number, b: number, c: number, d: number) => void;
95
+ export const bitgopsbt_verify_ironwood_v6_signature_with_xpub: (a: number, b: number, c: number, d: number) => void;
96
+ export const bitgopsbt_verify_replay_protection_signature: (a: number, b: number, c: number, d: number) => void;
97
+ export const bitgopsbt_verify_signature_with_pub: (a: number, b: number, c: number, d: number) => void;
98
+ export const bitgopsbt_verify_signature_with_xpub: (a: number, b: number, c: number, d: number) => void;
99
+ export const bitgopsbt_version: (a: number) => number;
100
+ export const bitgopsbt_version_group_id: (a: number) => number;
101
+ export const fixedscriptwalletnamespace_address: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
102
+ export const fixedscriptwalletnamespace_address_with_network_str: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => void;
103
+ export const fixedscriptwalletnamespace_chain_code_table: () => number;
104
+ export const fixedscriptwalletnamespace_create_op_return_script: (a: number, b: number, c: number) => void;
105
+ export const fixedscriptwalletnamespace_get_bitgo_key_subtypes: () => number;
106
+ export const fixedscriptwalletnamespace_output_script: (a: number, b: number, c: number, d: number, e: number) => void;
107
+ export const fixedscriptwalletnamespace_output_script_with_network_str: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
108
+ export const fixedscriptwalletnamespace_p2sh_p2pk_output_script: (a: number, b: number, c: number) => void;
109
+ export const fixedscriptwalletnamespace_supports_script_type: (a: number, b: number, c: number, d: number, e: number) => void;
110
+ export const fixedscriptwalletnamespace_to_wallet_keys: (a: number, b: number, c: number, d: number, e: number) => void;
111
+ export const messagenamespace_sign_message: (a: number, b: number, c: number, d: number) => void;
112
+ export const messagenamespace_verify_message: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
113
+ export const wasmdimensions_empty: () => number;
114
+ export const wasmdimensions_from_input: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
115
+ export const wasmdimensions_from_input_script_type: (a: number, b: number, c: number, d: number) => void;
116
+ export const wasmdimensions_from_output_script_length: (a: number) => number;
117
+ export const wasmdimensions_from_output_script_type: (a: number, b: number, c: number) => void;
118
+ export const wasmdimensions_from_psbt: (a: number, b: number) => void;
119
+ export const wasmdimensions_get_input_vsize: (a: number, b: number, c: number) => number;
120
+ export const wasmdimensions_get_input_weight: (a: number, b: number, c: number) => number;
121
+ export const wasmdimensions_get_output_vsize: (a: number) => number;
122
+ export const wasmdimensions_get_output_weight: (a: number) => number;
123
+ export const wasmdimensions_get_vsize: (a: number, b: number, c: number) => number;
124
+ export const wasmdimensions_get_weight: (a: number, b: number, c: number) => number;
125
+ export const wasmdimensions_has_segwit: (a: number) => number;
126
+ export const wasmdimensions_plus: (a: number, b: number) => number;
127
+ export const wasmdimensions_times: (a: number, b: number) => number;
128
+ export const wasmreplayprotection_from_addresses: (a: number, b: number, c: number, d: number, e: number) => void;
129
+ export const wasmreplayprotection_from_output_scripts: (a: number, b: number) => number;
130
+ export const wasmreplayprotection_from_public_keys: (a: number, b: number, c: number) => void;
131
+ export const bitgopsbt_sign_wallet_input: (a: number, b: number, c: number, d: number) => void;
132
+ export const bitgopsbt_sign_all_with_xpriv: (a: number, b: number, c: number) => void;
133
+ export const bitgopsbt_sign_replay_protection_inputs: (a: number, b: number, c: number) => void;
10
134
  export const __wbg_bip322namespace_free: (a: number, b: number) => void;
11
135
  export const __wbg_inscriptionsnamespace_free: (a: number, b: number) => void;
12
136
  export const __wbg_ironwoodwitness_free: (a: number, b: number) => void;
@@ -15,7 +139,6 @@ export const __wbg_wasmdashtransaction_free: (a: number, b: number) => void;
15
139
  export const __wbg_wasmecpair_free: (a: number, b: number) => void;
16
140
  export const __wbg_wasmrootwalletkeys_free: (a: number, b: number) => void;
17
141
  export const __wbg_wasmtransaction_free: (a: number, b: number) => void;
18
- export const __wbg_wasmutxonamespace_free: (a: number, b: number) => void;
19
142
  export const __wbg_wasmzcashtransaction_free: (a: number, b: number) => void;
20
143
  export const __wbg_wrappsbt_free: (a: number, b: number) => void;
21
144
  export const __wbg_zcashunifiedaddress_free: (a: number, b: number) => void;
@@ -91,7 +214,6 @@ export const wasmtransaction_get_outputs_with_address: (a: number, b: number, c:
91
214
  export const wasmtransaction_get_txid: (a: number, b: number) => void;
92
215
  export const wasmtransaction_get_vsize: (a: number) => number;
93
216
  export const wasmtransaction_to_bytes: (a: number, b: number) => void;
94
- export const wasmutxonamespace_get_wasm_utxo_version: (a: number) => void;
95
217
  export const wasmzcashtransaction_from_bytes: (a: number, b: number, c: number) => void;
96
218
  export const wasmzcashtransaction_get_inputs: (a: number, b: number) => void;
97
219
  export const wasmzcashtransaction_get_outputs: (a: number, b: number) => void;
@@ -181,139 +303,6 @@ export const wasmzcashtransaction_lock_time: (a: number) => number;
181
303
  export const wasmzcashtransaction_version: (a: number) => number;
182
304
  export const wrappsbt_lock_time: (a: number) => number;
183
305
  export const wrappsbt_version: (a: number) => number;
184
- export const __wbg_bitgopsbt_free: (a: number, b: number) => void;
185
- export const __wbg_fixedscriptwalletnamespace_free: (a: number, b: number) => void;
186
- export const __wbg_messagenamespace_free: (a: number, b: number) => void;
187
- export const __wbg_wasmdimensions_free: (a: number, b: number) => void;
188
- export const __wbg_wasmreplayprotection_free: (a: number, b: number) => void;
189
- export const bitgopsbt_add_input: (a: number, b: number, c: number, d: number, e: number, f: bigint, g: number, h: number, i: number, j: number, k: number) => void;
190
- export const bitgopsbt_add_input_at_index: (a: number, b: number, c: number, d: number, e: number, f: number, g: bigint, h: number, i: number, j: number, k: number, l: number) => void;
191
- export const bitgopsbt_add_ironwood_output: (a: number, b: number, c: number, d: number, e: bigint, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number) => void;
192
- export const bitgopsbt_add_ironwood_outputs: (a: number, b: number, c: number, d: number, e: number) => void;
193
- export const bitgopsbt_add_ironwood_v6_signature: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
194
- export const bitgopsbt_add_output: (a: number, b: number, c: number, d: number, e: bigint) => void;
195
- export const bitgopsbt_add_output_at_index: (a: number, b: number, c: number, d: number, e: number, f: bigint) => void;
196
- export const bitgopsbt_add_output_with_address: (a: number, b: number, c: number, d: number, e: bigint) => void;
197
- export const bitgopsbt_add_output_with_address_at_index: (a: number, b: number, c: number, d: number, e: number, f: bigint) => void;
198
- export const bitgopsbt_add_paygo_attestation: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
199
- export const bitgopsbt_add_replay_protection_input: (a: number, b: number, c: number, d: number, e: number, f: number, g: bigint, h: number, i: number, j: number) => void;
200
- export const bitgopsbt_add_replay_protection_input_at_index: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: bigint, i: number, j: number, k: number) => void;
201
- export const bitgopsbt_add_transparent_output: (a: number, b: number, c: number, d: number, e: bigint, f: number, g: number) => void;
202
- export const bitgopsbt_add_wallet_input: (a: number, b: number, c: number, d: number, e: number, f: bigint, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number) => void;
203
- export const bitgopsbt_add_wallet_input_at_index: (a: number, b: number, c: number, d: number, e: number, f: number, g: bigint, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number, q: number) => void;
204
- export const bitgopsbt_add_wallet_output: (a: number, b: number, c: number, d: number, e: bigint, f: number) => void;
205
- export const bitgopsbt_add_wallet_output_at_index: (a: number, b: number, c: number, d: number, e: number, f: bigint, g: number) => void;
206
- export const bitgopsbt_assert_sighash_all_policy: (a: number, b: number) => void;
207
- export const bitgopsbt_combine_inputs: (a: number, b: number, c: number, d: number) => void;
208
- export const bitgopsbt_combine_ironwood_proof: (a: number, b: number, c: number, d: number) => void;
209
- export const bitgopsbt_combine_musig2_nonces: (a: number, b: number, c: number) => void;
210
- export const bitgopsbt_consensus_branch_id: (a: number) => number;
211
- export const bitgopsbt_create_empty: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
212
- export const bitgopsbt_create_empty_zcash: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => void;
213
- export const bitgopsbt_create_empty_zcash_at_height: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => void;
214
- export const bitgopsbt_create_empty_zcash_v6: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
215
- export const bitgopsbt_create_empty_zcash_v6_at_height: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
216
- export const bitgopsbt_delete_input_kv: (a: number, b: number, c: number, d: number) => void;
217
- export const bitgopsbt_delete_kv: (a: number, b: number, c: number) => void;
218
- export const bitgopsbt_delete_output_kv: (a: number, b: number, c: number, d: number) => void;
219
- export const bitgopsbt_expiry_height: (a: number) => number;
220
- export const bitgopsbt_extract_bitcoin_transaction: (a: number, b: number, c: number, d: number) => void;
221
- export const bitgopsbt_extract_dash_transaction: (a: number, b: number, c: number, d: number) => void;
222
- export const bitgopsbt_extract_half_signed_legacy_tx: (a: number, b: number) => void;
223
- export const bitgopsbt_extract_transaction: (a: number, b: number, c: number, d: number) => void;
224
- export const bitgopsbt_extract_zcash_transaction: (a: number, b: number, c: number, d: number) => void;
225
- export const bitgopsbt_finalize_all_inputs: (a: number, b: number) => void;
226
- export const bitgopsbt_from_bytes: (a: number, b: number, c: number, d: number, e: number) => void;
227
- export const bitgopsbt_from_half_signed_legacy_transaction: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
228
- export const bitgopsbt_from_half_signed_legacy_transaction_dash: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
229
- export const bitgopsbt_from_network_format: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
230
- export const bitgopsbt_from_network_format_dash: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
231
- export const bitgopsbt_from_network_format_zcash_with_block_height: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
232
- export const bitgopsbt_from_network_format_zcash_with_branch_id: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
233
- export const bitgopsbt_generate_musig2_nonces: (a: number, b: number, c: number, d: number, e: number) => void;
234
- export const bitgopsbt_get_global_xpubs: (a: number) => number;
235
- export const bitgopsbt_get_input_key_values: (a: number, b: number, c: number) => void;
236
- export const bitgopsbt_get_input_kv: (a: number, b: number, c: number, d: number) => void;
237
- export const bitgopsbt_get_input_sighash_types: (a: number, b: number) => void;
238
- export const bitgopsbt_get_inputs: (a: number, b: number) => void;
239
- export const bitgopsbt_get_kv: (a: number, b: number, c: number) => void;
240
- export const bitgopsbt_get_network_type: (a: number, b: number) => void;
241
- export const bitgopsbt_get_output_kv: (a: number, b: number, c: number, d: number) => void;
242
- export const bitgopsbt_get_outputs: (a: number, b: number) => void;
243
- export const bitgopsbt_get_outputs_with_address: (a: number, b: number) => void;
244
- export const bitgopsbt_get_unsigned_tx: (a: number, b: number) => void;
245
- export const bitgopsbt_input_count: (a: number) => number;
246
- export const bitgopsbt_ironwood_pczt_bytes: (a: number, b: number) => void;
247
- export const bitgopsbt_ironwood_v6_transparent_sighash: (a: number, b: number, c: number) => void;
248
- export const bitgopsbt_ironwood_v6_txid: (a: number, b: number) => void;
249
- export const bitgopsbt_is_musig2_input: (a: number, b: number) => number;
250
- export const bitgopsbt_lock_time: (a: number) => number;
251
- export const bitgopsbt_network: (a: number, b: number) => void;
252
- export const bitgopsbt_output_count: (a: number) => number;
253
- export const bitgopsbt_parse_outputs_with_wallet_keys: (a: number, b: number, c: number, d: number, e: number) => void;
254
- export const bitgopsbt_parse_transaction_with_wallet_keys: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
255
- export const bitgopsbt_remove_input: (a: number, b: number, c: number) => void;
256
- export const bitgopsbt_remove_output: (a: number, b: number, c: number) => void;
257
- export const bitgopsbt_serialize: (a: number, b: number) => void;
258
- export const bitgopsbt_set_input_kv: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
259
- export const bitgopsbt_set_ironwood_out_ciphertext: (a: number, b: number, c: number, d: number, e: number) => void;
260
- export const bitgopsbt_set_kv: (a: number, b: number, c: number, d: number, e: number) => void;
261
- export const bitgopsbt_set_output_kv: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
262
- export const bitgopsbt_sign_all_musig2_inputs: (a: number, b: number, c: number) => void;
263
- export const bitgopsbt_sign_all_replay_protection_inputs: (a: number, b: number, c: number) => void;
264
- export const bitgopsbt_sign_all_wallet_inputs: (a: number, b: number, c: number) => void;
265
- export const bitgopsbt_sign_ironwood_v6: (a: number, b: number, c: number, d: number) => void;
266
- export const bitgopsbt_sign_musig2_input: (a: number, b: number, c: number, d: number) => void;
267
- export const bitgopsbt_sign_single_input_with_privkey: (a: number, b: number, c: number, d: number) => void;
268
- export const bitgopsbt_sign_single_input_with_xpriv: (a: number, b: number, c: number, d: number) => void;
269
- export const bitgopsbt_sign_with_privkey: (a: number, b: number, c: number, d: number) => void;
270
- export const bitgopsbt_sign_with_xpriv: (a: number, b: number, c: number, d: number) => void;
271
- export const bitgopsbt_transparent_output_unified_address: (a: number, b: number, c: number) => void;
272
- export const bitgopsbt_unsigned_tx_id: (a: number, b: number) => void;
273
- export const bitgopsbt_verify_ironwood_v6_signature_with_pub: (a: number, b: number, c: number, d: number) => void;
274
- export const bitgopsbt_verify_ironwood_v6_signature_with_xpub: (a: number, b: number, c: number, d: number) => void;
275
- export const bitgopsbt_verify_replay_protection_signature: (a: number, b: number, c: number, d: number) => void;
276
- export const bitgopsbt_verify_signature_with_pub: (a: number, b: number, c: number, d: number) => void;
277
- export const bitgopsbt_verify_signature_with_xpub: (a: number, b: number, c: number, d: number) => void;
278
- export const bitgopsbt_version: (a: number) => number;
279
- export const bitgopsbt_version_group_id: (a: number) => number;
280
- export const fixedscriptwalletnamespace_address: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
281
- export const fixedscriptwalletnamespace_address_with_network_str: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => void;
282
- export const fixedscriptwalletnamespace_chain_code_table: () => number;
283
- export const fixedscriptwalletnamespace_create_op_return_script: (a: number, b: number, c: number) => void;
284
- export const fixedscriptwalletnamespace_get_bitgo_key_subtypes: () => number;
285
- export const fixedscriptwalletnamespace_output_script: (a: number, b: number, c: number, d: number, e: number) => void;
286
- export const fixedscriptwalletnamespace_output_script_with_network_str: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
287
- export const fixedscriptwalletnamespace_p2sh_p2pk_output_script: (a: number, b: number, c: number) => void;
288
- export const fixedscriptwalletnamespace_supports_script_type: (a: number, b: number, c: number, d: number, e: number) => void;
289
- export const fixedscriptwalletnamespace_to_wallet_keys: (a: number, b: number, c: number, d: number, e: number) => void;
290
- export const isInspectEnabled: () => number;
291
- export const messagenamespace_sign_message: (a: number, b: number, c: number, d: number) => void;
292
- export const messagenamespace_verify_message: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
293
- export const parsePsbtRawToJson: (a: number, b: number, c: number, d: number, e: number) => void;
294
- export const wasmdimensions_empty: () => number;
295
- export const wasmdimensions_from_input: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
296
- export const wasmdimensions_from_input_script_type: (a: number, b: number, c: number, d: number) => void;
297
- export const wasmdimensions_from_output_script_length: (a: number) => number;
298
- export const wasmdimensions_from_output_script_type: (a: number, b: number, c: number) => void;
299
- export const wasmdimensions_from_psbt: (a: number, b: number) => void;
300
- export const wasmdimensions_get_input_vsize: (a: number, b: number, c: number) => number;
301
- export const wasmdimensions_get_input_weight: (a: number, b: number, c: number) => number;
302
- export const wasmdimensions_get_output_vsize: (a: number) => number;
303
- export const wasmdimensions_get_output_weight: (a: number) => number;
304
- export const wasmdimensions_get_vsize: (a: number, b: number, c: number) => number;
305
- export const wasmdimensions_get_weight: (a: number, b: number, c: number) => number;
306
- export const wasmdimensions_has_segwit: (a: number) => number;
307
- export const wasmdimensions_plus: (a: number, b: number) => number;
308
- export const wasmdimensions_times: (a: number, b: number) => number;
309
- export const wasmreplayprotection_from_addresses: (a: number, b: number, c: number, d: number, e: number) => void;
310
- export const wasmreplayprotection_from_output_scripts: (a: number, b: number) => number;
311
- export const wasmreplayprotection_from_public_keys: (a: number, b: number, c: number) => void;
312
- export const parsePsbtToJson: (a: number, b: number, c: number, d: number, e: number) => void;
313
- export const parseTxToJson: (a: number, b: number, c: number, d: number, e: number) => void;
314
- export const bitgopsbt_sign_wallet_input: (a: number, b: number, c: number, d: number) => void;
315
- export const bitgopsbt_sign_all_with_xpriv: (a: number, b: number, c: number) => void;
316
- export const bitgopsbt_sign_replay_protection_inputs: (a: number, b: number, c: number) => void;
317
306
  export const __wbg_wrapdescriptor_free: (a: number, b: number) => void;
318
307
  export const __wbg_wrapminiscript_free: (a: number, b: number) => void;
319
308
  export const wrapdescriptor_atDerivationIndex: (a: number, b: number, c: number) => void;
@@ -336,6 +325,18 @@ export const wrapminiscript_fromStringExt: (a: number, b: number, c: number, d:
336
325
  export const wrapminiscript_node: (a: number, b: number) => void;
337
326
  export const wrapminiscript_toAsmString: (a: number, b: number) => void;
338
327
  export const wrapminiscript_toString: (a: number, b: number) => void;
328
+ export const __wbg_addressnamespace_free: (a: number, b: number) => void;
329
+ export const __wbg_utxolibcompatnamespace_free: (a: number, b: number) => void;
330
+ export const __wbg_wasmutxonamespace_free: (a: number, b: number) => void;
331
+ export const addressnamespace_from_output_script_with_coin: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
332
+ export const addressnamespace_to_output_script_with_coin: (a: number, b: number, c: number, d: number, e: number) => void;
333
+ export const isInspectEnabled: () => number;
334
+ export const parsePsbtRawToJson: (a: number, b: number, c: number, d: number, e: number) => void;
335
+ export const utxolibcompatnamespace_from_output_script: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
336
+ export const utxolibcompatnamespace_to_output_script: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
337
+ export const wasmutxonamespace_get_wasm_utxo_version: (a: number) => void;
338
+ export const parsePsbtToJson: (a: number, b: number, c: number, d: number, e: number) => void;
339
+ export const parseTxToJson: (a: number, b: number, c: number, d: number, e: number) => void;
339
340
  export const rustsecp256k1_v0_10_0_context_create: (a: number) => number;
340
341
  export const rustsecp256k1_v0_10_0_context_destroy: (a: number) => void;
341
342
  export const rustsecp256k1_v0_10_0_default_error_callback_fn: (a: number, b: number) => void;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@bitgo/wasm-utxo",
3
3
  "description": "WebAssembly wrapper for rust-bitcoin (beta)",
4
- "version": "5.6.0",
4
+ "version": "5.8.0",
5
5
  "type": "module",
6
6
  "repository": {
7
7
  "type": "git",