@miden-sdk/miden-sdk 0.15.0-alpha.5 → 0.15.0-alpha.6

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 (40) hide show
  1. package/dist/mt/{Cargo-smJQCGjz.js → Cargo-C9UbiAcT.js} +62 -6
  2. package/dist/mt/{Cargo-smJQCGjz.js.map → Cargo-C9UbiAcT.js.map} +1 -1
  3. package/dist/mt/api-types.d.ts +6 -2
  4. package/dist/mt/assets/miden_client_web.wasm +0 -0
  5. package/dist/mt/crates/miden_client_web.d.ts +31 -1
  6. package/dist/mt/eager.js +2 -2
  7. package/dist/mt/index.d.ts +2 -1
  8. package/dist/mt/index.js +299 -266
  9. package/dist/mt/index.js.map +1 -1
  10. package/dist/mt/wasm.js +1 -1
  11. package/dist/mt/workerHelpers.js +1 -1
  12. package/dist/mt/workers/{Cargo-smJQCGjz-q4GYXDiD.js → Cargo-C9UbiAcT-Z344cyB1.js} +62 -6
  13. package/dist/mt/workers/{Cargo-smJQCGjz-q4GYXDiD.js.map → Cargo-C9UbiAcT-Z344cyB1.js.map} +1 -1
  14. package/dist/mt/workers/assets/miden_client_web.wasm +0 -0
  15. package/dist/mt/workers/web-client-methods-worker.js +118 -7
  16. package/dist/mt/workers/web-client-methods-worker.js.map +1 -1
  17. package/dist/mt/workers/web-client-methods-worker.module.js +55 -2
  18. package/dist/mt/workers/web-client-methods-worker.module.js.map +1 -1
  19. package/dist/mt/workers/workerHelpers.js +1 -1
  20. package/dist/st/{Cargo-CG4XszZo.js → Cargo-OZMlHpic.js} +24 -2
  21. package/dist/st/{Cargo-CG4XszZo.js.map → Cargo-OZMlHpic.js.map} +1 -1
  22. package/dist/st/api-types.d.ts +6 -2
  23. package/dist/st/assets/miden_client_web.wasm +0 -0
  24. package/dist/st/crates/miden_client_web.d.ts +15 -1
  25. package/dist/st/eager.js +2 -2
  26. package/dist/st/index.d.ts +2 -1
  27. package/dist/st/index.js +299 -266
  28. package/dist/st/index.js.map +1 -1
  29. package/dist/st/wasm.js +1 -1
  30. package/dist/st/workers/{Cargo-CG4XszZo-S7EHAZSa.js → Cargo-OZMlHpic-DZjvJlWc.js} +24 -2
  31. package/dist/st/workers/{Cargo-CG4XszZo-S7EHAZSa.js.map → Cargo-OZMlHpic-DZjvJlWc.js.map} +1 -1
  32. package/dist/st/workers/assets/miden_client_web.wasm +0 -0
  33. package/dist/st/workers/web-client-methods-worker.js +79 -4
  34. package/dist/st/workers/web-client-methods-worker.js.map +1 -1
  35. package/dist/st/workers/web-client-methods-worker.module.js +55 -2
  36. package/dist/st/workers/web-client-methods-worker.module.js.map +1 -1
  37. package/js/client.js +24 -5
  38. package/js/node/napi-compat.js +7 -3
  39. package/js/resources/transactions.js +4 -1
  40. package/package.json +4 -4
@@ -5,7 +5,7 @@
5
5
  async function loadWasm() {
6
6
  let wasmModule;
7
7
  if (!undefined || (undefined && !undefined.SSR)) {
8
- wasmModule = await Promise.resolve().then(function () { return CargoCG4XszZo; });
8
+ wasmModule = await Promise.resolve().then(function () { return CargoOZMlHpic; });
9
9
  // The Cargo glue's __wbg_init TLA is stripped by the rollup build to
10
10
  // prevent blocking WKWebView module evaluation. Call it explicitly here
11
11
  // with the WASM URL that the Cargo glue pre-resolves (relative to its
@@ -45,6 +45,10 @@ const MethodName = Object.freeze({
45
45
  SUBMIT_NEW_TRANSACTION_WITH_PROVER_MOCK: "submitNewTransactionWithProverMock",
46
46
  SYNC_STATE: "syncState",
47
47
  SYNC_STATE_MOCK: "syncStateMock",
48
+ SYNC_CHAIN: "syncChain",
49
+ SYNC_CHAIN_MOCK: "syncChainMock",
50
+ SYNC_NOTE_TRANSPORT: "syncNoteTransport",
51
+ SYNC_NOTE_TRANSPORT_MOCK: "syncNoteTransportMock",
48
52
  });
49
53
 
50
54
  let wasmModule = null;
@@ -210,6 +214,14 @@ const methodHandlers = {
210
214
  const serializedSyncSummary = syncSummary.serialize();
211
215
  return serializedSyncSummary.buffer;
212
216
  },
217
+ [MethodName.SYNC_NOTE_TRANSPORT]: async () => {
218
+ await wasmWebClient.syncNoteTransportImpl();
219
+ },
220
+ [MethodName.SYNC_CHAIN]: async () => {
221
+ const syncSummary = await wasmWebClient.syncChainImpl();
222
+ const serializedSyncSummary = syncSummary.serialize();
223
+ return serializedSyncSummary.buffer;
224
+ },
213
225
  [MethodName.APPLY_TRANSACTION]: async (args) => {
214
226
  const wasm = await getWasmOrThrow();
215
227
  const [serializedTransactionResult, submissionHeight] = args;
@@ -353,6 +365,36 @@ methodHandlers[MethodName.SYNC_STATE_MOCK] = async (args) => {
353
365
  return await methodHandlers[MethodName.SYNC_STATE]();
354
366
  };
355
367
 
368
+ methodHandlers[MethodName.SYNC_CHAIN_MOCK] = async (args) => {
369
+ let [serializedMockChain, serializedMockNoteTransportNode] = args;
370
+ serializedMockChain = new Uint8Array(serializedMockChain);
371
+ serializedMockNoteTransportNode = serializedMockNoteTransportNode
372
+ ? new Uint8Array(serializedMockNoteTransportNode)
373
+ : null;
374
+ await wasmWebClient.createMockClient(
375
+ wasmSeed,
376
+ serializedMockChain,
377
+ serializedMockNoteTransportNode
378
+ );
379
+
380
+ return await methodHandlers[MethodName.SYNC_CHAIN]();
381
+ };
382
+
383
+ methodHandlers[MethodName.SYNC_NOTE_TRANSPORT_MOCK] = async (args) => {
384
+ let [serializedMockChain, serializedMockNoteTransportNode] = args;
385
+ serializedMockChain = new Uint8Array(serializedMockChain);
386
+ serializedMockNoteTransportNode = serializedMockNoteTransportNode
387
+ ? new Uint8Array(serializedMockNoteTransportNode)
388
+ : null;
389
+ await wasmWebClient.createMockClient(
390
+ wasmSeed,
391
+ serializedMockChain,
392
+ serializedMockNoteTransportNode
393
+ );
394
+
395
+ return await methodHandlers[MethodName.SYNC_NOTE_TRANSPORT]();
396
+ };
397
+
356
398
  methodHandlers[MethodName.SUBMIT_NEW_TRANSACTION_MOCK] = async (args) => {
357
399
  const wasm = await getWasmOrThrow();
358
400
  let serializedMockNoteTransportNode = args.pop();
@@ -490,13 +532,24 @@ async function processMessage(event) {
490
532
  self.postMessage({ ready: true });
491
533
  return;
492
534
  } else if (action === WorkerAction.INIT_MOCK) {
493
- const [seed, logLevel] = args;
535
+ const [seed, logLevel, numThreads] = args;
494
536
  const wasm = await getWasmOrThrow();
495
537
 
496
538
  if (logLevel) {
497
539
  wasm.setupLogging(logLevel);
498
540
  }
499
541
 
542
+ // Initialize rayon's pool inside THIS worker's WASM instance — same
543
+ // rationale as the INIT path above: all proving executes here, and a
544
+ // pool initialized in any other instance does not parallelize it.
545
+ if (
546
+ numThreads &&
547
+ numThreads > 1 &&
548
+ typeof wasm.initThreadPool === "function"
549
+ ) {
550
+ await wasm.initThreadPool(numThreads);
551
+ }
552
+
500
553
  wasmWebClient = new wasm.WebClient();
501
554
  await wasmWebClient.createMockClient(seed, undefined, undefined);
502
555
 
@@ -23248,6 +23301,12 @@ class WebClient {
23248
23301
  /**
23249
23302
  * Generates a transaction proof using either the provided prover or the client's default
23250
23303
  * prover if none is supplied.
23304
+ *
23305
+ * With an explicit prover this is a pure computation over the `TransactionResult` and does
23306
+ * not touch client state, so it works on a bare `WebClient` that never ran
23307
+ * `createClient()`. "Prover-only" hosts rely on this — e.g. a `chrome.offscreen` document
23308
+ * that proves on its own rayon thread pool. Only the default-prover fallback requires an
23309
+ * initialized client.
23251
23310
  * @param {TransactionResult} transaction_result
23252
23311
  * @param {TransactionProver | null} [prover]
23253
23312
  * @returns {Promise<ProvenTransaction>}
@@ -23412,7 +23471,23 @@ class WebClient {
23412
23471
  return ret;
23413
23472
  }
23414
23473
  /**
23415
- * Internal implementation of `sync_state`.
23474
+ * Internal implementation of `sync_chain` (on-chain-only sync). Use `syncChain()` from JS.
23475
+ * @returns {Promise<SyncSummary>}
23476
+ */
23477
+ syncChainImpl() {
23478
+ const ret = wasm.webclient_syncChainImpl(this.__wbg_ptr);
23479
+ return ret;
23480
+ }
23481
+ /**
23482
+ * Internal implementation of `sync_note_transport`. Use `syncNoteTransport()` from JS.
23483
+ * @returns {Promise<void>}
23484
+ */
23485
+ syncNoteTransportImpl() {
23486
+ const ret = wasm.webclient_syncNoteTransportImpl(this.__wbg_ptr);
23487
+ return ret;
23488
+ }
23489
+ /**
23490
+ * Internal implementation of `sync_state` (combined NTL + chain sync).
23416
23491
  *
23417
23492
  * This method performs the actual sync operation. Concurrent call coordination
23418
23493
  * is handled at the JavaScript layer using the Web Locks API.
@@ -26281,7 +26356,7 @@ async function __wbg_init(module_or_path) {
26281
26356
 
26282
26357
  const module$1 = new URL("assets/miden_client_web.wasm", self.location.href);
26283
26358
 
26284
- var CargoCG4XszZo = /*#__PURE__*/Object.freeze({
26359
+ var CargoOZMlHpic = /*#__PURE__*/Object.freeze({
26285
26360
  __proto__: null,
26286
26361
  Account: Account,
26287
26362
  AccountArray: AccountArray,