@dynamic-labs-wallet/forward-mpc-client 0.5.0 → 0.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -10,6 +10,7 @@ var fpTs = require('fp-ts');
10
10
  var core = require('@dynamic-labs-wallet/core');
11
11
  var isows = require('isows');
12
12
 
13
+ var _documentCurrentScript = typeof document !== 'undefined' ? document.currentScript : null;
13
14
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
14
15
 
15
16
  function _interopNamespace(e) {
@@ -60,13 +61,30 @@ var NitroAttestationVerifier = class {
60
61
  * On failure the promise is cleared so the next call may retry.
61
62
  */
62
63
  ensureWasmInitialized() {
63
- this.wasmInitPromise ??= init__default.default().then(() => void 0).catch((error) => {
64
+ this.wasmInitPromise ??= this.initWasm().then(() => void 0).catch((error) => {
64
65
  this.wasmInitPromise = null;
65
66
  throw new Error(`Failed to initialize WASM module: ${error instanceof Error ? error.message : "Unknown error"}`);
66
67
  });
67
68
  return this.wasmInitPromise;
68
69
  }
69
70
  /**
71
+ * Initialises the WASM module with environment-appropriate loading.
72
+ * In Node.js, fetch() does not support file:// URLs, so we read the
73
+ * .wasm binary from disk and use initSync() instead.
74
+ */
75
+ async initWasm() {
76
+ if (typeof process !== "undefined" && process.versions?.node) {
77
+ const { readFileSync } = await import('fs');
78
+ const { createRequire } = await import('module');
79
+ const require2 = createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('index.cjs', document.baseURI).href)));
80
+ const wasmPath = require2.resolve("@evervault/wasm-attestation-bindings/index_bg.wasm");
81
+ const { initSync } = await import('@evervault/wasm-attestation-bindings');
82
+ initSync(readFileSync(wasmPath));
83
+ } else {
84
+ await init__default.default();
85
+ }
86
+ }
87
+ /**
70
88
  * Verify an attestation document using Evervault WASM bindings
71
89
  * Accepts base64-encoded attestation document directly
72
90
  *
@@ -828,7 +846,7 @@ var ForwardMPCTransport = class extends EventEmitter2__default.default {
828
846
  this.ws = null;
829
847
  }
830
848
  this._isConnected = false;
831
- this.emit("disconnected");
849
+ this.emit("disconnected", forwardMpcShared.WebSocketCloseCode.NORMAL);
832
850
  }
833
851
  send(data) {
834
852
  if (!this._isConnected || !this.ws) {
@@ -866,7 +884,7 @@ var ForwardMPCTransport = class extends EventEmitter2__default.default {
866
884
  this._isConnected = true;
867
885
  this._hadSuccessfulConnection = true;
868
886
  this._midSessionReconnectCount = 0;
869
- this.logger?.info("WebSocket connected", {
887
+ this.logger?.debug("WebSocket connected", {
870
888
  url: this.url
871
889
  });
872
890
  this.emit("connected");
@@ -893,7 +911,7 @@ var ForwardMPCTransport = class extends EventEmitter2__default.default {
893
911
  closeCode: event.code
894
912
  });
895
913
  if (!this._destroyed) {
896
- this.emit("disconnected");
914
+ this.emit("disconnected", event.code);
897
915
  }
898
916
  this.maybeReconnect(event.code);
899
917
  };
@@ -1204,7 +1222,7 @@ var ForwardMPCClientV2 = class extends EventEmitter2__default.default {
1204
1222
  requestTimeout: options.requestTimeout
1205
1223
  };
1206
1224
  this.transport.on("connected", () => this.onTransportConnected());
1207
- this.transport.on("disconnected", () => this.onTransportDisconnected());
1225
+ this.transport.on("disconnected", (closeCode) => this.onTransportDisconnected(closeCode));
1208
1226
  this.transport.on("error", (error) => this.emit("error", error));
1209
1227
  }
1210
1228
  get connected() {
@@ -1363,7 +1381,7 @@ var ForwardMPCClientV2 = class extends EventEmitter2__default.default {
1363
1381
  }, "doHandshake");
1364
1382
  this._connectPromise = doHandshake();
1365
1383
  }
1366
- onTransportDisconnected() {
1384
+ onTransportDisconnected(closeCode) {
1367
1385
  const intentional = this._disconnectedIntentionally;
1368
1386
  this._disconnectedIntentionally = false;
1369
1387
  this.session?.dispose();
@@ -1371,7 +1389,7 @@ var ForwardMPCClientV2 = class extends EventEmitter2__default.default {
1371
1389
  if (!intentional) {
1372
1390
  this.logger.warn("Unexpected WebSocket disconnect");
1373
1391
  }
1374
- this.emit("disconnected");
1392
+ this.emit("disconnected", closeCode);
1375
1393
  }
1376
1394
  };
1377
1395