@bitgo/wasm-utxo 5.2.0 → 5.4.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.
package/README.md CHANGED
@@ -7,6 +7,7 @@ that help verify and co-sign transactions built by the BitGo Wallet Platform API
7
7
 
8
8
  ## Documentation
9
9
 
10
+ - **[`../../CONVENTIONS.md`](../../CONVENTIONS.md)** - Repository-wide API and structured-error conventions
10
11
  - **[`src/wasm-bindgen.md`](src/wasm-bindgen.md)** - Guide for creating WASM bindings using the namespace pattern
11
12
  - **[`js/README.md`](js/README.md)** - TypeScript wrapper layer architecture and best practices
12
13
  - **[`cli/README.md`](cli/README.md)** - Command-line interface for address and PSBT operations
@@ -249,6 +249,31 @@ export declare class ZcashIronwoodBitGoPsbt extends ZcashBitGoPsbt {
249
249
  * {@link sign} (all matching inputs) instead.
250
250
  */
251
251
  sign(inputIndex: number, key: BIP32Arg | ECPairArg): void;
252
+ /**
253
+ * Check whether transparent input `inputIndex` carries a valid signature by `key`, over the
254
+ * ZIP-244 transparent sighash — the digest v6 (Ironwood) keys actually sign (see
255
+ * {@link transparentSighash}). The inherited `BitGoPsbt.verifySignature` digests ZIP-243
256
+ * (Sapling) instead, so it would report `false` for a valid v6 signature; this override routes
257
+ * to the v6 sighash path instead.
258
+ *
259
+ * Mirrors the inherited signature: an xpub (BIP32Arg) resolves to a public key via the input's
260
+ * `bip32_derivation`; a raw key (ECPairArg) verifies with its public key directly.
261
+ *
262
+ * @param inputIndex - 0-based transparent input index
263
+ * @param key - the signing key: an xpub (BIP32Arg: base58 string, BIP32 instance, or WasmBIP32)
264
+ * or an ECPairArg (Uint8Array, ECPair instance, or WasmECPair)
265
+ * @returns true if a valid signature by the key's public key exists for the input's
266
+ * ZIP-244 transparent sighash
267
+ * @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
+ *
270
+ * @example
271
+ * ```typescript
272
+ * // Verify the user's signature over the v6 transparent sighash
273
+ * const hasUserSig = psbt.verifySignature(0, userXpub);
274
+ * ```
275
+ */
276
+ verifySignature(inputIndex: number, key: BIP32Arg | ECPairArg): boolean;
252
277
  /**
253
278
  * Transaction Extractor role: given the external prover's `proof` bytes, finalize the
254
279
  * transparent inputs, apply the shielded binding signature, and return the broadcast-ready v6
@@ -4,6 +4,7 @@ exports.ZcashIronwoodBitGoPsbt = void 0;
4
4
  exports.zip302NoMemo = zip302NoMemo;
5
5
  const wasm_utxo_js_1 = require("../wasm/wasm_utxo.js");
6
6
  const bip32_js_1 = require("../bip32.js");
7
+ const ecpair_js_1 = require("../ecpair.js");
7
8
  const RootWalletKeys_js_1 = require("./RootWalletKeys.js");
8
9
  const ZcashBitGoPsbt_js_1 = require("./ZcashBitGoPsbt.js");
9
10
  /**
@@ -242,6 +243,38 @@ class ZcashIronwoodBitGoPsbt extends ZcashBitGoPsbt_js_1.ZcashBitGoPsbt {
242
243
  const keys = RootWalletKeys_js_1.RootWalletKeys.from(keyOrRootWalletKeys);
243
244
  return Array.from(this.wasm.sign_ironwood_v6(wasmKey, keys.wasm), Number);
244
245
  }
246
+ /**
247
+ * Check whether transparent input `inputIndex` carries a valid signature by `key`, over the
248
+ * ZIP-244 transparent sighash — the digest v6 (Ironwood) keys actually sign (see
249
+ * {@link transparentSighash}). The inherited `BitGoPsbt.verifySignature` digests ZIP-243
250
+ * (Sapling) instead, so it would report `false` for a valid v6 signature; this override routes
251
+ * to the v6 sighash path instead.
252
+ *
253
+ * Mirrors the inherited signature: an xpub (BIP32Arg) resolves to a public key via the input's
254
+ * `bip32_derivation`; a raw key (ECPairArg) verifies with its public key directly.
255
+ *
256
+ * @param inputIndex - 0-based transparent input index
257
+ * @param key - the signing key: an xpub (BIP32Arg: base58 string, BIP32 instance, or WasmBIP32)
258
+ * or an ECPairArg (Uint8Array, ECPair instance, or WasmECPair)
259
+ * @returns true if a valid signature by the key's public key exists for the input's
260
+ * ZIP-244 transparent sighash
261
+ * @throws Error if the input index is out of range, the key cannot be parsed, or the v6
262
+ * sighash cannot be computed (e.g. the Ironwood PCZT has not been added yet)
263
+ *
264
+ * @example
265
+ * ```typescript
266
+ * // Verify the user's signature over the v6 transparent sighash
267
+ * const hasUserSig = psbt.verifySignature(0, userXpub);
268
+ * ```
269
+ */
270
+ verifySignature(inputIndex, key) {
271
+ if ((0, bip32_js_1.isBIP32Arg)(key)) {
272
+ return this.wasm.verify_ironwood_v6_signature_with_xpub(inputIndex, bip32_js_1.BIP32.from(key).wasm);
273
+ }
274
+ // Otherwise it's an ECPairArg (Uint8Array, ECPair, or WasmECPair)
275
+ const wasmECPair = ecpair_js_1.ECPair.from(key).wasm;
276
+ return this.wasm.verify_ironwood_v6_signature_with_pub(inputIndex, wasmECPair);
277
+ }
245
278
  /**
246
279
  * Transaction Extractor role: given the external prover's `proof` bytes, finalize the
247
280
  * transparent inputs, apply the shielded binding signature, and return the broadcast-ready v6
@@ -1,4 +1,20 @@
1
1
  import { IronwoodWitness as WasmIronwoodWitness } from "../wasm/wasm_utxo.js";
2
+ /**
3
+ * A node of a pruned Orchard note-commitment (sub)tree, for {@link ZcashIronwoodWitness.buildFromShard}'s
4
+ * `shard`/`cap` inputs. Mirrors a real pruned tree store's shape (e.g. a `shardtree::ShardTree`):
5
+ * most leaves are never individually retained, only enough annotated hashes to reproduce a witness.
6
+ */
7
+ export type ShardTreeNode = {
8
+ type: "Nil";
9
+ } | {
10
+ type: "Leaf";
11
+ hash: Uint8Array;
12
+ } | {
13
+ type: "Parent";
14
+ hash?: Uint8Array;
15
+ left: ShardTreeNode;
16
+ right: ShardTreeNode;
17
+ };
2
18
  /**
3
19
  * A validated Merkle witness for an Ironwood/Orchard note commitment.
4
20
  *
@@ -19,6 +35,19 @@ export declare class ZcashIronwoodWitness {
19
35
  * recompute to `anchor`
20
36
  */
21
37
  static build(cmx: Uint8Array, position: number, authPath: Uint8Array[], anchor: Uint8Array): ZcashIronwoodWitness;
38
+ /**
39
+ * Build and validate a Merkle witness from a pruned shard + cap, instead of a
40
+ * caller-precomputed 32-entry path.
41
+ *
42
+ * `shardHeight` chooses which level the shard's root sits at (it spans up to `2^shardHeight`
43
+ * leaves); `shard` is the pruned subtree containing `position`, rooted at that level; `cap` is
44
+ * the pruned tree above every shard, down to (and including) shard-root nodes. `leafCount` is
45
+ * the total number of leaves committed to the tree as of `anchor` — positions beyond it are
46
+ * treated as canonically empty.
47
+ * @throws Under the same conditions as {@link build}, plus if `shard`/`cap` don't have enough
48
+ * detail to witness `position` as of `leafCount`
49
+ */
50
+ static buildFromShard(position: number, shardHeight: number, leafCount: bigint, cmx: Uint8Array, shard: ShardTreeNode, cap: ShardTreeNode, anchor: Uint8Array): ZcashIronwoodWitness;
22
51
  /** The leaf's position in the note commitment tree. */
23
52
  get position(): number;
24
53
  /**
@@ -26,6 +26,21 @@ class ZcashIronwoodWitness {
26
26
  static build(cmx, position, authPath, anchor) {
27
27
  return new ZcashIronwoodWitness((0, wasm_utxo_js_1.ironwood_build_witness)(cmx, position, authPath, anchor));
28
28
  }
29
+ /**
30
+ * Build and validate a Merkle witness from a pruned shard + cap, instead of a
31
+ * caller-precomputed 32-entry path.
32
+ *
33
+ * `shardHeight` chooses which level the shard's root sits at (it spans up to `2^shardHeight`
34
+ * leaves); `shard` is the pruned subtree containing `position`, rooted at that level; `cap` is
35
+ * the pruned tree above every shard, down to (and including) shard-root nodes. `leafCount` is
36
+ * the total number of leaves committed to the tree as of `anchor` — positions beyond it are
37
+ * treated as canonically empty.
38
+ * @throws Under the same conditions as {@link build}, plus if `shard`/`cap` don't have enough
39
+ * detail to witness `position` as of `leafCount`
40
+ */
41
+ static buildFromShard(position, shardHeight, leafCount, cmx, shard, cap, anchor) {
42
+ return new ZcashIronwoodWitness((0, wasm_utxo_js_1.ironwood_build_witness_from_shard)(position, shardHeight, leafCount, cmx, shard, cap, anchor));
43
+ }
29
44
  /** The leaf's position in the note commitment tree. */
30
45
  get position() {
31
46
  return this._wasm.position;
@@ -14,6 +14,7 @@ export { ZcashIronwoodBitGoPsbt, zip302NoMemo, type CreateEmptyIronwoodOptions,
14
14
  export { ZcashUnifiedAddress } from "./ZcashUnifiedAddress.js";
15
15
  export { ZcashV6Transaction } from "./ZcashV6Transaction.js";
16
16
  export { ZcashIronwoodWitness } from "./ZcashIronwoodWitness.js";
17
+ export type { ShardTreeNode } from "./ZcashIronwoodWitness.js";
17
18
  import type { ScriptType } from "./scriptType.js";
18
19
  /**
19
20
  * Check if a network supports a given fixed-script wallet script type
@@ -813,6 +813,22 @@ export class BitGoPsbt {
813
813
  */
814
814
  transparent_output_unified_address(index: number): string | undefined;
815
815
  unsigned_tx_id(): string;
816
+ /**
817
+ * Verify if a valid signature exists for a given ECPair key at the specified input index,
818
+ * computed over the ZIP-244 v6 (Ironwood) transparent sighash — the v6 (Ironwood)
819
+ * counterpart to `verify_signature_with_pub`, which digests ZIP-243 (Sapling) and would
820
+ * report `Ok(false)` for a valid v6 signature. Only v6 (Ironwood) Zcash PSBTs are
821
+ * supported.
822
+ */
823
+ verify_ironwood_v6_signature_with_pub(input_index: number, ecpair: WasmECPair): boolean;
824
+ /**
825
+ * Verify if a valid signature exists for an extended public key at the specified input
826
+ * index, computed over the ZIP-244 v6 (Ironwood) transparent sighash — the v6 (Ironwood)
827
+ * counterpart to `verify_signature_with_xpub`, which digests ZIP-243 (Sapling) and would
828
+ * report `Ok(false)` for a valid v6 signature. Only v6 (Ironwood) Zcash PSBTs are
829
+ * supported.
830
+ */
831
+ verify_ironwood_v6_signature_with_xpub(input_index: number, xpub: WasmBIP32): boolean;
816
832
  /**
817
833
  * Verify if a replay protection input has a valid signature
818
834
  *
@@ -1908,6 +1924,23 @@ export class ZcashV6Transaction {
1908
1924
  */
1909
1925
  export function ironwood_build_witness(cmx: Uint8Array, position: number, auth_path: Uint8Array[], anchor: Uint8Array): IronwoodWitness;
1910
1926
 
1927
+ /**
1928
+ * Build and validate an Ironwood witness from a pruned shard + cap, instead of a
1929
+ * caller-precomputed 32-entry path (see `ironwood_build_witness`).
1930
+ *
1931
+ * `shardHeight` chooses which level the shard's root sits at (it spans up to `2^shardHeight`
1932
+ * leaves); `shard` is the pruned subtree containing `position`, rooted at that level; `cap` is the
1933
+ * pruned tree above every shard, down to (and including) shard-root nodes. `leafCount` is the
1934
+ * total number of leaves committed to the tree as of `anchor` — positions beyond it are treated
1935
+ * as canonically empty. `shard`/`cap` are plain JS objects (not JSON strings) shaped like:
1936
+ * `{ type: "Nil" } | { type: "Leaf", hash: Uint8Array } | { type: "Parent", hash?: Uint8Array,
1937
+ * left: ShardTreeNode, right: ShardTreeNode }`.
1938
+ *
1939
+ * Throws under the same conditions as `ironwood_build_witness`, plus if `shard`/`cap` don't have
1940
+ * enough detail to witness `position` as of `leafCount`.
1941
+ */
1942
+ export function ironwood_build_witness_from_shard(position: number, shard_height: number, leaf_count: bigint, cmx: Uint8Array, shard: any, cap: any, anchor: Uint8Array): IronwoodWitness;
1943
+
1911
1944
  /**
1912
1945
  * Check if the inspect feature is enabled.
1913
1946
  *
@@ -2681,6 +2681,58 @@ class BitGoPsbt {
2681
2681
  wasm.__wbindgen_export4(deferred1_0, deferred1_1, 1);
2682
2682
  }
2683
2683
  }
2684
+ /**
2685
+ * Verify if a valid signature exists for a given ECPair key at the specified input index,
2686
+ * computed over the ZIP-244 v6 (Ironwood) transparent sighash — the v6 (Ironwood)
2687
+ * counterpart to `verify_signature_with_pub`, which digests ZIP-243 (Sapling) and would
2688
+ * report `Ok(false)` for a valid v6 signature. Only v6 (Ironwood) Zcash PSBTs are
2689
+ * supported.
2690
+ * @param {number} input_index
2691
+ * @param {WasmECPair} ecpair
2692
+ * @returns {boolean}
2693
+ */
2694
+ verify_ironwood_v6_signature_with_pub(input_index, ecpair) {
2695
+ try {
2696
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
2697
+ _assertClass(ecpair, WasmECPair);
2698
+ wasm.bitgopsbt_verify_ironwood_v6_signature_with_pub(retptr, this.__wbg_ptr, input_index, ecpair.__wbg_ptr);
2699
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
2700
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
2701
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
2702
+ if (r2) {
2703
+ throw takeObject(r1);
2704
+ }
2705
+ return r0 !== 0;
2706
+ } finally {
2707
+ wasm.__wbindgen_add_to_stack_pointer(16);
2708
+ }
2709
+ }
2710
+ /**
2711
+ * Verify if a valid signature exists for an extended public key at the specified input
2712
+ * index, computed over the ZIP-244 v6 (Ironwood) transparent sighash — the v6 (Ironwood)
2713
+ * counterpart to `verify_signature_with_xpub`, which digests ZIP-243 (Sapling) and would
2714
+ * report `Ok(false)` for a valid v6 signature. Only v6 (Ironwood) Zcash PSBTs are
2715
+ * supported.
2716
+ * @param {number} input_index
2717
+ * @param {WasmBIP32} xpub
2718
+ * @returns {boolean}
2719
+ */
2720
+ verify_ironwood_v6_signature_with_xpub(input_index, xpub) {
2721
+ try {
2722
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
2723
+ _assertClass(xpub, WasmBIP32);
2724
+ wasm.bitgopsbt_verify_ironwood_v6_signature_with_xpub(retptr, this.__wbg_ptr, input_index, xpub.__wbg_ptr);
2725
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
2726
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
2727
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
2728
+ if (r2) {
2729
+ throw takeObject(r1);
2730
+ }
2731
+ return r0 !== 0;
2732
+ } finally {
2733
+ wasm.__wbindgen_add_to_stack_pointer(16);
2734
+ }
2735
+ }
2684
2736
  /**
2685
2737
  * Verify if a replay protection input has a valid signature
2686
2738
  *
@@ -7217,6 +7269,50 @@ function ironwood_build_witness(cmx, position, auth_path, anchor) {
7217
7269
  }
7218
7270
  exports.ironwood_build_witness = ironwood_build_witness;
7219
7271
 
7272
+ /**
7273
+ * Build and validate an Ironwood witness from a pruned shard + cap, instead of a
7274
+ * caller-precomputed 32-entry path (see `ironwood_build_witness`).
7275
+ *
7276
+ * `shardHeight` chooses which level the shard's root sits at (it spans up to `2^shardHeight`
7277
+ * leaves); `shard` is the pruned subtree containing `position`, rooted at that level; `cap` is the
7278
+ * pruned tree above every shard, down to (and including) shard-root nodes. `leafCount` is the
7279
+ * total number of leaves committed to the tree as of `anchor` — positions beyond it are treated
7280
+ * as canonically empty. `shard`/`cap` are plain JS objects (not JSON strings) shaped like:
7281
+ * `{ type: "Nil" } | { type: "Leaf", hash: Uint8Array } | { type: "Parent", hash?: Uint8Array,
7282
+ * left: ShardTreeNode, right: ShardTreeNode }`.
7283
+ *
7284
+ * Throws under the same conditions as `ironwood_build_witness`, plus if `shard`/`cap` don't have
7285
+ * enough detail to witness `position` as of `leafCount`.
7286
+ * @param {number} position
7287
+ * @param {number} shard_height
7288
+ * @param {bigint} leaf_count
7289
+ * @param {Uint8Array} cmx
7290
+ * @param {any} shard
7291
+ * @param {any} cap
7292
+ * @param {Uint8Array} anchor
7293
+ * @returns {IronwoodWitness}
7294
+ */
7295
+ function ironwood_build_witness_from_shard(position, shard_height, leaf_count, cmx, shard, cap, anchor) {
7296
+ try {
7297
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
7298
+ const ptr0 = passArray8ToWasm0(cmx, wasm.__wbindgen_export);
7299
+ const len0 = WASM_VECTOR_LEN;
7300
+ const ptr1 = passArray8ToWasm0(anchor, wasm.__wbindgen_export);
7301
+ const len1 = WASM_VECTOR_LEN;
7302
+ wasm.ironwood_build_witness_from_shard(retptr, position, shard_height, leaf_count, ptr0, len0, addHeapObject(shard), addHeapObject(cap), ptr1, len1);
7303
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
7304
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
7305
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
7306
+ if (r2) {
7307
+ throw takeObject(r1);
7308
+ }
7309
+ return IronwoodWitness.__wrap(r0);
7310
+ } finally {
7311
+ wasm.__wbindgen_add_to_stack_pointer(16);
7312
+ }
7313
+ }
7314
+ exports.ironwood_build_witness_from_shard = ironwood_build_witness_from_shard;
7315
+
7220
7316
  /**
7221
7317
  * Check if the inspect feature is enabled.
7222
7318
  *
@@ -7550,6 +7646,13 @@ function __wbg_get_imports() {
7550
7646
  const ret = Error(getStringFromWasm0(arg0, arg1));
7551
7647
  return addHeapObject(ret);
7552
7648
  },
7649
+ __wbg_String_8f0eb39a4a4c2f66: function(arg0, arg1) {
7650
+ const ret = String(getObject(arg1));
7651
+ const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_export, wasm.__wbindgen_export2);
7652
+ const len1 = WASM_VECTOR_LEN;
7653
+ getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
7654
+ getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
7655
+ },
7553
7656
  __wbg___wbindgen_bigint_get_as_i64_8fcf4ce7f1ca72a2: function(arg0, arg1) {
7554
7657
  const v = getObject(arg1);
7555
7658
  const ret = typeof(v) === 'bigint' ? v : undefined;
@@ -7568,6 +7671,10 @@ function __wbg_get_imports() {
7568
7671
  getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
7569
7672
  getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
7570
7673
  },
7674
+ __wbg___wbindgen_in_47fa6863be6f2f25: function(arg0, arg1) {
7675
+ const ret = getObject(arg0) in getObject(arg1);
7676
+ return ret;
7677
+ },
7571
7678
  __wbg___wbindgen_is_bigint_31b12575b56f32fc: function(arg0) {
7572
7679
  const ret = typeof(getObject(arg0)) === 'bigint';
7573
7680
  return ret;
@@ -7597,6 +7704,10 @@ function __wbg_get_imports() {
7597
7704
  const ret = getObject(arg0) === getObject(arg1);
7598
7705
  return ret;
7599
7706
  },
7707
+ __wbg___wbindgen_jsval_loose_eq_9dd77d8cd6671811: function(arg0, arg1) {
7708
+ const ret = getObject(arg0) == getObject(arg1);
7709
+ return ret;
7710
+ },
7600
7711
  __wbg___wbindgen_number_get_8ff4255516ccad3e: function(arg0, arg1) {
7601
7712
  const obj = getObject(arg1);
7602
7713
  const ret = typeof(obj) === 'number' ? obj : undefined;
@@ -7626,6 +7737,14 @@ function __wbg_get_imports() {
7626
7737
  const ret = getObject(arg0).crypto;
7627
7738
  return addHeapObject(ret);
7628
7739
  },
7740
+ __wbg_done_57b39ecd9addfe81: function(arg0) {
7741
+ const ret = getObject(arg0).done;
7742
+ return ret;
7743
+ },
7744
+ __wbg_entries_58c7934c745daac7: function(arg0) {
7745
+ const ret = Object.entries(getObject(arg0));
7746
+ return addHeapObject(ret);
7747
+ },
7629
7748
  __wbg_for_c3adefd268cb6f1c: function(arg0, arg1) {
7630
7749
  const ret = Symbol.for(getStringFromWasm0(arg0, arg1));
7631
7750
  return addHeapObject(ret);
@@ -7645,6 +7764,48 @@ function __wbg_get_imports() {
7645
7764
  const ret = Reflect.get(getObject(arg0), getObject(arg1));
7646
7765
  return addHeapObject(ret);
7647
7766
  }, arguments); },
7767
+ __wbg_instanceof_ArrayBuffer_c367199e2fa2aa04: function(arg0) {
7768
+ let result;
7769
+ try {
7770
+ result = getObject(arg0) instanceof ArrayBuffer;
7771
+ } catch (_) {
7772
+ result = false;
7773
+ }
7774
+ const ret = result;
7775
+ return ret;
7776
+ },
7777
+ __wbg_instanceof_Map_53af74335dec57f4: function(arg0) {
7778
+ let result;
7779
+ try {
7780
+ result = getObject(arg0) instanceof Map;
7781
+ } catch (_) {
7782
+ result = false;
7783
+ }
7784
+ const ret = result;
7785
+ return ret;
7786
+ },
7787
+ __wbg_instanceof_Uint8Array_9b9075935c74707c: function(arg0) {
7788
+ let result;
7789
+ try {
7790
+ result = getObject(arg0) instanceof Uint8Array;
7791
+ } catch (_) {
7792
+ result = false;
7793
+ }
7794
+ const ret = result;
7795
+ return ret;
7796
+ },
7797
+ __wbg_isArray_d314bb98fcf08331: function(arg0) {
7798
+ const ret = Array.isArray(getObject(arg0));
7799
+ return ret;
7800
+ },
7801
+ __wbg_isSafeInteger_bfbc7332a9768d2a: function(arg0) {
7802
+ const ret = Number.isSafeInteger(getObject(arg0));
7803
+ return ret;
7804
+ },
7805
+ __wbg_iterator_6ff6560ca1568e55: function() {
7806
+ const ret = Symbol.iterator;
7807
+ return addHeapObject(ret);
7808
+ },
7648
7809
  __wbg_length_32ed9a279acd054c: function(arg0) {
7649
7810
  const ret = getObject(arg0).length;
7650
7811
  return ret;
@@ -7685,6 +7846,14 @@ function __wbg_get_imports() {
7685
7846
  const ret = new Uint8Array(arg0 >>> 0);
7686
7847
  return addHeapObject(ret);
7687
7848
  },
7849
+ __wbg_next_3482f54c49e8af19: function() { return handleError(function (arg0) {
7850
+ const ret = getObject(arg0).next();
7851
+ return addHeapObject(ret);
7852
+ }, arguments); },
7853
+ __wbg_next_418f80d8f5303233: function(arg0) {
7854
+ const ret = getObject(arg0).next;
7855
+ return addHeapObject(ret);
7856
+ },
7688
7857
  __wbg_node_905d3e251edff8a2: function(arg0) {
7689
7858
  const ret = getObject(arg0).node;
7690
7859
  return addHeapObject(ret);
@@ -7731,6 +7900,10 @@ function __wbg_get_imports() {
7731
7900
  const ret = getObject(arg0).subarray(arg1 >>> 0, arg2 >>> 0);
7732
7901
  return addHeapObject(ret);
7733
7902
  },
7903
+ __wbg_value_0546255b415e96c1: function(arg0) {
7904
+ const ret = getObject(arg0).value;
7905
+ return addHeapObject(ret);
7906
+ },
7734
7907
  __wbg_versions_c01dfd4722a88165: function(arg0) {
7735
7908
  const ret = getObject(arg0).versions;
7736
7909
  return addHeapObject(ret);
@@ -7760,17 +7933,22 @@ function __wbg_get_imports() {
7760
7933
  const ret = arg0;
7761
7934
  return addHeapObject(ret);
7762
7935
  },
7763
- __wbindgen_cast_0000000000000002: function(arg0, arg1) {
7936
+ __wbindgen_cast_0000000000000002: function(arg0) {
7937
+ // Cast intrinsic for `I64 -> Externref`.
7938
+ const ret = arg0;
7939
+ return addHeapObject(ret);
7940
+ },
7941
+ __wbindgen_cast_0000000000000003: function(arg0, arg1) {
7764
7942
  // Cast intrinsic for `Ref(Slice(U8)) -> NamedExternref("Uint8Array")`.
7765
7943
  const ret = getArrayU8FromWasm0(arg0, arg1);
7766
7944
  return addHeapObject(ret);
7767
7945
  },
7768
- __wbindgen_cast_0000000000000003: function(arg0, arg1) {
7946
+ __wbindgen_cast_0000000000000004: function(arg0, arg1) {
7769
7947
  // Cast intrinsic for `Ref(String) -> Externref`.
7770
7948
  const ret = getStringFromWasm0(arg0, arg1);
7771
7949
  return addHeapObject(ret);
7772
7950
  },
7773
- __wbindgen_cast_0000000000000004: function(arg0) {
7951
+ __wbindgen_cast_0000000000000005: function(arg0) {
7774
7952
  // Cast intrinsic for `U64 -> Externref`.
7775
7953
  const ret = BigInt.asUintN(64, arg0);
7776
7954
  return addHeapObject(ret);
Binary file