@dynamic-labs/embedded-wallet 4.9.13-preview.0 → 4.10.0
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/CHANGELOG.md +9 -2
- package/package.cjs +1 -1
- package/package.js +1 -1
- package/package.json +8 -8
- package/src/lib/TurnkeyWalletConnectorBase/TurnkeyWalletConnectorBase.cjs +24 -16
- package/src/lib/TurnkeyWalletConnectorBase/TurnkeyWalletConnectorBase.d.ts +2 -1
- package/src/lib/TurnkeyWalletConnectorBase/TurnkeyWalletConnectorBase.js +25 -17
package/CHANGELOG.md
CHANGED
|
@@ -1,10 +1,17 @@
|
|
|
1
1
|
|
|
2
|
-
|
|
2
|
+
## [4.10.0](https://github.com/dynamic-labs/dynamic-auth/compare/v4.9.12...v4.10.0) (2025-03-30)
|
|
3
3
|
|
|
4
4
|
|
|
5
5
|
### Features
|
|
6
|
+
* Sui Support for branded wallets
|
|
7
|
+
* better handling of non-multiasset balance fetching ([#8419](https://github.com/dynamic-labs/dynamic-auth/issues/8419)) ([574d4ea](https://github.com/dynamic-labs/dynamic-auth/commit/574d4eabf85e6f85325dc374b6cd84aa9fdd7ed4))
|
|
6
8
|
|
|
7
|
-
|
|
9
|
+
|
|
10
|
+
### Bug Fixes
|
|
11
|
+
|
|
12
|
+
* do not prompt passkey with 7702 on v2 wallets ([#8391](https://github.com/dynamic-labs/dynamic-auth/issues/8391)) ([bb91396](https://github.com/dynamic-labs/dynamic-auth/commit/bb913965121e97801922f5ca828d11e4a551a3b6))
|
|
13
|
+
* ensure the global wallet app url is used ([#8404](https://github.com/dynamic-labs/dynamic-auth/issues/8404)) ([23a7d91](https://github.com/dynamic-labs/dynamic-auth/commit/23a7d91b50cc85e67de52306f91163c675e0f007))
|
|
14
|
+
* **global-wallet-client:** use global wallet env id when storing data to ls ([#8405](https://github.com/dynamic-labs/dynamic-auth/issues/8405)) ([2b3d9ce](https://github.com/dynamic-labs/dynamic-auth/commit/2b3d9ce8dd82dda487759e0621c73bfad2842aef))
|
|
8
15
|
|
|
9
16
|
### [4.9.12](https://github.com/dynamic-labs/dynamic-auth/compare/v4.9.11...v4.9.12) (2025-03-28)
|
|
10
17
|
|
package/package.cjs
CHANGED
package/package.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dynamic-labs/embedded-wallet",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.10.0",
|
|
4
4
|
"description": "A React SDK for implementing wallet web3 authentication and authorization to your website.",
|
|
5
5
|
"author": "Dynamic Labs, Inc.",
|
|
6
6
|
"license": "MIT",
|
|
@@ -18,17 +18,17 @@
|
|
|
18
18
|
},
|
|
19
19
|
"homepage": "https://www.dynamic.xyz/",
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"@dynamic-labs/sdk-api-core": "0.0.
|
|
21
|
+
"@dynamic-labs/sdk-api-core": "0.0.650",
|
|
22
22
|
"@turnkey/api-key-stamper": "0.4.3",
|
|
23
23
|
"@turnkey/http": "2.15.0",
|
|
24
24
|
"@turnkey/iframe-stamper": "2.0.0",
|
|
25
25
|
"@turnkey/webauthn-stamper": "0.5.0",
|
|
26
|
-
"@dynamic-labs/assert-package-version": "4.
|
|
27
|
-
"@dynamic-labs/logger": "4.
|
|
28
|
-
"@dynamic-labs/utils": "4.
|
|
29
|
-
"@dynamic-labs/wallet-book": "4.
|
|
30
|
-
"@dynamic-labs/wallet-connector-core": "4.
|
|
31
|
-
"@dynamic-labs/webauthn": "4.
|
|
26
|
+
"@dynamic-labs/assert-package-version": "4.10.0",
|
|
27
|
+
"@dynamic-labs/logger": "4.10.0",
|
|
28
|
+
"@dynamic-labs/utils": "4.10.0",
|
|
29
|
+
"@dynamic-labs/wallet-book": "4.10.0",
|
|
30
|
+
"@dynamic-labs/wallet-connector-core": "4.10.0",
|
|
31
|
+
"@dynamic-labs/webauthn": "4.10.0"
|
|
32
32
|
},
|
|
33
33
|
"peerDependencies": {}
|
|
34
34
|
}
|
|
@@ -30,12 +30,12 @@ class TurnkeyWalletConnectorBase extends walletConnectorCore.WalletConnectorBase
|
|
|
30
30
|
});
|
|
31
31
|
this.stampCreateWalletAccountRequest = (_a) => _tslib.__awaiter(this, [_a], void 0, function* ({ request, }) {
|
|
32
32
|
yield this.createOrRestoreSession();
|
|
33
|
-
const turnkeyClient = this.getTurnkeyClient();
|
|
33
|
+
const turnkeyClient = yield this.getTurnkeyClient();
|
|
34
34
|
return turnkeyClient.stampCreateWalletAccounts(request);
|
|
35
35
|
});
|
|
36
36
|
this.stampDeleteSubOrganizationRequest = (_b) => _tslib.__awaiter(this, [_b], void 0, function* ({ request, }) {
|
|
37
37
|
yield this.createOrRestoreSession();
|
|
38
|
-
const turnkeyClient = this.getTurnkeyClient();
|
|
38
|
+
const turnkeyClient = yield this.getTurnkeyClient();
|
|
39
39
|
return turnkeyClient.stampDeleteSubOrganization(request);
|
|
40
40
|
});
|
|
41
41
|
if (!props.appName) {
|
|
@@ -177,6 +177,7 @@ class TurnkeyWalletConnectorBase extends walletConnectorCore.WalletConnectorBase
|
|
|
177
177
|
}
|
|
178
178
|
createOrRestoreSession() {
|
|
179
179
|
return _tslib.__awaiter(this, arguments, void 0, function* ({ ignoreRestore, } = {}) {
|
|
180
|
+
var _a;
|
|
180
181
|
if (!this.isSessionKeyCompatible() ||
|
|
181
182
|
TurnkeyWalletConnectorBase.isLoadingSession) {
|
|
182
183
|
return;
|
|
@@ -192,6 +193,7 @@ class TurnkeyWalletConnectorBase extends walletConnectorCore.WalletConnectorBase
|
|
|
192
193
|
}
|
|
193
194
|
try {
|
|
194
195
|
TurnkeyWalletConnectorBase.isLoadingSession = true;
|
|
196
|
+
this.isLoadingSessionDeferredPromise = new utils.DeferredPromise();
|
|
195
197
|
const sessionKeys = yield this.createOrRestoreSessionFetcherFunction({
|
|
196
198
|
ignoreRestore,
|
|
197
199
|
});
|
|
@@ -210,6 +212,7 @@ class TurnkeyWalletConnectorBase extends walletConnectorCore.WalletConnectorBase
|
|
|
210
212
|
}
|
|
211
213
|
finally {
|
|
212
214
|
TurnkeyWalletConnectorBase.isLoadingSession = false;
|
|
215
|
+
(_a = this.isLoadingSessionDeferredPromise) === null || _a === void 0 ? void 0 : _a.resolve();
|
|
213
216
|
}
|
|
214
217
|
});
|
|
215
218
|
}
|
|
@@ -231,21 +234,26 @@ class TurnkeyWalletConnectorBase extends walletConnectorCore.WalletConnectorBase
|
|
|
231
234
|
return TurnkeyWalletConnectorBase.sessionKeys;
|
|
232
235
|
}
|
|
233
236
|
getTurnkeyClient() {
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
rpId
|
|
237
|
+
return _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
238
|
+
var _a, _b;
|
|
239
|
+
if (TurnkeyWalletConnectorBase.isLoadingSession) {
|
|
240
|
+
yield ((_a = this.isLoadingSessionDeferredPromise) === null || _a === void 0 ? void 0 : _a.promise);
|
|
241
|
+
}
|
|
242
|
+
let rpId = utils.getTLD();
|
|
243
|
+
if (!rpId) {
|
|
244
|
+
rpId = utils.PlatformService.getHostname();
|
|
245
|
+
}
|
|
246
|
+
const passkeyStamper = PasskeyService.PasskeyService.createWebauthnStamper({
|
|
247
|
+
rpId,
|
|
248
|
+
});
|
|
249
|
+
const apiKeyStamper = TurnkeyWalletConnectorBase === null || TurnkeyWalletConnectorBase === void 0 ? void 0 : TurnkeyWalletConnectorBase.apiKeyStamper;
|
|
250
|
+
const stamper = apiKeyStamper !== null && apiKeyStamper !== void 0 ? apiKeyStamper : passkeyStamper;
|
|
251
|
+
this.__turnkeyClient =
|
|
252
|
+
(_b = this.getAuthenticatorHandler().client) !== null && _b !== void 0 ? _b : new http.TurnkeyClient({
|
|
253
|
+
baseUrl: constants.TURNKEY_API_BASE_URL,
|
|
254
|
+
}, stamper);
|
|
255
|
+
return this.__turnkeyClient;
|
|
241
256
|
});
|
|
242
|
-
const apiKeyStamper = TurnkeyWalletConnectorBase === null || TurnkeyWalletConnectorBase === void 0 ? void 0 : TurnkeyWalletConnectorBase.apiKeyStamper;
|
|
243
|
-
const stamper = apiKeyStamper !== null && apiKeyStamper !== void 0 ? apiKeyStamper : passkeyStamper;
|
|
244
|
-
this.__turnkeyClient =
|
|
245
|
-
(_a = this.getAuthenticatorHandler().client) !== null && _a !== void 0 ? _a : new http.TurnkeyClient({
|
|
246
|
-
baseUrl: constants.TURNKEY_API_BASE_URL,
|
|
247
|
-
}, stamper);
|
|
248
|
-
return this.__turnkeyClient;
|
|
249
257
|
}
|
|
250
258
|
setLoggerMetadata() {
|
|
251
259
|
var _a, _b, _c;
|
|
@@ -22,6 +22,7 @@ export declare abstract class TurnkeyWalletConnectorBase extends WalletConnector
|
|
|
22
22
|
isEmbeddedWallet: boolean;
|
|
23
23
|
static isLoadingSession: boolean;
|
|
24
24
|
protected __turnkeyClient: TurnkeyClient | undefined;
|
|
25
|
+
private isLoadingSessionDeferredPromise;
|
|
25
26
|
private appName;
|
|
26
27
|
private _email;
|
|
27
28
|
private _phone;
|
|
@@ -79,7 +80,7 @@ export declare abstract class TurnkeyWalletConnectorBase extends WalletConnector
|
|
|
79
80
|
stampDeleteSubOrganizationRequest: ({ request, }: {
|
|
80
81
|
request: any;
|
|
81
82
|
}) => Promise<TSignedRequest>;
|
|
82
|
-
getTurnkeyClient(): TurnkeyClient
|
|
83
|
+
getTurnkeyClient(): Promise<TurnkeyClient>;
|
|
83
84
|
protected setLoggerMetadata(): void;
|
|
84
85
|
}
|
|
85
86
|
export {};
|
|
@@ -3,7 +3,7 @@ import { __awaiter } from '../../../_virtual/_tslib.js';
|
|
|
3
3
|
import { ApiKeyStamper } from '@turnkey/api-key-stamper';
|
|
4
4
|
import { TurnkeyClient } from '@turnkey/http';
|
|
5
5
|
import { WalletConnectorBase } from '@dynamic-labs/wallet-connector-core';
|
|
6
|
-
import { getTLD, PlatformService, DynamicError } from '@dynamic-labs/utils';
|
|
6
|
+
import { getTLD, PlatformService, DynamicError, DeferredPromise } from '@dynamic-labs/utils';
|
|
7
7
|
import { base64UrlEncode } from '../utils/base64UrlEncode/base64UrlEncode.js';
|
|
8
8
|
import { generateRandomBuffer } from '../utils/generateRandomBuffer/generateRandomBuffer.js';
|
|
9
9
|
import { convertAttestationTransports } from '../utils/convertAttestationTransports/convertAttestationTransports.js';
|
|
@@ -26,12 +26,12 @@ class TurnkeyWalletConnectorBase extends WalletConnectorBase {
|
|
|
26
26
|
});
|
|
27
27
|
this.stampCreateWalletAccountRequest = (_a) => __awaiter(this, [_a], void 0, function* ({ request, }) {
|
|
28
28
|
yield this.createOrRestoreSession();
|
|
29
|
-
const turnkeyClient = this.getTurnkeyClient();
|
|
29
|
+
const turnkeyClient = yield this.getTurnkeyClient();
|
|
30
30
|
return turnkeyClient.stampCreateWalletAccounts(request);
|
|
31
31
|
});
|
|
32
32
|
this.stampDeleteSubOrganizationRequest = (_b) => __awaiter(this, [_b], void 0, function* ({ request, }) {
|
|
33
33
|
yield this.createOrRestoreSession();
|
|
34
|
-
const turnkeyClient = this.getTurnkeyClient();
|
|
34
|
+
const turnkeyClient = yield this.getTurnkeyClient();
|
|
35
35
|
return turnkeyClient.stampDeleteSubOrganization(request);
|
|
36
36
|
});
|
|
37
37
|
if (!props.appName) {
|
|
@@ -173,6 +173,7 @@ class TurnkeyWalletConnectorBase extends WalletConnectorBase {
|
|
|
173
173
|
}
|
|
174
174
|
createOrRestoreSession() {
|
|
175
175
|
return __awaiter(this, arguments, void 0, function* ({ ignoreRestore, } = {}) {
|
|
176
|
+
var _a;
|
|
176
177
|
if (!this.isSessionKeyCompatible() ||
|
|
177
178
|
TurnkeyWalletConnectorBase.isLoadingSession) {
|
|
178
179
|
return;
|
|
@@ -188,6 +189,7 @@ class TurnkeyWalletConnectorBase extends WalletConnectorBase {
|
|
|
188
189
|
}
|
|
189
190
|
try {
|
|
190
191
|
TurnkeyWalletConnectorBase.isLoadingSession = true;
|
|
192
|
+
this.isLoadingSessionDeferredPromise = new DeferredPromise();
|
|
191
193
|
const sessionKeys = yield this.createOrRestoreSessionFetcherFunction({
|
|
192
194
|
ignoreRestore,
|
|
193
195
|
});
|
|
@@ -206,6 +208,7 @@ class TurnkeyWalletConnectorBase extends WalletConnectorBase {
|
|
|
206
208
|
}
|
|
207
209
|
finally {
|
|
208
210
|
TurnkeyWalletConnectorBase.isLoadingSession = false;
|
|
211
|
+
(_a = this.isLoadingSessionDeferredPromise) === null || _a === void 0 ? void 0 : _a.resolve();
|
|
209
212
|
}
|
|
210
213
|
});
|
|
211
214
|
}
|
|
@@ -227,21 +230,26 @@ class TurnkeyWalletConnectorBase extends WalletConnectorBase {
|
|
|
227
230
|
return TurnkeyWalletConnectorBase.sessionKeys;
|
|
228
231
|
}
|
|
229
232
|
getTurnkeyClient() {
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
rpId
|
|
233
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
234
|
+
var _a, _b;
|
|
235
|
+
if (TurnkeyWalletConnectorBase.isLoadingSession) {
|
|
236
|
+
yield ((_a = this.isLoadingSessionDeferredPromise) === null || _a === void 0 ? void 0 : _a.promise);
|
|
237
|
+
}
|
|
238
|
+
let rpId = getTLD();
|
|
239
|
+
if (!rpId) {
|
|
240
|
+
rpId = PlatformService.getHostname();
|
|
241
|
+
}
|
|
242
|
+
const passkeyStamper = PasskeyService.createWebauthnStamper({
|
|
243
|
+
rpId,
|
|
244
|
+
});
|
|
245
|
+
const apiKeyStamper = TurnkeyWalletConnectorBase === null || TurnkeyWalletConnectorBase === void 0 ? void 0 : TurnkeyWalletConnectorBase.apiKeyStamper;
|
|
246
|
+
const stamper = apiKeyStamper !== null && apiKeyStamper !== void 0 ? apiKeyStamper : passkeyStamper;
|
|
247
|
+
this.__turnkeyClient =
|
|
248
|
+
(_b = this.getAuthenticatorHandler().client) !== null && _b !== void 0 ? _b : new TurnkeyClient({
|
|
249
|
+
baseUrl: TURNKEY_API_BASE_URL,
|
|
250
|
+
}, stamper);
|
|
251
|
+
return this.__turnkeyClient;
|
|
237
252
|
});
|
|
238
|
-
const apiKeyStamper = TurnkeyWalletConnectorBase === null || TurnkeyWalletConnectorBase === void 0 ? void 0 : TurnkeyWalletConnectorBase.apiKeyStamper;
|
|
239
|
-
const stamper = apiKeyStamper !== null && apiKeyStamper !== void 0 ? apiKeyStamper : passkeyStamper;
|
|
240
|
-
this.__turnkeyClient =
|
|
241
|
-
(_a = this.getAuthenticatorHandler().client) !== null && _a !== void 0 ? _a : new TurnkeyClient({
|
|
242
|
-
baseUrl: TURNKEY_API_BASE_URL,
|
|
243
|
-
}, stamper);
|
|
244
|
-
return this.__turnkeyClient;
|
|
245
253
|
}
|
|
246
254
|
setLoggerMetadata() {
|
|
247
255
|
var _a, _b, _c;
|