@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 +25 -7
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +8 -2
- package/dist/index.d.ts +8 -2
- package/dist/index.js +24 -7
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import EventEmitter$1, { EventEmitter } from 'eventemitter3';
|
|
2
|
-
import { TraceContext, HashAlgorithm,
|
|
2
|
+
import { BaseWebSocketMessage, TraceContext, HashAlgorithm, encryptKeyshare, WebSocketError } from '@dynamic-labs-wallet/forward-mpc-shared';
|
|
3
3
|
export { BaseWebSocketMessage, ErrorResponse, HandshakeV1RequestMessage, HandshakeV1ResponseMessage, SignMessageV1RequestMessage, SignMessageV1ResponseMessage, WebSocketError, WebSocketErrorType } from '@dynamic-labs-wallet/forward-mpc-shared';
|
|
4
4
|
import { SigningAlgorithm } from '@dynamic-labs-wallet/core';
|
|
5
5
|
export { SigningAlgorithm } from '@dynamic-labs-wallet/core';
|
|
@@ -216,7 +216,7 @@ interface ForwardMPCClientV2Options {
|
|
|
216
216
|
}
|
|
217
217
|
interface ClientV2Events {
|
|
218
218
|
connected: () => void;
|
|
219
|
-
disconnected: () => void;
|
|
219
|
+
disconnected: (closeCode: number) => void;
|
|
220
220
|
error: (error: Error) => void;
|
|
221
221
|
}
|
|
222
222
|
declare class ForwardMPCClientV2 extends EventEmitter$1<ClientV2Events> {
|
|
@@ -386,6 +386,12 @@ declare class NitroAttestationVerifier implements AttestationVerifier {
|
|
|
386
386
|
* On failure the promise is cleared so the next call may retry.
|
|
387
387
|
*/
|
|
388
388
|
private ensureWasmInitialized;
|
|
389
|
+
/**
|
|
390
|
+
* Initialises the WASM module with environment-appropriate loading.
|
|
391
|
+
* In Node.js, fetch() does not support file:// URLs, so we read the
|
|
392
|
+
* .wasm binary from disk and use initSync() instead.
|
|
393
|
+
*/
|
|
394
|
+
private initWasm;
|
|
389
395
|
/**
|
|
390
396
|
* Verify an attestation document using Evervault WASM bindings
|
|
391
397
|
* Accepts base64-encoded attestation document directly
|
package/dist/index.js
CHANGED
|
@@ -35,13 +35,30 @@ var NitroAttestationVerifier = class {
|
|
|
35
35
|
* On failure the promise is cleared so the next call may retry.
|
|
36
36
|
*/
|
|
37
37
|
ensureWasmInitialized() {
|
|
38
|
-
this.wasmInitPromise ??=
|
|
38
|
+
this.wasmInitPromise ??= this.initWasm().then(() => void 0).catch((error) => {
|
|
39
39
|
this.wasmInitPromise = null;
|
|
40
40
|
throw new Error(`Failed to initialize WASM module: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
41
41
|
});
|
|
42
42
|
return this.wasmInitPromise;
|
|
43
43
|
}
|
|
44
44
|
/**
|
|
45
|
+
* Initialises the WASM module with environment-appropriate loading.
|
|
46
|
+
* In Node.js, fetch() does not support file:// URLs, so we read the
|
|
47
|
+
* .wasm binary from disk and use initSync() instead.
|
|
48
|
+
*/
|
|
49
|
+
async initWasm() {
|
|
50
|
+
if (typeof process !== "undefined" && process.versions?.node) {
|
|
51
|
+
const { readFileSync } = await import('fs');
|
|
52
|
+
const { createRequire } = await import('module');
|
|
53
|
+
const require2 = createRequire(import.meta.url);
|
|
54
|
+
const wasmPath = require2.resolve("@evervault/wasm-attestation-bindings/index_bg.wasm");
|
|
55
|
+
const { initSync } = await import('@evervault/wasm-attestation-bindings');
|
|
56
|
+
initSync(readFileSync(wasmPath));
|
|
57
|
+
} else {
|
|
58
|
+
await init();
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
45
62
|
* Verify an attestation document using Evervault WASM bindings
|
|
46
63
|
* Accepts base64-encoded attestation document directly
|
|
47
64
|
*
|
|
@@ -803,7 +820,7 @@ var ForwardMPCTransport = class extends EventEmitter2 {
|
|
|
803
820
|
this.ws = null;
|
|
804
821
|
}
|
|
805
822
|
this._isConnected = false;
|
|
806
|
-
this.emit("disconnected");
|
|
823
|
+
this.emit("disconnected", WebSocketCloseCode.NORMAL);
|
|
807
824
|
}
|
|
808
825
|
send(data) {
|
|
809
826
|
if (!this._isConnected || !this.ws) {
|
|
@@ -841,7 +858,7 @@ var ForwardMPCTransport = class extends EventEmitter2 {
|
|
|
841
858
|
this._isConnected = true;
|
|
842
859
|
this._hadSuccessfulConnection = true;
|
|
843
860
|
this._midSessionReconnectCount = 0;
|
|
844
|
-
this.logger?.
|
|
861
|
+
this.logger?.debug("WebSocket connected", {
|
|
845
862
|
url: this.url
|
|
846
863
|
});
|
|
847
864
|
this.emit("connected");
|
|
@@ -868,7 +885,7 @@ var ForwardMPCTransport = class extends EventEmitter2 {
|
|
|
868
885
|
closeCode: event.code
|
|
869
886
|
});
|
|
870
887
|
if (!this._destroyed) {
|
|
871
|
-
this.emit("disconnected");
|
|
888
|
+
this.emit("disconnected", event.code);
|
|
872
889
|
}
|
|
873
890
|
this.maybeReconnect(event.code);
|
|
874
891
|
};
|
|
@@ -1179,7 +1196,7 @@ var ForwardMPCClientV2 = class extends EventEmitter2 {
|
|
|
1179
1196
|
requestTimeout: options.requestTimeout
|
|
1180
1197
|
};
|
|
1181
1198
|
this.transport.on("connected", () => this.onTransportConnected());
|
|
1182
|
-
this.transport.on("disconnected", () => this.onTransportDisconnected());
|
|
1199
|
+
this.transport.on("disconnected", (closeCode) => this.onTransportDisconnected(closeCode));
|
|
1183
1200
|
this.transport.on("error", (error) => this.emit("error", error));
|
|
1184
1201
|
}
|
|
1185
1202
|
get connected() {
|
|
@@ -1338,7 +1355,7 @@ var ForwardMPCClientV2 = class extends EventEmitter2 {
|
|
|
1338
1355
|
}, "doHandshake");
|
|
1339
1356
|
this._connectPromise = doHandshake();
|
|
1340
1357
|
}
|
|
1341
|
-
onTransportDisconnected() {
|
|
1358
|
+
onTransportDisconnected(closeCode) {
|
|
1342
1359
|
const intentional = this._disconnectedIntentionally;
|
|
1343
1360
|
this._disconnectedIntentionally = false;
|
|
1344
1361
|
this.session?.dispose();
|
|
@@ -1346,7 +1363,7 @@ var ForwardMPCClientV2 = class extends EventEmitter2 {
|
|
|
1346
1363
|
if (!intentional) {
|
|
1347
1364
|
this.logger.warn("Unexpected WebSocket disconnect");
|
|
1348
1365
|
}
|
|
1349
|
-
this.emit("disconnected");
|
|
1366
|
+
this.emit("disconnected", closeCode);
|
|
1350
1367
|
}
|
|
1351
1368
|
};
|
|
1352
1369
|
|