@dynamic-labs-wallet/browser-wallet-client 1.0.15 → 1.0.17
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/index.cjs
CHANGED
|
@@ -545,8 +545,9 @@ class IframeManager {
|
|
|
545
545
|
throw new Error('No sandbox host or iframe available');
|
|
546
546
|
}
|
|
547
547
|
this.iframeMessageHandler = new iframeMessageHandler(this.messageTransport);
|
|
548
|
-
// Set up request channel to handle messages from iframe (for secureStorage
|
|
549
|
-
|
|
548
|
+
// Set up request channel to handle messages from iframe (for secureStorage,
|
|
549
|
+
// getSignedSessionId, and the unauthorized notification)
|
|
550
|
+
if (this.secureStorage || this.getSignedSessionIdCallback || this.onUnauthorized) {
|
|
550
551
|
this.iframeRequestChannel = this.setupIframeRequestHandlers(this.messageTransport);
|
|
551
552
|
}
|
|
552
553
|
// The recovery callback runs synchronously when the request channel's
|
|
@@ -654,9 +655,29 @@ class IframeManager {
|
|
|
654
655
|
// Handle getSignedSessionId requests from iframe
|
|
655
656
|
requestChannel.handle('getSignedSessionId', this.handleGetSignedSessionId.bind(this));
|
|
656
657
|
}
|
|
658
|
+
if (this.onUnauthorized) {
|
|
659
|
+
// Handle the iframe's 401 notification (iframe → host)
|
|
660
|
+
requestChannel.handle('notifyUnauthorized', this.handleNotifyUnauthorized.bind(this));
|
|
661
|
+
}
|
|
657
662
|
return requestChannel;
|
|
658
663
|
}
|
|
659
664
|
/**
|
|
665
|
+
* Handler for the iframe's `notifyUnauthorized` reverse-channel request.
|
|
666
|
+
* Fires the host's logout callback once per session; further 401 bursts are
|
|
667
|
+
* ignored until the next session re-initializes this manager.
|
|
668
|
+
*/ async handleNotifyUnauthorized(_request) {
|
|
669
|
+
if (this.unauthorizedHandled) {
|
|
670
|
+
return;
|
|
671
|
+
}
|
|
672
|
+
this.unauthorizedHandled = true;
|
|
673
|
+
this.logger.info('(notifyUnauthorized) iframe reported a 401 — invoking host logout callback');
|
|
674
|
+
try {
|
|
675
|
+
await (this.onUnauthorized == null ? void 0 : this.onUnauthorized.call(this));
|
|
676
|
+
} catch (error) {
|
|
677
|
+
this.logger.error('(notifyUnauthorized) onUnauthorized handler threw:', error);
|
|
678
|
+
}
|
|
679
|
+
}
|
|
680
|
+
/**
|
|
660
681
|
* Handler for getClientKeyShare requests from iframe
|
|
661
682
|
*/ async handleGetClientKeyShare(request) {
|
|
662
683
|
if (!this.secureStorage) {
|
|
@@ -1000,6 +1021,8 @@ class IframeManager {
|
|
|
1000
1021
|
this.messageTransport = null;
|
|
1001
1022
|
this.iframeMessageHandler = null;
|
|
1002
1023
|
this.iframeRequestChannel = undefined;
|
|
1024
|
+
// Re-arm the unauthorized guard so a future session can trigger logout again.
|
|
1025
|
+
this.unauthorizedHandled = false;
|
|
1003
1026
|
}
|
|
1004
1027
|
}
|
|
1005
1028
|
constructor({ environmentId, baseApiUrl, baseMPCRelayApiUrl, chainName, sdkVersion, authMode = core.AuthMode.HEADER, authToken, debug, baseClientKeysharesRelayApiUrl, additionalTrustedOrigins, iframeLoadTimeout, maxRetryAttempts }, internalOptions){
|
|
@@ -1016,6 +1039,7 @@ class IframeManager {
|
|
|
1016
1039
|
* a torn-down transport on the next session. */ this.cleanupRecoverySubscription = null;
|
|
1017
1040
|
this.iframe = null;
|
|
1018
1041
|
this.waasSDKContainer = null;
|
|
1042
|
+
/** One-shot guard so a burst of 401 notifications triggers a single logout. */ this.unauthorizedHandled = false;
|
|
1019
1043
|
this.environmentId = environmentId;
|
|
1020
1044
|
this.authToken = authToken;
|
|
1021
1045
|
this.authMode = authMode;
|
|
@@ -1037,6 +1061,7 @@ class IframeManager {
|
|
|
1037
1061
|
}
|
|
1038
1062
|
var _internalOptions_createWaasSDKContainer;
|
|
1039
1063
|
this.createWaasSDKContainer = (_internalOptions_createWaasSDKContainer = internalOptions == null ? void 0 : internalOptions.createWaasSDKContainer) != null ? _internalOptions_createWaasSDKContainer : createIframeWaasSDKContainer;
|
|
1064
|
+
this.onUnauthorized = internalOptions == null ? void 0 : internalOptions.onUnauthorized;
|
|
1040
1065
|
const environment = core.getEnvironmentFromUrl(baseApiUrl);
|
|
1041
1066
|
this.iframeDomain = core.IFRAME_DOMAIN_MAP[environment];
|
|
1042
1067
|
if (this.authMode === core.AuthMode.COOKIE) {
|
package/index.esm.js
CHANGED
|
@@ -544,8 +544,9 @@ class IframeManager {
|
|
|
544
544
|
throw new Error('No sandbox host or iframe available');
|
|
545
545
|
}
|
|
546
546
|
this.iframeMessageHandler = new iframeMessageHandler(this.messageTransport);
|
|
547
|
-
// Set up request channel to handle messages from iframe (for secureStorage
|
|
548
|
-
|
|
547
|
+
// Set up request channel to handle messages from iframe (for secureStorage,
|
|
548
|
+
// getSignedSessionId, and the unauthorized notification)
|
|
549
|
+
if (this.secureStorage || this.getSignedSessionIdCallback || this.onUnauthorized) {
|
|
549
550
|
this.iframeRequestChannel = this.setupIframeRequestHandlers(this.messageTransport);
|
|
550
551
|
}
|
|
551
552
|
// The recovery callback runs synchronously when the request channel's
|
|
@@ -653,9 +654,29 @@ class IframeManager {
|
|
|
653
654
|
// Handle getSignedSessionId requests from iframe
|
|
654
655
|
requestChannel.handle('getSignedSessionId', this.handleGetSignedSessionId.bind(this));
|
|
655
656
|
}
|
|
657
|
+
if (this.onUnauthorized) {
|
|
658
|
+
// Handle the iframe's 401 notification (iframe → host)
|
|
659
|
+
requestChannel.handle('notifyUnauthorized', this.handleNotifyUnauthorized.bind(this));
|
|
660
|
+
}
|
|
656
661
|
return requestChannel;
|
|
657
662
|
}
|
|
658
663
|
/**
|
|
664
|
+
* Handler for the iframe's `notifyUnauthorized` reverse-channel request.
|
|
665
|
+
* Fires the host's logout callback once per session; further 401 bursts are
|
|
666
|
+
* ignored until the next session re-initializes this manager.
|
|
667
|
+
*/ async handleNotifyUnauthorized(_request) {
|
|
668
|
+
if (this.unauthorizedHandled) {
|
|
669
|
+
return;
|
|
670
|
+
}
|
|
671
|
+
this.unauthorizedHandled = true;
|
|
672
|
+
this.logger.info('(notifyUnauthorized) iframe reported a 401 — invoking host logout callback');
|
|
673
|
+
try {
|
|
674
|
+
await (this.onUnauthorized == null ? void 0 : this.onUnauthorized.call(this));
|
|
675
|
+
} catch (error) {
|
|
676
|
+
this.logger.error('(notifyUnauthorized) onUnauthorized handler threw:', error);
|
|
677
|
+
}
|
|
678
|
+
}
|
|
679
|
+
/**
|
|
659
680
|
* Handler for getClientKeyShare requests from iframe
|
|
660
681
|
*/ async handleGetClientKeyShare(request) {
|
|
661
682
|
if (!this.secureStorage) {
|
|
@@ -999,6 +1020,8 @@ class IframeManager {
|
|
|
999
1020
|
this.messageTransport = null;
|
|
1000
1021
|
this.iframeMessageHandler = null;
|
|
1001
1022
|
this.iframeRequestChannel = undefined;
|
|
1023
|
+
// Re-arm the unauthorized guard so a future session can trigger logout again.
|
|
1024
|
+
this.unauthorizedHandled = false;
|
|
1002
1025
|
}
|
|
1003
1026
|
}
|
|
1004
1027
|
constructor({ environmentId, baseApiUrl, baseMPCRelayApiUrl, chainName, sdkVersion, authMode = AuthMode.HEADER, authToken, debug, baseClientKeysharesRelayApiUrl, additionalTrustedOrigins, iframeLoadTimeout, maxRetryAttempts }, internalOptions){
|
|
@@ -1015,6 +1038,7 @@ class IframeManager {
|
|
|
1015
1038
|
* a torn-down transport on the next session. */ this.cleanupRecoverySubscription = null;
|
|
1016
1039
|
this.iframe = null;
|
|
1017
1040
|
this.waasSDKContainer = null;
|
|
1041
|
+
/** One-shot guard so a burst of 401 notifications triggers a single logout. */ this.unauthorizedHandled = false;
|
|
1018
1042
|
this.environmentId = environmentId;
|
|
1019
1043
|
this.authToken = authToken;
|
|
1020
1044
|
this.authMode = authMode;
|
|
@@ -1036,6 +1060,7 @@ class IframeManager {
|
|
|
1036
1060
|
}
|
|
1037
1061
|
var _internalOptions_createWaasSDKContainer;
|
|
1038
1062
|
this.createWaasSDKContainer = (_internalOptions_createWaasSDKContainer = internalOptions == null ? void 0 : internalOptions.createWaasSDKContainer) != null ? _internalOptions_createWaasSDKContainer : createIframeWaasSDKContainer;
|
|
1063
|
+
this.onUnauthorized = internalOptions == null ? void 0 : internalOptions.onUnauthorized;
|
|
1039
1064
|
const environment = getEnvironmentFromUrl(baseApiUrl);
|
|
1040
1065
|
this.iframeDomain = IFRAME_DOMAIN_MAP[environment];
|
|
1041
1066
|
if (this.authMode === AuthMode.COOKIE) {
|
package/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dynamic-labs-wallet/browser-wallet-client",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.17",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"dependencies": {
|
|
7
|
-
"@dynamic-labs-wallet/core": "1.0.
|
|
7
|
+
"@dynamic-labs-wallet/core": "1.0.17",
|
|
8
8
|
"@dynamic-labs/logger": "^4.45.2",
|
|
9
9
|
"@dynamic-labs/message-transport": "^4.45.2"
|
|
10
10
|
},
|
package/src/client/client.d.ts
CHANGED
|
@@ -27,6 +27,7 @@ export declare class DynamicWalletClient extends IframeManager {
|
|
|
27
27
|
secureStorage?: SecureStorageAdapter;
|
|
28
28
|
getSignedSessionId?: () => Promise<string>;
|
|
29
29
|
createWaasSDKContainer?: CreateWaasSDKContainer;
|
|
30
|
+
onUnauthorized?: () => void | Promise<void>;
|
|
30
31
|
});
|
|
31
32
|
private withHandler;
|
|
32
33
|
getWallets(): Promise<GetWalletResponse[]>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mCAAmC,EACnC,8BAA8B,EAC9B,aAAa,EACb,sBAAsB,EACtB,0BAA0B,EAC1B,2BAA2B,EAC3B,wBAAwB,EACxB,4BAA4B,EAC5B,6BAA6B,EAC7B,iBAAiB,EACjB,uBAAuB,EACvB,0BAA0B,EAC1B,+BAA+B,EAC/B,iCAAiC,EACjC,8BAA8B,EAC9B,uBAAuB,EACvB,mCAAmC,EACnC,cAAc,EACd,uBAAuB,EACvB,oBAAoB,EACpB,kBAAkB,EAClB,yBAAyB,EACzB,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,EACrB,mBAAmB,EACpB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD,qBAAa,mBAAoB,SAAQ,aAAa;gBAElD,EACE,aAAa,EACb,SAAS,EACT,UAAU,EACV,kBAAkB,EAClB,8BAA8B,EAC9B,SAAS,EACT,UAAU,EACV,KAAK,EACL,QAA0B,EAC1B,wBAAwB,EACxB,iBAAiB,EACjB,gBAAgB,GACjB,EAAE;QACD,aAAa,EAAE,MAAM,CAAC;QACtB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,kBAAkB,EAAE,MAAM,CAAC;QAC3B,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,QAAQ,CAAC,EAAE,QAAQ,CAAC;QACpB,8BAA8B,CAAC,EAAE,MAAM,CAAC;QACxC,wBAAwB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;QAC7C;;;WAGG;QACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B;;;WAGG;QACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B,EACD,eAAe,CAAC,EAAE;QAChB,aAAa,CAAC,EAAE,oBAAoB,CAAC;QACrC,kBAAkB,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;QAC3C,sBAAsB,CAAC,EAAE,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -70,12 +70,20 @@ export declare class IframeManager {
|
|
|
70
70
|
* Request channel for handling messages from iframe (iframe → host)
|
|
71
71
|
* Used for secureStorage operations and signed session ID retrieval
|
|
72
72
|
*/
|
|
73
|
-
protected iframeRequestChannel?: RequestChannel<Pick<IframeRequestMessages, 'getClientKeyShare' | 'setClientKeyShare' | 'getSignedSessionId'>>;
|
|
73
|
+
protected iframeRequestChannel?: RequestChannel<Pick<IframeRequestMessages, 'getClientKeyShare' | 'setClientKeyShare' | 'getSignedSessionId' | 'notifyUnauthorized'>>;
|
|
74
74
|
private static readonly maxAdditionalTrustedOrigins;
|
|
75
75
|
private static readonly maxTrustedOriginStringLength;
|
|
76
76
|
private readonly additionalTrustedOrigins;
|
|
77
77
|
private waasSDKContainer;
|
|
78
78
|
private readonly createWaasSDKContainer;
|
|
79
|
+
/**
|
|
80
|
+
* Host callback invoked when the iframe reports a 401 (auth token rejected,
|
|
81
|
+
* e.g. forcibly revoked). Wired by the embedding SDK to trigger logout.
|
|
82
|
+
* NOT part of the public API — passed via internalOptions.
|
|
83
|
+
*/
|
|
84
|
+
private readonly onUnauthorized?;
|
|
85
|
+
/** One-shot guard so a burst of 401 notifications triggers a single logout. */
|
|
86
|
+
private unauthorizedHandled;
|
|
79
87
|
constructor({ environmentId, baseApiUrl, baseMPCRelayApiUrl, chainName, sdkVersion, authMode, authToken, debug, baseClientKeysharesRelayApiUrl, additionalTrustedOrigins, iframeLoadTimeout, maxRetryAttempts, }: {
|
|
80
88
|
environmentId: string;
|
|
81
89
|
authMode: AuthMode;
|
|
@@ -105,6 +113,7 @@ export declare class IframeManager {
|
|
|
105
113
|
secureStorage?: SecureStorageAdapter;
|
|
106
114
|
getSignedSessionId?: () => Promise<string>;
|
|
107
115
|
createWaasSDKContainer?: CreateWaasSDKContainer;
|
|
116
|
+
onUnauthorized?: () => void | Promise<void>;
|
|
108
117
|
});
|
|
109
118
|
/**
|
|
110
119
|
* Apply constructor-provided overrides for the iframe load timeout and
|
|
@@ -160,6 +169,12 @@ export declare class IframeManager {
|
|
|
160
169
|
* Sets up message handlers for iframe → host requests (secureStorage and getSignedSessionId)
|
|
161
170
|
*/
|
|
162
171
|
private setupIframeRequestHandlers;
|
|
172
|
+
/**
|
|
173
|
+
* Handler for the iframe's `notifyUnauthorized` reverse-channel request.
|
|
174
|
+
* Fires the host's logout callback once per session; further 401 bursts are
|
|
175
|
+
* ignored until the next session re-initializes this manager.
|
|
176
|
+
*/
|
|
177
|
+
private handleNotifyUnauthorized;
|
|
163
178
|
/**
|
|
164
179
|
* Handler for getClientKeyShare requests from iframe
|
|
165
180
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IframeManager.d.ts","sourceRoot":"","sources":["../../../src/client/iframeManager/IframeManager.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAGR,KAAK,sBAAsB,EAK3B,KAAK,qBAAqB,
|
|
1
|
+
{"version":3,"file":"IframeManager.d.ts","sourceRoot":"","sources":["../../../src/client/iframeManager/IframeManager.ts"],"names":[],"mappings":"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"}
|