@bitgo/wasm-utxo 1.41.0 → 1.42.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.
@@ -91,6 +91,13 @@ export type AddWalletOutputOptions = {
91
91
  /** Value in satoshis */
92
92
  value: bigint;
93
93
  };
94
+ export type ParseTransactionOptions = {
95
+ replayProtection: ReplayProtectionArg;
96
+ payGoPubkeys?: ECPairArg[];
97
+ };
98
+ export type ParseOutputsOptions = {
99
+ payGoPubkeys?: ECPairArg[];
100
+ };
94
101
  export declare class BitGoPsbt implements IPsbtIntrospectionWithAddress {
95
102
  protected _wasm: WasmBitGoPsbt;
96
103
  protected constructor(_wasm: WasmBitGoPsbt);
@@ -306,11 +313,12 @@ export declare class BitGoPsbt implements IPsbtIntrospectionWithAddress {
306
313
  /**
307
314
  * Parse transaction with wallet keys to identify wallet inputs/outputs
308
315
  * @param walletKeys - The wallet keys to use for identification
309
- * @param replayProtection - Scripts that are allowed as inputs without wallet validation
310
- * @param payGoPubkeys - Optional public keys for PayGo attestation verification
316
+ * @param options - Options for parsing
317
+ * @param options.replayProtection - Scripts that are allowed as inputs without wallet validation
318
+ * @param options.payGoPubkeys - Optional public keys for PayGo attestation verification
311
319
  * @returns Parsed transaction information
312
320
  */
313
- parseTransactionWithWalletKeys(walletKeys: WalletKeysArg, replayProtection: ReplayProtectionArg, payGoPubkeys?: ECPairArg[]): ParsedTransaction;
321
+ parseTransactionWithWalletKeys(walletKeys: WalletKeysArg, options: ParseTransactionOptions): ParsedTransaction;
314
322
  /**
315
323
  * Parse outputs with wallet keys to identify which outputs belong to a wallet
316
324
  * with the given wallet keys.
@@ -319,11 +327,12 @@ export declare class BitGoPsbt implements IPsbtIntrospectionWithAddress {
319
327
  * wallet than the inputs.
320
328
  *
321
329
  * @param walletKeys - The wallet keys to use for identification
322
- * @param payGoPubkeys - Optional public keys for PayGo attestation verification
330
+ * @param options - Optional options for parsing
331
+ * @param options.payGoPubkeys - Optional public keys for PayGo attestation verification
323
332
  * @returns Array of parsed outputs
324
333
  * @note This method does NOT validate wallet inputs. It only parses outputs.
325
334
  */
326
- parseOutputsWithWalletKeys(walletKeys: WalletKeysArg, payGoPubkeys?: ECPairArg[]): ParsedOutput[];
335
+ parseOutputsWithWalletKeys(walletKeys: WalletKeysArg, options?: ParseOutputsOptions): ParsedOutput[];
327
336
  /**
328
337
  * Add a PayGo attestation to a PSBT output
329
338
  *
@@ -503,7 +512,7 @@ export declare class BitGoPsbt implements IPsbtIntrospectionWithAddress {
503
512
  * const counterpartyPsbt = BitGoPsbt.fromBytes(counterpartyPsbtBytes, network);
504
513
  * psbt.combineMusig2Nonces(counterpartyPsbt);
505
514
  * // Sign MuSig2 key path inputs
506
- * const parsed = psbt.parseTransactionWithWalletKeys(walletKeys, replayProtection);
515
+ * const parsed = psbt.parseTransactionWithWalletKeys(walletKeys, { replayProtection });
507
516
  * for (let i = 0; i < parsed.inputs.length; i++) {
508
517
  * if (parsed.inputs[i].scriptType === "p2trMusig2KeyPath") {
509
518
  * psbt.sign(i, userXpriv);
@@ -221,14 +221,15 @@ class BitGoPsbt {
221
221
  /**
222
222
  * Parse transaction with wallet keys to identify wallet inputs/outputs
223
223
  * @param walletKeys - The wallet keys to use for identification
224
- * @param replayProtection - Scripts that are allowed as inputs without wallet validation
225
- * @param payGoPubkeys - Optional public keys for PayGo attestation verification
224
+ * @param options - Options for parsing
225
+ * @param options.replayProtection - Scripts that are allowed as inputs without wallet validation
226
+ * @param options.payGoPubkeys - Optional public keys for PayGo attestation verification
226
227
  * @returns Parsed transaction information
227
228
  */
228
- parseTransactionWithWalletKeys(walletKeys, replayProtection, payGoPubkeys) {
229
+ parseTransactionWithWalletKeys(walletKeys, options) {
229
230
  const keys = RootWalletKeys_js_1.RootWalletKeys.from(walletKeys);
230
- const rp = ReplayProtection_js_1.ReplayProtection.from(replayProtection, this._wasm.network());
231
- const pubkeys = payGoPubkeys?.map((arg) => ecpair_js_1.ECPair.from(arg).wasm);
231
+ const rp = ReplayProtection_js_1.ReplayProtection.from(options.replayProtection, this._wasm.network());
232
+ const pubkeys = options.payGoPubkeys?.map((arg) => ecpair_js_1.ECPair.from(arg).wasm);
232
233
  return this._wasm.parse_transaction_with_wallet_keys(keys.wasm, rp.wasm, pubkeys);
233
234
  }
234
235
  /**
@@ -239,13 +240,14 @@ class BitGoPsbt {
239
240
  * wallet than the inputs.
240
241
  *
241
242
  * @param walletKeys - The wallet keys to use for identification
242
- * @param payGoPubkeys - Optional public keys for PayGo attestation verification
243
+ * @param options - Optional options for parsing
244
+ * @param options.payGoPubkeys - Optional public keys for PayGo attestation verification
243
245
  * @returns Array of parsed outputs
244
246
  * @note This method does NOT validate wallet inputs. It only parses outputs.
245
247
  */
246
- parseOutputsWithWalletKeys(walletKeys, payGoPubkeys) {
248
+ parseOutputsWithWalletKeys(walletKeys, options) {
247
249
  const keys = RootWalletKeys_js_1.RootWalletKeys.from(walletKeys);
248
- const pubkeys = payGoPubkeys?.map((arg) => ecpair_js_1.ECPair.from(arg).wasm);
250
+ const pubkeys = options?.payGoPubkeys?.map((arg) => ecpair_js_1.ECPair.from(arg).wasm);
249
251
  return this._wasm.parse_outputs_with_wallet_keys(keys.wasm, pubkeys);
250
252
  }
251
253
  /**
@@ -447,7 +449,7 @@ class BitGoPsbt {
447
449
  * const counterpartyPsbt = BitGoPsbt.fromBytes(counterpartyPsbtBytes, network);
448
450
  * psbt.combineMusig2Nonces(counterpartyPsbt);
449
451
  * // Sign MuSig2 key path inputs
450
- * const parsed = psbt.parseTransactionWithWalletKeys(walletKeys, replayProtection);
452
+ * const parsed = psbt.parseTransactionWithWalletKeys(walletKeys, { replayProtection });
451
453
  * for (let i = 0; i < parsed.inputs.length; i++) {
452
454
  * if (parsed.inputs[i].scriptType === "p2trMusig2KeyPath") {
453
455
  * psbt.sign(i, userXpriv);
@@ -5,7 +5,7 @@ export { outputScript, address } from "./address.js";
5
5
  export { Dimensions } from "./Dimensions.js";
6
6
  export { outputScriptTypes, inputScriptTypes, type OutputScriptType, type InputScriptType, type ScriptType, } from "./scriptType.js";
7
7
  export { ChainCode, chainCodes, assertChainCode, type Scope } from "./chains.js";
8
- export { BitGoPsbt, type NetworkName, type ScriptId, type ParsedInput, type ParsedOutput, type ParsedTransaction, type SignPath, type CreateEmptyOptions, type AddInputOptions, type AddOutputOptions, type AddWalletInputOptions, type AddWalletOutputOptions, } from "./BitGoPsbt.js";
8
+ export { BitGoPsbt, type NetworkName, type ScriptId, type ParsedInput, type ParsedOutput, type ParsedTransaction, type SignPath, type CreateEmptyOptions, type AddInputOptions, type AddOutputOptions, type AddWalletInputOptions, type AddWalletOutputOptions, type ParseTransactionOptions, type ParseOutputsOptions, } from "./BitGoPsbt.js";
9
9
  export { ZcashBitGoPsbt, type ZcashNetworkName, type CreateEmptyZcashOptions, } from "./ZcashBitGoPsbt.js";
10
10
  export type { PsbtBip32Derivation, PsbtInputData, PsbtOutputData, PsbtOutputDataWithAddress, PsbtWitnessUtxo, } from "../wasm/wasm_utxo.js";
11
11
  import type { ScriptType } from "./scriptType.js";
Binary file
@@ -29,15 +29,6 @@ export const wasmtransaction_to_bytes: (a: number, b: number) => void;
29
29
  export const wasmzcashtransaction_from_bytes: (a: number, b: number, c: number) => void;
30
30
  export const wasmzcashtransaction_get_txid: (a: number, b: number) => void;
31
31
  export const wasmzcashtransaction_to_bytes: (a: number, b: number) => void;
32
- export const __wbg_messagenamespace_free: (a: number, b: number) => void;
33
- export const __wbg_wasmrootwalletkeys_free: (a: number, b: number) => void;
34
- export const messagenamespace_sign_message: (a: number, b: number, c: number, d: number) => void;
35
- export const messagenamespace_verify_message: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
36
- export const wasmrootwalletkeys_backup_key: (a: number) => number;
37
- export const wasmrootwalletkeys_bitgo_key: (a: number) => number;
38
- export const wasmrootwalletkeys_new: (a: number, b: number, c: number, d: number) => void;
39
- export const wasmrootwalletkeys_user_key: (a: number) => number;
40
- export const wasmrootwalletkeys_with_derivation_prefixes: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => void;
41
32
  export const __wbg_bip322namespace_free: (a: number, b: number) => void;
42
33
  export const __wbg_bitgopsbt_free: (a: number, b: number) => void;
43
34
  export const __wbg_fixedscriptwalletnamespace_free: (a: number, b: number) => void;
@@ -137,6 +128,15 @@ export const wasmbip32_from_bip32_properties: (a: number, b: number) => void;
137
128
  export const bitgopsbt_sign_wallet_input: (a: number, b: number, c: number, d: number) => void;
138
129
  export const bitgopsbt_sign_all_with_xpriv: (a: number, b: number, c: number) => void;
139
130
  export const bitgopsbt_sign_replay_protection_inputs: (a: number, b: number, c: number) => void;
131
+ export const __wbg_messagenamespace_free: (a: number, b: number) => void;
132
+ export const __wbg_wasmrootwalletkeys_free: (a: number, b: number) => void;
133
+ export const messagenamespace_sign_message: (a: number, b: number, c: number, d: number) => void;
134
+ export const messagenamespace_verify_message: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
135
+ export const wasmrootwalletkeys_backup_key: (a: number) => number;
136
+ export const wasmrootwalletkeys_bitgo_key: (a: number) => number;
137
+ export const wasmrootwalletkeys_new: (a: number, b: number, c: number, d: number) => void;
138
+ export const wasmrootwalletkeys_user_key: (a: number) => number;
139
+ export const wasmrootwalletkeys_with_derivation_prefixes: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => void;
140
140
  export const __wbg_addressnamespace_free: (a: number, b: number) => void;
141
141
  export const __wbg_wasmecpair_free: (a: number, b: number) => void;
142
142
  export const __wbg_wrappsbt_free: (a: number, b: number) => void;
@@ -91,6 +91,13 @@ export type AddWalletOutputOptions = {
91
91
  /** Value in satoshis */
92
92
  value: bigint;
93
93
  };
94
+ export type ParseTransactionOptions = {
95
+ replayProtection: ReplayProtectionArg;
96
+ payGoPubkeys?: ECPairArg[];
97
+ };
98
+ export type ParseOutputsOptions = {
99
+ payGoPubkeys?: ECPairArg[];
100
+ };
94
101
  export declare class BitGoPsbt implements IPsbtIntrospectionWithAddress {
95
102
  protected _wasm: WasmBitGoPsbt;
96
103
  protected constructor(_wasm: WasmBitGoPsbt);
@@ -306,11 +313,12 @@ export declare class BitGoPsbt implements IPsbtIntrospectionWithAddress {
306
313
  /**
307
314
  * Parse transaction with wallet keys to identify wallet inputs/outputs
308
315
  * @param walletKeys - The wallet keys to use for identification
309
- * @param replayProtection - Scripts that are allowed as inputs without wallet validation
310
- * @param payGoPubkeys - Optional public keys for PayGo attestation verification
316
+ * @param options - Options for parsing
317
+ * @param options.replayProtection - Scripts that are allowed as inputs without wallet validation
318
+ * @param options.payGoPubkeys - Optional public keys for PayGo attestation verification
311
319
  * @returns Parsed transaction information
312
320
  */
313
- parseTransactionWithWalletKeys(walletKeys: WalletKeysArg, replayProtection: ReplayProtectionArg, payGoPubkeys?: ECPairArg[]): ParsedTransaction;
321
+ parseTransactionWithWalletKeys(walletKeys: WalletKeysArg, options: ParseTransactionOptions): ParsedTransaction;
314
322
  /**
315
323
  * Parse outputs with wallet keys to identify which outputs belong to a wallet
316
324
  * with the given wallet keys.
@@ -319,11 +327,12 @@ export declare class BitGoPsbt implements IPsbtIntrospectionWithAddress {
319
327
  * wallet than the inputs.
320
328
  *
321
329
  * @param walletKeys - The wallet keys to use for identification
322
- * @param payGoPubkeys - Optional public keys for PayGo attestation verification
330
+ * @param options - Optional options for parsing
331
+ * @param options.payGoPubkeys - Optional public keys for PayGo attestation verification
323
332
  * @returns Array of parsed outputs
324
333
  * @note This method does NOT validate wallet inputs. It only parses outputs.
325
334
  */
326
- parseOutputsWithWalletKeys(walletKeys: WalletKeysArg, payGoPubkeys?: ECPairArg[]): ParsedOutput[];
335
+ parseOutputsWithWalletKeys(walletKeys: WalletKeysArg, options?: ParseOutputsOptions): ParsedOutput[];
327
336
  /**
328
337
  * Add a PayGo attestation to a PSBT output
329
338
  *
@@ -503,7 +512,7 @@ export declare class BitGoPsbt implements IPsbtIntrospectionWithAddress {
503
512
  * const counterpartyPsbt = BitGoPsbt.fromBytes(counterpartyPsbtBytes, network);
504
513
  * psbt.combineMusig2Nonces(counterpartyPsbt);
505
514
  * // Sign MuSig2 key path inputs
506
- * const parsed = psbt.parseTransactionWithWalletKeys(walletKeys, replayProtection);
515
+ * const parsed = psbt.parseTransactionWithWalletKeys(walletKeys, { replayProtection });
507
516
  * for (let i = 0; i < parsed.inputs.length; i++) {
508
517
  * if (parsed.inputs[i].scriptType === "p2trMusig2KeyPath") {
509
518
  * psbt.sign(i, userXpriv);
@@ -218,14 +218,15 @@ export class BitGoPsbt {
218
218
  /**
219
219
  * Parse transaction with wallet keys to identify wallet inputs/outputs
220
220
  * @param walletKeys - The wallet keys to use for identification
221
- * @param replayProtection - Scripts that are allowed as inputs without wallet validation
222
- * @param payGoPubkeys - Optional public keys for PayGo attestation verification
221
+ * @param options - Options for parsing
222
+ * @param options.replayProtection - Scripts that are allowed as inputs without wallet validation
223
+ * @param options.payGoPubkeys - Optional public keys for PayGo attestation verification
223
224
  * @returns Parsed transaction information
224
225
  */
225
- parseTransactionWithWalletKeys(walletKeys, replayProtection, payGoPubkeys) {
226
+ parseTransactionWithWalletKeys(walletKeys, options) {
226
227
  const keys = RootWalletKeys.from(walletKeys);
227
- const rp = ReplayProtection.from(replayProtection, this._wasm.network());
228
- const pubkeys = payGoPubkeys?.map((arg) => ECPair.from(arg).wasm);
228
+ const rp = ReplayProtection.from(options.replayProtection, this._wasm.network());
229
+ const pubkeys = options.payGoPubkeys?.map((arg) => ECPair.from(arg).wasm);
229
230
  return this._wasm.parse_transaction_with_wallet_keys(keys.wasm, rp.wasm, pubkeys);
230
231
  }
231
232
  /**
@@ -236,13 +237,14 @@ export class BitGoPsbt {
236
237
  * wallet than the inputs.
237
238
  *
238
239
  * @param walletKeys - The wallet keys to use for identification
239
- * @param payGoPubkeys - Optional public keys for PayGo attestation verification
240
+ * @param options - Optional options for parsing
241
+ * @param options.payGoPubkeys - Optional public keys for PayGo attestation verification
240
242
  * @returns Array of parsed outputs
241
243
  * @note This method does NOT validate wallet inputs. It only parses outputs.
242
244
  */
243
- parseOutputsWithWalletKeys(walletKeys, payGoPubkeys) {
245
+ parseOutputsWithWalletKeys(walletKeys, options) {
244
246
  const keys = RootWalletKeys.from(walletKeys);
245
- const pubkeys = payGoPubkeys?.map((arg) => ECPair.from(arg).wasm);
247
+ const pubkeys = options?.payGoPubkeys?.map((arg) => ECPair.from(arg).wasm);
246
248
  return this._wasm.parse_outputs_with_wallet_keys(keys.wasm, pubkeys);
247
249
  }
248
250
  /**
@@ -444,7 +446,7 @@ export class BitGoPsbt {
444
446
  * const counterpartyPsbt = BitGoPsbt.fromBytes(counterpartyPsbtBytes, network);
445
447
  * psbt.combineMusig2Nonces(counterpartyPsbt);
446
448
  * // Sign MuSig2 key path inputs
447
- * const parsed = psbt.parseTransactionWithWalletKeys(walletKeys, replayProtection);
449
+ * const parsed = psbt.parseTransactionWithWalletKeys(walletKeys, { replayProtection });
448
450
  * for (let i = 0; i < parsed.inputs.length; i++) {
449
451
  * if (parsed.inputs[i].scriptType === "p2trMusig2KeyPath") {
450
452
  * psbt.sign(i, userXpriv);
@@ -5,7 +5,7 @@ export { outputScript, address } from "./address.js";
5
5
  export { Dimensions } from "./Dimensions.js";
6
6
  export { outputScriptTypes, inputScriptTypes, type OutputScriptType, type InputScriptType, type ScriptType, } from "./scriptType.js";
7
7
  export { ChainCode, chainCodes, assertChainCode, type Scope } from "./chains.js";
8
- export { BitGoPsbt, type NetworkName, type ScriptId, type ParsedInput, type ParsedOutput, type ParsedTransaction, type SignPath, type CreateEmptyOptions, type AddInputOptions, type AddOutputOptions, type AddWalletInputOptions, type AddWalletOutputOptions, } from "./BitGoPsbt.js";
8
+ export { BitGoPsbt, type NetworkName, type ScriptId, type ParsedInput, type ParsedOutput, type ParsedTransaction, type SignPath, type CreateEmptyOptions, type AddInputOptions, type AddOutputOptions, type AddWalletInputOptions, type AddWalletOutputOptions, type ParseTransactionOptions, type ParseOutputsOptions, } from "./BitGoPsbt.js";
9
9
  export { ZcashBitGoPsbt, type ZcashNetworkName, type CreateEmptyZcashOptions, } from "./ZcashBitGoPsbt.js";
10
10
  export type { PsbtBip32Derivation, PsbtInputData, PsbtOutputData, PsbtOutputDataWithAddress, PsbtWitnessUtxo, } from "../wasm/wasm_utxo.js";
11
11
  import type { ScriptType } from "./scriptType.js";
Binary file
@@ -29,15 +29,6 @@ export const wasmtransaction_to_bytes: (a: number, b: number) => void;
29
29
  export const wasmzcashtransaction_from_bytes: (a: number, b: number, c: number) => void;
30
30
  export const wasmzcashtransaction_get_txid: (a: number, b: number) => void;
31
31
  export const wasmzcashtransaction_to_bytes: (a: number, b: number) => void;
32
- export const __wbg_messagenamespace_free: (a: number, b: number) => void;
33
- export const __wbg_wasmrootwalletkeys_free: (a: number, b: number) => void;
34
- export const messagenamespace_sign_message: (a: number, b: number, c: number, d: number) => void;
35
- export const messagenamespace_verify_message: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
36
- export const wasmrootwalletkeys_backup_key: (a: number) => number;
37
- export const wasmrootwalletkeys_bitgo_key: (a: number) => number;
38
- export const wasmrootwalletkeys_new: (a: number, b: number, c: number, d: number) => void;
39
- export const wasmrootwalletkeys_user_key: (a: number) => number;
40
- export const wasmrootwalletkeys_with_derivation_prefixes: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => void;
41
32
  export const __wbg_bip322namespace_free: (a: number, b: number) => void;
42
33
  export const __wbg_bitgopsbt_free: (a: number, b: number) => void;
43
34
  export const __wbg_fixedscriptwalletnamespace_free: (a: number, b: number) => void;
@@ -137,6 +128,15 @@ export const wasmbip32_from_bip32_properties: (a: number, b: number) => void;
137
128
  export const bitgopsbt_sign_wallet_input: (a: number, b: number, c: number, d: number) => void;
138
129
  export const bitgopsbt_sign_all_with_xpriv: (a: number, b: number, c: number) => void;
139
130
  export const bitgopsbt_sign_replay_protection_inputs: (a: number, b: number, c: number) => void;
131
+ export const __wbg_messagenamespace_free: (a: number, b: number) => void;
132
+ export const __wbg_wasmrootwalletkeys_free: (a: number, b: number) => void;
133
+ export const messagenamespace_sign_message: (a: number, b: number, c: number, d: number) => void;
134
+ export const messagenamespace_verify_message: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
135
+ export const wasmrootwalletkeys_backup_key: (a: number) => number;
136
+ export const wasmrootwalletkeys_bitgo_key: (a: number) => number;
137
+ export const wasmrootwalletkeys_new: (a: number, b: number, c: number, d: number) => void;
138
+ export const wasmrootwalletkeys_user_key: (a: number) => number;
139
+ export const wasmrootwalletkeys_with_derivation_prefixes: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => void;
140
140
  export const __wbg_addressnamespace_free: (a: number, b: number) => void;
141
141
  export const __wbg_wasmecpair_free: (a: number, b: number) => void;
142
142
  export const __wbg_wrappsbt_free: (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": "1.41.0",
4
+ "version": "1.42.0",
5
5
  "type": "module",
6
6
  "repository": {
7
7
  "type": "git",