@miden-sdk/miden-sdk 0.15.6 → 0.16.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/README.md +0 -137
  2. package/dist/mt/{workers/Cargo-mvyTli7g-BwMMSyoq.js → Cargo-DKsyWYgG.js} +699 -1202
  3. package/dist/mt/Cargo-DKsyWYgG.js.map +1 -0
  4. package/dist/mt/api-types.d.ts +38 -250
  5. package/dist/mt/assets/miden_client_web.wasm +0 -0
  6. package/dist/mt/crates/miden_client_web.d.ts +179 -370
  7. package/dist/mt/docs-entry.d.ts +3 -6
  8. package/dist/mt/eager.js +1 -1
  9. package/dist/mt/index.d.ts +0 -3
  10. package/dist/mt/index.js +49 -450
  11. package/dist/mt/index.js.map +1 -1
  12. package/dist/mt/wasm.js +1 -1
  13. package/dist/mt/workerHelpers.js +1 -1
  14. package/dist/mt/{Cargo-mvyTli7g.js → workers/Cargo-DKsyWYgG-DfOhgt23.js} +700 -1201
  15. package/dist/mt/workers/Cargo-DKsyWYgG-DfOhgt23.js.map +1 -0
  16. package/dist/mt/workers/assets/miden_client_web.wasm +0 -0
  17. package/dist/mt/workers/web-client-methods-worker.js +703 -1207
  18. package/dist/mt/workers/web-client-methods-worker.js.map +1 -1
  19. package/dist/mt/workers/web-client-methods-worker.module.js +1 -1
  20. package/dist/mt/workers/web-client-methods-worker.module.js.map +1 -1
  21. package/dist/mt/workers/workerHelpers.js +1 -1
  22. package/dist/st/{workers/Cargo-Cysp4vto-BIw-TeJn.js → Cargo-LwITdlzJ.js} +694 -1195
  23. package/dist/st/Cargo-LwITdlzJ.js.map +1 -0
  24. package/dist/st/api-types.d.ts +38 -250
  25. package/dist/st/assets/miden_client_web.wasm +0 -0
  26. package/dist/st/crates/miden_client_web.d.ts +179 -370
  27. package/dist/st/docs-entry.d.ts +3 -6
  28. package/dist/st/eager.js +1 -1
  29. package/dist/st/index.d.ts +0 -3
  30. package/dist/st/index.js +49 -450
  31. package/dist/st/index.js.map +1 -1
  32. package/dist/st/wasm.js +1 -1
  33. package/dist/st/{Cargo-Cysp4vto.js → workers/Cargo-LwITdlzJ-Dyl2bCwN.js} +695 -1194
  34. package/dist/st/workers/Cargo-LwITdlzJ-Dyl2bCwN.js.map +1 -0
  35. package/dist/st/workers/assets/miden_client_web.wasm +0 -0
  36. package/dist/st/workers/web-client-methods-worker.js +698 -1200
  37. package/dist/st/workers/web-client-methods-worker.js.map +1 -1
  38. package/dist/st/workers/web-client-methods-worker.module.js +1 -1
  39. package/dist/st/workers/web-client-methods-worker.module.js.map +1 -1
  40. package/js/client.js +2 -4
  41. package/js/node/client-factory.js +4 -11
  42. package/js/node/napi-compat.js +1 -0
  43. package/js/node-index.js +11 -10
  44. package/js/resources/compiler.js +23 -12
  45. package/js/resources/transactions.js +20 -289
  46. package/js/standalone.js +3 -61
  47. package/package.json +4 -4
  48. package/dist/mt/Cargo-mvyTli7g.js.map +0 -1
  49. package/dist/mt/workers/Cargo-mvyTli7g-BwMMSyoq.js.map +0 -1
  50. package/dist/st/Cargo-Cysp4vto.js.map +0 -1
  51. package/dist/st/workers/Cargo-Cysp4vto-BIw-TeJn.js.map +0 -1
  52. package/js/resources/pswap.js +0 -132
@@ -8197,6 +8197,42 @@ const logWebStoreError = (error, errorContext) => {
8197
8197
  }
8198
8198
  throw error;
8199
8199
  };
8200
+ // Partial blockchain (MMR) authentication nodes are part of the local
8201
+ // `PartialMmr` state. Once a node index is known its value is fixed, so a
8202
+ // later write with the same index but a different value indicates a buggy or
8203
+ // malicious sync path. Insert nodes that are missing, accept writes that match
8204
+ // the stored value, and reject conflicting writes so the known-good value is
8205
+ // never silently overwritten.
8206
+ const putPartialBlockchainNodesNoOverwrite = async (table, data) => {
8207
+ // Collapse duplicate indexes within the same batch up front: identical
8208
+ // copies are deduplicated (a repeated index would otherwise make `bulkAdd`
8209
+ // throw a key-collision error), and copies that disagree are rejected.
8210
+ const unique = new Map();
8211
+ for (const entry of data) {
8212
+ const seen = unique.get(entry.id);
8213
+ if (seen !== undefined && seen.node !== entry.node) {
8214
+ throw new Error(`Conflicting partial blockchain node ${entry.id} within the same write`);
8215
+ }
8216
+ unique.set(entry.id, entry);
8217
+ }
8218
+ const records = [...unique.values()];
8219
+ const existing = await table.bulkGet(records.map((entry) => entry.id));
8220
+ const toAdd = [];
8221
+ for (let i = 0; i < records.length; i++) {
8222
+ const current = existing[i];
8223
+ if (current === undefined) {
8224
+ toAdd.push(records[i]);
8225
+ }
8226
+ else if (current.node !== records[i].node) {
8227
+ throw new Error(`Refusing to overwrite partial blockchain node ${records[i].id}: ` +
8228
+ `stored value differs from the new value`);
8229
+ }
8230
+ // current.node === records[i].node: already stored, nothing to do.
8231
+ }
8232
+ if (toAdd.length > 0) {
8233
+ await table.bulkAdd(toAdd);
8234
+ }
8235
+ };
8200
8236
  const uint8ArrayToBase64 = (bytes) => {
8201
8237
  const binary = bytes.reduce((acc, byte) => acc + String.fromCharCode(byte), "");
8202
8238
  return btoa(binary);
@@ -8253,7 +8289,7 @@ var Table;
8253
8289
  Table["InputNotes"] = "inputNotes";
8254
8290
  Table["OutputNotes"] = "outputNotes";
8255
8291
  Table["NotesScripts"] = "notesScripts";
8256
- Table["StateSync"] = "stateSync";
8292
+ Table["BlockchainCheckpoint"] = "blockchainCheckpoint";
8257
8293
  Table["BlockHeaders"] = "blockHeaders";
8258
8294
  Table["PartialBlockchainNodes"] = "partialBlockchainNodes";
8259
8295
  Table["Tags"] = "tags";
@@ -8264,9 +8300,7 @@ function indexes(...items) {
8264
8300
  return items.join(",");
8265
8301
  }
8266
8302
  /** V1 baseline schema. Extracted as a constant because once migrations are enabled, this must
8267
- * never be modified — all schema changes should go through new version blocks instead.
8268
- * Exported for migration tests, which seed a physical v1 database before opening it with the
8269
- * current version chain. */
8303
+ * never be modified — all schema changes should go through new version blocks instead. */
8270
8304
  const V1_STORES = {
8271
8305
  [Table.AccountCode]: indexes("root"),
8272
8306
  [Table.LatestAccountStorage]: indexes("[accountId+slotName]", "accountId"),
@@ -8285,7 +8319,7 @@ const V1_STORES = {
8285
8319
  [Table.InputNotes]: indexes("detailsCommitment", "noteId", "nullifier", "stateDiscriminant", "[consumedBlockHeight+consumedTxOrder+noteId]"),
8286
8320
  [Table.OutputNotes]: indexes("detailsCommitment", "noteId", "recipientDigest", "stateDiscriminant", "nullifier"),
8287
8321
  [Table.NotesScripts]: indexes("scriptRoot"),
8288
- [Table.StateSync]: indexes("id"),
8322
+ [Table.BlockchainCheckpoint]: indexes("id"),
8289
8323
  [Table.BlockHeaders]: indexes("blockNum", "hasClientNotes"),
8290
8324
  [Table.PartialBlockchainNodes]: indexes("id"),
8291
8325
  [Table.Tags]: indexes("id++", "tag", "sourceNoteId", "sourceAccountId"),
@@ -8311,7 +8345,7 @@ class MidenDatabase {
8311
8345
  inputNotes;
8312
8346
  outputNotes;
8313
8347
  notesScripts;
8314
- stateSync;
8348
+ blockchainCheckpoint;
8315
8349
  blockHeaders;
8316
8350
  partialBlockchainNodes;
8317
8351
  tags;
@@ -8321,12 +8355,11 @@ class MidenDatabase {
8321
8355
  this.dexie = new Dexie(network);
8322
8356
  // --- Schema versioning ---
8323
8357
  //
8324
- // NOTE: Migrations coexist with the client-version nuke: the database is
8325
- // still nuked on major/minor client-version changes (network resets see
8326
- // ensureClientVersion), while Dexie version blocks below handle schema and
8327
- // data fixes for stores that survive patch upgrades. Once the network
8328
- // stabilizes and data can be preserved across all upgrades, the
8329
- // version-change nuke will be removed and migrations alone will take over.
8358
+ // NOTE: The migration system is not currently in use. The Miden network
8359
+ // resets on every upgrade, so the database is nuked whenever the client
8360
+ // version changes (see ensureClientVersion). Once the network stabilizes
8361
+ // and data can be preserved across upgrades, the version-change nuke will
8362
+ // be removed and migrations will take over.
8330
8363
  //
8331
8364
  // v1 is the baseline schema. To add a migration:
8332
8365
  // 1. Add a .version(N+1).stores({...}).upgrade(tx => {...}) block below.
@@ -8358,43 +8391,12 @@ class MidenDatabase {
8358
8391
  // Note: The `populate` hook (below the version blocks) only fires on
8359
8392
  // first database creation, NOT during upgrades.
8360
8393
  //
8361
- // Version blocks exist below, so V1_STORES is frozen never modify it;
8362
- // add a new version block instead. To retire the nuke entirely (once data
8363
- // must survive major/minor upgrades), remove the close/delete/open logic
8364
- // in ensureClientVersion and just persist the new version there.
8394
+ // To enable migrations (stop nuking the DB on version change):
8395
+ // 1. Remove the nuke logic in ensureClientVersion (close/delete/open).
8396
+ // Just persist the new version instead.
8397
+ // 2. Freeze V1_STORES never modify it again.
8398
+ // 3. Add version(2+) blocks below for all schema changes going forward.
8365
8399
  this.dexie.version(1).stores(V1_STORES);
8366
- // v2 (miden-client 0.15.4): prune note tags leaked by output-note
8367
- // registration. Mirrors sqlite-store migration
8368
- // `0002_prune_output_note_tags.sql`. Clients built against miden-client
8369
- // < 0.15.4 registered a `Note`-sourced tag for every output note a
8370
- // transaction created, but sync cleanup only removes tags of committed
8371
- // *input* notes — leaking one `tags` row per created note. The client no
8372
- // longer registers those tags; this upgrade deletes the rows already
8373
- // leaked. A tag is kept while an inclusion-pending input note
8374
- // (Expected = 0, Unverified = 1 — the mirror of
8375
- // `InputNoteRecord::is_inclusion_pending`) still needs it.
8376
- //
8377
- // This data-only fix coexists with the version-change nuke above: the
8378
- // nuke covers major/minor client upgrades (network resets), while this
8379
- // upgrade runs for stores preserved across patch upgrades.
8380
- this.dexie
8381
- .version(2)
8382
- .stores({})
8383
- .upgrade(async (tx) => {
8384
- const outputNoteCommitments = new Set(await tx.outputNotes.toCollection().primaryKeys());
8385
- if (outputNoteCommitments.size === 0) {
8386
- return;
8387
- }
8388
- const pendingInputNoteCommitments = new Set(await tx.inputNotes
8389
- .where("stateDiscriminant")
8390
- .anyOf([0, 1])
8391
- .primaryKeys());
8392
- await tx.tags
8393
- .filter((tag) => !!tag.sourceNoteId &&
8394
- outputNoteCommitments.has(tag.sourceNoteId) &&
8395
- !pendingInputNoteCommitments.has(tag.sourceNoteId))
8396
- .delete();
8397
- });
8398
8400
  this.accountCodes = this.dexie.table(Table.AccountCode);
8399
8401
  this.latestAccountStorages = this.dexie.table(Table.LatestAccountStorage);
8400
8402
  this.historicalAccountStorages = this.dexie.table(Table.HistoricalAccountStorage);
@@ -8412,16 +8414,20 @@ class MidenDatabase {
8412
8414
  this.inputNotes = this.dexie.table(Table.InputNotes);
8413
8415
  this.outputNotes = this.dexie.table(Table.OutputNotes);
8414
8416
  this.notesScripts = this.dexie.table(Table.NotesScripts);
8415
- this.stateSync = this.dexie.table(Table.StateSync);
8417
+ this.blockchainCheckpoint = this.dexie.table(Table.BlockchainCheckpoint);
8416
8418
  this.blockHeaders = this.dexie.table(Table.BlockHeaders);
8417
8419
  this.partialBlockchainNodes = this.dexie.table(Table.PartialBlockchainNodes);
8418
8420
  this.tags = this.dexie.table(Table.Tags);
8419
8421
  this.foreignAccountCode = this.dexie.table(Table.ForeignAccountCode);
8420
8422
  this.settings = this.dexie.table(Table.Settings);
8421
8423
  this.dexie.on("populate", () => {
8422
- this.stateSync
8423
- .put({ id: 1, blockNum: 0 })
8424
- /* v8 ignore next 2 — populate stateSync failure requires fake-indexeddb to simulate a write error, not modelable in unit tests */
8424
+ this.blockchainCheckpoint
8425
+ .put({
8426
+ id: 1,
8427
+ blockNum: 0,
8428
+ partialBlockchainPeaks: new Uint8Array(),
8429
+ })
8430
+ /* v8 ignore next 2 — populate blockchainCheckpoint failure requires fake-indexeddb to simulate a write error, not modelable in unit tests */
8425
8431
  .catch((err) => logWebStoreError(err, "Failed to populate DB"));
8426
8432
  });
8427
8433
  }
@@ -8747,7 +8753,7 @@ async function upsertVaultAssets(dbId, accountId, assets) {
8747
8753
  logWebStoreError(error, `Error inserting assets`);
8748
8754
  }
8749
8755
  }
8750
- async function applyTransactionDelta(dbId, accountId, nonce, updatedSlots, changedMapEntries, changedAssets, codeRoot, storageRoot, vaultRoot, committed, commitment) {
8756
+ async function applyAccountPatch(dbId, accountId, nonce, updatedSlots, changedMapEntries, changedAssets, codeRoot, storageRoot, vaultRoot, committed, commitment) {
8751
8757
  try {
8752
8758
  const db = getDatabase(dbId);
8753
8759
  await db.dexie.transaction("rw", [
@@ -8760,7 +8766,8 @@ async function applyTransactionDelta(dbId, accountId, nonce, updatedSlots, chang
8760
8766
  db.latestAccountHeaders,
8761
8767
  db.historicalAccountHeaders,
8762
8768
  ], async () => {
8763
- // Apply storage delta: read old → archive → write new
8769
+ const resetMapSlots = new Set();
8770
+ // Apply storage patch: read old → archive → write/delete final state.
8764
8771
  for (const slot of updatedSlots) {
8765
8772
  const oldSlot = await db.latestAccountStorages
8766
8773
  .where("[accountId+slotName]")
@@ -8773,12 +8780,44 @@ async function applyTransactionDelta(dbId, accountId, nonce, updatedSlots, chang
8773
8780
  oldSlotValue: oldSlot?.slotValue ?? null,
8774
8781
  slotType: slot.slotType,
8775
8782
  });
8776
- await db.latestAccountStorages.put({
8777
- accountId,
8778
- slotName: slot.slotName,
8779
- slotValue: slot.slotValue,
8780
- slotType: slot.slotType,
8781
- });
8783
+ // A created map is a replacement (a remove followed by create can merge to Create),
8784
+ // while a removed map must drop every persisted entry. Archive those entries so account
8785
+ // rollback can restore them.
8786
+ if (slot.slotType === 1 &&
8787
+ (slot.patchOperation === 0 || slot.patchOperation === 2)) {
8788
+ resetMapSlots.add(slot.slotName);
8789
+ const oldMapEntries = await db.latestStorageMapEntries
8790
+ .where("[accountId+slotName]")
8791
+ .equals([accountId, slot.slotName])
8792
+ .toArray();
8793
+ for (const entry of oldMapEntries) {
8794
+ await db.historicalStorageMapEntries.put({
8795
+ accountId,
8796
+ replacedAtNonce: nonce,
8797
+ slotName: entry.slotName,
8798
+ key: entry.key,
8799
+ oldValue: entry.value,
8800
+ });
8801
+ }
8802
+ await db.latestStorageMapEntries
8803
+ .where("[accountId+slotName]")
8804
+ .equals([accountId, slot.slotName])
8805
+ .delete();
8806
+ }
8807
+ if (slot.patchOperation === 2) {
8808
+ await db.latestAccountStorages
8809
+ .where("[accountId+slotName]")
8810
+ .equals([accountId, slot.slotName])
8811
+ .delete();
8812
+ }
8813
+ else {
8814
+ await db.latestAccountStorages.put({
8815
+ accountId,
8816
+ slotName: slot.slotName,
8817
+ slotValue: slot.slotValue,
8818
+ slotType: slot.slotType,
8819
+ });
8820
+ }
8782
8821
  }
8783
8822
  // Process map entries: read old → archive → update latest
8784
8823
  for (const entry of changedMapEntries) {
@@ -8786,13 +8825,30 @@ async function applyTransactionDelta(dbId, accountId, nonce, updatedSlots, chang
8786
8825
  .where("[accountId+slotName+key]")
8787
8826
  .equals([accountId, entry.slotName, entry.key])
8788
8827
  .first();
8789
- await db.historicalStorageMapEntries.put({
8790
- accountId,
8791
- replacedAtNonce: nonce,
8792
- slotName: entry.slotName,
8793
- key: entry.key,
8794
- oldValue: oldEntry?.value ?? null,
8795
- });
8828
+ if (resetMapSlots.has(entry.slotName)) {
8829
+ const archivedEntry = await db.historicalStorageMapEntries
8830
+ .where("[accountId+replacedAtNonce+slotName+key]")
8831
+ .equals([accountId, nonce, entry.slotName, entry.key])
8832
+ .first();
8833
+ if (archivedEntry === undefined) {
8834
+ await db.historicalStorageMapEntries.put({
8835
+ accountId,
8836
+ replacedAtNonce: nonce,
8837
+ slotName: entry.slotName,
8838
+ key: entry.key,
8839
+ oldValue: null,
8840
+ });
8841
+ }
8842
+ }
8843
+ else {
8844
+ await db.historicalStorageMapEntries.put({
8845
+ accountId,
8846
+ replacedAtNonce: nonce,
8847
+ slotName: entry.slotName,
8848
+ key: entry.key,
8849
+ oldValue: oldEntry?.value ?? null,
8850
+ });
8851
+ }
8796
8852
  // "" means removal
8797
8853
  if (entry.value === "") {
8798
8854
  await db.latestStorageMapEntries
@@ -8872,7 +8928,6 @@ async function applyTransactionDelta(dbId, accountId, nonce, updatedSlots, chang
8872
8928
  }
8873
8929
  catch (error) {
8874
8930
  logWebStoreError(error, `Error applying transaction delta`);
8875
- throw error;
8876
8931
  }
8877
8932
  }
8878
8933
  async function archiveAndReplaceStorageSlots(db, accountId, nonce, newSlots) {
@@ -9111,7 +9166,6 @@ async function applyFullAccountState(dbId, accountState) {
9111
9166
  }
9112
9167
  catch (error) {
9113
9168
  logWebStoreError(error, `Error applying full account state`);
9114
- throw error;
9115
9169
  }
9116
9170
  }
9117
9171
  async function upsertAccountRecord(dbId, accountId, codeRoot, storageRoot, vaultRoot, nonce, committed, commitment, accountSeed, watched) {
@@ -9516,33 +9570,36 @@ async function getAccountIdByKeyCommitment(dbId, pubKeyCommitmentHex) {
9516
9570
  }
9517
9571
  }
9518
9572
 
9519
- async function insertBlockHeader(dbId, blockNum, header, hasClientNotes) {
9573
+ async function insertBlockHeader(dbId, blockNum, header, hasClientNotes, nodeIds, nodes) {
9520
9574
  try {
9521
9575
  const db = getDatabase(dbId);
9522
- const data = {
9576
+ if (nodeIds.length !== nodes.length) {
9577
+ throw new Error("nodeIds and nodes arrays must be of the same length");
9578
+ }
9579
+ const headerData = {
9523
9580
  blockNum: blockNum,
9524
9581
  header,
9525
9582
  hasClientNotes: hasClientNotes.toString(),
9526
9583
  };
9527
- // Mirror SQLite's `insert_block_header_tx`: do an INSERT OR IGNORE on the
9528
- // row, then explicitly upgrade `has_client_notes` to true if the caller
9529
- // says so. Two callers hit this:
9530
- // - Genesis flow — no existing row; the add succeeds.
9531
- // - `get_and_store_authenticated_block` for a past block a row
9532
- // written by `applyStateSync` typically already exists. We keep that
9533
- // row untouched.
9534
- //
9535
- // The `has_client_notes` upgrade is load-bearing: `get_tracked_block_
9536
- // header_numbers` filters by this flag to seed `tracked_leaves`, which
9537
- // `get_partial_blockchain_nodes(Forest)` relies on. A private-note
9538
- // import at a block previously synced as irrelevant must flip the flag
9539
- // to true or the auth paths won't be tracked.
9540
- await db.blockHeaders.add(data).catch(async (err) => {
9541
- if (!isConstraintError(err))
9542
- throw err;
9543
- if (hasClientNotes) {
9544
- await db.blockHeaders.update(blockNum, { hasClientNotes: "true" });
9545
- }
9584
+ const nodeData = nodes.map((node, index) => ({
9585
+ id: Number(nodeIds[index]),
9586
+ node: node,
9587
+ }));
9588
+ // Persist the header and its MMR nodes in one transaction so a header is never stored
9589
+ // without the nodes that rebuild its `PartialMmr` (mirrors miden-client's atomic insert).
9590
+ await db.dexie.transaction("rw", db.blockHeaders, db.partialBlockchainNodes, async () => {
9591
+ // Header: INSERT OR IGNORE, then one-way upgrade `has_client_notes` to true (load-bearing:
9592
+ // `get_tracked_block_header_numbers` filters on it to seed forest-node tracking).
9593
+ await db.blockHeaders.add(headerData).catch(async (err) => {
9594
+ if (!isConstraintError(err))
9595
+ throw err;
9596
+ if (hasClientNotes) {
9597
+ await db.blockHeaders.update(blockNum, { hasClientNotes: "true" });
9598
+ }
9599
+ });
9600
+ // Nodes: insert-if-missing with overwrite protection; a conflicting value throws and
9601
+ // aborts the transaction, rolling back the header write too.
9602
+ await putPartialBlockchainNodesNoOverwrite(db.partialBlockchainNodes, nodeData);
9546
9603
  });
9547
9604
  }
9548
9605
  catch (err) {
@@ -9554,25 +9611,6 @@ function isConstraintError(err) {
9554
9611
  const e = err;
9555
9612
  return e?.name === "ConstraintError" || e?.inner?.name === "ConstraintError";
9556
9613
  }
9557
- async function insertPartialBlockchainNodes(dbId, ids, nodes) {
9558
- try {
9559
- const db = getDatabase(dbId);
9560
- if (ids.length !== nodes.length) {
9561
- throw new Error("ids and nodes arrays must be of the same length");
9562
- }
9563
- if (ids.length === 0) {
9564
- return;
9565
- }
9566
- const data = nodes.map((node, index) => ({
9567
- id: Number(ids[index]),
9568
- node: node,
9569
- }));
9570
- await db.partialBlockchainNodes.bulkPut(data);
9571
- }
9572
- catch (err) {
9573
- logWebStoreError(err, "Failed to insert partial blockchain nodes");
9574
- }
9575
- }
9576
9614
  async function getBlockHeaders(dbId, blockNumbers) {
9577
9615
  try {
9578
9616
  const db = getDatabase(dbId);
@@ -9630,33 +9668,6 @@ async function getTrackedBlockHeaderNumbers(dbId) {
9630
9668
  logWebStoreError(err, "Failed to get tracked block header numbers");
9631
9669
  }
9632
9670
  }
9633
- /**
9634
- * Returns the blockchain peaks at the current sync height. Peaks live on the
9635
- * `blockHeaders` row at `stateSync.blockNum` — the block that was the chain
9636
- * tip when its sync ran. Returns `{ blockNum, peaks: undefined }` if the
9637
- * stateSync row is missing or if that block was inserted via backfill
9638
- * (which leaves `partialBlockchainPeaks` unset).
9639
- */
9640
- async function getCurrentBlockchainPeaks(dbId) {
9641
- try {
9642
- const db = getDatabase(dbId);
9643
- const stateSyncRow = await db.stateSync.get(1);
9644
- if (stateSyncRow == undefined) {
9645
- return { blockNum: 0, peaks: undefined };
9646
- }
9647
- const header = await db.blockHeaders.get(stateSyncRow.blockNum);
9648
- if (header == undefined || header.partialBlockchainPeaks == undefined) {
9649
- return { blockNum: stateSyncRow.blockNum, peaks: undefined };
9650
- }
9651
- return {
9652
- blockNum: stateSyncRow.blockNum,
9653
- peaks: uint8ArrayToBase64(header.partialBlockchainPeaks),
9654
- };
9655
- }
9656
- catch (err) {
9657
- logWebStoreError(err, "Failed to get current blockchain peaks");
9658
- }
9659
- }
9660
9671
  async function getPartialBlockchainNodesAll(dbId) {
9661
9672
  try {
9662
9673
  const db = getDatabase(dbId);
@@ -9698,9 +9709,9 @@ async function pruneIrrelevantBlocks(dbId, blocksToUntrack, nodeIdsToRemove) {
9698
9709
  try {
9699
9710
  const db = getDatabase(dbId);
9700
9711
  const numericNodeIds = nodeIdsToRemove.map(Number);
9701
- const syncHeight = await db.stateSync.get(1);
9712
+ const syncHeight = await db.blockchainCheckpoint.get(1);
9702
9713
  if (syncHeight == undefined) {
9703
- throw Error("SyncHeight is undefined -- is the state sync table empty?");
9714
+ throw Error("SyncHeight is undefined -- is the blockchain_checkpoint table empty?");
9704
9715
  }
9705
9716
  await db.dexie.transaction("rw", db.blockHeaders, db.partialBlockchainNodes, async () => {
9706
9717
  // 1. Delete stale MMR authentication nodes.
@@ -10033,7 +10044,6 @@ async function upsertInputNote(dbId, detailsCommitment, noteId, assets, attachme
10033
10044
  }
10034
10045
  catch (error) {
10035
10046
  logWebStoreError(error, `Error inserting note: ${detailsCommitment}`);
10036
- throw error;
10037
10047
  }
10038
10048
  };
10039
10049
  return db.dexie.transaction("rw", db.inputNotes, db.notesScripts, doWork);
@@ -10117,7 +10127,6 @@ async function upsertOutputNote(dbId, detailsCommitment, noteId, assets, attachm
10117
10127
  }
10118
10128
  catch (error) {
10119
10129
  logWebStoreError(error, `Error inserting note: ${detailsCommitment}`);
10120
- throw error;
10121
10130
  }
10122
10131
  };
10123
10132
  return db.dexie.transaction("rw", db.outputNotes, db.notesScripts, doWork);
@@ -10360,7 +10369,6 @@ async function insertTransactionScript(dbId, scriptRoot, txScript, tx) {
10360
10369
  }
10361
10370
  catch (error) {
10362
10371
  logWebStoreError(error, "Failed to insert transaction script");
10363
- throw error;
10364
10372
  }
10365
10373
  }
10366
10374
  async function upsertTransactionRecord(dbId, transactionId, details, blockNum, statusVariant, status, scriptRoot, tx) {
@@ -10378,82 +10386,8 @@ async function upsertTransactionRecord(dbId, transactionId, details, blockNum, s
10378
10386
  }
10379
10387
  catch (err) {
10380
10388
  logWebStoreError(err, "Failed to insert proven transaction data");
10381
- throw err;
10382
10389
  }
10383
10390
  }
10384
- /**
10385
- * Applies a batch of transaction updates atomically inside a single Dexie transaction.
10386
- *
10387
- * All sub-operations that internally call `db.dexie.transaction()` are auto-joined by Dexie
10388
- * as nested sub-transactions when run inside this parent transaction, provided the parent
10389
- * scope is a superset of every sub-transaction scope.
10390
- */
10391
- async function applyTransactionBatch(dbId, payloads) {
10392
- const db = getDatabase(dbId);
10393
- await db.dexie.transaction("rw", [
10394
- db.transactions,
10395
- db.transactionScripts,
10396
- db.latestAccountStorages,
10397
- db.historicalAccountStorages,
10398
- db.latestStorageMapEntries,
10399
- db.historicalStorageMapEntries,
10400
- db.latestAccountAssets,
10401
- db.historicalAccountAssets,
10402
- db.latestAccountHeaders,
10403
- db.historicalAccountHeaders,
10404
- db.inputNotes,
10405
- db.outputNotes,
10406
- db.notesScripts,
10407
- db.tags,
10408
- ], async () => {
10409
- for (const payload of payloads) {
10410
- // 1. Insert the transaction record (script first, then record)
10411
- const rec = payload.transactionRecord;
10412
- if (rec.scriptRoot && rec.txScript) {
10413
- await insertTransactionScript(dbId, rec.scriptRoot, rec.txScript);
10414
- }
10415
- await upsertTransactionRecord(dbId, rec.id, rec.details, rec.blockNum, rec.statusVariant, rec.status, rec.scriptRoot);
10416
- // 2. Apply account state (full or delta)
10417
- const acct = payload.accountState;
10418
- if (acct.kind === "full") {
10419
- await applyFullAccountState(dbId, acct.account);
10420
- }
10421
- else {
10422
- await applyTransactionDelta(dbId, acct.accountId, acct.nonce, acct.updatedSlots, acct.changedMapEntries, acct.changedAssets, acct.codeRoot, acct.storageRoot, acct.vaultRoot, acct.committed, acct.commitment);
10423
- }
10424
- // 3. Upsert input and output notes
10425
- for (const note of payload.inputNotes) {
10426
- await upsertInputNote(dbId, note.detailsCommitment, note.noteId, note.noteAssets, note.attachments, note.serialNumber, note.inputs, note.noteScriptRoot, note.noteScript, note.nullifier, note.createdAt, note.stateDiscriminant, note.state, note.consumedBlockHeight ?? null, note.consumedTxOrder ?? null, note.consumerAccountId ?? null);
10427
- }
10428
- for (const note of payload.outputNotes) {
10429
- await upsertOutputNote(dbId, note.detailsCommitment, note.noteId, note.noteAssets, note.attachments, note.recipientDigest, note.metadata, note.nullifier, note.expectedHeight, note.stateDiscriminant, note.state);
10430
- }
10431
- // 4. Add note tags (deduplicated within the transaction)
10432
- for (const tagEntry of payload.tags) {
10433
- const tagArray = new Uint8Array(tagEntry.tag);
10434
- const tagBase64 = uint8ArrayToBase64(tagArray);
10435
- const sourceNoteId = tagEntry.sourceNoteId ?? "";
10436
- const sourceAccountId = tagEntry.sourceAccountId ?? "";
10437
- const sourceSubscriptionKey = tagEntry.sourceSubscriptionKey ?? "";
10438
- // Check for existing tag to avoid duplicates (mirrors the Rust add_note_tag logic).
10439
- // sourceSubscriptionKey is unindexed, so filter on it in memory — distinct
10440
- // subscriptions may share a tag and must remain separate rows.
10441
- const existing = await db.tags
10442
- .where({ tag: tagBase64, sourceNoteId, sourceAccountId })
10443
- .filter((t) => (t.sourceSubscriptionKey ?? "") === sourceSubscriptionKey)
10444
- .first();
10445
- if (!existing) {
10446
- await db.tags.add({
10447
- tag: tagBase64,
10448
- sourceNoteId,
10449
- sourceAccountId,
10450
- sourceSubscriptionKey,
10451
- });
10452
- }
10453
- }
10454
- }
10455
- });
10456
- }
10457
10391
 
10458
10392
  async function getNoteTags(dbId) {
10459
10393
  try {
@@ -10479,7 +10413,7 @@ async function getNoteTags(dbId) {
10479
10413
  async function getSyncHeight(dbId) {
10480
10414
  try {
10481
10415
  const db = getDatabase(dbId);
10482
- const record = await db.stateSync.get(1);
10416
+ const record = await db.blockchainCheckpoint.get(1);
10483
10417
  if (record) {
10484
10418
  let data = {
10485
10419
  blockNum: record.blockNum,
@@ -10494,6 +10428,25 @@ async function getSyncHeight(dbId) {
10494
10428
  logWebStoreError(error, "Error fetching sync height");
10495
10429
  }
10496
10430
  }
10431
+ async function getCurrentBlockchainPeaks(dbId) {
10432
+ try {
10433
+ const db = getDatabase(dbId);
10434
+ const record = await db.blockchainCheckpoint.get(1);
10435
+ if (!record || record.partialBlockchainPeaks.length === 0) {
10436
+ return {
10437
+ blockNum: record?.blockNum ?? 0,
10438
+ peaks: uint8ArrayToBase64(new Uint8Array()),
10439
+ };
10440
+ }
10441
+ return {
10442
+ blockNum: record.blockNum,
10443
+ peaks: uint8ArrayToBase64(record.partialBlockchainPeaks),
10444
+ };
10445
+ }
10446
+ catch (error) {
10447
+ logWebStoreError(error, "Error fetching current blockchain peaks");
10448
+ }
10449
+ }
10497
10450
  async function addNoteTag(dbId, tag, sourceNoteId, sourceAccountId, sourceSubscriptionKey) {
10498
10451
  try {
10499
10452
  const db = getDatabase(dbId);
@@ -10534,10 +10487,10 @@ async function removeNoteTag(dbId, tag, sourceNoteId, sourceAccountId, sourceSub
10534
10487
  }
10535
10488
  async function applyStateSync(dbId, stateUpdate) {
10536
10489
  const db = getDatabase(dbId);
10537
- const { blockNum, flattenedNewBlockHeaders, partialBlockchainPeaks, newBlockNums, blockHasRelevantNotes, serializedNodeIds, serializedNodes, committedNoteTagSources, serializedInputNotes, serializedOutputNotes, accountUpdates, transactionUpdates, } = stateUpdate;
10490
+ const { blockNum, flattenedNewBlockHeaders, newPeaks, newBlockNums, blockHasRelevantNotes, serializedNodeIds, serializedNodes, committedNoteTagSources, serializedInputNotes, serializedOutputNotes, accountUpdates, transactionUpdates, } = stateUpdate;
10538
10491
  const newBlockHeaders = reconstructFlattenedVec(flattenedNewBlockHeaders);
10539
10492
  const tablesToAccess = [
10540
- db.stateSync,
10493
+ db.blockchainCheckpoint,
10541
10494
  db.inputNotes,
10542
10495
  db.outputNotes,
10543
10496
  db.notesScripts,
@@ -10585,46 +10538,41 @@ async function applyStateSync(dbId, stateUpdate) {
10585
10538
  accountCommitment: accountUpdate.accountCommitment,
10586
10539
  accountSeed: accountUpdate.accountSeed,
10587
10540
  }))),
10588
- updateSyncHeight(tx, blockNum),
10541
+ updateSyncHeight(tx, blockNum, newPeaks),
10589
10542
  updatePartialBlockchainNodes(tx, serializedNodeIds, serializedNodes),
10590
10543
  updateCommittedNoteTags(tx, committedNoteTagSources),
10591
10544
  Promise.all(newBlockHeaders.map((newBlockHeader, i) => {
10592
- // Peaks are attached only to the chain-tip block (the one whose
10593
- // blockNum matches the new sync height). That row is always
10594
- // present in this iteration because `partial_blockchain_updates`
10595
- // includes the chain tip header by construction.
10596
- // TODO: potentially move this to be under the sync state info table
10597
- // as currently done in SQLite
10598
- const peaks = newBlockNums[i] === blockNum ? partialBlockchainPeaks : undefined;
10599
- return updateBlockHeader(tx, newBlockNums[i], newBlockHeader, blockHasRelevantNotes[i] == 1, peaks);
10545
+ return updateBlockHeader(tx, newBlockNums[i], newBlockHeader, blockHasRelevantNotes[i] == 1);
10600
10546
  })),
10601
10547
  ]);
10602
10548
  });
10603
10549
  }
10604
- /**
10605
- * Advances `stateSync.blockNum` only when moving forward. Mirrors SQLite's
10606
- * `UPDATE blockchain_checkpoint ... WHERE block_num < ?`.
10607
- */
10608
- async function updateSyncHeight(tx, blockNum) {
10550
+ async function updateSyncHeight(tx, blockNum, newPeaks) {
10609
10551
  try {
10610
- const current = await tx.stateSync.get(1);
10552
+ // Only update if moving forward to prevent race conditions.
10553
+ // Peaks travel with blockNum: skipping the height update also skips the
10554
+ // peaks update, by design — a backward-going sync must not overwrite the
10555
+ // newer peaks with older ones.
10556
+ const current = await tx.blockchainCheckpoint.get(1);
10611
10557
  if (!current || current.blockNum < blockNum) {
10612
- await tx.stateSync.update(1, {
10558
+ await tx.blockchainCheckpoint.update(1, {
10613
10559
  blockNum: blockNum,
10560
+ partialBlockchainPeaks: newPeaks,
10614
10561
  });
10615
10562
  }
10616
10563
  }
10617
10564
  catch (error) {
10565
+ // logWebStoreError always re-throws, so a failure here aborts the whole
10566
+ // Dexie rw transaction rather than silently committing a partial update.
10618
10567
  logWebStoreError(error, "Failed to update sync height");
10619
10568
  }
10620
10569
  }
10621
- async function updateBlockHeader(tx, blockNum, blockHeader, hasClientNotes, partialBlockchainPeaks) {
10570
+ async function updateBlockHeader(tx, blockNum, blockHeader, hasClientNotes) {
10622
10571
  try {
10623
10572
  const data = {
10624
10573
  blockNum: blockNum,
10625
10574
  header: blockHeader,
10626
10575
  hasClientNotes: hasClientNotes.toString(),
10627
- ...(partialBlockchainPeaks !== undefined && { partialBlockchainPeaks }),
10628
10576
  };
10629
10577
  const existingBlockHeader = await tx.blockHeaders.get(blockNum);
10630
10578
  if (!existingBlockHeader) {
@@ -10648,8 +10596,9 @@ async function updatePartialBlockchainNodes(tx, nodeIndexes, nodes) {
10648
10596
  id: Number(nodeIndexes[index]),
10649
10597
  node: node,
10650
10598
  }));
10651
- // Use bulkPut to add/overwrite the entries
10652
- await tx.partialBlockchainNodes.bulkPut(data);
10599
+ // Insert missing nodes and reject conflicting writes
10600
+ await putPartialBlockchainNodesNoOverwrite(tx
10601
+ .partialBlockchainNodes, data);
10653
10602
  }
10654
10603
  catch (err) {
10655
10604
  logWebStoreError(err, "Failed to update partial blockchain nodes");
@@ -10873,17 +10822,6 @@ class Account {
10873
10822
  const ret = wasm.account_isFaucet(this.__wbg_ptr);
10874
10823
  return ret !== 0;
10875
10824
  }
10876
- /**
10877
- * Returns true if this is a network account.
10878
- *
10879
- * A network account is a public account whose storage
10880
- * carries the standardized network-account note-script allowlist slot.
10881
- * @returns {boolean}
10882
- */
10883
- isNetworkAccount() {
10884
- const ret = wasm.account_isNetworkAccount(this.__wbg_ptr);
10885
- return ret !== 0;
10886
- }
10887
10825
  /**
10888
10826
  * Returns true if the account has not yet been committed to the chain.
10889
10827
  * @returns {boolean}
@@ -10916,20 +10854,6 @@ class Account {
10916
10854
  const ret = wasm.account_isRegularAccount(this.__wbg_ptr);
10917
10855
  return ret !== 0;
10918
10856
  }
10919
- /**
10920
- * Returns the note-script roots this network account is allowed to
10921
- * consume, or `undefined` if this is not a network account.
10922
- * @returns {Word[] | undefined}
10923
- */
10924
- networkNoteAllowlist() {
10925
- const ret = wasm.account_networkNoteAllowlist(this.__wbg_ptr);
10926
- let v1;
10927
- if (ret[0] !== 0) {
10928
- v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();
10929
- wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
10930
- }
10931
- return v1;
10932
- }
10933
10857
  /**
10934
10858
  * Returns the account nonce, which is incremented on every state update.
10935
10859
  * @returns {Felt}
@@ -11283,6 +11207,18 @@ class AccountComponent {
11283
11207
  }
11284
11208
  return AccountComponent.__wrap(ret[0]);
11285
11209
  }
11210
+ /**
11211
+ * Returns the exact compiled code used by this component.
11212
+ *
11213
+ * Link this code when compiling scripts that invoke the component. Rebuilding a library from
11214
+ * the original source can produce different procedure identities than the code installed on
11215
+ * the account.
11216
+ * @returns {AccountComponentCode}
11217
+ */
11218
+ componentCode() {
11219
+ const ret = wasm.accountcomponent_componentCode(this.__wbg_ptr);
11220
+ return AccountComponentCode.__wrap(ret);
11221
+ }
11286
11222
  /**
11287
11223
  * @param {Word} commitment
11288
11224
  * @param {AuthScheme} auth_scheme
@@ -11309,42 +11245,6 @@ class AccountComponent {
11309
11245
  }
11310
11246
  return AccountComponent.__wrap(ret[0]);
11311
11247
  }
11312
- /**
11313
- * Builds the auth component for a network account.
11314
- *
11315
- * A network account is a public account carrying this component: its
11316
- * note-script allowlist is the standardized storage slot the node's
11317
- * network-transaction builder inspects to identify the account as a network
11318
- * account and route matching notes to it for auto-consumption. The account
11319
- * may only consume notes whose script root is in `allowedNoteScriptRoots`
11320
- * (obtain a root via `NoteScript.root()`).
11321
- *
11322
- * `allowedTxScriptRoots` optionally allowlists transaction script roots
11323
- * (from `TransactionScript.root()`) the account will execute. When omitted
11324
- * or empty, the account permits no transaction scripts and deploys and
11325
- * advances via scriptless transactions only. Allowlist a script root only
11326
- * if the script's effect is safe for *every* possible input: a root pins
11327
- * the script's code but not its arguments or advice inputs, which the
11328
- * (arbitrary) transaction submitter controls.
11329
- *
11330
- * # Errors
11331
- * Errors if `allowedNoteScriptRoots` is empty: a network account with no
11332
- * allowlisted note scripts could never consume a note.
11333
- * @param {Word[]} allowed_note_script_roots
11334
- * @param {Word[] | null} [allowed_tx_script_roots]
11335
- * @returns {AccountComponent}
11336
- */
11337
- static createNetworkAuth(allowed_note_script_roots, allowed_tx_script_roots) {
11338
- const ptr0 = passArrayJsValueToWasm0(allowed_note_script_roots, wasm.__wbindgen_malloc);
11339
- const len0 = WASM_VECTOR_LEN;
11340
- var ptr1 = isLikeNone(allowed_tx_script_roots) ? 0 : passArrayJsValueToWasm0(allowed_tx_script_roots, wasm.__wbindgen_malloc);
11341
- var len1 = WASM_VECTOR_LEN;
11342
- const ret = wasm.accountcomponent_createNetworkAuth(ptr0, len0, ptr1, len1);
11343
- if (ret[2]) {
11344
- throw takeFromExternrefTable0(ret[1]);
11345
- }
11346
- return AccountComponent.__wrap(ret[0]);
11347
- }
11348
11248
  /**
11349
11249
  * Creates an account component from a compiled library and storage slots.
11350
11250
  * @param {Library} library
@@ -11471,8 +11371,10 @@ if (Symbol.dispose) AccountComponentCode.prototype[Symbol.dispose] = AccountComp
11471
11371
  * `AccountDelta` stores the differences between two account states.
11472
11372
  *
11473
11373
  * The differences are represented as follows:
11474
- * - `storage`: an `AccountStorageDelta` that contains the changes to the account storage.
11475
- * - `vault`: an `AccountVaultDelta` object that contains the changes to the account vault.
11374
+ * - `storage`: an `AccountStoragePatch` with the absolute final values of changed storage slots
11375
+ * (storage changes have identical semantics in the delta and patch models).
11376
+ * - `vault`: an `AccountVaultDelta` object that contains the relative changes to the account
11377
+ * vault.
11476
11378
  * - `nonce`: if the nonce of the account has changed, the new nonce is stored here.
11477
11379
  */
11478
11380
  class AccountDelta {
@@ -11538,12 +11440,12 @@ class AccountDelta {
11538
11440
  return ret;
11539
11441
  }
11540
11442
  /**
11541
- * Returns the storage delta.
11542
- * @returns {AccountStorageDelta}
11443
+ * Returns the storage patch (storage changes are absolute in both models).
11444
+ * @returns {AccountStoragePatch}
11543
11445
  */
11544
11446
  storage() {
11545
11447
  const ret = wasm.accountdelta_storage(this.__wbg_ptr);
11546
- return AccountStorageDelta.__wrap(ret);
11448
+ return AccountStoragePatch.__wrap(ret);
11547
11449
  }
11548
11450
  /**
11549
11451
  * Returns the vault delta.
@@ -11938,6 +11840,90 @@ const AccountInterface = Object.freeze({
11938
11840
  BasicWallet: 0, "0": "BasicWallet",
11939
11841
  });
11940
11842
 
11843
+ /**
11844
+ * Describes the new absolute account state produced by a transaction.
11845
+ */
11846
+ class AccountPatch {
11847
+ static __wrap(ptr) {
11848
+ ptr = ptr >>> 0;
11849
+ const obj = Object.create(AccountPatch.prototype);
11850
+ obj.__wbg_ptr = ptr;
11851
+ AccountPatchFinalization.register(obj, obj.__wbg_ptr, obj);
11852
+ return obj;
11853
+ }
11854
+ __destroy_into_raw() {
11855
+ const ptr = this.__wbg_ptr;
11856
+ this.__wbg_ptr = 0;
11857
+ AccountPatchFinalization.unregister(this);
11858
+ return ptr;
11859
+ }
11860
+ free() {
11861
+ const ptr = this.__destroy_into_raw();
11862
+ wasm.__wbg_accountpatch_free(ptr, 0);
11863
+ }
11864
+ /**
11865
+ * Deserializes an account patch from bytes.
11866
+ * @param {Uint8Array} bytes
11867
+ * @returns {AccountPatch}
11868
+ */
11869
+ static deserialize(bytes) {
11870
+ const ret = wasm.accountpatch_deserialize(bytes);
11871
+ if (ret[2]) {
11872
+ throw takeFromExternrefTable0(ret[1]);
11873
+ }
11874
+ return AccountPatch.__wrap(ret[0]);
11875
+ }
11876
+ /**
11877
+ * Returns the final nonce, or `None` if it was unchanged.
11878
+ * @returns {Felt | undefined}
11879
+ */
11880
+ finalNonce() {
11881
+ const ret = wasm.accountpatch_finalNonce(this.__wbg_ptr);
11882
+ return ret === 0 ? undefined : Felt.__wrap(ret);
11883
+ }
11884
+ /**
11885
+ * Returns the affected account ID.
11886
+ * @returns {AccountId}
11887
+ */
11888
+ id() {
11889
+ const ret = wasm.accountpatch_id(this.__wbg_ptr);
11890
+ return AccountId.__wrap(ret);
11891
+ }
11892
+ /**
11893
+ * Returns true if this patch contains no state changes.
11894
+ * @returns {boolean}
11895
+ */
11896
+ isEmpty() {
11897
+ const ret = wasm.accountpatch_isEmpty(this.__wbg_ptr);
11898
+ return ret !== 0;
11899
+ }
11900
+ /**
11901
+ * Serializes the account patch into bytes.
11902
+ * @returns {Uint8Array}
11903
+ */
11904
+ serialize() {
11905
+ const ret = wasm.accountpatch_serialize(this.__wbg_ptr);
11906
+ return ret;
11907
+ }
11908
+ /**
11909
+ * Returns the account storage patch.
11910
+ * @returns {AccountStoragePatch}
11911
+ */
11912
+ storage() {
11913
+ const ret = wasm.accountpatch_storage(this.__wbg_ptr);
11914
+ return AccountStoragePatch.__wrap(ret);
11915
+ }
11916
+ /**
11917
+ * Returns the account vault patch.
11918
+ * @returns {AccountVaultPatch}
11919
+ */
11920
+ vault() {
11921
+ const ret = wasm.accountpatch_vault(this.__wbg_ptr);
11922
+ return AccountVaultPatch.__wrap(ret);
11923
+ }
11924
+ }
11925
+ if (Symbol.dispose) AccountPatch.prototype[Symbol.dispose] = AccountPatch.prototype.free;
11926
+
11941
11927
  /**
11942
11928
  * Proof of existence of an account's state at a specific block number, as returned by the node.
11943
11929
  *
@@ -12411,74 +12397,6 @@ class AccountStorage {
12411
12397
  }
12412
12398
  if (Symbol.dispose) AccountStorage.prototype[Symbol.dispose] = AccountStorage.prototype.free;
12413
12399
 
12414
- /**
12415
- * `AccountStorageDelta` stores the differences between two states of account storage.
12416
- *
12417
- * The delta consists of two maps:
12418
- * - A map containing the updates to value storage slots. The keys in this map are indexes of the
12419
- * updated storage slots and the values are the new values for these slots.
12420
- * - A map containing updates to storage maps. The keys in this map are indexes of the updated
12421
- * storage slots and the values are corresponding storage map delta objects.
12422
- */
12423
- class AccountStorageDelta {
12424
- static __wrap(ptr) {
12425
- ptr = ptr >>> 0;
12426
- const obj = Object.create(AccountStorageDelta.prototype);
12427
- obj.__wbg_ptr = ptr;
12428
- AccountStorageDeltaFinalization.register(obj, obj.__wbg_ptr, obj);
12429
- return obj;
12430
- }
12431
- __destroy_into_raw() {
12432
- const ptr = this.__wbg_ptr;
12433
- this.__wbg_ptr = 0;
12434
- AccountStorageDeltaFinalization.unregister(this);
12435
- return ptr;
12436
- }
12437
- free() {
12438
- const ptr = this.__destroy_into_raw();
12439
- wasm.__wbg_accountstoragedelta_free(ptr, 0);
12440
- }
12441
- /**
12442
- * Deserializes a storage delta from bytes.
12443
- * @param {Uint8Array} bytes
12444
- * @returns {AccountStorageDelta}
12445
- */
12446
- static deserialize(bytes) {
12447
- const ret = wasm.accountstoragedelta_deserialize(bytes);
12448
- if (ret[2]) {
12449
- throw takeFromExternrefTable0(ret[1]);
12450
- }
12451
- return AccountStorageDelta.__wrap(ret[0]);
12452
- }
12453
- /**
12454
- * Returns true if no storage slots are changed.
12455
- * @returns {boolean}
12456
- */
12457
- isEmpty() {
12458
- const ret = wasm.accountstoragedelta_isEmpty(this.__wbg_ptr);
12459
- return ret !== 0;
12460
- }
12461
- /**
12462
- * Serializes the storage delta into bytes.
12463
- * @returns {Uint8Array}
12464
- */
12465
- serialize() {
12466
- const ret = wasm.accountstoragedelta_serialize(this.__wbg_ptr);
12467
- return ret;
12468
- }
12469
- /**
12470
- * Returns the new values for modified storage slots.
12471
- * @returns {Word[]}
12472
- */
12473
- values() {
12474
- const ret = wasm.accountstoragedelta_values(this.__wbg_ptr);
12475
- var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();
12476
- wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
12477
- return v1;
12478
- }
12479
- }
12480
- if (Symbol.dispose) AccountStorageDelta.prototype[Symbol.dispose] = AccountStorageDelta.prototype.free;
12481
-
12482
12400
  /**
12483
12401
  * Storage visibility mode for an account.
12484
12402
  *
@@ -12561,8 +12479,70 @@ class AccountStorageMode {
12561
12479
  }
12562
12480
  if (Symbol.dispose) AccountStorageMode.prototype[Symbol.dispose] = AccountStorageMode.prototype.free;
12563
12481
 
12564
- class AccountStorageRequirements {
12565
- static __wrap(ptr) {
12482
+ /**
12483
+ * Absolute updates to named account storage slots.
12484
+ */
12485
+ class AccountStoragePatch {
12486
+ static __wrap(ptr) {
12487
+ ptr = ptr >>> 0;
12488
+ const obj = Object.create(AccountStoragePatch.prototype);
12489
+ obj.__wbg_ptr = ptr;
12490
+ AccountStoragePatchFinalization.register(obj, obj.__wbg_ptr, obj);
12491
+ return obj;
12492
+ }
12493
+ __destroy_into_raw() {
12494
+ const ptr = this.__wbg_ptr;
12495
+ this.__wbg_ptr = 0;
12496
+ AccountStoragePatchFinalization.unregister(this);
12497
+ return ptr;
12498
+ }
12499
+ free() {
12500
+ const ptr = this.__destroy_into_raw();
12501
+ wasm.__wbg_accountstoragepatch_free(ptr, 0);
12502
+ }
12503
+ /**
12504
+ * Deserializes a storage patch from bytes.
12505
+ * @param {Uint8Array} bytes
12506
+ * @returns {AccountStoragePatch}
12507
+ */
12508
+ static deserialize(bytes) {
12509
+ const ret = wasm.accountstoragepatch_deserialize(bytes);
12510
+ if (ret[2]) {
12511
+ throw takeFromExternrefTable0(ret[1]);
12512
+ }
12513
+ return AccountStoragePatch.__wrap(ret[0]);
12514
+ }
12515
+ /**
12516
+ * Returns true if no storage slots are changed.
12517
+ * @returns {boolean}
12518
+ */
12519
+ isEmpty() {
12520
+ const ret = wasm.accountstoragepatch_isEmpty(this.__wbg_ptr);
12521
+ return ret !== 0;
12522
+ }
12523
+ /**
12524
+ * Serializes the storage patch into bytes.
12525
+ * @returns {Uint8Array}
12526
+ */
12527
+ serialize() {
12528
+ const ret = wasm.accountstoragepatch_serialize(this.__wbg_ptr);
12529
+ return ret;
12530
+ }
12531
+ /**
12532
+ * Returns the final values for created or updated value slots.
12533
+ * @returns {Word[]}
12534
+ */
12535
+ values() {
12536
+ const ret = wasm.accountstoragepatch_values(this.__wbg_ptr);
12537
+ var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();
12538
+ wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
12539
+ return v1;
12540
+ }
12541
+ }
12542
+ if (Symbol.dispose) AccountStoragePatch.prototype[Symbol.dispose] = AccountStoragePatch.prototype.free;
12543
+
12544
+ class AccountStorageRequirements {
12545
+ static __wrap(ptr) {
12566
12546
  ptr = ptr >>> 0;
12567
12547
  const obj = Object.create(AccountStorageRequirements.prototype);
12568
12548
  obj.__wbg_ptr = ptr;
@@ -12704,6 +12684,86 @@ class AccountVaultDelta {
12704
12684
  }
12705
12685
  if (Symbol.dispose) AccountVaultDelta.prototype[Symbol.dispose] = AccountVaultDelta.prototype.free;
12706
12686
 
12687
+ /**
12688
+ * Absolute updates to account vault entries.
12689
+ */
12690
+ class AccountVaultPatch {
12691
+ static __wrap(ptr) {
12692
+ ptr = ptr >>> 0;
12693
+ const obj = Object.create(AccountVaultPatch.prototype);
12694
+ obj.__wbg_ptr = ptr;
12695
+ AccountVaultPatchFinalization.register(obj, obj.__wbg_ptr, obj);
12696
+ return obj;
12697
+ }
12698
+ __destroy_into_raw() {
12699
+ const ptr = this.__wbg_ptr;
12700
+ this.__wbg_ptr = 0;
12701
+ AccountVaultPatchFinalization.unregister(this);
12702
+ return ptr;
12703
+ }
12704
+ free() {
12705
+ const ptr = this.__destroy_into_raw();
12706
+ wasm.__wbg_accountvaultpatch_free(ptr, 0);
12707
+ }
12708
+ /**
12709
+ * Deserializes a vault patch from bytes.
12710
+ * @param {Uint8Array} bytes
12711
+ * @returns {AccountVaultPatch}
12712
+ */
12713
+ static deserialize(bytes) {
12714
+ const ret = wasm.accountvaultpatch_deserialize(bytes);
12715
+ if (ret[2]) {
12716
+ throw takeFromExternrefTable0(ret[1]);
12717
+ }
12718
+ return AccountVaultPatch.__wrap(ret[0]);
12719
+ }
12720
+ /**
12721
+ * Returns true if no vault entries are changed.
12722
+ * @returns {boolean}
12723
+ */
12724
+ isEmpty() {
12725
+ const ret = wasm.accountstoragepatch_isEmpty(this.__wbg_ptr);
12726
+ return ret !== 0;
12727
+ }
12728
+ /**
12729
+ * Returns the number of changed vault entries.
12730
+ * @returns {number}
12731
+ */
12732
+ numAssets() {
12733
+ const ret = wasm.accountvaultpatch_numAssets(this.__wbg_ptr);
12734
+ return ret >>> 0;
12735
+ }
12736
+ /**
12737
+ * Returns the IDs of removed assets as their canonical words.
12738
+ * @returns {Word[]}
12739
+ */
12740
+ removedAssetIds() {
12741
+ const ret = wasm.accountvaultpatch_removedAssetIds(this.__wbg_ptr);
12742
+ var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();
12743
+ wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
12744
+ return v1;
12745
+ }
12746
+ /**
12747
+ * Serializes the vault patch into bytes.
12748
+ * @returns {Uint8Array}
12749
+ */
12750
+ serialize() {
12751
+ const ret = wasm.accountvaultpatch_serialize(this.__wbg_ptr);
12752
+ return ret;
12753
+ }
12754
+ /**
12755
+ * Returns fungible assets whose final balance was added or updated.
12756
+ * @returns {FungibleAsset[]}
12757
+ */
12758
+ updatedFungibleAssets() {
12759
+ const ret = wasm.accountvaultpatch_updatedFungibleAssets(this.__wbg_ptr);
12760
+ var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();
12761
+ wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
12762
+ return v1;
12763
+ }
12764
+ }
12765
+ if (Symbol.dispose) AccountVaultPatch.prototype[Symbol.dispose] = AccountVaultPatch.prototype.free;
12766
+
12707
12767
  /**
12708
12768
  * Representation of a Miden address (account ID plus routing parameters).
12709
12769
  */
@@ -12895,13 +12955,6 @@ if (Symbol.dispose) AdviceInputs.prototype[Symbol.dispose] = AdviceInputs.protot
12895
12955
  * Map of advice values keyed by words for script execution.
12896
12956
  */
12897
12957
  class AdviceMap {
12898
- static __wrap(ptr) {
12899
- ptr = ptr >>> 0;
12900
- const obj = Object.create(AdviceMap.prototype);
12901
- obj.__wbg_ptr = ptr;
12902
- AdviceMapFinalization.register(obj, obj.__wbg_ptr, obj);
12903
- return obj;
12904
- }
12905
12958
  __destroy_into_raw() {
12906
12959
  const ptr = this.__wbg_ptr;
12907
12960
  this.__wbg_ptr = 0;
@@ -13223,13 +13276,10 @@ class AuthSecretKey {
13223
13276
  if (Symbol.dispose) AuthSecretKey.prototype[Symbol.dispose] = AuthSecretKey.prototype.free;
13224
13277
 
13225
13278
  /**
13226
- * Provides metadata for a fungible faucet account component.
13279
+ * Provides metadata for a basic fungible faucet account component.
13227
13280
  *
13228
- * Reads the on-chain `FungibleFaucet` component for the account, which holds the per-token
13229
- * info (symbol, decimals, supply, and the descriptive metadata). The same component backs both
13230
- * "basic" public faucets and network-style faucets — in the current protocol the distinction is
13231
- * a function of the surrounding account configuration (account type, auth, access control), not
13232
- * of the faucet component itself — so this reads metadata from either kind of faucet account.
13281
+ * Reads the on-chain [`FungibleFaucet`] component for the account, which holds the
13282
+ * per-token info (symbol/decimals/maxSupply).
13233
13283
  */
13234
13284
  class BasicFungibleFaucetComponent {
13235
13285
  static __wrap(ptr) {
@@ -13257,32 +13307,6 @@ class BasicFungibleFaucetComponent {
13257
13307
  const ret = wasm.basicfungiblefaucetcomponent_decimals(this.__wbg_ptr);
13258
13308
  return ret;
13259
13309
  }
13260
- /**
13261
- * Returns the optional free-form token description, or `undefined` when unset.
13262
- * @returns {string | undefined}
13263
- */
13264
- description() {
13265
- const ret = wasm.basicfungiblefaucetcomponent_description(this.__wbg_ptr);
13266
- let v1;
13267
- if (ret[0] !== 0) {
13268
- v1 = getStringFromWasm0(ret[0], ret[1]).slice();
13269
- wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
13270
- }
13271
- return v1;
13272
- }
13273
- /**
13274
- * Returns the optional external link (e.g. project website), or `undefined` when unset.
13275
- * @returns {string | undefined}
13276
- */
13277
- externalLink() {
13278
- const ret = wasm.basicfungiblefaucetcomponent_externalLink(this.__wbg_ptr);
13279
- let v1;
13280
- if (ret[0] !== 0) {
13281
- v1 = getStringFromWasm0(ret[0], ret[1]).slice();
13282
- wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
13283
- }
13284
- return v1;
13285
- }
13286
13310
  /**
13287
13311
  * Extracts faucet metadata from an account.
13288
13312
  * @param {Account} account
@@ -13297,19 +13321,6 @@ class BasicFungibleFaucetComponent {
13297
13321
  }
13298
13322
  return BasicFungibleFaucetComponent.__wrap(ret[0]);
13299
13323
  }
13300
- /**
13301
- * Returns the optional token logo URI, or `undefined` when unset.
13302
- * @returns {string | undefined}
13303
- */
13304
- logoUri() {
13305
- const ret = wasm.basicfungiblefaucetcomponent_logoUri(this.__wbg_ptr);
13306
- let v1;
13307
- if (ret[0] !== 0) {
13308
- v1 = getStringFromWasm0(ret[0], ret[1]).slice();
13309
- wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
13310
- }
13311
- return v1;
13312
- }
13313
13324
  /**
13314
13325
  * Returns the maximum token supply.
13315
13326
  * @returns {Felt}
@@ -13326,30 +13337,6 @@ class BasicFungibleFaucetComponent {
13326
13337
  const ret = wasm.basicfungiblefaucetcomponent_symbol(this.__wbg_ptr);
13327
13338
  return TokenSymbol.__wrap(ret);
13328
13339
  }
13329
- /**
13330
- * Returns the human-readable token name.
13331
- * @returns {string}
13332
- */
13333
- tokenName() {
13334
- let deferred1_0;
13335
- let deferred1_1;
13336
- try {
13337
- const ret = wasm.basicfungiblefaucetcomponent_tokenName(this.__wbg_ptr);
13338
- deferred1_0 = ret[0];
13339
- deferred1_1 = ret[1];
13340
- return getStringFromWasm0(ret[0], ret[1]);
13341
- } finally {
13342
- wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
13343
- }
13344
- }
13345
- /**
13346
- * Returns the current token supply (the amount minted so far).
13347
- * @returns {Felt}
13348
- */
13349
- tokenSupply() {
13350
- const ret = wasm.basicfungiblefaucetcomponent_tokenSupply(this.__wbg_ptr);
13351
- return Felt.__wrap(ret);
13352
- }
13353
13340
  }
13354
13341
  if (Symbol.dispose) BasicFungibleFaucetComponent.prototype[Symbol.dispose] = BasicFungibleFaucetComponent.prototype.free;
13355
13342
 
@@ -13410,7 +13397,7 @@ class BlockHeader {
13410
13397
  * @returns {Word}
13411
13398
  */
13412
13399
  commitment() {
13413
- const ret = wasm.blockheader_commitment(this.__wbg_ptr);
13400
+ const ret = wasm.accountbuilderresult_seed(this.__wbg_ptr);
13414
13401
  return Word.__wrap(ret);
13415
13402
  }
13416
13403
  /**
@@ -13455,7 +13442,7 @@ class BlockHeader {
13455
13442
  * @returns {Word}
13456
13443
  */
13457
13444
  proofCommitment() {
13458
- const ret = wasm.blockheader_commitment(this.__wbg_ptr);
13445
+ const ret = wasm.accountbuilderresult_seed(this.__wbg_ptr);
13459
13446
  return Word.__wrap(ret);
13460
13447
  }
13461
13448
  /**
@@ -13564,6 +13551,26 @@ class CodeBuilder {
13564
13551
  }
13565
13552
  return AccountComponentCode.__wrap(ret[0]);
13566
13553
  }
13554
+ /**
13555
+ * Compiles account component code under an explicit module path.
13556
+ *
13557
+ * The module path is part of procedure identity in Miden Assembly 0.25. Callers that also
13558
+ * link this component into a transaction script must use the same path for both operations.
13559
+ * @param {string} component_path
13560
+ * @param {string} account_code
13561
+ * @returns {AccountComponentCode}
13562
+ */
13563
+ compileAccountComponentCodeWithPath(component_path, account_code) {
13564
+ const ptr0 = passStringToWasm0(component_path, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
13565
+ const len0 = WASM_VECTOR_LEN;
13566
+ const ptr1 = passStringToWasm0(account_code, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
13567
+ const len1 = WASM_VECTOR_LEN;
13568
+ const ret = wasm.codebuilder_compileAccountComponentCodeWithPath(this.__wbg_ptr, ptr0, len0, ptr1, len1);
13569
+ if (ret[2]) {
13570
+ throw takeFromExternrefTable0(ret[1]);
13571
+ }
13572
+ return AccountComponentCode.__wrap(ret[0]);
13573
+ }
13567
13574
  /**
13568
13575
  * Given a Note Script's source code, compiles it with the available
13569
13576
  * modules under this builder. Returns the compiled script.
@@ -13594,6 +13601,20 @@ class CodeBuilder {
13594
13601
  }
13595
13602
  return TransactionScript.__wrap(ret[0]);
13596
13603
  }
13604
+ /**
13605
+ * Dynamically links the exact library installed by an account component.
13606
+ *
13607
+ * Use this for component procedures that are available on-chain and invoked with dynamic
13608
+ * calls, including foreign procedure invocation.
13609
+ * @param {AccountComponentCode} account_component_code
13610
+ */
13611
+ linkDynamicAccountComponentCode(account_component_code) {
13612
+ _assertClass(account_component_code, AccountComponentCode);
13613
+ const ret = wasm.codebuilder_linkDynamicAccountComponentCode(this.__wbg_ptr, account_component_code.__wbg_ptr);
13614
+ if (ret[1]) {
13615
+ throw takeFromExternrefTable0(ret[0]);
13616
+ }
13617
+ }
13597
13618
  /**
13598
13619
  * This is useful to dynamically link the {@link Library} of a foreign account
13599
13620
  * that is invoked using foreign procedure invocation (FPI). Its code is available
@@ -13626,6 +13647,20 @@ class CodeBuilder {
13626
13647
  throw takeFromExternrefTable0(ret[0]);
13627
13648
  }
13628
13649
  }
13650
+ /**
13651
+ * Statically links the exact library installed by an account component.
13652
+ *
13653
+ * This should be preferred over rebuilding the component source with `buildLibrary`, because
13654
+ * the installed component code is the source of truth for its procedure identities.
13655
+ * @param {AccountComponentCode} account_component_code
13656
+ */
13657
+ linkStaticAccountComponentCode(account_component_code) {
13658
+ _assertClass(account_component_code, AccountComponentCode);
13659
+ const ret = wasm.codebuilder_linkStaticAccountComponentCode(this.__wbg_ptr, account_component_code.__wbg_ptr);
13660
+ if (ret[1]) {
13661
+ throw takeFromExternrefTable0(ret[0]);
13662
+ }
13663
+ }
13629
13664
  /**
13630
13665
  * Statically links the given library.
13631
13666
  *
@@ -13917,111 +13952,13 @@ class Endpoint {
13917
13952
  }
13918
13953
  if (Symbol.dispose) Endpoint.prototype[Symbol.dispose] = Endpoint.prototype.free;
13919
13954
 
13920
- /**
13921
- * A 20-byte Ethereum address, used as the destination of an `AggLayer` bridge-out (B2AGG) note.
13922
- *
13923
- * Construct one from a hex string with [`EthAddress::from_hex`] (the `0x` prefix is optional) or
13924
- * from raw bytes with [`EthAddress::from_bytes`]. The canonical lowercase, `0x`-prefixed hex form
13925
- * is available via [`EthAddress::to_hex`] (also exposed as `toString`).
13926
- */
13927
- class EthAddress {
13928
- static __wrap(ptr) {
13929
- ptr = ptr >>> 0;
13930
- const obj = Object.create(EthAddress.prototype);
13931
- obj.__wbg_ptr = ptr;
13932
- EthAddressFinalization.register(obj, obj.__wbg_ptr, obj);
13933
- return obj;
13934
- }
13935
- __destroy_into_raw() {
13936
- const ptr = this.__wbg_ptr;
13937
- this.__wbg_ptr = 0;
13938
- EthAddressFinalization.unregister(this);
13939
- return ptr;
13940
- }
13941
- free() {
13942
- const ptr = this.__destroy_into_raw();
13943
- wasm.__wbg_ethaddress_free(ptr, 0);
13944
- }
13945
- /**
13946
- * Builds an Ethereum address from its raw 20-byte big-endian representation.
13947
- *
13948
- * Returns an error if the input is not exactly 20 bytes long.
13949
- * @param {Uint8Array} bytes
13950
- * @returns {EthAddress}
13951
- */
13952
- static fromBytes(bytes) {
13953
- const ret = wasm.ethaddress_fromBytes(bytes);
13954
- if (ret[2]) {
13955
- throw takeFromExternrefTable0(ret[1]);
13956
- }
13957
- return EthAddress.__wrap(ret[0]);
13958
- }
13959
- /**
13960
- * Builds an Ethereum address from a hex string (with or without the `0x` prefix).
13961
- *
13962
- * Returns an error if the string is not valid hex or does not encode exactly 20 bytes.
13963
- * @param {string} hex
13964
- * @returns {EthAddress}
13965
- */
13966
- static fromHex(hex) {
13967
- const ptr0 = passStringToWasm0(hex, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
13968
- const len0 = WASM_VECTOR_LEN;
13969
- const ret = wasm.ethaddress_fromHex(ptr0, len0);
13970
- if (ret[2]) {
13971
- throw takeFromExternrefTable0(ret[1]);
13972
- }
13973
- return EthAddress.__wrap(ret[0]);
13974
- }
13975
- /**
13976
- * Returns the raw 20-byte big-endian representation of the address.
13977
- * @returns {Uint8Array}
13978
- */
13979
- toBytes() {
13980
- const ret = wasm.ethaddress_toBytes(this.__wbg_ptr);
13981
- return ret;
13982
- }
13983
- /**
13984
- * Returns the canonical lowercase, `0x`-prefixed hex representation of the address.
13985
- * @returns {string}
13986
- */
13987
- toHex() {
13988
- let deferred1_0;
13989
- let deferred1_1;
13990
- try {
13991
- const ret = wasm.ethaddress_toHex(this.__wbg_ptr);
13992
- deferred1_0 = ret[0];
13993
- deferred1_1 = ret[1];
13994
- return getStringFromWasm0(ret[0], ret[1]);
13995
- } finally {
13996
- wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
13997
- }
13998
- }
13999
- /**
14000
- * Returns the canonical lowercase, `0x`-prefixed hex representation of the address.
14001
- * @returns {string}
14002
- */
14003
- toString() {
14004
- let deferred1_0;
14005
- let deferred1_1;
14006
- try {
14007
- const ret = wasm.ethaddress_toString(this.__wbg_ptr);
14008
- deferred1_0 = ret[0];
14009
- deferred1_1 = ret[1];
14010
- return getStringFromWasm0(ret[0], ret[1]);
14011
- } finally {
14012
- wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
14013
- }
14014
- }
14015
- }
14016
- if (Symbol.dispose) EthAddress.prototype[Symbol.dispose] = EthAddress.prototype.free;
14017
-
14018
13955
  /**
14019
13956
  * Describes the result of executing a transaction program for the Miden protocol.
14020
13957
  *
14021
13958
  * Executed transaction serves two primary purposes:
14022
13959
  * - It contains a complete description of the effects of the transaction. Specifically, it
14023
- * contains all output notes created as the result of the transaction and describes all the
14024
- * changes made to the involved account (i.e., the account delta).
13960
+ * contains all output notes created as the result of the transaction and the absolute-valued
13961
+ * account patch produced by execution.
14025
13962
  * - It contains all the information required to re-execute and prove the transaction in a
14026
13963
  * stateless manner. This includes all public transaction inputs, but also all nondeterministic
14027
13964
  * inputs that the host provided to Miden VM while executing the transaction (i.e., advice
@@ -14045,14 +13982,6 @@ class ExecutedTransaction {
14045
13982
  const ptr = this.__destroy_into_raw();
14046
13983
  wasm.__wbg_executedtransaction_free(ptr, 0);
14047
13984
  }
14048
- /**
14049
- * Returns the account delta resulting from execution.
14050
- * @returns {AccountDelta}
14051
- */
14052
- accountDelta() {
14053
- const ret = wasm.executedtransaction_accountDelta(this.__wbg_ptr);
14054
- return AccountDelta.__wrap(ret);
14055
- }
14056
13985
  /**
14057
13986
  * Returns the account the transaction was executed against.
14058
13987
  * @returns {AccountId}
@@ -14061,6 +13990,14 @@ class ExecutedTransaction {
14061
13990
  const ret = wasm.executedtransaction_accountId(this.__wbg_ptr);
14062
13991
  return AccountId.__wrap(ret);
14063
13992
  }
13993
+ /**
13994
+ * Returns the absolute account patch resulting from execution.
13995
+ * @returns {AccountPatch}
13996
+ */
13997
+ accountPatch() {
13998
+ const ret = wasm.executedtransaction_accountPatch(this.__wbg_ptr);
13999
+ return AccountPatch.__wrap(ret);
14000
+ }
14064
14001
  /**
14065
14002
  * Returns the block header that included the transaction.
14066
14003
  * @returns {BlockHeader}
@@ -14333,7 +14270,7 @@ class FetchedAccount {
14333
14270
  * @returns {number}
14334
14271
  */
14335
14272
  lastBlockNum() {
14336
- const ret = wasm.accountproof_blockNum(this.__wbg_ptr);
14273
+ const ret = wasm.fetchedaccount_lastBlockNum(this.__wbg_ptr);
14337
14274
  return ret >>> 0;
14338
14275
  }
14339
14276
  }
@@ -14779,7 +14716,7 @@ class FungibleAssetDelta {
14779
14716
  * @returns {boolean}
14780
14717
  */
14781
14718
  isEmpty() {
14782
- const ret = wasm.accountstoragedelta_isEmpty(this.__wbg_ptr);
14719
+ const ret = wasm.accountstoragepatch_isEmpty(this.__wbg_ptr);
14783
14720
  return ret !== 0;
14784
14721
  }
14785
14722
  /**
@@ -14787,7 +14724,7 @@ class FungibleAssetDelta {
14787
14724
  * @returns {number}
14788
14725
  */
14789
14726
  numAssets() {
14790
- const ret = wasm.fungibleassetdelta_numAssets(this.__wbg_ptr);
14727
+ const ret = wasm.accountvaultpatch_numAssets(this.__wbg_ptr);
14791
14728
  return ret >>> 0;
14792
14729
  }
14793
14730
  /**
@@ -15090,16 +15027,6 @@ class InputNoteRecord {
15090
15027
  const ret = wasm.inputnoterecord_isConsumed(this.__wbg_ptr);
15091
15028
  return ret !== 0;
15092
15029
  }
15093
- /**
15094
- * Returns true while the note's on-chain inclusion is still unsettled
15095
- * (`Expected` or `Unverified`), i.e. while sync is the mechanism that can
15096
- * advance this record.
15097
- * @returns {boolean}
15098
- */
15099
- isInclusionPending() {
15100
- const ret = wasm.inputnoterecord_isInclusionPending(this.__wbg_ptr);
15101
- return ret !== 0;
15102
- }
15103
15030
  /**
15104
15031
  * Returns true if the note is currently being processed.
15105
15032
  * @returns {boolean}
@@ -15830,13 +15757,12 @@ class JsStateSyncUpdate {
15830
15757
  return v1;
15831
15758
  }
15832
15759
  /**
15833
- * Serialized MMR peaks at the new sync height (single set for the whole update).
15834
- * Written onto the chain-tip block's `blockHeaders` row (the one whose
15835
- * `blockNum` matches `block_num`) and read back by `getCurrentBlockchainPeaks`.
15760
+ * Serialized MMR peaks at the new sync height. The only peaks persisted by the
15761
+ * client (peaks for intermediate note blocks are never read, so they are not stored).
15836
15762
  * @returns {Uint8Array}
15837
15763
  */
15838
- get partialBlockchainPeaks() {
15839
- const ret = wasm.__wbg_get_jsstatesyncupdate_partialBlockchainPeaks(this.__wbg_ptr);
15764
+ get newPeaks() {
15765
+ const ret = wasm.__wbg_get_jsstatesyncupdate_newPeaks(this.__wbg_ptr);
15840
15766
  var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
15841
15767
  wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
15842
15768
  return v1;
@@ -15949,15 +15875,14 @@ class JsStateSyncUpdate {
15949
15875
  wasm.__wbg_set_jsstatesyncupdate_newBlockNums(this.__wbg_ptr, ptr0, len0);
15950
15876
  }
15951
15877
  /**
15952
- * Serialized MMR peaks at the new sync height (single set for the whole update).
15953
- * Written onto the chain-tip block's `blockHeaders` row (the one whose
15954
- * `blockNum` matches `block_num`) and read back by `getCurrentBlockchainPeaks`.
15878
+ * Serialized MMR peaks at the new sync height. The only peaks persisted by the
15879
+ * client (peaks for intermediate note blocks are never read, so they are not stored).
15955
15880
  * @param {Uint8Array} arg0
15956
15881
  */
15957
- set partialBlockchainPeaks(arg0) {
15882
+ set newPeaks(arg0) {
15958
15883
  const ptr0 = passArray8ToWasm0(arg0, wasm.__wbindgen_malloc);
15959
15884
  const len0 = WASM_VECTOR_LEN;
15960
- wasm.__wbg_set_jsstatesyncupdate_partialBlockchainPeaks(this.__wbg_ptr, ptr0, len0);
15885
+ wasm.__wbg_set_jsstatesyncupdate_newPeaks(this.__wbg_ptr, ptr0, len0);
15961
15886
  }
15962
15887
  /**
15963
15888
  * Input notes for this state update in serialized form.
@@ -16145,6 +16070,17 @@ class JsStorageSlot {
16145
16070
  const ptr = this.__destroy_into_raw();
16146
16071
  wasm.__wbg_jsstorageslot_free(ptr, 0);
16147
16072
  }
16073
+ /**
16074
+ * The storage patch operation (create, update, or remove).
16075
+ *
16076
+ * Full-state writes do not inspect this field, but incremental writes use it to distinguish
16077
+ * map replacement/removal from an entry-wise update.
16078
+ * @returns {number}
16079
+ */
16080
+ get patchOperation() {
16081
+ const ret = wasm.__wbg_get_jsstorageslot_patchOperation(this.__wbg_ptr);
16082
+ return ret;
16083
+ }
16148
16084
  /**
16149
16085
  * The name of the storage slot.
16150
16086
  * @returns {string}
@@ -16185,6 +16121,16 @@ class JsStorageSlot {
16185
16121
  wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
16186
16122
  }
16187
16123
  }
16124
+ /**
16125
+ * The storage patch operation (create, update, or remove).
16126
+ *
16127
+ * Full-state writes do not inspect this field, but incremental writes use it to distinguish
16128
+ * map replacement/removal from an entry-wise update.
16129
+ * @param {number} arg0
16130
+ */
16131
+ set patchOperation(arg0) {
16132
+ wasm.__wbg_set_jsstorageslot_patchOperation(this.__wbg_ptr, arg0);
16133
+ }
16188
16134
  /**
16189
16135
  * The name of the storage slot.
16190
16136
  * @param {string} arg0
@@ -16386,97 +16332,6 @@ class MerklePath {
16386
16332
  }
16387
16333
  if (Symbol.dispose) MerklePath.prototype[Symbol.dispose] = MerklePath.prototype.free;
16388
16334
 
16389
- /**
16390
- * Targets a note at a public network account so the operator auto-consumes it.
16391
- *
16392
- * A note is a network note when it is `Public` and carries a valid
16393
- * `NetworkAccountTarget` attachment (see `Note.isNetworkNote`).
16394
- */
16395
- class NetworkAccountTarget {
16396
- static __wrap(ptr) {
16397
- ptr = ptr >>> 0;
16398
- const obj = Object.create(NetworkAccountTarget.prototype);
16399
- obj.__wbg_ptr = ptr;
16400
- NetworkAccountTargetFinalization.register(obj, obj.__wbg_ptr, obj);
16401
- return obj;
16402
- }
16403
- __destroy_into_raw() {
16404
- const ptr = this.__wbg_ptr;
16405
- this.__wbg_ptr = 0;
16406
- NetworkAccountTargetFinalization.unregister(this);
16407
- return ptr;
16408
- }
16409
- free() {
16410
- const ptr = this.__destroy_into_raw();
16411
- wasm.__wbg_networkaccounttarget_free(ptr, 0);
16412
- }
16413
- /**
16414
- * Returns the note execution hint.
16415
- * @returns {NoteExecutionHint}
16416
- */
16417
- executionHint() {
16418
- const ret = wasm.networkaccounttarget_executionHint(this.__wbg_ptr);
16419
- return NoteExecutionHint.__wrap(ret);
16420
- }
16421
- /**
16422
- * Decodes a `NoteAttachment` back into a `NetworkAccountTarget`.
16423
- *
16424
- * # Errors
16425
- * Errors if the attachment is not a valid network-account-target attachment.
16426
- * @param {NoteAttachment} attachment
16427
- * @returns {NetworkAccountTarget}
16428
- */
16429
- static fromAttachment(attachment) {
16430
- _assertClass(attachment, NoteAttachment);
16431
- const ret = wasm.networkaccounttarget_fromAttachment(attachment.__wbg_ptr);
16432
- if (ret[2]) {
16433
- throw takeFromExternrefTable0(ret[1]);
16434
- }
16435
- return NetworkAccountTarget.__wrap(ret[0]);
16436
- }
16437
- /**
16438
- * Creates a target for the given network account. `executionHint` defaults
16439
- * to `NoteExecutionHint.always()`.
16440
- *
16441
- * # Errors
16442
- * Errors if `account_id` is not a public account.
16443
- * @param {AccountId} account_id
16444
- * @param {NoteExecutionHint | null} [execution_hint]
16445
- */
16446
- constructor(account_id, execution_hint) {
16447
- _assertClass(account_id, AccountId);
16448
- let ptr0 = 0;
16449
- if (!isLikeNone(execution_hint)) {
16450
- _assertClass(execution_hint, NoteExecutionHint);
16451
- ptr0 = execution_hint.__destroy_into_raw();
16452
- }
16453
- const ret = wasm.networkaccounttarget_new(account_id.__wbg_ptr, ptr0);
16454
- if (ret[2]) {
16455
- throw takeFromExternrefTable0(ret[1]);
16456
- }
16457
- this.__wbg_ptr = ret[0] >>> 0;
16458
- NetworkAccountTargetFinalization.register(this, this.__wbg_ptr, this);
16459
- return this;
16460
- }
16461
- /**
16462
- * Returns the targeted network account id.
16463
- * @returns {AccountId}
16464
- */
16465
- targetId() {
16466
- const ret = wasm.accountreader_accountId(this.__wbg_ptr);
16467
- return AccountId.__wrap(ret);
16468
- }
16469
- /**
16470
- * Encodes this target as a `NoteAttachment`.
16471
- * @returns {NoteAttachment}
16472
- */
16473
- toAttachment() {
16474
- const ret = wasm.networkaccounttarget_toAttachment(this.__wbg_ptr);
16475
- return NoteAttachment.__wrap(ret);
16476
- }
16477
- }
16478
- if (Symbol.dispose) NetworkAccountTarget.prototype[Symbol.dispose] = NetworkAccountTarget.prototype.free;
16479
-
16480
16335
  /**
16481
16336
  * The identifier of a Miden network.
16482
16337
  */
@@ -16670,16 +16525,6 @@ class Note {
16670
16525
  const ret = wasm.note_assets(this.__wbg_ptr);
16671
16526
  return NoteAssets.__wrap(ret);
16672
16527
  }
16673
- /**
16674
- * Returns the note's attachments.
16675
- * @returns {NoteAttachment[]}
16676
- */
16677
- attachments() {
16678
- const ret = wasm.note_attachments(this.__wbg_ptr);
16679
- var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();
16680
- wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
16681
- return v1;
16682
- }
16683
16528
  /**
16684
16529
  * Returns the commitment to the note (its ID).
16685
16530
  *
@@ -16690,34 +16535,8 @@ class Note {
16690
16535
  * @returns {Word}
16691
16536
  */
16692
16537
  commitment() {
16693
- const ret = wasm.note_commitment(this.__wbg_ptr);
16694
- return Word.__wrap(ret);
16695
- }
16696
- /**
16697
- * Builds a B2AGG (Bridge-to-AggLayer) note that bridges the given assets out to another
16698
- * network via the `AggLayer`.
16699
- *
16700
- * The note is always public and is consumed by `bridge_account`, which burns the assets so
16701
- * they can be claimed on the destination network at `destination_address` (an Ethereum
16702
- * address on the AggLayer-assigned `destination_network`). The assets must be fungible assets
16703
- * issued by a network faucet.
16704
- * @param {AccountId} sender
16705
- * @param {AccountId} bridge_account
16706
- * @param {NoteAssets} assets
16707
- * @param {number} destination_network
16708
- * @param {EthAddress} destination_address
16709
- * @returns {Note}
16710
- */
16711
- static createB2AggNote(sender, bridge_account, assets, destination_network, destination_address) {
16712
- _assertClass(sender, AccountId);
16713
- _assertClass(bridge_account, AccountId);
16714
- _assertClass(assets, NoteAssets);
16715
- _assertClass(destination_address, EthAddress);
16716
- const ret = wasm.note_createB2AggNote(sender.__wbg_ptr, bridge_account.__wbg_ptr, assets.__wbg_ptr, destination_network, destination_address.__wbg_ptr);
16717
- if (ret[2]) {
16718
- throw takeFromExternrefTable0(ret[1]);
16719
- }
16720
- return Note.__wrap(ret[0]);
16538
+ const ret = wasm.note_commitment(this.__wbg_ptr);
16539
+ return Word.__wrap(ret);
16721
16540
  }
16722
16541
  /**
16723
16542
  * Builds a P2IDE note that can be reclaimed or timelocked based on block heights.
@@ -16781,15 +16600,6 @@ class Note {
16781
16600
  const ret = wasm.note_commitment(this.__wbg_ptr);
16782
16601
  return NoteId.__wrap(ret);
16783
16602
  }
16784
- /**
16785
- * Returns true if the note is a network note (public + a valid
16786
- * `NetworkAccountTarget` attachment).
16787
- * @returns {boolean}
16788
- */
16789
- isNetworkNote() {
16790
- const ret = wasm.note_isNetworkNote(this.__wbg_ptr);
16791
- return ret !== 0;
16792
- }
16793
16603
  /**
16794
16604
  * Returns the public metadata associated with the note.
16795
16605
  * @returns {NoteMetadata}
@@ -16849,30 +16659,6 @@ class Note {
16849
16659
  const ret = wasm.note_serialize(this.__wbg_ptr);
16850
16660
  return ret;
16851
16661
  }
16852
- /**
16853
- * Creates a note carrying the provided attachments, using the metadata's
16854
- * sender / note type / tag (attachments on the metadata itself are ignored).
16855
- *
16856
- * # Errors
16857
- * Errors if the attachment set is invalid (too many attachments or words).
16858
- * @param {NoteAssets} note_assets
16859
- * @param {NoteMetadata} note_metadata
16860
- * @param {NoteRecipient} note_recipient
16861
- * @param {NoteAttachment[]} attachments
16862
- * @returns {Note}
16863
- */
16864
- static withAttachments(note_assets, note_metadata, note_recipient, attachments) {
16865
- _assertClass(note_assets, NoteAssets);
16866
- _assertClass(note_metadata, NoteMetadata);
16867
- _assertClass(note_recipient, NoteRecipient);
16868
- const ptr0 = passArrayJsValueToWasm0(attachments, wasm.__wbindgen_malloc);
16869
- const len0 = WASM_VECTOR_LEN;
16870
- const ret = wasm.note_withAttachments(note_assets.__wbg_ptr, note_metadata.__wbg_ptr, note_recipient.__wbg_ptr, ptr0, len0);
16871
- if (ret[2]) {
16872
- throw takeFromExternrefTable0(ret[1]);
16873
- }
16874
- return Note.__wrap(ret[0]);
16875
- }
16876
16662
  }
16877
16663
  if (Symbol.dispose) Note.prototype[Symbol.dispose] = Note.prototype.free;
16878
16664
 
@@ -17140,12 +16926,6 @@ class NoteAttachment {
17140
16926
  NoteAttachmentFinalization.register(obj, obj.__wbg_ptr, obj);
17141
16927
  return obj;
17142
16928
  }
17143
- static __unwrap(jsValue) {
17144
- if (!(jsValue instanceof NoteAttachment)) {
17145
- return 0;
17146
- }
17147
- return jsValue.__destroy_into_raw();
17148
- }
17149
16929
  __destroy_into_raw() {
17150
16930
  const ptr = this.__wbg_ptr;
17151
16931
  this.__wbg_ptr = 0;
@@ -17769,6 +17549,19 @@ class NoteFile {
17769
17549
  }
17770
17550
  return NoteFile.__wrap(ret[0]);
17771
17551
  }
17552
+ /**
17553
+ * Creates an expected-note file with the sync hint required by miden-client 0.16.
17554
+ * @param {NoteDetails} note_details
17555
+ * @param {NoteTag} note_tag
17556
+ * @param {number} after_block_num
17557
+ * @returns {NoteFile}
17558
+ */
17559
+ static fromExpectedNote(note_details, note_tag, after_block_num) {
17560
+ _assertClass(note_details, NoteDetails);
17561
+ _assertClass(note_tag, NoteTag);
17562
+ const ret = wasm.notefile_fromExpectedNote(note_details.__wbg_ptr, note_tag.__wbg_ptr, after_block_num);
17563
+ return NoteFile.__wrap(ret);
17564
+ }
17772
17565
  /**
17773
17566
  * Creates a `NoteFile` from an input note, preserving proof when available.
17774
17567
  * @param {InputNote} note
@@ -17780,7 +17573,11 @@ class NoteFile {
17780
17573
  return NoteFile.__wrap(ret);
17781
17574
  }
17782
17575
  /**
17783
- * Creates a `NoteFile` from note details.
17576
+ * Creates a `NoteFile` from note details using a zero-valued sync hint.
17577
+ *
17578
+ * miden-client 0.16 requires every expected note to include a tag and an after-block hint.
17579
+ * This retains the old one-argument JS API by using block zero and the default tag. Prefer
17580
+ * [`from_expected_note`](Self::from_expected_note) when the real sync hint is available.
17784
17581
  * @param {NoteDetails} note_details
17785
17582
  * @returns {NoteFile}
17786
17583
  */
@@ -18376,19 +18173,6 @@ class NoteRecipient {
18376
18173
  const ret = wasm.accountheader_storageCommitment(this.__wbg_ptr);
18377
18174
  return Word.__wrap(ret);
18378
18175
  }
18379
- /**
18380
- * Creates a recipient from a script and storage, generating a fresh random
18381
- * serial number (the secret that prevents double-spends).
18382
- * @param {NoteScript} note_script
18383
- * @param {NoteStorage} storage
18384
- * @returns {NoteRecipient}
18385
- */
18386
- static fromScript(note_script, storage) {
18387
- _assertClass(note_script, NoteScript);
18388
- _assertClass(storage, NoteStorage);
18389
- const ret = wasm.noterecipient_fromScript(note_script.__wbg_ptr, storage.__wbg_ptr);
18390
- return NoteRecipient.__wrap(ret);
18391
- }
18392
18176
  /**
18393
18177
  * Creates a note recipient from its serial number, script, and storage.
18394
18178
  * @param {Word} serial_num
@@ -19076,7 +18860,7 @@ class OutputNoteRecord {
19076
18860
  * @returns {number}
19077
18861
  */
19078
18862
  expectedHeight() {
19079
- const ret = wasm.outputnoterecord_expectedHeight(this.__wbg_ptr);
18863
+ const ret = wasm.blockheader_version(this.__wbg_ptr);
19080
18864
  return ret >>> 0;
19081
18865
  }
19082
18866
  /**
@@ -19111,22 +18895,12 @@ class OutputNoteRecord {
19111
18895
  const ret = wasm.outputnoterecord_isConsumed(this.__wbg_ptr);
19112
18896
  return ret !== 0;
19113
18897
  }
19114
- /**
19115
- * Returns true while the note's on-chain inclusion is still unsettled
19116
- * (`ExpectedFull` or `ExpectedPartial`), i.e. while sync is the mechanism
19117
- * that can advance this record.
19118
- * @returns {boolean}
19119
- */
19120
- isInclusionPending() {
19121
- const ret = wasm.outputnoterecord_isInclusionPending(this.__wbg_ptr);
19122
- return ret !== 0;
19123
- }
19124
18898
  /**
19125
18899
  * Returns the note metadata.
19126
18900
  * @returns {NoteMetadata}
19127
18901
  */
19128
18902
  metadata() {
19129
- const ret = wasm.committednote_metadata(this.__wbg_ptr);
18903
+ const ret = wasm.outputnoterecord_metadata(this.__wbg_ptr);
19130
18904
  return NoteMetadata.__wrap(ret);
19131
18905
  }
19132
18906
  /**
@@ -19499,7 +19273,7 @@ class ProvenTransaction {
19499
19273
  * @returns {AccountId}
19500
19274
  */
19501
19275
  accountId() {
19502
- const ret = wasm.account_id(this.__wbg_ptr);
19276
+ const ret = wasm.proventransaction_accountId(this.__wbg_ptr);
19503
19277
  return AccountId.__wrap(ret);
19504
19278
  }
19505
19279
  /**
@@ -19527,7 +19301,7 @@ class ProvenTransaction {
19527
19301
  * @returns {TransactionId}
19528
19302
  */
19529
19303
  id() {
19530
- const ret = wasm.accountcode_commitment(this.__wbg_ptr);
19304
+ const ret = wasm.proventransaction_id(this.__wbg_ptr);
19531
19305
  return TransactionId.__wrap(ret);
19532
19306
  }
19533
19307
  /**
@@ -19545,7 +19319,7 @@ class ProvenTransaction {
19545
19319
  * @returns {Word}
19546
19320
  */
19547
19321
  refBlockCommitment() {
19548
- const ret = wasm.accountheader_storageCommitment(this.__wbg_ptr);
19322
+ const ret = wasm.proventransaction_refBlockCommitment(this.__wbg_ptr);
19549
19323
  return Word.__wrap(ret);
19550
19324
  }
19551
19325
  /**
@@ -19567,119 +19341,6 @@ class ProvenTransaction {
19567
19341
  }
19568
19342
  if (Symbol.dispose) ProvenTransaction.prototype[Symbol.dispose] = ProvenTransaction.prototype.free;
19569
19343
 
19570
- /**
19571
- * Read-only view of one PSWAP order's chain state, exposed to JavaScript.
19572
- * The mutable fields (remaining amounts, depth, tip, state) advance
19573
- * round-by-round as fills are discovered during sync.
19574
- */
19575
- class PswapLineageRecord {
19576
- static __wrap(ptr) {
19577
- ptr = ptr >>> 0;
19578
- const obj = Object.create(PswapLineageRecord.prototype);
19579
- obj.__wbg_ptr = ptr;
19580
- PswapLineageRecordFinalization.register(obj, obj.__wbg_ptr, obj);
19581
- return obj;
19582
- }
19583
- __destroy_into_raw() {
19584
- const ptr = this.__wbg_ptr;
19585
- this.__wbg_ptr = 0;
19586
- PswapLineageRecordFinalization.unregister(this);
19587
- return ptr;
19588
- }
19589
- free() {
19590
- const ptr = this.__destroy_into_raw();
19591
- wasm.__wbg_pswaplineagerecord_free(ptr, 0);
19592
- }
19593
- /**
19594
- * Account that created the order and receives every payback.
19595
- * @returns {AccountId}
19596
- */
19597
- creatorAccountId() {
19598
- const ret = wasm.pswaplineagerecord_creatorAccountId(this.__wbg_ptr);
19599
- return AccountId.__wrap(ret);
19600
- }
19601
- /**
19602
- * Depth of the current tip: 0 for the original PSWAP, +1 per fill round.
19603
- * @returns {number}
19604
- */
19605
- currentDepth() {
19606
- const ret = wasm.pswaplineagerecord_currentDepth(this.__wbg_ptr);
19607
- return ret >>> 0;
19608
- }
19609
- /**
19610
- * Note id of the current tip in the chain.
19611
- * @returns {NoteId}
19612
- */
19613
- currentTipNoteId() {
19614
- const ret = wasm.pswaplineagerecord_currentTipNoteId(this.__wbg_ptr);
19615
- return NoteId.__wrap(ret);
19616
- }
19617
- /**
19618
- * Stable identifier shared by every note in the chain, as a decimal string.
19619
- * @returns {string}
19620
- */
19621
- orderId() {
19622
- let deferred1_0;
19623
- let deferred1_1;
19624
- try {
19625
- const ret = wasm.pswaplineagerecord_orderId(this.__wbg_ptr);
19626
- deferred1_0 = ret[0];
19627
- deferred1_1 = ret[1];
19628
- return getStringFromWasm0(ret[0], ret[1]);
19629
- } finally {
19630
- wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
19631
- }
19632
- }
19633
- /**
19634
- * Offered amount still unfilled on the current tip. The offered faucet is
19635
- * chain-invariant and recovered from the original PSWAP note when needed.
19636
- * @returns {bigint}
19637
- */
19638
- remainingOffered() {
19639
- const ret = wasm.pswaplineagerecord_remainingOffered(this.__wbg_ptr);
19640
- return BigInt.asUintN(64, ret);
19641
- }
19642
- /**
19643
- * Requested amount still outstanding on the current tip. The requested
19644
- * faucet is recovered from the original PSWAP note when needed.
19645
- * @returns {bigint}
19646
- */
19647
- remainingRequested() {
19648
- const ret = wasm.pswaplineagerecord_remainingRequested(this.__wbg_ptr);
19649
- return BigInt.asUintN(64, ret);
19650
- }
19651
- /**
19652
- * Lifecycle state of the order.
19653
- * @returns {PswapLineageState}
19654
- */
19655
- state() {
19656
- const ret = wasm.pswaplineagerecord_state(this.__wbg_ptr);
19657
- return ret;
19658
- }
19659
- }
19660
- if (Symbol.dispose) PswapLineageRecord.prototype[Symbol.dispose] = PswapLineageRecord.prototype.free;
19661
-
19662
- /**
19663
- * Lifecycle state of a PSWAP order.
19664
- *
19665
- * Discriminants match the on-disk encoding in the store.
19666
- * @enum {0 | 1 | 2}
19667
- */
19668
- const PswapLineageState = Object.freeze({
19669
- /**
19670
- * Still fillable and reclaimable.
19671
- */
19672
- Active: 0, "0": "Active",
19673
- /**
19674
- * Fully filled. Terminal.
19675
- */
19676
- FullyFilled: 1, "1": "FullyFilled",
19677
- /**
19678
- * Reclaimed by the creator. Terminal.
19679
- */
19680
- Reclaimed: 2, "2": "Reclaimed",
19681
- });
19682
-
19683
19344
  class PublicKey {
19684
19345
  static __wrap(ptr) {
19685
19346
  ptr = ptr >>> 0;
@@ -20426,7 +20087,7 @@ class SerializedOutputNoteData {
20426
20087
  set attachments(arg0) {
20427
20088
  const ptr0 = passArray8ToWasm0(arg0, wasm.__wbindgen_malloc);
20428
20089
  const len0 = WASM_VECTOR_LEN;
20429
- wasm.__wbg_set_jsstatesyncupdate_partialBlockchainPeaks(this.__wbg_ptr, ptr0, len0);
20090
+ wasm.__wbg_set_jsstatesyncupdate_newPeaks(this.__wbg_ptr, ptr0, len0);
20430
20091
  }
20431
20092
  /**
20432
20093
  * @param {string} arg0
@@ -21171,7 +20832,7 @@ if (Symbol.dispose) StorageMapEntryJs.prototype[Symbol.dispose] = StorageMapEntr
21171
20832
  * Information about storage map updates for an account, as returned by the
21172
20833
  * `syncStorageMaps` RPC endpoint.
21173
20834
  *
21174
- * Contains the list of storage map updates within the requested block range,
20835
+ * Contains the storage map entries merged over the requested block range,
21175
20836
  * along with the chain tip and last processed block number.
21176
20837
  */
21177
20838
  class StorageMapInfo {
@@ -21222,8 +20883,8 @@ class StorageMapInfo {
21222
20883
  if (Symbol.dispose) StorageMapInfo.prototype[Symbol.dispose] = StorageMapInfo.prototype.free;
21223
20884
 
21224
20885
  /**
21225
- * A single storage map update entry, containing the block number, slot name,
21226
- * key, and new value.
20886
+ * A merged storage map entry containing the last processed block number, slot name, key, and
20887
+ * final value. The node no longer exposes the individual block number for each update.
21227
20888
  */
21228
20889
  class StorageMapUpdate {
21229
20890
  static __wrap(ptr) {
@@ -21244,7 +20905,7 @@ class StorageMapUpdate {
21244
20905
  wasm.__wbg_storagemapupdate_free(ptr, 0);
21245
20906
  }
21246
20907
  /**
21247
- * Returns the block number in which this update occurred.
20908
+ * Returns the last processed block number for the merged response.
21248
20909
  * @returns {number}
21249
20910
  */
21250
20911
  blockNum() {
@@ -21987,7 +21648,7 @@ class TransactionRecord {
21987
21648
  * @returns {AccountId}
21988
21649
  */
21989
21650
  accountId() {
21990
- const ret = wasm.transactionrecord_accountId(this.__wbg_ptr);
21651
+ const ret = wasm.proventransaction_accountId(this.__wbg_ptr);
21991
21652
  return AccountId.__wrap(ret);
21992
21653
  }
21993
21654
  /**
@@ -22035,7 +21696,7 @@ class TransactionRecord {
22035
21696
  * @returns {Word}
22036
21697
  */
22037
21698
  initAccountState() {
22038
- const ret = wasm.pswaplineagerecord_currentTipNoteId(this.__wbg_ptr);
21699
+ const ret = wasm.transactionrecord_initAccountState(this.__wbg_ptr);
22039
21700
  return Word.__wrap(ret);
22040
21701
  }
22041
21702
  /**
@@ -22100,14 +21761,6 @@ class TransactionRequest {
22100
21761
  const ptr = this.__destroy_into_raw();
22101
21762
  wasm.__wbg_transactionrequest_free(ptr, 0);
22102
21763
  }
22103
- /**
22104
- * Returns a copy of the advice map carried by this request.
22105
- * @returns {AdviceMap}
22106
- */
22107
- adviceMap() {
22108
- const ret = wasm.transactionrequest_adviceMap(this.__wbg_ptr);
22109
- return AdviceMap.__wrap(ret);
22110
- }
22111
21764
  /**
22112
21765
  * Returns the authentication argument if present.
22113
21766
  * @returns {Word | undefined}
@@ -22154,20 +21807,6 @@ class TransactionRequest {
22154
21807
  wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
22155
21808
  return v1;
22156
21809
  }
22157
- /**
22158
- * Returns a copy of this request with `advice_map` merged into its advice map.
22159
- *
22160
- * Entries are merged with last-write-wins semantics: a key already present in the request is
22161
- * overwritten by the value from `advice_map`. Use this to inject advice (e.g. a signature
22162
- * produced by an external signer) after the request has already been built.
22163
- * @param {AdviceMap} advice_map
22164
- * @returns {TransactionRequest}
22165
- */
22166
- extendAdviceMap(advice_map) {
22167
- _assertClass(advice_map, AdviceMap);
22168
- const ret = wasm.transactionrequest_extendAdviceMap(this.__wbg_ptr, advice_map.__wbg_ptr);
22169
- return TransactionRequest.__wrap(ret);
22170
- }
22171
21810
  /**
22172
21811
  * Returns the transaction script argument if present.
22173
21812
  * @returns {Word | undefined}
@@ -22713,12 +22352,12 @@ class TransactionStoreUpdate {
22713
22352
  wasm.__wbg_transactionstoreupdate_free(ptr, 0);
22714
22353
  }
22715
22354
  /**
22716
- * Returns the account delta applied by the transaction.
22717
- * @returns {AccountDelta}
22355
+ * Returns the absolute account patch applied by the transaction.
22356
+ * @returns {AccountPatch}
22718
22357
  */
22719
- accountDelta() {
22720
- const ret = wasm.transactionstoreupdate_accountDelta(this.__wbg_ptr);
22721
- return AccountDelta.__wrap(ret);
22358
+ accountPatch() {
22359
+ const ret = wasm.transactionstoreupdate_accountPatch(this.__wbg_ptr);
22360
+ return AccountPatch.__wrap(ret);
22722
22361
  }
22723
22362
  /**
22724
22363
  * Returns the output notes created by the transaction.
@@ -22929,10 +22568,6 @@ class WebClient {
22929
22568
  return ret;
22930
22569
  }
22931
22570
  /**
22932
- * Persists a submitted transaction and returns its pre-apply
22933
- * [`TransactionStoreUpdate`]. Routes through the high-level
22934
- * `Client::apply_transaction` so registered observers (e.g. PSWAP
22935
- * tracking) fire.
22936
22571
  * @param {TransactionResult} transaction_result
22937
22572
  * @param {number} submission_height
22938
22573
  * @returns {Promise<TransactionStoreUpdate>}
@@ -22942,22 +22577,6 @@ class WebClient {
22942
22577
  const ret = wasm.webclient_applyTransaction(this.__wbg_ptr, transaction_result.__wbg_ptr, submission_height);
22943
22578
  return ret;
22944
22579
  }
22945
- /**
22946
- * Builds a transaction reclaiming the unfilled offered asset on the current
22947
- * tip of an Active lineage.
22948
- *
22949
- * `order_id` is the order's stable identifier as a decimal string. The
22950
- * returned request flows into the same submit path as the other PSWAP
22951
- * cancel transactions.
22952
- * @param {string} order_id
22953
- * @returns {Promise<TransactionRequest>}
22954
- */
22955
- buildPswapCancelByOrder(order_id) {
22956
- const ptr0 = passStringToWasm0(order_id, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
22957
- const len0 = WASM_VECTOR_LEN;
22958
- const ret = wasm.webclient_buildPswapCancelByOrder(this.__wbg_ptr, ptr0, len0);
22959
- return ret;
22960
- }
22961
22580
  /**
22962
22581
  * @param {NoteType} note_type
22963
22582
  * @param {AccountId} offered_asset_faucet_id
@@ -22985,17 +22604,13 @@ class WebClient {
22985
22604
  * * `store_name`: Optional name for the web store. If `None`, the store name defaults to
22986
22605
  * `MidenClientDB_{network_id}`, where `network_id` is derived from the `node_url`.
22987
22606
  * Explicitly setting this allows for creating multiple isolated clients.
22988
- * * `debug_mode`: Optional flag to enable debug mode for transaction execution. When enabled,
22989
- * the transaction executor records additional information useful for debugging. Defaults to
22990
- * disabled.
22991
22607
  * @param {string | null} [node_url]
22992
22608
  * @param {string | null} [node_note_transport_url]
22993
22609
  * @param {Uint8Array | null} [seed]
22994
22610
  * @param {string | null} [store_name]
22995
- * @param {boolean | null} [debug_mode]
22996
22611
  * @returns {Promise<any>}
22997
22612
  */
22998
- createClient(node_url, node_note_transport_url, seed, store_name, debug_mode) {
22613
+ createClient(node_url, node_note_transport_url, seed, store_name) {
22999
22614
  var ptr0 = isLikeNone(node_url) ? 0 : passStringToWasm0(node_url, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
23000
22615
  var len0 = WASM_VECTOR_LEN;
23001
22616
  var ptr1 = isLikeNone(node_note_transport_url) ? 0 : passStringToWasm0(node_note_transport_url, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
@@ -23004,7 +22619,7 @@ class WebClient {
23004
22619
  var len2 = WASM_VECTOR_LEN;
23005
22620
  var ptr3 = isLikeNone(store_name) ? 0 : passStringToWasm0(store_name, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
23006
22621
  var len3 = WASM_VECTOR_LEN;
23007
- const ret = wasm.webclient_createClient(this.__wbg_ptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, isLikeNone(debug_mode) ? 0xFFFFFF : debug_mode ? 1 : 0);
22622
+ const ret = wasm.webclient_createClient(this.__wbg_ptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3);
23008
22623
  return ret;
23009
22624
  }
23010
22625
  /**
@@ -23020,8 +22635,6 @@ class WebClient {
23020
22635
  * * `get_key_cb`: Callback to retrieve the secret key bytes for a given public key.
23021
22636
  * * `insert_key_cb`: Callback to persist a secret key.
23022
22637
  * * `sign_cb`: Callback to produce serialized signature bytes for the provided inputs.
23023
- * * `debug_mode`: Optional flag to enable debug mode for transaction execution. Defaults to
23024
- * disabled.
23025
22638
  * @param {string | null} [node_url]
23026
22639
  * @param {string | null} [node_note_transport_url]
23027
22640
  * @param {Uint8Array | null} [seed]
@@ -23029,10 +22642,9 @@ class WebClient {
23029
22642
  * @param {Function | null} [get_key_cb]
23030
22643
  * @param {Function | null} [insert_key_cb]
23031
22644
  * @param {Function | null} [sign_cb]
23032
- * @param {boolean | null} [debug_mode]
23033
22645
  * @returns {Promise<any>}
23034
22646
  */
23035
- createClientWithExternalKeystore(node_url, node_note_transport_url, seed, store_name, get_key_cb, insert_key_cb, sign_cb, debug_mode) {
22647
+ createClientWithExternalKeystore(node_url, node_note_transport_url, seed, store_name, get_key_cb, insert_key_cb, sign_cb) {
23036
22648
  var ptr0 = isLikeNone(node_url) ? 0 : passStringToWasm0(node_url, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
23037
22649
  var len0 = WASM_VECTOR_LEN;
23038
22650
  var ptr1 = isLikeNone(node_note_transport_url) ? 0 : passStringToWasm0(node_note_transport_url, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
@@ -23041,7 +22653,7 @@ class WebClient {
23041
22653
  var len2 = WASM_VECTOR_LEN;
23042
22654
  var ptr3 = isLikeNone(store_name) ? 0 : passStringToWasm0(store_name, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
23043
22655
  var len3 = WASM_VECTOR_LEN;
23044
- const ret = wasm.webclient_createClientWithExternalKeystore(this.__wbg_ptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, isLikeNone(get_key_cb) ? 0 : addToExternrefTable0(get_key_cb), isLikeNone(insert_key_cb) ? 0 : addToExternrefTable0(insert_key_cb), isLikeNone(sign_cb) ? 0 : addToExternrefTable0(sign_cb), isLikeNone(debug_mode) ? 0xFFFFFF : debug_mode ? 1 : 0);
22656
+ const ret = wasm.webclient_createClientWithExternalKeystore(this.__wbg_ptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, isLikeNone(get_key_cb) ? 0 : addToExternrefTable0(get_key_cb), isLikeNone(insert_key_cb) ? 0 : addToExternrefTable0(insert_key_cb), isLikeNone(sign_cb) ? 0 : addToExternrefTable0(sign_cb));
23045
22657
  return ret;
23046
22658
  }
23047
22659
  /**
@@ -23070,14 +22682,18 @@ class WebClient {
23070
22682
  return ret;
23071
22683
  }
23072
22684
  /**
23073
- * Executes a transaction and returns the `TransactionSummary`.
22685
+ * Executes a transaction and returns the `TransactionSummary` the account is being asked
22686
+ * to authorize.
23074
22687
  *
23075
- * If the transaction is unauthorized (auth script emits the unauthorized event),
23076
- * returns the summary from the error. If the transaction succeeds, constructs
23077
- * a summary from the executed transaction using the `auth_arg` from the transaction
23078
- * request as the salt (or a zero salt if not provided).
22688
+ * The summary only exists while authorization is pending: when the auth procedure aborts
22689
+ * with the unauthorized event (e.g. a multisig below its signing threshold), the summary
22690
+ * built during execution is returned so it can be signed out-of-band. If the transaction
22691
+ * executes successfully it was already fully authorized, no summary is produced, and this
22692
+ * method returns an error with code `TRANSACTION_ALREADY_AUTHORIZED` — submit the
22693
+ * transaction with `execute` instead.
23079
22694
  *
23080
22695
  * # Errors
22696
+ * - If the transaction executes successfully (error code `TRANSACTION_ALREADY_AUTHORIZED`).
23081
22697
  * - If there is an internal failure during execution.
23082
22698
  * @param {AccountId} account_id
23083
22699
  * @param {TransactionRequest} transaction_request
@@ -23301,37 +22917,6 @@ class WebClient {
23301
22917
  const ret = wasm.webclient_getOutputNotes(this.__wbg_ptr, ptr0);
23302
22918
  return ret;
23303
22919
  }
23304
- /**
23305
- * Returns the lineage for one order, or `null` if not tracked.
23306
- *
23307
- * `order_id` is the order's stable identifier as a decimal string.
23308
- * @param {string} order_id
23309
- * @returns {Promise<PswapLineageRecord | undefined>}
23310
- */
23311
- getPswapLineage(order_id) {
23312
- const ptr0 = passStringToWasm0(order_id, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
23313
- const len0 = WASM_VECTOR_LEN;
23314
- const ret = wasm.webclient_getPswapLineage(this.__wbg_ptr, ptr0, len0);
23315
- return ret;
23316
- }
23317
- /**
23318
- * Returns every PSWAP lineage tracked by this client.
23319
- * @returns {Promise<PswapLineageRecord[]>}
23320
- */
23321
- getPswapLineages() {
23322
- const ret = wasm.webclient_getPswapLineages(this.__wbg_ptr);
23323
- return ret;
23324
- }
23325
- /**
23326
- * Returns lineages created by a specific local account.
23327
- * @param {AccountId} creator
23328
- * @returns {Promise<PswapLineageRecord[]>}
23329
- */
23330
- getPswapLineagesFor(creator) {
23331
- _assertClass(creator, AccountId);
23332
- const ret = wasm.webclient_getPswapLineagesFor(this.__wbg_ptr, creator.__wbg_ptr);
23333
- return ret;
23334
- }
23335
22920
  /**
23336
22921
  * Returns all public key commitments associated with the given account ID.
23337
22922
  *
@@ -23395,10 +22980,10 @@ class WebClient {
23395
22980
  /**
23396
22981
  * Imports a note file and returns the imported note's identifier.
23397
22982
  *
23398
- * A note file that carries metadata — an explicit `NoteId` or a full note
23399
- * with proof — resolves to a concrete `NoteId`, which is returned so the
23400
- * caller can look the note up with [`get_input_note`]. A details-only file
23401
- * (`NoteDetails`) has no metadata and therefore no `NoteId` yet, so its
22983
+ * A note file that carries metadata — an explicit `NoteId` or a committed
22984
+ * note with proof — resolves to a concrete `NoteId`, which is returned so
22985
+ * the caller can look the note up with [`get_input_note`]. An expected-note
22986
+ * file has no metadata and therefore no `NoteId` yet, so its
23402
22987
  * metadata-independent details commitment is returned instead.
23403
22988
  *
23404
22989
  * Migration note (miden-client PR #2214): `Client::import_notes` now
@@ -23524,30 +23109,6 @@ class WebClient {
23524
23109
  const ret = wasm.webclient_newAccountWithSecretKey(this.__wbg_ptr, account.__wbg_ptr, secret_key.__wbg_ptr);
23525
23110
  return ret;
23526
23111
  }
23527
- /**
23528
- * Builds a transaction request that bridges a fungible asset out to another network via the
23529
- * `AggLayer`.
23530
- *
23531
- * The request emits a single public B2AGG (Bridge-to-AggLayer) note holding `amount` units of
23532
- * the `faucet_id` asset. The note is consumed by `bridge_account_id`, which burns the asset so
23533
- * it can be claimed at `destination_address` (an Ethereum address) on the AggLayer-assigned
23534
- * `destination_network`.
23535
- * @param {AccountId} sender_account_id
23536
- * @param {AccountId} bridge_account_id
23537
- * @param {AccountId} faucet_id
23538
- * @param {bigint} amount
23539
- * @param {number} destination_network
23540
- * @param {EthAddress} destination_address
23541
- * @returns {Promise<TransactionRequest>}
23542
- */
23543
- newB2AggTransactionRequest(sender_account_id, bridge_account_id, faucet_id, amount, destination_network, destination_address) {
23544
- _assertClass(sender_account_id, AccountId);
23545
- _assertClass(bridge_account_id, AccountId);
23546
- _assertClass(faucet_id, AccountId);
23547
- _assertClass(destination_address, EthAddress);
23548
- const ret = wasm.webclient_newB2AggTransactionRequest(this.__wbg_ptr, sender_account_id.__wbg_ptr, bridge_account_id.__wbg_ptr, faucet_id.__wbg_ptr, amount, destination_network, destination_address.__wbg_ptr);
23549
- return ret;
23550
- }
23551
23112
  /**
23552
23113
  * @param {Note[]} list_of_notes
23553
23114
  * @returns {TransactionRequest}
@@ -23841,25 +23402,6 @@ class WebClient {
23841
23402
  const ret = wasm.webclient_submitNewTransaction(this.__wbg_ptr, account_id.__wbg_ptr, transaction_request.__wbg_ptr);
23842
23403
  return ret;
23843
23404
  }
23844
- /**
23845
- * Executes a batch of transactions against the specified account, proves them individually
23846
- * and as a batch, submits the batch to the network, and atomically applies the per-tx
23847
- * updates to the local store. Returns the block number the batch was accepted into.
23848
- *
23849
- * All transactions must target the same local account — the `account_id` argument.
23850
- * Each element of `transaction_requests` is the serialized-bytes form of a
23851
- * `TransactionRequest` (obtained via `tx_request.serialize()`)
23852
- * @param {AccountId} account_id
23853
- * @param {Uint8Array[]} transaction_requests
23854
- * @returns {Promise<number>}
23855
- */
23856
- submitNewTransactionBatch(account_id, transaction_requests) {
23857
- _assertClass(account_id, AccountId);
23858
- const ptr0 = passArrayJsValueToWasm0(transaction_requests, wasm.__wbindgen_malloc);
23859
- const len0 = WASM_VECTOR_LEN;
23860
- const ret = wasm.webclient_submitNewTransactionBatch(this.__wbg_ptr, account_id.__wbg_ptr, ptr0, len0);
23861
- return ret;
23862
- }
23863
23405
  /**
23864
23406
  * Executes a transaction specified by the request against the specified account, proves it
23865
23407
  * with the user provided prover, submits it to the network, and updates the local database.
@@ -24479,7 +24021,7 @@ function __wbg_get_imports(memory) {
24479
24021
  const ret = AccountStorage.__wrap(arg0);
24480
24022
  return ret;
24481
24023
  },
24482
- __wbg_addNoteTag_c1d851535ec0e098: function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) {
24024
+ __wbg_addNoteTag_1500aff2fa0d151c: function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) {
24483
24025
  var v0 = getArrayU8FromWasm0(arg2, arg3).slice();
24484
24026
  wasm.__wbindgen_free(arg2, arg3 * 1, 1);
24485
24027
  let v1;
@@ -24507,25 +24049,7 @@ function __wbg_get_imports(memory) {
24507
24049
  __wbg_append_a992ccc37aa62dc4: function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) {
24508
24050
  arg0.append(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4));
24509
24051
  }, arguments); },
24510
- __wbg_applyFullAccountState_a76a7cf1d93a9554: function(arg0, arg1, arg2) {
24511
- const ret = applyFullAccountState(getStringFromWasm0(arg0, arg1), JsAccountUpdate.__wrap(arg2));
24512
- return ret;
24513
- },
24514
- __wbg_applySettingsMutations_e98dbb5827d3ec93: function(arg0, arg1, arg2, arg3) {
24515
- var v0 = getArrayJsValueFromWasm0(arg2, arg3).slice();
24516
- wasm.__wbindgen_free(arg2, arg3 * 4, 4);
24517
- const ret = applySettingsMutations(getStringFromWasm0(arg0, arg1), v0);
24518
- return ret;
24519
- },
24520
- __wbg_applyStateSync_c365f1affe42d064: function(arg0, arg1, arg2) {
24521
- const ret = applyStateSync(getStringFromWasm0(arg0, arg1), JsStateSyncUpdate.__wrap(arg2));
24522
- return ret;
24523
- },
24524
- __wbg_applyTransactionBatch_0b07b42c93c25447: function(arg0, arg1, arg2) {
24525
- const ret = applyTransactionBatch(getStringFromWasm0(arg0, arg1), arg2);
24526
- return ret;
24527
- },
24528
- __wbg_applyTransactionDelta_93fac37bf6e15192: function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18, arg19, arg20) {
24052
+ __wbg_applyAccountPatch_ade374c1e2049a8e: function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18, arg19, arg20) {
24529
24053
  let deferred0_0;
24530
24054
  let deferred0_1;
24531
24055
  let deferred1_0;
@@ -24557,7 +24081,7 @@ function __wbg_get_imports(memory) {
24557
24081
  deferred7_1 = arg17;
24558
24082
  deferred8_0 = arg19;
24559
24083
  deferred8_1 = arg20;
24560
- const ret = applyTransactionDelta(getStringFromWasm0(arg0, arg1), getStringFromWasm0(arg2, arg3), getStringFromWasm0(arg4, arg5), v2, v3, v4, getStringFromWasm0(arg12, arg13), getStringFromWasm0(arg14, arg15), getStringFromWasm0(arg16, arg17), arg18 !== 0, getStringFromWasm0(arg19, arg20));
24084
+ const ret = applyAccountPatch(getStringFromWasm0(arg0, arg1), getStringFromWasm0(arg2, arg3), getStringFromWasm0(arg4, arg5), v2, v3, v4, getStringFromWasm0(arg12, arg13), getStringFromWasm0(arg14, arg15), getStringFromWasm0(arg16, arg17), arg18 !== 0, getStringFromWasm0(arg19, arg20));
24561
24085
  return ret;
24562
24086
  } finally {
24563
24087
  wasm.__wbindgen_free(deferred0_0, deferred0_1, 1);
@@ -24568,6 +24092,20 @@ function __wbg_get_imports(memory) {
24568
24092
  wasm.__wbindgen_free(deferred8_0, deferred8_1, 1);
24569
24093
  }
24570
24094
  },
24095
+ __wbg_applyFullAccountState_f9562e4091c2eaf6: function(arg0, arg1, arg2) {
24096
+ const ret = applyFullAccountState(getStringFromWasm0(arg0, arg1), JsAccountUpdate.__wrap(arg2));
24097
+ return ret;
24098
+ },
24099
+ __wbg_applySettingsMutations_722d272d653902a1: function(arg0, arg1, arg2, arg3) {
24100
+ var v0 = getArrayJsValueFromWasm0(arg2, arg3).slice();
24101
+ wasm.__wbindgen_free(arg2, arg3 * 4, 4);
24102
+ const ret = applySettingsMutations(getStringFromWasm0(arg0, arg1), v0);
24103
+ return ret;
24104
+ },
24105
+ __wbg_applyStateSync_4c25ec00de2f60bb: function(arg0, arg1, arg2) {
24106
+ const ret = applyStateSync(getStringFromWasm0(arg0, arg1), JsStateSyncUpdate.__wrap(arg2));
24107
+ return ret;
24108
+ },
24571
24109
  __wbg_assetvault_new: function(arg0) {
24572
24110
  const ret = AssetVault.__wrap(arg0);
24573
24111
  return ret;
@@ -24676,7 +24214,7 @@ function __wbg_get_imports(memory) {
24676
24214
  wasm.__wbindgen_free(deferred0_0, deferred0_1, 1);
24677
24215
  }
24678
24216
  },
24679
- __wbg_exportStore_ca32cf4c9f46f56b: function(arg0, arg1) {
24217
+ __wbg_exportStore_3b84792dca9a9ef1: function(arg0, arg1) {
24680
24218
  const ret = exportStore(getStringFromWasm0(arg0, arg1));
24681
24219
  return ret;
24682
24220
  },
@@ -24708,7 +24246,7 @@ function __wbg_get_imports(memory) {
24708
24246
  const ret = FetchedNote.__wrap(arg0);
24709
24247
  return ret;
24710
24248
  },
24711
- __wbg_forceImportStore_8bb9e5bbca5e1513: function(arg0, arg1, arg2) {
24249
+ __wbg_forceImportStore_6a4fb8bc450bbf4a: function(arg0, arg1, arg2) {
24712
24250
  const ret = forceImportStore(getStringFromWasm0(arg0, arg1), arg2);
24713
24251
  return ret;
24714
24252
  },
@@ -24716,10 +24254,6 @@ function __wbg_get_imports(memory) {
24716
24254
  const ret = ForeignAccount.__unwrap(arg0);
24717
24255
  return ret;
24718
24256
  },
24719
- __wbg_from_bddd64e7d5ff6941: function(arg0) {
24720
- const ret = Array.from(arg0);
24721
- return ret;
24722
- },
24723
24257
  __wbg_fungibleasset_new: function(arg0) {
24724
24258
  const ret = FungibleAsset.__wrap(arg0);
24725
24259
  return ret;
@@ -24732,7 +24266,7 @@ function __wbg_get_imports(memory) {
24732
24266
  const ret = FungibleAssetDeltaItem.__wrap(arg0);
24733
24267
  return ret;
24734
24268
  },
24735
- __wbg_getAccountAddresses_d068c1e15e7a3f69: function(arg0, arg1, arg2, arg3) {
24269
+ __wbg_getAccountAddresses_68ba5f3f8a9c7e15: function(arg0, arg1, arg2, arg3) {
24736
24270
  let deferred0_0;
24737
24271
  let deferred0_1;
24738
24272
  try {
@@ -24744,7 +24278,7 @@ function __wbg_get_imports(memory) {
24744
24278
  wasm.__wbindgen_free(deferred0_0, deferred0_1, 1);
24745
24279
  }
24746
24280
  },
24747
- __wbg_getAccountAuthByPubKeyCommitment_8f67fb0e63c7bd2e: function(arg0, arg1, arg2, arg3) {
24281
+ __wbg_getAccountAuthByPubKeyCommitment_568661071566f307: function(arg0, arg1, arg2, arg3) {
24748
24282
  let deferred0_0;
24749
24283
  let deferred0_1;
24750
24284
  try {
@@ -24756,7 +24290,7 @@ function __wbg_get_imports(memory) {
24756
24290
  wasm.__wbindgen_free(deferred0_0, deferred0_1, 1);
24757
24291
  }
24758
24292
  },
24759
- __wbg_getAccountCode_c9e87e9228f99d8a: function(arg0, arg1, arg2, arg3) {
24293
+ __wbg_getAccountCode_14e446cd1a3f814f: function(arg0, arg1, arg2, arg3) {
24760
24294
  let deferred0_0;
24761
24295
  let deferred0_1;
24762
24296
  try {
@@ -24768,7 +24302,7 @@ function __wbg_get_imports(memory) {
24768
24302
  wasm.__wbindgen_free(deferred0_0, deferred0_1, 1);
24769
24303
  }
24770
24304
  },
24771
- __wbg_getAccountHeaderByCommitment_918253bae03e21bd: function(arg0, arg1, arg2, arg3) {
24305
+ __wbg_getAccountHeaderByCommitment_0e10e9ac733f359b: function(arg0, arg1, arg2, arg3) {
24772
24306
  let deferred0_0;
24773
24307
  let deferred0_1;
24774
24308
  try {
@@ -24780,7 +24314,7 @@ function __wbg_get_imports(memory) {
24780
24314
  wasm.__wbindgen_free(deferred0_0, deferred0_1, 1);
24781
24315
  }
24782
24316
  },
24783
- __wbg_getAccountHeader_19a4cbeb88903833: function(arg0, arg1, arg2, arg3) {
24317
+ __wbg_getAccountHeader_ef6ad25115d9bd02: function(arg0, arg1, arg2, arg3) {
24784
24318
  let deferred0_0;
24785
24319
  let deferred0_1;
24786
24320
  try {
@@ -24792,7 +24326,7 @@ function __wbg_get_imports(memory) {
24792
24326
  wasm.__wbindgen_free(deferred0_0, deferred0_1, 1);
24793
24327
  }
24794
24328
  },
24795
- __wbg_getAccountIdByKeyCommitment_2461fd858ac229a5: function(arg0, arg1, arg2, arg3) {
24329
+ __wbg_getAccountIdByKeyCommitment_c0c17f1af8b92023: function(arg0, arg1, arg2, arg3) {
24796
24330
  let deferred0_0;
24797
24331
  let deferred0_1;
24798
24332
  try {
@@ -24804,11 +24338,11 @@ function __wbg_get_imports(memory) {
24804
24338
  wasm.__wbindgen_free(deferred0_0, deferred0_1, 1);
24805
24339
  }
24806
24340
  },
24807
- __wbg_getAccountIds_6ce312ac9bfb1b31: function(arg0, arg1) {
24341
+ __wbg_getAccountIds_07de8c6f4a5ee883: function(arg0, arg1) {
24808
24342
  const ret = getAccountIds(getStringFromWasm0(arg0, arg1));
24809
24343
  return ret;
24810
24344
  },
24811
- __wbg_getAccountStorageMaps_18420aab10cd69bd: function(arg0, arg1, arg2, arg3) {
24345
+ __wbg_getAccountStorageMaps_b16de6210ce82188: function(arg0, arg1, arg2, arg3) {
24812
24346
  let deferred0_0;
24813
24347
  let deferred0_1;
24814
24348
  try {
@@ -24820,7 +24354,7 @@ function __wbg_get_imports(memory) {
24820
24354
  wasm.__wbindgen_free(deferred0_0, deferred0_1, 1);
24821
24355
  }
24822
24356
  },
24823
- __wbg_getAccountStorage_ffe7596409c9223c: function(arg0, arg1, arg2, arg3, arg4, arg5) {
24357
+ __wbg_getAccountStorage_c876ec60dbfa6cee: function(arg0, arg1, arg2, arg3, arg4, arg5) {
24824
24358
  let deferred0_0;
24825
24359
  let deferred0_1;
24826
24360
  try {
@@ -24834,7 +24368,7 @@ function __wbg_get_imports(memory) {
24834
24368
  wasm.__wbindgen_free(deferred0_0, deferred0_1, 1);
24835
24369
  }
24836
24370
  },
24837
- __wbg_getAccountVaultAssets_af709bb72685df4c: function(arg0, arg1, arg2, arg3, arg4, arg5) {
24371
+ __wbg_getAccountVaultAssets_479ef945dd51412a: function(arg0, arg1, arg2, arg3, arg4, arg5) {
24838
24372
  let deferred0_0;
24839
24373
  let deferred0_1;
24840
24374
  try {
@@ -24848,27 +24382,27 @@ function __wbg_get_imports(memory) {
24848
24382
  wasm.__wbindgen_free(deferred0_0, deferred0_1, 1);
24849
24383
  }
24850
24384
  },
24851
- __wbg_getAllAccountHeaders_41895be7c409b88e: function(arg0, arg1) {
24385
+ __wbg_getAllAccountHeaders_f78e678ad24296de: function(arg0, arg1) {
24852
24386
  const ret = getAllAccountHeaders(getStringFromWasm0(arg0, arg1));
24853
24387
  return ret;
24854
24388
  },
24855
- __wbg_getBlockHeaders_5fd7167f134e5843: function(arg0, arg1, arg2, arg3) {
24389
+ __wbg_getBlockHeaders_a55990d3957c0d9d: function(arg0, arg1, arg2, arg3) {
24856
24390
  var v0 = getArrayU32FromWasm0(arg2, arg3).slice();
24857
24391
  wasm.__wbindgen_free(arg2, arg3 * 4, 4);
24858
24392
  const ret = getBlockHeaders(getStringFromWasm0(arg0, arg1), v0);
24859
24393
  return ret;
24860
24394
  },
24861
- __wbg_getCurrentBlockchainPeaks_0d572807e1e9e2ae: function(arg0, arg1) {
24395
+ __wbg_getCurrentBlockchainPeaks_b276a676a0f16d93: function(arg0, arg1) {
24862
24396
  const ret = getCurrentBlockchainPeaks(getStringFromWasm0(arg0, arg1));
24863
24397
  return ret;
24864
24398
  },
24865
- __wbg_getForeignAccountCode_844c11a17626e563: function(arg0, arg1, arg2, arg3) {
24399
+ __wbg_getForeignAccountCode_9f88c11936e9c43d: function(arg0, arg1, arg2, arg3) {
24866
24400
  var v0 = getArrayJsValueFromWasm0(arg2, arg3).slice();
24867
24401
  wasm.__wbindgen_free(arg2, arg3 * 4, 4);
24868
24402
  const ret = getForeignAccountCode(getStringFromWasm0(arg0, arg1), v0);
24869
24403
  return ret;
24870
24404
  },
24871
- __wbg_getInputNoteByOffset_9ab1440d682c55fb: function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) {
24405
+ __wbg_getInputNoteByOffset_d8ec28ef8b63a88f: function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) {
24872
24406
  let deferred1_0;
24873
24407
  let deferred1_1;
24874
24408
  try {
@@ -24882,31 +24416,31 @@ function __wbg_get_imports(memory) {
24882
24416
  wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
24883
24417
  }
24884
24418
  },
24885
- __wbg_getInputNotesFromDetailsCommitments_0d7a37a6d01eab53: function(arg0, arg1, arg2, arg3) {
24419
+ __wbg_getInputNotesFromDetailsCommitments_9590f42d9e96e86c: function(arg0, arg1, arg2, arg3) {
24886
24420
  var v0 = getArrayJsValueFromWasm0(arg2, arg3).slice();
24887
24421
  wasm.__wbindgen_free(arg2, arg3 * 4, 4);
24888
24422
  const ret = getInputNotesFromDetailsCommitments(getStringFromWasm0(arg0, arg1), v0);
24889
24423
  return ret;
24890
24424
  },
24891
- __wbg_getInputNotesFromIds_27c39054c73a044b: function(arg0, arg1, arg2, arg3) {
24425
+ __wbg_getInputNotesFromIds_d290a8e093978eae: function(arg0, arg1, arg2, arg3) {
24892
24426
  var v0 = getArrayJsValueFromWasm0(arg2, arg3).slice();
24893
24427
  wasm.__wbindgen_free(arg2, arg3 * 4, 4);
24894
24428
  const ret = getInputNotesFromIds(getStringFromWasm0(arg0, arg1), v0);
24895
24429
  return ret;
24896
24430
  },
24897
- __wbg_getInputNotesFromNullifiers_301cdfb81aa319a7: function(arg0, arg1, arg2, arg3) {
24431
+ __wbg_getInputNotesFromNullifiers_2b5fa39ec52ecab6: function(arg0, arg1, arg2, arg3) {
24898
24432
  var v0 = getArrayJsValueFromWasm0(arg2, arg3).slice();
24899
24433
  wasm.__wbindgen_free(arg2, arg3 * 4, 4);
24900
24434
  const ret = getInputNotesFromNullifiers(getStringFromWasm0(arg0, arg1), v0);
24901
24435
  return ret;
24902
24436
  },
24903
- __wbg_getInputNotes_7d1b39ca9e78db47: function(arg0, arg1, arg2, arg3) {
24437
+ __wbg_getInputNotes_1c76764676f21be5: function(arg0, arg1, arg2, arg3) {
24904
24438
  var v0 = getArrayU8FromWasm0(arg2, arg3).slice();
24905
24439
  wasm.__wbindgen_free(arg2, arg3 * 1, 1);
24906
24440
  const ret = getInputNotes(getStringFromWasm0(arg0, arg1), v0);
24907
24441
  return ret;
24908
24442
  },
24909
- __wbg_getKeyCommitmentsByAccountId_81ce3e1041e3bed0: function(arg0, arg1, arg2, arg3) {
24443
+ __wbg_getKeyCommitmentsByAccountId_7962a39c985c54e5: function(arg0, arg1, arg2, arg3) {
24910
24444
  let deferred0_0;
24911
24445
  let deferred0_1;
24912
24446
  try {
@@ -24918,7 +24452,7 @@ function __wbg_get_imports(memory) {
24918
24452
  wasm.__wbindgen_free(deferred0_0, deferred0_1, 1);
24919
24453
  }
24920
24454
  },
24921
- __wbg_getNoteScript_5be6f18daf0b0cff: function(arg0, arg1, arg2, arg3) {
24455
+ __wbg_getNoteScript_b2cf59d7cf9d19e7: function(arg0, arg1, arg2, arg3) {
24922
24456
  let deferred0_0;
24923
24457
  let deferred0_1;
24924
24458
  try {
@@ -24930,39 +24464,39 @@ function __wbg_get_imports(memory) {
24930
24464
  wasm.__wbindgen_free(deferred0_0, deferred0_1, 1);
24931
24465
  }
24932
24466
  },
24933
- __wbg_getNoteTags_43e80680e54bade8: function(arg0, arg1) {
24467
+ __wbg_getNoteTags_a45689c54d964e46: function(arg0, arg1) {
24934
24468
  const ret = getNoteTags(getStringFromWasm0(arg0, arg1));
24935
24469
  return ret;
24936
24470
  },
24937
- __wbg_getOutputNotesFromDetailsCommitments_68e3dca9188e3f99: function(arg0, arg1, arg2, arg3) {
24471
+ __wbg_getOutputNotesFromDetailsCommitments_b15793905bc47309: function(arg0, arg1, arg2, arg3) {
24938
24472
  var v0 = getArrayJsValueFromWasm0(arg2, arg3).slice();
24939
24473
  wasm.__wbindgen_free(arg2, arg3 * 4, 4);
24940
24474
  const ret = getOutputNotesFromDetailsCommitments(getStringFromWasm0(arg0, arg1), v0);
24941
24475
  return ret;
24942
24476
  },
24943
- __wbg_getOutputNotesFromIds_768649a70e0c7bfb: function(arg0, arg1, arg2, arg3) {
24477
+ __wbg_getOutputNotesFromIds_d340ff4a6d4c5c8e: function(arg0, arg1, arg2, arg3) {
24944
24478
  var v0 = getArrayJsValueFromWasm0(arg2, arg3).slice();
24945
24479
  wasm.__wbindgen_free(arg2, arg3 * 4, 4);
24946
24480
  const ret = getOutputNotesFromIds(getStringFromWasm0(arg0, arg1), v0);
24947
24481
  return ret;
24948
24482
  },
24949
- __wbg_getOutputNotesFromNullifiers_c7ed92290ce3947a: function(arg0, arg1, arg2, arg3) {
24483
+ __wbg_getOutputNotesFromNullifiers_48b112e53ca4eea7: function(arg0, arg1, arg2, arg3) {
24950
24484
  var v0 = getArrayJsValueFromWasm0(arg2, arg3).slice();
24951
24485
  wasm.__wbindgen_free(arg2, arg3 * 4, 4);
24952
24486
  const ret = getOutputNotesFromNullifiers(getStringFromWasm0(arg0, arg1), v0);
24953
24487
  return ret;
24954
24488
  },
24955
- __wbg_getOutputNotes_b3ad1953a5193c80: function(arg0, arg1, arg2, arg3) {
24489
+ __wbg_getOutputNotes_2679465821c837b7: function(arg0, arg1, arg2, arg3) {
24956
24490
  var v0 = getArrayU8FromWasm0(arg2, arg3).slice();
24957
24491
  wasm.__wbindgen_free(arg2, arg3 * 1, 1);
24958
24492
  const ret = getOutputNotes(getStringFromWasm0(arg0, arg1), v0);
24959
24493
  return ret;
24960
24494
  },
24961
- __wbg_getPartialBlockchainNodesAll_6834180a437e7c63: function(arg0, arg1) {
24495
+ __wbg_getPartialBlockchainNodesAll_9496498a665775d9: function(arg0, arg1) {
24962
24496
  const ret = getPartialBlockchainNodesAll(getStringFromWasm0(arg0, arg1));
24963
24497
  return ret;
24964
24498
  },
24965
- __wbg_getPartialBlockchainNodesUpToInOrderIndex_94dc7d751d77e648: function(arg0, arg1, arg2, arg3) {
24499
+ __wbg_getPartialBlockchainNodesUpToInOrderIndex_2196a0e786754bd1: function(arg0, arg1, arg2, arg3) {
24966
24500
  let deferred0_0;
24967
24501
  let deferred0_1;
24968
24502
  try {
@@ -24974,20 +24508,20 @@ function __wbg_get_imports(memory) {
24974
24508
  wasm.__wbindgen_free(deferred0_0, deferred0_1, 1);
24975
24509
  }
24976
24510
  },
24977
- __wbg_getPartialBlockchainNodes_af5bd7d7471ef114: function(arg0, arg1, arg2, arg3) {
24511
+ __wbg_getPartialBlockchainNodes_0a6c2a323b1f4caa: function(arg0, arg1, arg2, arg3) {
24978
24512
  var v0 = getArrayJsValueFromWasm0(arg2, arg3).slice();
24979
24513
  wasm.__wbindgen_free(arg2, arg3 * 4, 4);
24980
24514
  const ret = getPartialBlockchainNodes(getStringFromWasm0(arg0, arg1), v0);
24981
24515
  return ret;
24982
24516
  },
24983
- __wbg_getRandomValues_ea728b1d79dae146: function() { return handleError(function (arg0) {
24517
+ __wbg_getRandomValues_90e56bff4f3b89fb: function() { return handleError(function (arg0) {
24984
24518
  globalThis.crypto.getRandomValues(arg0);
24985
24519
  }, arguments); },
24986
24520
  __wbg_getReader_f47519d698a4505e: function() { return handleError(function (arg0) {
24987
24521
  const ret = arg0.getReader();
24988
24522
  return ret;
24989
24523
  }, arguments); },
24990
- __wbg_getSetting_f06b2891fbabc9cf: function(arg0, arg1, arg2, arg3) {
24524
+ __wbg_getSetting_319d65b5a2e111a2: function(arg0, arg1, arg2, arg3) {
24991
24525
  let deferred0_0;
24992
24526
  let deferred0_1;
24993
24527
  try {
@@ -24999,7 +24533,7 @@ function __wbg_get_imports(memory) {
24999
24533
  wasm.__wbindgen_free(deferred0_0, deferred0_1, 1);
25000
24534
  }
25001
24535
  },
25002
- __wbg_getSyncHeight_d79b93a5d88a10be: function(arg0, arg1) {
24536
+ __wbg_getSyncHeight_94e6d0d761426ec9: function(arg0, arg1) {
25003
24537
  const ret = getSyncHeight(getStringFromWasm0(arg0, arg1));
25004
24538
  return ret;
25005
24539
  },
@@ -25007,15 +24541,15 @@ function __wbg_get_imports(memory) {
25007
24541
  const ret = arg0.getTime();
25008
24542
  return ret;
25009
24543
  },
25010
- __wbg_getTrackedBlockHeaderNumbers_f0d5e2f2232551cc: function(arg0, arg1) {
24544
+ __wbg_getTrackedBlockHeaderNumbers_5a8edd94c7b7613c: function(arg0, arg1) {
25011
24545
  const ret = getTrackedBlockHeaderNumbers(getStringFromWasm0(arg0, arg1));
25012
24546
  return ret;
25013
24547
  },
25014
- __wbg_getTrackedBlockHeaders_db61d3cc39ec8dba: function(arg0, arg1) {
24548
+ __wbg_getTrackedBlockHeaders_3292740bff6c9b4c: function(arg0, arg1) {
25015
24549
  const ret = getTrackedBlockHeaders(getStringFromWasm0(arg0, arg1));
25016
24550
  return ret;
25017
24551
  },
25018
- __wbg_getTransactions_00723f63af87e326: function(arg0, arg1, arg2, arg3) {
24552
+ __wbg_getTransactions_0c5674a652c44917: function(arg0, arg1, arg2, arg3) {
25019
24553
  let deferred0_0;
25020
24554
  let deferred0_1;
25021
24555
  try {
@@ -25027,7 +24561,7 @@ function __wbg_get_imports(memory) {
25027
24561
  wasm.__wbindgen_free(deferred0_0, deferred0_1, 1);
25028
24562
  }
25029
24563
  },
25030
- __wbg_getUnspentInputNoteNullifiers_5352631c6015d6e5: function(arg0, arg1) {
24564
+ __wbg_getUnspentInputNoteNullifiers_6c9d5852b42b8c73: function(arg0, arg1) {
25031
24565
  const ret = getUnspentInputNoteNullifiers(getStringFromWasm0(arg0, arg1));
25032
24566
  return ret;
25033
24567
  },
@@ -25071,7 +24605,7 @@ function __wbg_get_imports(memory) {
25071
24605
  const ret = InputNoteRecord.__wrap(arg0);
25072
24606
  return ret;
25073
24607
  },
25074
- __wbg_insertAccountAddress_a8f49a2f8f6ff0f1: function(arg0, arg1, arg2, arg3, arg4, arg5) {
24608
+ __wbg_insertAccountAddress_36db2bb32e10fd9b: function(arg0, arg1, arg2, arg3, arg4, arg5) {
25075
24609
  let deferred0_0;
25076
24610
  let deferred0_1;
25077
24611
  try {
@@ -25085,7 +24619,7 @@ function __wbg_get_imports(memory) {
25085
24619
  wasm.__wbindgen_free(deferred0_0, deferred0_1, 1);
25086
24620
  }
25087
24621
  },
25088
- __wbg_insertAccountAuth_3a2314a58a464f90: function(arg0, arg1, arg2, arg3, arg4, arg5) {
24622
+ __wbg_insertAccountAuth_2763614f9c61eb99: function(arg0, arg1, arg2, arg3, arg4, arg5) {
25089
24623
  let deferred0_0;
25090
24624
  let deferred0_1;
25091
24625
  let deferred1_0;
@@ -25102,7 +24636,7 @@ function __wbg_get_imports(memory) {
25102
24636
  wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
25103
24637
  }
25104
24638
  },
25105
- __wbg_insertAccountKeyMapping_72c6d4d8b9306667: function(arg0, arg1, arg2, arg3, arg4, arg5) {
24639
+ __wbg_insertAccountKeyMapping_5440caed0fe18250: function(arg0, arg1, arg2, arg3, arg4, arg5) {
25106
24640
  let deferred0_0;
25107
24641
  let deferred0_1;
25108
24642
  let deferred1_0;
@@ -25119,21 +24653,17 @@ function __wbg_get_imports(memory) {
25119
24653
  wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
25120
24654
  }
25121
24655
  },
25122
- __wbg_insertBlockHeader_305b039a9623ae0f: function(arg0, arg1, arg2, arg3, arg4, arg5) {
24656
+ __wbg_insertBlockHeader_ca254bedd530d7a3: function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) {
25123
24657
  var v0 = getArrayU8FromWasm0(arg3, arg4).slice();
25124
24658
  wasm.__wbindgen_free(arg3, arg4 * 1, 1);
25125
- const ret = insertBlockHeader(getStringFromWasm0(arg0, arg1), arg2 >>> 0, v0, arg5 !== 0);
25126
- return ret;
25127
- },
25128
- __wbg_insertPartialBlockchainNodes_cf3566f492028425: function(arg0, arg1, arg2, arg3, arg4, arg5) {
25129
- var v0 = getArrayJsValueFromWasm0(arg2, arg3).slice();
25130
- wasm.__wbindgen_free(arg2, arg3 * 4, 4);
25131
- var v1 = getArrayJsValueFromWasm0(arg4, arg5).slice();
25132
- wasm.__wbindgen_free(arg4, arg5 * 4, 4);
25133
- const ret = insertPartialBlockchainNodes(getStringFromWasm0(arg0, arg1), v0, v1);
24659
+ var v1 = getArrayJsValueFromWasm0(arg6, arg7).slice();
24660
+ wasm.__wbindgen_free(arg6, arg7 * 4, 4);
24661
+ var v2 = getArrayJsValueFromWasm0(arg8, arg9).slice();
24662
+ wasm.__wbindgen_free(arg8, arg9 * 4, 4);
24663
+ const ret = insertBlockHeader(getStringFromWasm0(arg0, arg1), arg2 >>> 0, v0, arg5 !== 0, v1, v2);
25134
24664
  return ret;
25135
24665
  },
25136
- __wbg_insertSetting_0f1cae5afcfb4023: function(arg0, arg1, arg2, arg3, arg4, arg5) {
24666
+ __wbg_insertSetting_2b672c0bf3a3668d: function(arg0, arg1, arg2, arg3, arg4, arg5) {
25137
24667
  let deferred0_0;
25138
24668
  let deferred0_1;
25139
24669
  try {
@@ -25147,7 +24677,7 @@ function __wbg_get_imports(memory) {
25147
24677
  wasm.__wbindgen_free(deferred0_0, deferred0_1, 1);
25148
24678
  }
25149
24679
  },
25150
- __wbg_insertTransactionScript_254698ca99f13bdb: function(arg0, arg1, arg2, arg3, arg4, arg5) {
24680
+ __wbg_insertTransactionScript_f052607e004c23aa: function(arg0, arg1, arg2, arg3, arg4, arg5) {
25151
24681
  var v0 = getArrayU8FromWasm0(arg2, arg3).slice();
25152
24682
  wasm.__wbindgen_free(arg2, arg3 * 1, 1);
25153
24683
  let v1;
@@ -25254,11 +24784,11 @@ function __wbg_get_imports(memory) {
25254
24784
  const ret = arg0.length;
25255
24785
  return ret;
25256
24786
  },
25257
- __wbg_listSettingKeys_b640b6ed3b2ceee7: function(arg0, arg1) {
24787
+ __wbg_listSettingKeys_73b3c34ff51ee657: function(arg0, arg1) {
25258
24788
  const ret = listSettingKeys(getStringFromWasm0(arg0, arg1));
25259
24789
  return ret;
25260
24790
  },
25261
- __wbg_lockAccount_e19bdabd557a9bac: function(arg0, arg1, arg2, arg3) {
24791
+ __wbg_lockAccount_a59ff3c777c9188c: function(arg0, arg1, arg2, arg3) {
25262
24792
  let deferred0_0;
25263
24793
  let deferred0_1;
25264
24794
  try {
@@ -25417,10 +24947,6 @@ function __wbg_get_imports(memory) {
25417
24947
  const ret = NoteAttachment.__wrap(arg0);
25418
24948
  return ret;
25419
24949
  },
25420
- __wbg_noteattachment_unwrap: function(arg0) {
25421
- const ret = NoteAttachment.__unwrap(arg0);
25422
- return ret;
25423
- },
25424
24950
  __wbg_noteconsumability_new: function(arg0) {
25425
24951
  const ret = NoteConsumability.__wrap(arg0);
25426
24952
  return ret;
@@ -25477,7 +25003,7 @@ function __wbg_get_imports(memory) {
25477
25003
  const ret = Array.of(arg0, arg1, arg2);
25478
25004
  return ret;
25479
25005
  },
25480
- __wbg_openDatabase_9a8fbeb3ab124c9d: function(arg0, arg1, arg2, arg3) {
25006
+ __wbg_openDatabase_8ac110fce86d145e: function(arg0, arg1, arg2, arg3) {
25481
25007
  const ret = openDatabase(getStringFromWasm0(arg0, arg1), getStringFromWasm0(arg2, arg3));
25482
25008
  return ret;
25483
25009
  },
@@ -25511,7 +25037,7 @@ function __wbg_get_imports(memory) {
25511
25037
  const ret = ProvenTransaction.__wrap(arg0);
25512
25038
  return ret;
25513
25039
  },
25514
- __wbg_pruneAccountHistory_6f68d5203b34624d: function(arg0, arg1, arg2, arg3, arg4, arg5) {
25040
+ __wbg_pruneAccountHistory_c2e9f7b1d4846bc6: function(arg0, arg1, arg2, arg3, arg4, arg5) {
25515
25041
  let deferred0_0;
25516
25042
  let deferred0_1;
25517
25043
  let deferred1_0;
@@ -25528,7 +25054,7 @@ function __wbg_get_imports(memory) {
25528
25054
  wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
25529
25055
  }
25530
25056
  },
25531
- __wbg_pruneIrrelevantBlocks_f67204a16f7b32f3: function(arg0, arg1, arg2, arg3, arg4, arg5) {
25057
+ __wbg_pruneIrrelevantBlocks_33e6cf62a24f1f38: function(arg0, arg1, arg2, arg3, arg4, arg5) {
25532
25058
  var v0 = getArrayU32FromWasm0(arg2, arg3).slice();
25533
25059
  wasm.__wbindgen_free(arg2, arg3 * 4, 4);
25534
25060
  var v1 = getArrayJsValueFromWasm0(arg4, arg5).slice();
@@ -25536,14 +25062,6 @@ function __wbg_get_imports(memory) {
25536
25062
  const ret = pruneIrrelevantBlocks(getStringFromWasm0(arg0, arg1), v0, v1);
25537
25063
  return ret;
25538
25064
  },
25539
- __wbg_pswaplineagerecord_new: function(arg0) {
25540
- const ret = PswapLineageRecord.__wrap(arg0);
25541
- return ret;
25542
- },
25543
- __wbg_push_8ffdcb2063340ba5: function(arg0, arg1) {
25544
- const ret = arg0.push(arg1);
25545
- return ret;
25546
- },
25547
25065
  __wbg_queueMicrotask_0aa0a927f78f5d98: function(arg0) {
25548
25066
  const ret = arg0.queueMicrotask;
25549
25067
  return ret;
@@ -25558,13 +25076,13 @@ function __wbg_get_imports(memory) {
25558
25076
  __wbg_releaseLock_aa5846c2494b3032: function(arg0) {
25559
25077
  arg0.releaseLock();
25560
25078
  },
25561
- __wbg_removeAccountAddress_c96456170da6ac29: function(arg0, arg1, arg2, arg3) {
25079
+ __wbg_removeAccountAddress_5cbeda1f06e27b96: function(arg0, arg1, arg2, arg3) {
25562
25080
  var v0 = getArrayU8FromWasm0(arg2, arg3).slice();
25563
25081
  wasm.__wbindgen_free(arg2, arg3 * 1, 1);
25564
25082
  const ret = removeAccountAddress(getStringFromWasm0(arg0, arg1), v0);
25565
25083
  return ret;
25566
25084
  },
25567
- __wbg_removeAccountAuth_514a8e1ee9bc6293: function(arg0, arg1, arg2, arg3) {
25085
+ __wbg_removeAccountAuth_825600c45bdd5aa3: function(arg0, arg1, arg2, arg3) {
25568
25086
  let deferred0_0;
25569
25087
  let deferred0_1;
25570
25088
  try {
@@ -25576,7 +25094,7 @@ function __wbg_get_imports(memory) {
25576
25094
  wasm.__wbindgen_free(deferred0_0, deferred0_1, 1);
25577
25095
  }
25578
25096
  },
25579
- __wbg_removeAllMappingsForKey_18e793a295ac2226: function(arg0, arg1, arg2, arg3) {
25097
+ __wbg_removeAllMappingsForKey_3f439269152ce6e0: function(arg0, arg1, arg2, arg3) {
25580
25098
  let deferred0_0;
25581
25099
  let deferred0_1;
25582
25100
  try {
@@ -25588,7 +25106,7 @@ function __wbg_get_imports(memory) {
25588
25106
  wasm.__wbindgen_free(deferred0_0, deferred0_1, 1);
25589
25107
  }
25590
25108
  },
25591
- __wbg_removeNoteTag_8ae01f5c65dc9174: function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) {
25109
+ __wbg_removeNoteTag_e2ea5486d35929ca: function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) {
25592
25110
  var v0 = getArrayU8FromWasm0(arg2, arg3).slice();
25593
25111
  wasm.__wbindgen_free(arg2, arg3 * 1, 1);
25594
25112
  let v1;
@@ -25609,7 +25127,7 @@ function __wbg_get_imports(memory) {
25609
25127
  const ret = removeNoteTag(getStringFromWasm0(arg0, arg1), v0, v1, v2, v3);
25610
25128
  return ret;
25611
25129
  },
25612
- __wbg_removeSetting_5bec82500774f6cf: function(arg0, arg1, arg2, arg3) {
25130
+ __wbg_removeSetting_5fac6592df936024: function(arg0, arg1, arg2, arg3) {
25613
25131
  let deferred0_0;
25614
25132
  let deferred0_1;
25615
25133
  try {
@@ -25660,9 +25178,6 @@ function __wbg_get_imports(memory) {
25660
25178
  const ret = setTimeout(arg0, arg1);
25661
25179
  return ret;
25662
25180
  }, arguments); },
25663
- __wbg_set_3f1d0b984ed272ed: function(arg0, arg1, arg2) {
25664
- arg0[arg1] = arg2;
25665
- },
25666
25181
  __wbg_set_6cb8631f80447a67: function() { return handleError(function (arg0, arg1, arg2) {
25667
25182
  const ret = Reflect.set(arg0, arg1, arg2);
25668
25183
  return ret;
@@ -25819,13 +25334,13 @@ function __wbg_get_imports(memory) {
25819
25334
  const ret = TransactionSummary.__wrap(arg0);
25820
25335
  return ret;
25821
25336
  },
25822
- __wbg_undoAccountStates_b7f5bc8db7e5f7d9: function(arg0, arg1, arg2, arg3) {
25337
+ __wbg_undoAccountStates_884490500595e8c1: function(arg0, arg1, arg2, arg3) {
25823
25338
  var v0 = getArrayJsValueFromWasm0(arg2, arg3).slice();
25824
25339
  wasm.__wbindgen_free(arg2, arg3 * 4, 4);
25825
25340
  const ret = undoAccountStates(getStringFromWasm0(arg0, arg1), v0);
25826
25341
  return ret;
25827
25342
  },
25828
- __wbg_upsertAccountCode_2885d4bc1584e8e8: function(arg0, arg1, arg2, arg3, arg4, arg5) {
25343
+ __wbg_upsertAccountCode_ce71ea974ae52d20: function(arg0, arg1, arg2, arg3, arg4, arg5) {
25829
25344
  let deferred0_0;
25830
25345
  let deferred0_1;
25831
25346
  try {
@@ -25839,7 +25354,7 @@ function __wbg_get_imports(memory) {
25839
25354
  wasm.__wbindgen_free(deferred0_0, deferred0_1, 1);
25840
25355
  }
25841
25356
  },
25842
- __wbg_upsertAccountRecord_c3aa685ee4dcc3de: function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17) {
25357
+ __wbg_upsertAccountRecord_793d7ddc0ba72c6d: function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17) {
25843
25358
  let deferred0_0;
25844
25359
  let deferred0_1;
25845
25360
  let deferred1_0;
@@ -25881,7 +25396,7 @@ function __wbg_get_imports(memory) {
25881
25396
  wasm.__wbindgen_free(deferred5_0, deferred5_1, 1);
25882
25397
  }
25883
25398
  },
25884
- __wbg_upsertAccountStorage_e482e77a7e281260: function(arg0, arg1, arg2, arg3, arg4, arg5) {
25399
+ __wbg_upsertAccountStorage_5e3e18f2388a4516: function(arg0, arg1, arg2, arg3, arg4, arg5) {
25885
25400
  let deferred0_0;
25886
25401
  let deferred0_1;
25887
25402
  try {
@@ -25895,7 +25410,7 @@ function __wbg_get_imports(memory) {
25895
25410
  wasm.__wbindgen_free(deferred0_0, deferred0_1, 1);
25896
25411
  }
25897
25412
  },
25898
- __wbg_upsertForeignAccountCode_9aa9b862b6a7e789: function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) {
25413
+ __wbg_upsertForeignAccountCode_dc483b928e37841a: function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) {
25899
25414
  let deferred0_0;
25900
25415
  let deferred0_1;
25901
25416
  let deferred2_0;
@@ -25914,7 +25429,7 @@ function __wbg_get_imports(memory) {
25914
25429
  wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);
25915
25430
  }
25916
25431
  },
25917
- __wbg_upsertInputNote_e10948a629bcee16: function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18, arg19, arg20, arg21, arg22, arg23, arg24, arg25, arg26, arg27, arg28) {
25432
+ __wbg_upsertInputNote_570ff0eb47e436a6: function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18, arg19, arg20, arg21, arg22, arg23, arg24, arg25, arg26, arg27, arg28) {
25918
25433
  let deferred0_0;
25919
25434
  let deferred0_1;
25920
25435
  let deferred6_0;
@@ -25963,7 +25478,7 @@ function __wbg_get_imports(memory) {
25963
25478
  wasm.__wbindgen_free(deferred9_0, deferred9_1, 1);
25964
25479
  }
25965
25480
  },
25966
- __wbg_upsertNoteScript_7e9a616d8a143614: function(arg0, arg1, arg2, arg3, arg4, arg5) {
25481
+ __wbg_upsertNoteScript_478f10dbd569c41c: function(arg0, arg1, arg2, arg3, arg4, arg5) {
25967
25482
  let deferred0_0;
25968
25483
  let deferred0_1;
25969
25484
  try {
@@ -25977,7 +25492,7 @@ function __wbg_get_imports(memory) {
25977
25492
  wasm.__wbindgen_free(deferred0_0, deferred0_1, 1);
25978
25493
  }
25979
25494
  },
25980
- __wbg_upsertOutputNote_1194e3f5dcc3d4f1: function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18, arg19) {
25495
+ __wbg_upsertOutputNote_81d633e2913e530c: function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18, arg19) {
25981
25496
  let deferred0_0;
25982
25497
  let deferred0_1;
25983
25498
  let deferred1_0;
@@ -26012,7 +25527,7 @@ function __wbg_get_imports(memory) {
26012
25527
  wasm.__wbindgen_free(deferred4_0, deferred4_1, 1);
26013
25528
  }
26014
25529
  },
26015
- __wbg_upsertStorageMapEntries_82d953e23dee24ed: function(arg0, arg1, arg2, arg3, arg4, arg5) {
25530
+ __wbg_upsertStorageMapEntries_6458946c680ec0cc: function(arg0, arg1, arg2, arg3, arg4, arg5) {
26016
25531
  let deferred0_0;
26017
25532
  let deferred0_1;
26018
25533
  try {
@@ -26026,7 +25541,7 @@ function __wbg_get_imports(memory) {
26026
25541
  wasm.__wbindgen_free(deferred0_0, deferred0_1, 1);
26027
25542
  }
26028
25543
  },
26029
- __wbg_upsertTransactionRecord_24154d95069d63bd: function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) {
25544
+ __wbg_upsertTransactionRecord_5f48cbfd35e412bc: function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) {
26030
25545
  let deferred0_0;
26031
25546
  let deferred0_1;
26032
25547
  try {
@@ -26047,7 +25562,7 @@ function __wbg_get_imports(memory) {
26047
25562
  wasm.__wbindgen_free(deferred0_0, deferred0_1, 1);
26048
25563
  }
26049
25564
  },
26050
- __wbg_upsertVaultAssets_e982e767b7e6001a: function(arg0, arg1, arg2, arg3, arg4, arg5) {
25565
+ __wbg_upsertVaultAssets_3d383338bd7746b0: function(arg0, arg1, arg2, arg3, arg4, arg5) {
26051
25566
  let deferred0_0;
26052
25567
  let deferred0_1;
26053
25568
  try {
@@ -26090,17 +25605,17 @@ function __wbg_get_imports(memory) {
26090
25605
  return ret;
26091
25606
  },
26092
25607
  __wbindgen_cast_0000000000000001: function(arg0, arg1) {
26093
- // Cast intrinsic for `Closure(Closure { dtor_idx: 128, function: Function { arguments: [Externref], shim_idx: 129, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
25608
+ // Cast intrinsic for `Closure(Closure { dtor_idx: 116, function: Function { arguments: [Externref], shim_idx: 117, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
26094
25609
  const ret = makeMutClosure(arg0, arg1, wasm.wasm_bindgen_8294944b14acb139___closure__destroy___dyn_core_91ed24bc3d45dfd0___ops__function__FnMut__wasm_bindgen_8294944b14acb139___JsValue____Output_______, wasm_bindgen_8294944b14acb139___convert__closures_____invoke___wasm_bindgen_8294944b14acb139___JsValue_____);
26095
25610
  return ret;
26096
25611
  },
26097
25612
  __wbindgen_cast_0000000000000002: function(arg0, arg1) {
26098
- // Cast intrinsic for `Closure(Closure { dtor_idx: 128, function: Function { arguments: [NamedExternref("MessageEvent")], shim_idx: 129, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
25613
+ // Cast intrinsic for `Closure(Closure { dtor_idx: 116, function: Function { arguments: [NamedExternref("MessageEvent")], shim_idx: 117, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
26099
25614
  const ret = makeMutClosure(arg0, arg1, wasm.wasm_bindgen_8294944b14acb139___closure__destroy___dyn_core_91ed24bc3d45dfd0___ops__function__FnMut__wasm_bindgen_8294944b14acb139___JsValue____Output_______, wasm_bindgen_8294944b14acb139___convert__closures_____invoke___wasm_bindgen_8294944b14acb139___JsValue_____);
26100
25615
  return ret;
26101
25616
  },
26102
25617
  __wbindgen_cast_0000000000000003: function(arg0, arg1) {
26103
- // Cast intrinsic for `Closure(Closure { dtor_idx: 128, function: Function { arguments: [], shim_idx: 454, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
25618
+ // Cast intrinsic for `Closure(Closure { dtor_idx: 116, function: Function { arguments: [], shim_idx: 415, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
26104
25619
  const ret = makeMutClosure(arg0, arg1, wasm.wasm_bindgen_8294944b14acb139___closure__destroy___dyn_core_91ed24bc3d45dfd0___ops__function__FnMut__wasm_bindgen_8294944b14acb139___JsValue____Output_______, wasm_bindgen_8294944b14acb139___convert__closures_____invoke______);
26105
25620
  return ret;
26106
25621
  },
@@ -26110,91 +25625,79 @@ function __wbg_get_imports(memory) {
26110
25625
  return ret;
26111
25626
  },
26112
25627
  __wbindgen_cast_0000000000000005: function(arg0, arg1) {
26113
- // Cast intrinsic for `Ref(Slice(U8)) -> NamedExternref("Uint8Array")`.
26114
- const ret = getArrayU8FromWasm0(arg0, arg1);
26115
- return ret;
26116
- },
26117
- __wbindgen_cast_0000000000000006: function(arg0, arg1) {
26118
25628
  // Cast intrinsic for `Ref(String) -> Externref`.
26119
25629
  const ret = getStringFromWasm0(arg0, arg1);
26120
25630
  return ret;
26121
25631
  },
26122
- __wbindgen_cast_0000000000000007: function(arg0) {
25632
+ __wbindgen_cast_0000000000000006: function(arg0) {
26123
25633
  // Cast intrinsic for `U64 -> Externref`.
26124
25634
  const ret = BigInt.asUintN(64, arg0);
26125
25635
  return ret;
26126
25636
  },
26127
- __wbindgen_cast_0000000000000008: function(arg0, arg1) {
25637
+ __wbindgen_cast_0000000000000007: function(arg0, arg1) {
26128
25638
  var v0 = getArrayJsValueFromWasm0(arg0, arg1).slice();
26129
25639
  wasm.__wbindgen_free(arg0, arg1 * 4, 4);
26130
25640
  // Cast intrinsic for `Vector(NamedExternref("AccountHeader")) -> Externref`.
26131
25641
  const ret = v0;
26132
25642
  return ret;
26133
25643
  },
26134
- __wbindgen_cast_0000000000000009: function(arg0, arg1) {
25644
+ __wbindgen_cast_0000000000000008: function(arg0, arg1) {
26135
25645
  var v0 = getArrayJsValueFromWasm0(arg0, arg1).slice();
26136
25646
  wasm.__wbindgen_free(arg0, arg1 * 4, 4);
26137
25647
  // Cast intrinsic for `Vector(NamedExternref("Address")) -> Externref`.
26138
25648
  const ret = v0;
26139
25649
  return ret;
26140
25650
  },
26141
- __wbindgen_cast_000000000000000a: function(arg0, arg1) {
25651
+ __wbindgen_cast_0000000000000009: function(arg0, arg1) {
26142
25652
  var v0 = getArrayJsValueFromWasm0(arg0, arg1).slice();
26143
25653
  wasm.__wbindgen_free(arg0, arg1 * 4, 4);
26144
25654
  // Cast intrinsic for `Vector(NamedExternref("ConsumableNoteRecord")) -> Externref`.
26145
25655
  const ret = v0;
26146
25656
  return ret;
26147
25657
  },
26148
- __wbindgen_cast_000000000000000b: function(arg0, arg1) {
25658
+ __wbindgen_cast_000000000000000a: function(arg0, arg1) {
26149
25659
  var v0 = getArrayJsValueFromWasm0(arg0, arg1).slice();
26150
25660
  wasm.__wbindgen_free(arg0, arg1 * 4, 4);
26151
25661
  // Cast intrinsic for `Vector(NamedExternref("FetchedNote")) -> Externref`.
26152
25662
  const ret = v0;
26153
25663
  return ret;
26154
25664
  },
26155
- __wbindgen_cast_000000000000000c: function(arg0, arg1) {
25665
+ __wbindgen_cast_000000000000000b: function(arg0, arg1) {
26156
25666
  var v0 = getArrayJsValueFromWasm0(arg0, arg1).slice();
26157
25667
  wasm.__wbindgen_free(arg0, arg1 * 4, 4);
26158
25668
  // Cast intrinsic for `Vector(NamedExternref("InputNoteRecord")) -> Externref`.
26159
25669
  const ret = v0;
26160
25670
  return ret;
26161
25671
  },
26162
- __wbindgen_cast_000000000000000d: function(arg0, arg1) {
25672
+ __wbindgen_cast_000000000000000c: function(arg0, arg1) {
26163
25673
  var v0 = getArrayJsValueFromWasm0(arg0, arg1).slice();
26164
25674
  wasm.__wbindgen_free(arg0, arg1 * 4, 4);
26165
25675
  // Cast intrinsic for `Vector(NamedExternref("OutputNoteRecord")) -> Externref`.
26166
25676
  const ret = v0;
26167
25677
  return ret;
26168
25678
  },
26169
- __wbindgen_cast_000000000000000e: function(arg0, arg1) {
26170
- var v0 = getArrayJsValueFromWasm0(arg0, arg1).slice();
26171
- wasm.__wbindgen_free(arg0, arg1 * 4, 4);
26172
- // Cast intrinsic for `Vector(NamedExternref("PswapLineageRecord")) -> Externref`.
26173
- const ret = v0;
26174
- return ret;
26175
- },
26176
- __wbindgen_cast_000000000000000f: function(arg0, arg1) {
25679
+ __wbindgen_cast_000000000000000d: function(arg0, arg1) {
26177
25680
  var v0 = getArrayJsValueFromWasm0(arg0, arg1).slice();
26178
25681
  wasm.__wbindgen_free(arg0, arg1 * 4, 4);
26179
25682
  // Cast intrinsic for `Vector(NamedExternref("TransactionRecord")) -> Externref`.
26180
25683
  const ret = v0;
26181
25684
  return ret;
26182
25685
  },
26183
- __wbindgen_cast_0000000000000010: function(arg0, arg1) {
25686
+ __wbindgen_cast_000000000000000e: function(arg0, arg1) {
26184
25687
  var v0 = getArrayJsValueFromWasm0(arg0, arg1).slice();
26185
25688
  wasm.__wbindgen_free(arg0, arg1 * 4, 4);
26186
25689
  // Cast intrinsic for `Vector(NamedExternref("Word")) -> Externref`.
26187
25690
  const ret = v0;
26188
25691
  return ret;
26189
25692
  },
26190
- __wbindgen_cast_0000000000000011: function(arg0, arg1) {
25693
+ __wbindgen_cast_000000000000000f: function(arg0, arg1) {
26191
25694
  var v0 = getArrayJsValueFromWasm0(arg0, arg1).slice();
26192
25695
  wasm.__wbindgen_free(arg0, arg1 * 4, 4);
26193
25696
  // Cast intrinsic for `Vector(NamedExternref("string")) -> Externref`.
26194
25697
  const ret = v0;
26195
25698
  return ret;
26196
25699
  },
26197
- __wbindgen_cast_0000000000000012: function(arg0, arg1) {
25700
+ __wbindgen_cast_0000000000000010: function(arg0, arg1) {
26198
25701
  var v0 = getArrayU8FromWasm0(arg0, arg1).slice();
26199
25702
  wasm.__wbindgen_free(arg0, arg1 * 1, 1);
26200
25703
  // Cast intrinsic for `Vector(U8) -> Externref`.
@@ -26224,7 +25727,7 @@ function __wbg_get_imports(memory) {
26224
25727
  getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
26225
25728
  getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
26226
25729
  },
26227
- memory: memory || new WebAssembly.Memory({initial:59,maximum:65536,shared:true}),
25730
+ memory: memory || new WebAssembly.Memory({initial:129,maximum:65536,shared:true}),
26228
25731
  };
26229
25732
  return {
26230
25733
  __proto__: null,
@@ -26300,6 +25803,9 @@ const AccountIdFinalization = (typeof FinalizationRegistry === 'undefined')
26300
25803
  const AccountIdArrayFinalization = (typeof FinalizationRegistry === 'undefined')
26301
25804
  ? { register: () => {}, unregister: () => {} }
26302
25805
  : new FinalizationRegistry(ptr => wasm.__wbg_accountidarray_free(ptr >>> 0, 1));
25806
+ const AccountPatchFinalization = (typeof FinalizationRegistry === 'undefined')
25807
+ ? { register: () => {}, unregister: () => {} }
25808
+ : new FinalizationRegistry(ptr => wasm.__wbg_accountpatch_free(ptr >>> 0, 1));
26303
25809
  const AccountProofFinalization = (typeof FinalizationRegistry === 'undefined')
26304
25810
  ? { register: () => {}, unregister: () => {} }
26305
25811
  : new FinalizationRegistry(ptr => wasm.__wbg_accountproof_free(ptr >>> 0, 1));
@@ -26312,18 +25818,21 @@ const AccountStatusFinalization = (typeof FinalizationRegistry === 'undefined')
26312
25818
  const AccountStorageFinalization = (typeof FinalizationRegistry === 'undefined')
26313
25819
  ? { register: () => {}, unregister: () => {} }
26314
25820
  : new FinalizationRegistry(ptr => wasm.__wbg_accountstorage_free(ptr >>> 0, 1));
26315
- const AccountStorageDeltaFinalization = (typeof FinalizationRegistry === 'undefined')
26316
- ? { register: () => {}, unregister: () => {} }
26317
- : new FinalizationRegistry(ptr => wasm.__wbg_accountstoragedelta_free(ptr >>> 0, 1));
26318
25821
  const AccountStorageModeFinalization = (typeof FinalizationRegistry === 'undefined')
26319
25822
  ? { register: () => {}, unregister: () => {} }
26320
25823
  : new FinalizationRegistry(ptr => wasm.__wbg_accountstoragemode_free(ptr >>> 0, 1));
25824
+ const AccountStoragePatchFinalization = (typeof FinalizationRegistry === 'undefined')
25825
+ ? { register: () => {}, unregister: () => {} }
25826
+ : new FinalizationRegistry(ptr => wasm.__wbg_accountstoragepatch_free(ptr >>> 0, 1));
26321
25827
  const AccountStorageRequirementsFinalization = (typeof FinalizationRegistry === 'undefined')
26322
25828
  ? { register: () => {}, unregister: () => {} }
26323
25829
  : new FinalizationRegistry(ptr => wasm.__wbg_accountstoragerequirements_free(ptr >>> 0, 1));
26324
25830
  const AccountVaultDeltaFinalization = (typeof FinalizationRegistry === 'undefined')
26325
25831
  ? { register: () => {}, unregister: () => {} }
26326
25832
  : new FinalizationRegistry(ptr => wasm.__wbg_accountvaultdelta_free(ptr >>> 0, 1));
25833
+ const AccountVaultPatchFinalization = (typeof FinalizationRegistry === 'undefined')
25834
+ ? { register: () => {}, unregister: () => {} }
25835
+ : new FinalizationRegistry(ptr => wasm.__wbg_accountvaultpatch_free(ptr >>> 0, 1));
26327
25836
  const AddressFinalization = (typeof FinalizationRegistry === 'undefined')
26328
25837
  ? { register: () => {}, unregister: () => {} }
26329
25838
  : new FinalizationRegistry(ptr => wasm.__wbg_address_free(ptr >>> 0, 1));
@@ -26360,9 +25869,6 @@ const ConsumableNoteRecordFinalization = (typeof FinalizationRegistry === 'undef
26360
25869
  const EndpointFinalization = (typeof FinalizationRegistry === 'undefined')
26361
25870
  ? { register: () => {}, unregister: () => {} }
26362
25871
  : new FinalizationRegistry(ptr => wasm.__wbg_endpoint_free(ptr >>> 0, 1));
26363
- const EthAddressFinalization = (typeof FinalizationRegistry === 'undefined')
26364
- ? { register: () => {}, unregister: () => {} }
26365
- : new FinalizationRegistry(ptr => wasm.__wbg_ethaddress_free(ptr >>> 0, 1));
26366
25872
  const ExecutedTransactionFinalization = (typeof FinalizationRegistry === 'undefined')
26367
25873
  ? { register: () => {}, unregister: () => {} }
26368
25874
  : new FinalizationRegistry(ptr => wasm.__wbg_executedtransaction_free(ptr >>> 0, 1));
@@ -26441,9 +25947,6 @@ const LibraryFinalization = (typeof FinalizationRegistry === 'undefined')
26441
25947
  const MerklePathFinalization = (typeof FinalizationRegistry === 'undefined')
26442
25948
  ? { register: () => {}, unregister: () => {} }
26443
25949
  : new FinalizationRegistry(ptr => wasm.__wbg_merklepath_free(ptr >>> 0, 1));
26444
- const NetworkAccountTargetFinalization = (typeof FinalizationRegistry === 'undefined')
26445
- ? { register: () => {}, unregister: () => {} }
26446
- : new FinalizationRegistry(ptr => wasm.__wbg_networkaccounttarget_free(ptr >>> 0, 1));
26447
25950
  const NetworkIdFinalization = (typeof FinalizationRegistry === 'undefined')
26448
25951
  ? { register: () => {}, unregister: () => {} }
26449
25952
  : new FinalizationRegistry(ptr => wasm.__wbg_networkid_free(ptr >>> 0, 1));
@@ -26567,9 +26070,6 @@ const ProgramFinalization = (typeof FinalizationRegistry === 'undefined')
26567
26070
  const ProvenTransactionFinalization = (typeof FinalizationRegistry === 'undefined')
26568
26071
  ? { register: () => {}, unregister: () => {} }
26569
26072
  : new FinalizationRegistry(ptr => wasm.__wbg_proventransaction_free(ptr >>> 0, 1));
26570
- const PswapLineageRecordFinalization = (typeof FinalizationRegistry === 'undefined')
26571
- ? { register: () => {}, unregister: () => {} }
26572
- : new FinalizationRegistry(ptr => wasm.__wbg_pswaplineagerecord_free(ptr >>> 0, 1));
26573
26073
  const PublicKeyFinalization = (typeof FinalizationRegistry === 'undefined')
26574
26074
  ? { register: () => {}, unregister: () => {} }
26575
26075
  : new FinalizationRegistry(ptr => wasm.__wbg_publickey_free(ptr >>> 0, 1));
@@ -27083,15 +26583,17 @@ var index = /*#__PURE__*/Object.freeze({
27083
26583
  AccountId: AccountId,
27084
26584
  AccountIdArray: AccountIdArray,
27085
26585
  AccountInterface: AccountInterface,
26586
+ AccountPatch: AccountPatch,
27086
26587
  AccountProof: AccountProof,
27087
26588
  AccountReader: AccountReader,
27088
26589
  AccountStatus: AccountStatus,
27089
26590
  AccountStorage: AccountStorage,
27090
- AccountStorageDelta: AccountStorageDelta,
27091
26591
  AccountStorageMode: AccountStorageMode,
26592
+ AccountStoragePatch: AccountStoragePatch,
27092
26593
  AccountStorageRequirements: AccountStorageRequirements,
27093
26594
  AccountType: AccountType,
27094
26595
  AccountVaultDelta: AccountVaultDelta,
26596
+ AccountVaultPatch: AccountVaultPatch,
27095
26597
  Address: Address,
27096
26598
  AdviceInputs: AdviceInputs,
27097
26599
  AdviceMap: AdviceMap,
@@ -27105,7 +26607,6 @@ var index = /*#__PURE__*/Object.freeze({
27105
26607
  CommittedNote: CommittedNote,
27106
26608
  ConsumableNoteRecord: ConsumableNoteRecord,
27107
26609
  Endpoint: Endpoint,
27108
- EthAddress: EthAddress,
27109
26610
  ExecutedTransaction: ExecutedTransaction,
27110
26611
  Felt: Felt,
27111
26612
  FeltArray: FeltArray,
@@ -27133,7 +26634,6 @@ var index = /*#__PURE__*/Object.freeze({
27133
26634
  JsVaultAsset: JsVaultAsset,
27134
26635
  Library: Library,
27135
26636
  MerklePath: MerklePath,
27136
- NetworkAccountTarget: NetworkAccountTarget,
27137
26637
  NetworkId: NetworkId,
27138
26638
  NetworkNoteStatusInfo: NetworkNoteStatusInfo,
27139
26639
  NetworkType: NetworkType,
@@ -27180,8 +26680,6 @@ var index = /*#__PURE__*/Object.freeze({
27180
26680
  ProcedureThreshold: ProcedureThreshold,
27181
26681
  Program: Program,
27182
26682
  ProvenTransaction: ProvenTransaction,
27183
- PswapLineageRecord: PswapLineageRecord,
27184
- PswapLineageState: PswapLineageState,
27185
26683
  PublicKey: PublicKey,
27186
26684
  RpcClient: RpcClient,
27187
26685
  Rpo256: Rpo256,
@@ -27237,6 +26735,5 @@ var index = /*#__PURE__*/Object.freeze({
27237
26735
  });
27238
26736
 
27239
26737
  const module$1 = new URL("assets/miden_client_web.wasm", import.meta.url);
27240
-
27241
- export { Account, AccountArray, AccountBuilder, AccountBuilderResult, AccountCode, AccountComponent, AccountComponentCode, AccountDelta, AccountFile, AccountHeader, AccountId, AccountIdArray, AccountInterface, AccountProof, AccountReader, AccountStatus, AccountStorage, AccountStorageDelta, AccountStorageMode, AccountStorageRequirements, AccountType, AccountVaultDelta, Address, AdviceInputs, AdviceMap, AssetVault, AuthFalcon512RpoMultisigConfig, AuthScheme, AuthSecretKey, BasicFungibleFaucetComponent, BlockHeader, CodeBuilder, CommittedNote, ConsumableNoteRecord, Endpoint, EthAddress, ExecutedTransaction, Felt, FeltArray, FetchedAccount, FetchedNote, FlattenedU8Vec, ForeignAccount, ForeignAccountArray, FungibleAsset, FungibleAssetDelta, FungibleAssetDeltaItem, GetProceduresResultItem, InputNote, InputNoteRecord, InputNoteState, InputNotes, IntoUnderlyingByteSource, IntoUnderlyingSink, IntoUnderlyingSource, JsAccountUpdate, JsSettingMutation, JsStateSyncUpdate, JsStorageMapEntry, JsStorageSlot, JsVaultAsset, Library, MerklePath, NetworkAccountTarget, NetworkId, NetworkNoteStatusInfo, NetworkType, Note, NoteAndArgs, NoteAndArgsArray, NoteArray, NoteAssets, NoteAttachment, NoteAttachmentScheme, NoteConsumability, NoteConsumptionStatus, NoteDetails, NoteDetailsAndTag, NoteDetailsAndTagArray, NoteExecutionHint, NoteExportFormat, NoteFile, NoteFilter, NoteFilterTypes, NoteHeader, NoteId, NoteIdAndArgs, NoteIdAndArgsArray, NoteInclusionProof, NoteLocation, NoteMetadata, NoteRecipient, NoteRecipientArray, NoteScript, NoteStorage, NoteSyncBlock, NoteSyncInfo, NoteTag, NoteType, OutputNote, OutputNoteArray, OutputNoteRecord, OutputNoteState, OutputNotes, Package, PartialNote, Poseidon2, ProcedureThreshold, Program, ProvenTransaction, PswapLineageRecord, PswapLineageState, PublicKey, RpcClient, Rpo256, SerializedInputNoteData, SerializedOutputNoteData, SerializedTransactionData, Signature, SigningInputs, SigningInputsType, SlotAndKeys, SparseMerklePath, StorageMap, StorageMapEntry, StorageMapEntryJs, StorageMapInfo, StorageMapUpdate, StorageSlot, StorageSlotArray, SyncSummary, TestUtils, TokenSymbol, TransactionArgs, TransactionFilter, TransactionId, TransactionProver, TransactionRecord, TransactionRequest, TransactionRequestBuilder, TransactionResult, TransactionScript, TransactionScriptInputPair, TransactionScriptInputPairArray, TransactionStatus, TransactionStoreUpdate, TransactionSummary, WebClient, WebKeystoreApi, Word, module$1 as __wasm_url, __wbg_init, createAuthFalcon512RpoMultisig, exportStore2 as exportStore, importStore, initSync, initThreadPool, mtProbeAsync, mtProbeSync, parallelSumBench, rayonThreadCount, sequentialSumBench, setupLogging, wbg_rayon_PoolBuilder, wbg_rayon_start_worker };
27242
- //# sourceMappingURL=Cargo-mvyTli7g-BwMMSyoq.js.map
26738
+ export { Account, AccountArray, AccountBuilder, AccountBuilderResult, AccountCode, AccountComponent, AccountComponentCode, AccountDelta, AccountFile, AccountHeader, AccountId, AccountIdArray, AccountInterface, AccountPatch, AccountProof, AccountReader, AccountStatus, AccountStorage, AccountStorageMode, AccountStoragePatch, AccountStorageRequirements, AccountType, AccountVaultDelta, AccountVaultPatch, Address, AdviceInputs, AdviceMap, AssetVault, AuthFalcon512RpoMultisigConfig, AuthScheme, AuthSecretKey, BasicFungibleFaucetComponent, BlockHeader, CodeBuilder, CommittedNote, ConsumableNoteRecord, Endpoint, ExecutedTransaction, Felt, FeltArray, FetchedAccount, FetchedNote, FlattenedU8Vec, ForeignAccount, ForeignAccountArray, FungibleAsset, FungibleAssetDelta, FungibleAssetDeltaItem, GetProceduresResultItem, InputNote, InputNoteRecord, InputNoteState, InputNotes, IntoUnderlyingByteSource, IntoUnderlyingSink, IntoUnderlyingSource, JsAccountUpdate, JsSettingMutation, JsStateSyncUpdate, JsStorageMapEntry, JsStorageSlot, JsVaultAsset, Library, MerklePath, NetworkId, NetworkNoteStatusInfo, NetworkType, Note, NoteAndArgs, NoteAndArgsArray, NoteArray, NoteAssets, NoteAttachment, NoteAttachmentScheme, NoteConsumability, NoteConsumptionStatus, NoteDetails, NoteDetailsAndTag, NoteDetailsAndTagArray, NoteExecutionHint, NoteExportFormat, NoteFile, NoteFilter, NoteFilterTypes, NoteHeader, NoteId, NoteIdAndArgs, NoteIdAndArgsArray, NoteInclusionProof, NoteLocation, NoteMetadata, NoteRecipient, NoteRecipientArray, NoteScript, NoteStorage, NoteSyncBlock, NoteSyncInfo, NoteTag, NoteType, OutputNote, OutputNoteArray, OutputNoteRecord, OutputNoteState, OutputNotes, Package, PartialNote, Poseidon2, ProcedureThreshold, Program, ProvenTransaction, PublicKey, RpcClient, Rpo256, SerializedInputNoteData, SerializedOutputNoteData, SerializedTransactionData, Signature, SigningInputs, SigningInputsType, SlotAndKeys, SparseMerklePath, StorageMap, StorageMapEntry, StorageMapEntryJs, StorageMapInfo, StorageMapUpdate, StorageSlot, StorageSlotArray, SyncSummary, TestUtils, TokenSymbol, TransactionArgs, TransactionFilter, TransactionId, TransactionProver, TransactionRecord, TransactionRequest, TransactionRequestBuilder, TransactionResult, TransactionScript, TransactionScriptInputPair, TransactionScriptInputPairArray, TransactionStatus, TransactionStoreUpdate, TransactionSummary, WebClient, WebKeystoreApi, Word, createAuthFalcon512RpoMultisig, exportStore2 as exportStore, importStore, initSync, initThreadPool, mtProbeAsync, mtProbeSync, parallelSumBench, rayonThreadCount, sequentialSumBench, setupLogging, wbg_rayon_PoolBuilder, wbg_rayon_start_worker , __wbg_init, module$1 as __wasm_url };
26739
+ //# sourceMappingURL=Cargo-DKsyWYgG.js.map