@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 CHANGED
@@ -1,10 +1,17 @@
1
1
 
2
- ### [4.9.13-preview.0](https://github.com/dynamic-labs/dynamic-auth/compare/v4.9.12...v4.9.13-preview.0) (2025-03-28)
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
- * add zk sync aa connector ([0859f98](https://github.com/dynamic-labs/dynamic-auth/commit/0859f9810442c9229a1465f59f2400272c83ba09))
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
@@ -3,6 +3,6 @@
3
3
 
4
4
  Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
- var version = "4.9.13-preview.0";
6
+ var version = "4.10.0";
7
7
 
8
8
  exports.version = version;
package/package.js CHANGED
@@ -1,4 +1,4 @@
1
1
  'use client'
2
- var version = "4.9.13-preview.0";
2
+ var version = "4.10.0";
3
3
 
4
4
  export { version };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dynamic-labs/embedded-wallet",
3
- "version": "4.9.13-preview.0",
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.645",
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.9.13-preview.0",
27
- "@dynamic-labs/logger": "4.9.13-preview.0",
28
- "@dynamic-labs/utils": "4.9.13-preview.0",
29
- "@dynamic-labs/wallet-book": "4.9.13-preview.0",
30
- "@dynamic-labs/wallet-connector-core": "4.9.13-preview.0",
31
- "@dynamic-labs/webauthn": "4.9.13-preview.0"
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
- var _a;
235
- let rpId = utils.getTLD();
236
- if (!rpId) {
237
- rpId = utils.PlatformService.getHostname();
238
- }
239
- const passkeyStamper = PasskeyService.PasskeyService.createWebauthnStamper({
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
- var _a;
231
- let rpId = getTLD();
232
- if (!rpId) {
233
- rpId = PlatformService.getHostname();
234
- }
235
- const passkeyStamper = PasskeyService.createWebauthnStamper({
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;