@bitgo/wasm-utxo 1.44.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -368,6 +368,36 @@ class BitGoPsbt {
368
368
  const ptr = this.__destroy_into_raw();
369
369
  wasm.__wbg_bitgopsbt_free(ptr, 0);
370
370
  }
371
+ /**
372
+ * @param {string} txid
373
+ * @param {number} vout
374
+ * @param {bigint} value
375
+ * @param {Uint8Array} script
376
+ * @param {number | null} [sequence]
377
+ * @param {Uint8Array | null} [prev_tx]
378
+ * @returns {number}
379
+ */
380
+ add_input(txid, vout, value, script, sequence, prev_tx) {
381
+ try {
382
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
383
+ const ptr0 = passStringToWasm0(txid, wasm.__wbindgen_export, wasm.__wbindgen_export2);
384
+ const len0 = WASM_VECTOR_LEN;
385
+ const ptr1 = passArray8ToWasm0(script, wasm.__wbindgen_export);
386
+ const len1 = WASM_VECTOR_LEN;
387
+ var ptr2 = isLikeNone(prev_tx) ? 0 : passArray8ToWasm0(prev_tx, wasm.__wbindgen_export);
388
+ var len2 = WASM_VECTOR_LEN;
389
+ wasm.bitgopsbt_add_input(retptr, this.__wbg_ptr, ptr0, len0, vout, value, ptr1, len1, isLikeNone(sequence) ? 0x100000001 : (sequence) >>> 0, ptr2, len2);
390
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
391
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
392
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
393
+ if (r2) {
394
+ throw takeObject(r1);
395
+ }
396
+ return r0 >>> 0;
397
+ } finally {
398
+ wasm.__wbindgen_add_to_stack_pointer(16);
399
+ }
400
+ }
371
401
  /**
372
402
  * Add an input to the PSBT
373
403
  *
@@ -380,6 +410,7 @@ class BitGoPsbt {
380
410
  *
381
411
  * # Returns
382
412
  * The index of the newly added input
413
+ * @param {number} index
383
414
  * @param {string} txid
384
415
  * @param {number} vout
385
416
  * @param {bigint} value
@@ -388,7 +419,7 @@ class BitGoPsbt {
388
419
  * @param {Uint8Array | null} [prev_tx]
389
420
  * @returns {number}
390
421
  */
391
- add_input(txid, vout, value, script, sequence, prev_tx) {
422
+ add_input_at_index(index, txid, vout, value, script, sequence, prev_tx) {
392
423
  try {
393
424
  const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
394
425
  const ptr0 = passStringToWasm0(txid, wasm.__wbindgen_export, wasm.__wbindgen_export2);
@@ -397,7 +428,7 @@ class BitGoPsbt {
397
428
  const len1 = WASM_VECTOR_LEN;
398
429
  var ptr2 = isLikeNone(prev_tx) ? 0 : passArray8ToWasm0(prev_tx, wasm.__wbindgen_export);
399
430
  var len2 = WASM_VECTOR_LEN;
400
- wasm.bitgopsbt_add_input(retptr, this.__wbg_ptr, ptr0, len0, vout, value, ptr1, len1, isLikeNone(sequence) ? 0x100000001 : (sequence) >>> 0, ptr2, len2);
431
+ wasm.bitgopsbt_add_input_at_index(retptr, this.__wbg_ptr, index, ptr0, len0, vout, value, ptr1, len1, isLikeNone(sequence) ? 0x100000001 : (sequence) >>> 0, ptr2, len2);
401
432
  var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
402
433
  var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
403
434
  var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
@@ -410,14 +441,6 @@ class BitGoPsbt {
410
441
  }
411
442
  }
412
443
  /**
413
- * Add an output to the PSBT
414
- *
415
- * # Arguments
416
- * * `script` - The output script (scriptPubKey)
417
- * * `value` - The value in satoshis
418
- *
419
- * # Returns
420
- * The index of the newly added output
421
444
  * @param {Uint8Array} script
422
445
  * @param {bigint} value
423
446
  * @returns {number}
@@ -440,14 +463,29 @@ class BitGoPsbt {
440
463
  }
441
464
  }
442
465
  /**
443
- * Add an output to the PSBT by address
444
- *
445
- * # Arguments
446
- * * `address` - The destination address
447
- * * `value` - The value in satoshis
448
- *
449
- * # Returns
450
- * The index of the newly added output
466
+ * @param {number} index
467
+ * @param {Uint8Array} script
468
+ * @param {bigint} value
469
+ * @returns {number}
470
+ */
471
+ add_output_at_index(index, script, value) {
472
+ try {
473
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
474
+ const ptr0 = passArray8ToWasm0(script, wasm.__wbindgen_export);
475
+ const len0 = WASM_VECTOR_LEN;
476
+ wasm.bitgopsbt_add_output_at_index(retptr, this.__wbg_ptr, index, ptr0, len0, value);
477
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
478
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
479
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
480
+ if (r2) {
481
+ throw takeObject(r1);
482
+ }
483
+ return r0 >>> 0;
484
+ } finally {
485
+ wasm.__wbindgen_add_to_stack_pointer(16);
486
+ }
487
+ }
488
+ /**
451
489
  * @param {string} address
452
490
  * @param {bigint} value
453
491
  * @returns {number}
@@ -469,6 +507,29 @@ class BitGoPsbt {
469
507
  wasm.__wbindgen_add_to_stack_pointer(16);
470
508
  }
471
509
  }
510
+ /**
511
+ * @param {number} index
512
+ * @param {string} address
513
+ * @param {bigint} value
514
+ * @returns {number}
515
+ */
516
+ add_output_with_address_at_index(index, address, value) {
517
+ try {
518
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
519
+ const ptr0 = passStringToWasm0(address, wasm.__wbindgen_export, wasm.__wbindgen_export2);
520
+ const len0 = WASM_VECTOR_LEN;
521
+ wasm.bitgopsbt_add_output_with_address_at_index(retptr, this.__wbg_ptr, index, ptr0, len0, value);
522
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
523
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
524
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
525
+ if (r2) {
526
+ throw takeObject(r1);
527
+ }
528
+ return r0 >>> 0;
529
+ } finally {
530
+ wasm.__wbindgen_add_to_stack_pointer(16);
531
+ }
532
+ }
472
533
  /**
473
534
  * Add a PayGo attestation to a PSBT output
474
535
  *
@@ -502,20 +563,6 @@ class BitGoPsbt {
502
563
  }
503
564
  }
504
565
  /**
505
- * Add a replay protection input to the PSBT
506
- *
507
- * Replay protection inputs are P2SH-P2PK inputs used on forked networks to prevent
508
- * transaction replay attacks. They use a simple pubkey script without wallet derivation.
509
- *
510
- * # Arguments
511
- * * `ecpair` - The ECPair containing the public key for the replay protection input
512
- * * `txid` - The transaction ID (hex string) of the output being spent
513
- * * `vout` - The output index being spent
514
- * * `value` - The value in satoshis
515
- * * `sequence` - Optional sequence number (default: 0xFFFFFFFE for RBF)
516
- *
517
- * # Returns
518
- * The index of the newly added input
519
566
  * @param {WasmECPair} ecpair
520
567
  * @param {string} txid
521
568
  * @param {number} vout
@@ -545,25 +592,36 @@ class BitGoPsbt {
545
592
  }
546
593
  }
547
594
  /**
548
- * Add a wallet input with full PSBT metadata
549
- *
550
- * This is a higher-level method that adds an input and populates all required
551
- * PSBT fields (scripts, derivation info, etc.) based on the wallet's chain type.
552
- *
553
- * # Arguments
554
- * * `txid` - The transaction ID (hex string)
555
- * * `vout` - The output index being spent
556
- * * `value` - The value in satoshis
557
- * * `chain` - The chain code (0/1=p2sh, 10/11=p2shP2wsh, 20/21=p2wsh, 30/31=p2tr, 40/41=p2trMusig2)
558
- * * `index` - The derivation index
559
- * * `wallet_keys` - The root wallet keys
560
- * * `signer` - The key that will sign ("user", "backup", or "bitgo") - required for p2tr/p2trMusig2
561
- * * `cosigner` - The key that will co-sign - required for p2tr/p2trMusig2
562
- * * `sequence` - Optional sequence number (default: 0xFFFFFFFE for RBF)
563
- * * `prev_tx` - Optional full previous transaction bytes (for non-segwit)
564
- *
565
- * # Returns
566
- * The index of the newly added input
595
+ * @param {number} index
596
+ * @param {WasmECPair} ecpair
597
+ * @param {string} txid
598
+ * @param {number} vout
599
+ * @param {bigint} value
600
+ * @param {number | null} [sequence]
601
+ * @param {Uint8Array | null} [prev_tx]
602
+ * @returns {number}
603
+ */
604
+ add_replay_protection_input_at_index(index, ecpair, txid, vout, value, sequence, prev_tx) {
605
+ try {
606
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
607
+ _assertClass(ecpair, WasmECPair);
608
+ const ptr0 = passStringToWasm0(txid, wasm.__wbindgen_export, wasm.__wbindgen_export2);
609
+ const len0 = WASM_VECTOR_LEN;
610
+ var ptr1 = isLikeNone(prev_tx) ? 0 : passArray8ToWasm0(prev_tx, wasm.__wbindgen_export);
611
+ var len1 = WASM_VECTOR_LEN;
612
+ wasm.bitgopsbt_add_replay_protection_input_at_index(retptr, this.__wbg_ptr, index, ecpair.__wbg_ptr, ptr0, len0, vout, value, isLikeNone(sequence) ? 0x100000001 : (sequence) >>> 0, ptr1, len1);
613
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
614
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
615
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
616
+ if (r2) {
617
+ throw takeObject(r1);
618
+ }
619
+ return r0 >>> 0;
620
+ } finally {
621
+ wasm.__wbindgen_add_to_stack_pointer(16);
622
+ }
623
+ }
624
+ /**
567
625
  * @param {string} txid
568
626
  * @param {number} vout
569
627
  * @param {bigint} value
@@ -601,19 +659,44 @@ class BitGoPsbt {
601
659
  }
602
660
  }
603
661
  /**
604
- * Add a wallet output with full PSBT metadata
605
- *
606
- * This creates a verifiable wallet output (typically for change) with all required
607
- * PSBT fields (scripts, derivation info) based on the wallet's chain type.
608
- *
609
- * # Arguments
610
- * * `chain` - The chain code (0/1=p2sh, 10/11=p2shP2wsh, 20/21=p2wsh, 30/31=p2tr, 40/41=p2trMusig2)
611
- * * `index` - The derivation index
612
- * * `value` - The value in satoshis
613
- * * `wallet_keys` - The root wallet keys
614
- *
615
- * # Returns
616
- * The index of the newly added output
662
+ * @param {number} index
663
+ * @param {string} txid
664
+ * @param {number} vout
665
+ * @param {bigint} value
666
+ * @param {WasmRootWalletKeys} wallet_keys
667
+ * @param {number} chain
668
+ * @param {number} derivation_index
669
+ * @param {string | null} [signer]
670
+ * @param {string | null} [cosigner]
671
+ * @param {number | null} [sequence]
672
+ * @param {Uint8Array | null} [prev_tx]
673
+ * @returns {number}
674
+ */
675
+ add_wallet_input_at_index(index, txid, vout, value, wallet_keys, chain, derivation_index, signer, cosigner, sequence, prev_tx) {
676
+ try {
677
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
678
+ const ptr0 = passStringToWasm0(txid, wasm.__wbindgen_export, wasm.__wbindgen_export2);
679
+ const len0 = WASM_VECTOR_LEN;
680
+ _assertClass(wallet_keys, WasmRootWalletKeys);
681
+ var ptr1 = isLikeNone(signer) ? 0 : passStringToWasm0(signer, wasm.__wbindgen_export, wasm.__wbindgen_export2);
682
+ var len1 = WASM_VECTOR_LEN;
683
+ var ptr2 = isLikeNone(cosigner) ? 0 : passStringToWasm0(cosigner, wasm.__wbindgen_export, wasm.__wbindgen_export2);
684
+ var len2 = WASM_VECTOR_LEN;
685
+ var ptr3 = isLikeNone(prev_tx) ? 0 : passArray8ToWasm0(prev_tx, wasm.__wbindgen_export);
686
+ var len3 = WASM_VECTOR_LEN;
687
+ wasm.bitgopsbt_add_wallet_input_at_index(retptr, this.__wbg_ptr, index, ptr0, len0, vout, value, wallet_keys.__wbg_ptr, chain, derivation_index, ptr1, len1, ptr2, len2, isLikeNone(sequence) ? 0x100000001 : (sequence) >>> 0, ptr3, len3);
688
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
689
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
690
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
691
+ if (r2) {
692
+ throw takeObject(r1);
693
+ }
694
+ return r0 >>> 0;
695
+ } finally {
696
+ wasm.__wbindgen_add_to_stack_pointer(16);
697
+ }
698
+ }
699
+ /**
617
700
  * @param {number} chain
618
701
  * @param {number} index
619
702
  * @param {bigint} value
@@ -636,6 +719,30 @@ class BitGoPsbt {
636
719
  wasm.__wbindgen_add_to_stack_pointer(16);
637
720
  }
638
721
  }
722
+ /**
723
+ * @param {number} index
724
+ * @param {number} chain
725
+ * @param {number} derivation_index
726
+ * @param {bigint} value
727
+ * @param {WasmRootWalletKeys} wallet_keys
728
+ * @returns {number}
729
+ */
730
+ add_wallet_output_at_index(index, chain, derivation_index, value, wallet_keys) {
731
+ try {
732
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
733
+ _assertClass(wallet_keys, WasmRootWalletKeys);
734
+ wasm.bitgopsbt_add_wallet_output_at_index(retptr, this.__wbg_ptr, index, chain, derivation_index, value, wallet_keys.__wbg_ptr);
735
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
736
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
737
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
738
+ if (r2) {
739
+ throw takeObject(r1);
740
+ }
741
+ return r0 >>> 0;
742
+ } finally {
743
+ wasm.__wbindgen_add_to_stack_pointer(16);
744
+ }
745
+ }
639
746
  /**
640
747
  * Combine/merge data from another PSBT into this one
641
748
  *
@@ -1222,6 +1329,38 @@ class BitGoPsbt {
1222
1329
  wasm.__wbindgen_add_to_stack_pointer(16);
1223
1330
  }
1224
1331
  }
1332
+ /**
1333
+ * @param {number} index
1334
+ */
1335
+ remove_input(index) {
1336
+ try {
1337
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
1338
+ wasm.bitgopsbt_remove_input(retptr, this.__wbg_ptr, index);
1339
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
1340
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
1341
+ if (r1) {
1342
+ throw takeObject(r0);
1343
+ }
1344
+ } finally {
1345
+ wasm.__wbindgen_add_to_stack_pointer(16);
1346
+ }
1347
+ }
1348
+ /**
1349
+ * @param {number} index
1350
+ */
1351
+ remove_output(index) {
1352
+ try {
1353
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
1354
+ wasm.bitgopsbt_remove_output(retptr, this.__wbg_ptr, index);
1355
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
1356
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
1357
+ if (r1) {
1358
+ throw takeObject(r0);
1359
+ }
1360
+ } finally {
1361
+ wasm.__wbindgen_add_to_stack_pointer(16);
1362
+ }
1363
+ }
1225
1364
  /**
1226
1365
  * Serialize the PSBT to bytes
1227
1366
  *
@@ -3512,6 +3651,29 @@ class WasmTransaction {
3512
3651
  const ptr = this.__destroy_into_raw();
3513
3652
  wasm.__wbg_wasmtransaction_free(ptr, 0);
3514
3653
  }
3654
+ /**
3655
+ * @param {string} txid
3656
+ * @param {number} vout
3657
+ * @param {number | null} [sequence]
3658
+ * @returns {number}
3659
+ */
3660
+ add_input(txid, vout, sequence) {
3661
+ try {
3662
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
3663
+ const ptr0 = passStringToWasm0(txid, wasm.__wbindgen_export, wasm.__wbindgen_export2);
3664
+ const len0 = WASM_VECTOR_LEN;
3665
+ wasm.wasmtransaction_add_input(retptr, this.__wbg_ptr, ptr0, len0, vout, isLikeNone(sequence) ? 0x100000001 : (sequence) >>> 0);
3666
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
3667
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
3668
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
3669
+ if (r2) {
3670
+ throw takeObject(r1);
3671
+ }
3672
+ return r0 >>> 0;
3673
+ } finally {
3674
+ wasm.__wbindgen_add_to_stack_pointer(16);
3675
+ }
3676
+ }
3515
3677
  /**
3516
3678
  * Add an input to the transaction
3517
3679
  *
@@ -3522,17 +3684,18 @@ class WasmTransaction {
3522
3684
  *
3523
3685
  * # Returns
3524
3686
  * The index of the newly added input
3687
+ * @param {number} index
3525
3688
  * @param {string} txid
3526
3689
  * @param {number} vout
3527
3690
  * @param {number | null} [sequence]
3528
3691
  * @returns {number}
3529
3692
  */
3530
- add_input(txid, vout, sequence) {
3693
+ add_input_at_index(index, txid, vout, sequence) {
3531
3694
  try {
3532
3695
  const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
3533
3696
  const ptr0 = passStringToWasm0(txid, wasm.__wbindgen_export, wasm.__wbindgen_export2);
3534
3697
  const len0 = WASM_VECTOR_LEN;
3535
- wasm.wasmtransaction_add_input(retptr, this.__wbg_ptr, ptr0, len0, vout, isLikeNone(sequence) ? 0x100000001 : (sequence) >>> 0);
3698
+ wasm.wasmtransaction_add_input_at_index(retptr, this.__wbg_ptr, index, ptr0, len0, vout, isLikeNone(sequence) ? 0x100000001 : (sequence) >>> 0);
3536
3699
  var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
3537
3700
  var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
3538
3701
  var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
@@ -3545,14 +3708,6 @@ class WasmTransaction {
3545
3708
  }
3546
3709
  }
3547
3710
  /**
3548
- * Add an output to the transaction
3549
- *
3550
- * # Arguments
3551
- * * `script` - The output script (scriptPubKey)
3552
- * * `value` - The value in satoshis
3553
- *
3554
- * # Returns
3555
- * The index of the newly added output
3556
3711
  * @param {Uint8Array} script
3557
3712
  * @param {bigint} value
3558
3713
  * @returns {number}
@@ -3563,6 +3718,29 @@ class WasmTransaction {
3563
3718
  const ret = wasm.wasmtransaction_add_output(this.__wbg_ptr, ptr0, len0, value);
3564
3719
  return ret >>> 0;
3565
3720
  }
3721
+ /**
3722
+ * @param {number} index
3723
+ * @param {Uint8Array} script
3724
+ * @param {bigint} value
3725
+ * @returns {number}
3726
+ */
3727
+ add_output_at_index(index, script, value) {
3728
+ try {
3729
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
3730
+ const ptr0 = passArray8ToWasm0(script, wasm.__wbindgen_export);
3731
+ const len0 = WASM_VECTOR_LEN;
3732
+ wasm.wasmtransaction_add_output_at_index(retptr, this.__wbg_ptr, index, ptr0, len0, value);
3733
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
3734
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
3735
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
3736
+ if (r2) {
3737
+ throw takeObject(r1);
3738
+ }
3739
+ return r0 >>> 0;
3740
+ } finally {
3741
+ wasm.__wbindgen_add_to_stack_pointer(16);
3742
+ }
3743
+ }
3566
3744
  /**
3567
3745
  * Create an empty transaction (version 1, locktime 0)
3568
3746
  * @returns {WasmTransaction}
@@ -4237,6 +4415,33 @@ class WrapPsbt {
4237
4415
  const ptr = this.__destroy_into_raw();
4238
4416
  wasm.__wbg_wrappsbt_free(ptr, 0);
4239
4417
  }
4418
+ /**
4419
+ * @param {string} txid
4420
+ * @param {number} vout
4421
+ * @param {bigint} value
4422
+ * @param {Uint8Array} script
4423
+ * @param {number | null} [sequence]
4424
+ * @returns {number}
4425
+ */
4426
+ addInput(txid, vout, value, script, sequence) {
4427
+ try {
4428
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
4429
+ const ptr0 = passStringToWasm0(txid, wasm.__wbindgen_export, wasm.__wbindgen_export2);
4430
+ const len0 = WASM_VECTOR_LEN;
4431
+ const ptr1 = passArray8ToWasm0(script, wasm.__wbindgen_export);
4432
+ const len1 = WASM_VECTOR_LEN;
4433
+ wasm.wrappsbt_addInput(retptr, this.__wbg_ptr, ptr0, len0, vout, value, ptr1, len1, isLikeNone(sequence) ? 0x100000001 : (sequence) >>> 0);
4434
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
4435
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
4436
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
4437
+ if (r2) {
4438
+ throw takeObject(r1);
4439
+ }
4440
+ return r0 >>> 0;
4441
+ } finally {
4442
+ wasm.__wbindgen_add_to_stack_pointer(16);
4443
+ }
4444
+ }
4240
4445
  /**
4241
4446
  * Add an input to the PSBT
4242
4447
  *
@@ -4249,6 +4454,7 @@ class WrapPsbt {
4249
4454
  *
4250
4455
  * # Returns
4251
4456
  * The index of the newly added input
4457
+ * @param {number} index
4252
4458
  * @param {string} txid
4253
4459
  * @param {number} vout
4254
4460
  * @param {bigint} value
@@ -4256,14 +4462,14 @@ class WrapPsbt {
4256
4462
  * @param {number | null} [sequence]
4257
4463
  * @returns {number}
4258
4464
  */
4259
- addInput(txid, vout, value, script, sequence) {
4465
+ addInputAtIndex(index, txid, vout, value, script, sequence) {
4260
4466
  try {
4261
4467
  const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
4262
4468
  const ptr0 = passStringToWasm0(txid, wasm.__wbindgen_export, wasm.__wbindgen_export2);
4263
4469
  const len0 = WASM_VECTOR_LEN;
4264
4470
  const ptr1 = passArray8ToWasm0(script, wasm.__wbindgen_export);
4265
4471
  const len1 = WASM_VECTOR_LEN;
4266
- wasm.wrappsbt_addInput(retptr, this.__wbg_ptr, ptr0, len0, vout, value, ptr1, len1, isLikeNone(sequence) ? 0x100000001 : (sequence) >>> 0);
4472
+ wasm.wrappsbt_addInputAtIndex(retptr, this.__wbg_ptr, index, ptr0, len0, vout, value, ptr1, len1, isLikeNone(sequence) ? 0x100000001 : (sequence) >>> 0);
4267
4473
  var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
4268
4474
  var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
4269
4475
  var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
@@ -4275,6 +4481,17 @@ class WrapPsbt {
4275
4481
  wasm.__wbindgen_add_to_stack_pointer(16);
4276
4482
  }
4277
4483
  }
4484
+ /**
4485
+ * @param {Uint8Array} script
4486
+ * @param {bigint} value
4487
+ * @returns {number}
4488
+ */
4489
+ addOutput(script, value) {
4490
+ const ptr0 = passArray8ToWasm0(script, wasm.__wbindgen_export);
4491
+ const len0 = WASM_VECTOR_LEN;
4492
+ const ret = wasm.wrappsbt_addOutput(this.__wbg_ptr, ptr0, len0, value);
4493
+ return ret >>> 0;
4494
+ }
4278
4495
  /**
4279
4496
  * Add an output to the PSBT
4280
4497
  *
@@ -4284,15 +4501,27 @@ class WrapPsbt {
4284
4501
  *
4285
4502
  * # Returns
4286
4503
  * The index of the newly added output
4504
+ * @param {number} index
4287
4505
  * @param {Uint8Array} script
4288
4506
  * @param {bigint} value
4289
4507
  * @returns {number}
4290
4508
  */
4291
- addOutput(script, value) {
4292
- const ptr0 = passArray8ToWasm0(script, wasm.__wbindgen_export);
4293
- const len0 = WASM_VECTOR_LEN;
4294
- const ret = wasm.wrappsbt_addOutput(this.__wbg_ptr, ptr0, len0, value);
4295
- return ret >>> 0;
4509
+ addOutputAtIndex(index, script, value) {
4510
+ try {
4511
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
4512
+ const ptr0 = passArray8ToWasm0(script, wasm.__wbindgen_export);
4513
+ const len0 = WASM_VECTOR_LEN;
4514
+ wasm.wrappsbt_addOutputAtIndex(retptr, this.__wbg_ptr, index, ptr0, len0, value);
4515
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
4516
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
4517
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
4518
+ if (r2) {
4519
+ throw takeObject(r1);
4520
+ }
4521
+ return r0 >>> 0;
4522
+ } finally {
4523
+ wasm.__wbindgen_add_to_stack_pointer(16);
4524
+ }
4296
4525
  }
4297
4526
  /**
4298
4527
  * @returns {WrapPsbt}
@@ -4530,6 +4759,38 @@ class WrapPsbt {
4530
4759
  const ret = wasm.wrappsbt_outputCount(this.__wbg_ptr);
4531
4760
  return ret >>> 0;
4532
4761
  }
4762
+ /**
4763
+ * @param {number} index
4764
+ */
4765
+ removeInput(index) {
4766
+ try {
4767
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
4768
+ wasm.wrappsbt_removeInput(retptr, this.__wbg_ptr, index);
4769
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
4770
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
4771
+ if (r1) {
4772
+ throw takeObject(r0);
4773
+ }
4774
+ } finally {
4775
+ wasm.__wbindgen_add_to_stack_pointer(16);
4776
+ }
4777
+ }
4778
+ /**
4779
+ * @param {number} index
4780
+ */
4781
+ removeOutput(index) {
4782
+ try {
4783
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
4784
+ wasm.wrappsbt_removeOutput(retptr, this.__wbg_ptr, index);
4785
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
4786
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
4787
+ if (r1) {
4788
+ throw takeObject(r0);
4789
+ }
4790
+ } finally {
4791
+ wasm.__wbindgen_add_to_stack_pointer(16);
4792
+ }
4793
+ }
4533
4794
  /**
4534
4795
  * @returns {Uint8Array}
4535
4796
  */
@@ -4954,6 +5215,13 @@ function __wbg_get_imports() {
4954
5215
  const ret = Error(getStringFromWasm0(arg0, arg1));
4955
5216
  return addHeapObject(ret);
4956
5217
  },
5218
+ __wbg___wbindgen_debug_string_0bc8482c6e3508ae: function(arg0, arg1) {
5219
+ const ret = debugString(getObject(arg1));
5220
+ const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_export, wasm.__wbindgen_export2);
5221
+ const len1 = WASM_VECTOR_LEN;
5222
+ getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
5223
+ getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
5224
+ },
4957
5225
  __wbg___wbindgen_is_function_0095a73b8b156f76: function(arg0) {
4958
5226
  const ret = typeof(getObject(arg0)) === 'function';
4959
5227
  return ret;
@@ -5223,6 +5491,71 @@ function addBorrowedObject(obj) {
5223
5491
  return stack_pointer;
5224
5492
  }
5225
5493
 
5494
+ function debugString(val) {
5495
+ // primitive types
5496
+ const type = typeof val;
5497
+ if (type == 'number' || type == 'boolean' || val == null) {
5498
+ return `${val}`;
5499
+ }
5500
+ if (type == 'string') {
5501
+ return `"${val}"`;
5502
+ }
5503
+ if (type == 'symbol') {
5504
+ const description = val.description;
5505
+ if (description == null) {
5506
+ return 'Symbol';
5507
+ } else {
5508
+ return `Symbol(${description})`;
5509
+ }
5510
+ }
5511
+ if (type == 'function') {
5512
+ const name = val.name;
5513
+ if (typeof name == 'string' && name.length > 0) {
5514
+ return `Function(${name})`;
5515
+ } else {
5516
+ return 'Function';
5517
+ }
5518
+ }
5519
+ // objects
5520
+ if (Array.isArray(val)) {
5521
+ const length = val.length;
5522
+ let debug = '[';
5523
+ if (length > 0) {
5524
+ debug += debugString(val[0]);
5525
+ }
5526
+ for(let i = 1; i < length; i++) {
5527
+ debug += ', ' + debugString(val[i]);
5528
+ }
5529
+ debug += ']';
5530
+ return debug;
5531
+ }
5532
+ // Test for built-in
5533
+ const builtInMatches = /\[object ([^\]]+)\]/.exec(toString.call(val));
5534
+ let className;
5535
+ if (builtInMatches && builtInMatches.length > 1) {
5536
+ className = builtInMatches[1];
5537
+ } else {
5538
+ // Failed to match the standard '[object ClassName]'
5539
+ return toString.call(val);
5540
+ }
5541
+ if (className == 'Object') {
5542
+ // we're a user defined class or Object
5543
+ // JSON.stringify avoids problems with cycles, and is generally much
5544
+ // easier than looping through ownProperties of `val`.
5545
+ try {
5546
+ return 'Object(' + JSON.stringify(val) + ')';
5547
+ } catch (_) {
5548
+ return 'Object';
5549
+ }
5550
+ }
5551
+ // errors
5552
+ if (val instanceof Error) {
5553
+ return `${val.name}: ${val.message}\n${val.stack}`;
5554
+ }
5555
+ // TODO we could test for more things here, like `Set`s and `Map`s.
5556
+ return className;
5557
+ }
5558
+
5226
5559
  function dropObject(idx) {
5227
5560
  if (idx < 132) return;
5228
5561
  heap[idx] = heap_next;
Binary file