@dynamic-labs/utils 4.88.6 → 4.90.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,4 +1,38 @@
1
1
 
2
+ ## [4.90.0](https://github.com/dynamic-labs/dynamic-auth/compare/v4.89.0...v4.90.0) (2026-06-19)
3
+
4
+
5
+ ### Features
6
+
7
+ * add microsoft to social providers list ([#11631](https://github.com/dynamic-labs/dynamic-auth/issues/11631)) ([761b82d](https://github.com/dynamic-labs/dynamic-auth/commit/761b82dea2e2e86ec1c8b3fc8bab32ed72492132))
8
+ * **sdk-react-core:** preconnect to waas iframe origin at auth-flow start ([#11549](https://github.com/dynamic-labs/dynamic-auth/issues/11549)) ([1bb810c](https://github.com/dynamic-labs/dynamic-auth/commit/1bb810c4eb3d592b43f62c1eaf5450a0e42981c9)), closes [dynamic-labs/dynamic-wallet-sdk#1314](https://github.com/dynamic-labs/dynamic-wallet-sdk/issues/1314)
9
+ * **waas:** opt into SDK eager key-share recovery, drop host RECOVER loop (DYNT-1125) ([#11620](https://github.com/dynamic-labs/dynamic-auth/issues/11620)) ([4bef955](https://github.com/dynamic-labs/dynamic-auth/commit/4bef955b902a7e484ba8bd6323582843bb692a17))
10
+ * **wallet-connector-core:** add isMidnightConnector util + Midnight interface hooks ([#11005](https://github.com/dynamic-labs/dynamic-auth/issues/11005)) ([55117a8](https://github.com/dynamic-labs/dynamic-auth/commit/55117a8cf59640d00b358f68be8df6b29231fab5))
11
+
12
+
13
+ ### Bug Fixes
14
+
15
+ * **sdk-react-core:** gate smart-wallet init on user:basic scope ([#11624](https://github.com/dynamic-labs/dynamic-auth/issues/11624)) ([9f891a4](https://github.com/dynamic-labs/dynamic-auth/commit/9f891a46a191532acdd4a91b74c4586089ef0e1a)), closes [#11623](https://github.com/dynamic-labs/dynamic-auth/issues/11623) [#11623](https://github.com/dynamic-labs/dynamic-auth/issues/11623) [#11626](https://github.com/dynamic-labs/dynamic-auth/issues/11626)
16
+ * **sdk-react-core:** search wallet list by metadata name in addition to connector name ([#11638](https://github.com/dynamic-labs/dynamic-auth/issues/11638)) ([a647614](https://github.com/dynamic-labs/dynamic-auth/commit/a647614bcba769e09ef59bf1ddb925ce9835842e))
17
+ * **waas:** rebuild WaaS client on session change after step-up reauth ([#11581](https://github.com/dynamic-labs/dynamic-auth/issues/11581)) ([2b7093e](https://github.com/dynamic-labs/dynamic-auth/commit/2b7093e27f57f1dfcdd303361d436d9bf33e28a9))
18
+ * **waas:** refuse to build WaaS client while auth scope is pending (createRooms 401 chokepoint) ([#11623](https://github.com/dynamic-labs/dynamic-auth/issues/11623)) ([08755f0](https://github.com/dynamic-labs/dynamic-auth/commit/08755f0bda2b74c7bcdff3d0ac9c228a5205ad6e)), closes [#11624](https://github.com/dynamic-labs/dynamic-auth/issues/11624)
19
+ * **wallet-connect:** skip address comparison on reconnect when expectedAddress is empty ([#11639](https://github.com/dynamic-labs/dynamic-auth/issues/11639)) ([8d665cf](https://github.com/dynamic-labs/dynamic-auth/commit/8d665cf3bf1fb0e498d71f14cc8a53d91593c23d))
20
+
21
+ ## [4.89.0](https://github.com/dynamic-labs/dynamic-auth/compare/v4.88.6...v4.89.0) (2026-06-16)
22
+
23
+
24
+ ### Features
25
+
26
+ * **moonpay:** add useMoonPayOnramp hook ([#11405](https://github.com/dynamic-labs/dynamic-auth/issues/11405)) ([48cb62f](https://github.com/dynamic-labs/dynamic-auth/commit/48cb62fefecb511fcba9359ee6f6096dfef0b125))
27
+
28
+
29
+ ### Bug Fixes
30
+
31
+ * get wallet metadata from wallet-book when its present ([#11566](https://github.com/dynamic-labs/dynamic-auth/issues/11566)) ([a1a8ad5](https://github.com/dynamic-labs/dynamic-auth/commit/a1a8ad53c063157b189aea138fa338fcc67dc4dd))
32
+ * **waas:** instant logout — clear key share host-side, background iframe cleanup ([#11583](https://github.com/dynamic-labs/dynamic-auth/issues/11583)) ([0ab3378](https://github.com/dynamic-labs/dynamic-auth/commit/0ab3378efdbbe233069b17fad62b0c126397bc3a))
33
+ * **wagmi-connector:** await disconnect before connect to defuse SyncDynamicWagmi race DYNT-549 ([#11579](https://github.com/dynamic-labs/dynamic-auth/issues/11579)) ([6ac7c0e](https://github.com/dynamic-labs/dynamic-auth/commit/6ac7c0e02ed863342047bc5a1e60be3a66b8a425)), closes [#11131](https://github.com/dynamic-labs/dynamic-auth/issues/11131) [#11513](https://github.com/dynamic-labs/dynamic-auth/issues/11513) [#11516](https://github.com/dynamic-labs/dynamic-auth/issues/11516) [#11496](https://github.com/dynamic-labs/dynamic-auth/issues/11496) [#11513](https://github.com/dynamic-labs/dynamic-auth/issues/11513) [/github.com/dynamic-labs/dynamic-auth/blob/main/packages/wagmi-connector/src/lib/hooks/useConnectorId/useConnectorId.ts#L19-L26](https://github.com/dynamic-labs//github.com/dynamic-labs/dynamic-auth/blob/main/packages/wagmi-connector/src/lib/hooks/useConnectorId/useConnectorId.ts/issues/L19-L26) [#11131](https://github.com/dynamic-labs/dynamic-auth/issues/11131) [#11516](https://github.com/dynamic-labs/dynamic-auth/issues/11516) [#11513](https://github.com/dynamic-labs/dynamic-auth/issues/11513)
34
+ * **react-native:** resolve intermittent "Wallet with id <uuid> not found" after login ([#11575](https://github.com/dynamic-labs/dynamic-auth/issues/11575)) ([9d7a246](https://github.com/dynamic-labs/dynamic-auth/commit/9d7a246167927b9339dc33c10977c6d12783ab88))
35
+
2
36
  ### [4.88.6](https://github.com/dynamic-labs/dynamic-auth/compare/v4.88.5...v4.88.6) (2026-06-13)
3
37
 
4
38
 
package/package.cjs CHANGED
@@ -3,6 +3,6 @@
3
3
 
4
4
  Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
- var version = "4.88.6";
6
+ var version = "4.90.0";
7
7
 
8
8
  exports.version = version;
package/package.js CHANGED
@@ -1,4 +1,4 @@
1
1
  'use client'
2
- var version = "4.88.6";
2
+ var version = "4.90.0";
3
3
 
4
4
  export { version };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dynamic-labs/utils",
3
- "version": "4.88.6",
3
+ "version": "4.90.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,11 +18,11 @@
18
18
  },
19
19
  "homepage": "https://www.dynamic.xyz/",
20
20
  "dependencies": {
21
- "@dynamic-labs/sdk-api-core": "0.0.1015",
21
+ "@dynamic-labs/sdk-api-core": "0.0.1046",
22
22
  "tldts": "6.0.16",
23
- "@dynamic-labs/assert-package-version": "4.88.6",
24
- "@dynamic-labs/logger": "4.88.6",
25
- "@dynamic-labs/types": "4.88.6",
23
+ "@dynamic-labs/assert-package-version": "4.90.0",
24
+ "@dynamic-labs/logger": "4.90.0",
25
+ "@dynamic-labs/types": "4.90.0",
26
26
  "buffer": "6.0.3",
27
27
  "eventemitter3": "5.0.1"
28
28
  },
@@ -0,0 +1,27 @@
1
+ 'use client'
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ var DynamicError = require('./DynamicError.cjs');
7
+
8
+ // Stable string code so consumers in other packages can recognize this error
9
+ // without importing the class (e.g. to swallow it in a fire-and-forget catch).
10
+ const WAAS_AUTH_SCOPE_PENDING_CODE = 'WAAS_AUTH_SCOPE_PENDING';
11
+ /**
12
+ * Thrown when a WaaS client is requested while the auth token still carries a
13
+ * pending-authentication scope (MFA / KYC / device registration). Building the
14
+ * client at that point lets the iframe's init-time room-cache pre-warm fire
15
+ * `createRooms` with the construction-time token (before any per-operation
16
+ * resync), which 401s and triggers a forced logout. Callers should treat this
17
+ * as "not ready yet" (retry once the token upgrades), not a hard failure to
18
+ * surface to the user.
19
+ */
20
+ class WaasAuthScopePendingError extends DynamicError.DynamicError {
21
+ constructor() {
22
+ super('WaaS client not initialized: auth token scope is still pending (MFA/KYC/device registration). Wait for user:basic before creating or accessing the embedded wallet.', WAAS_AUTH_SCOPE_PENDING_CODE);
23
+ }
24
+ }
25
+
26
+ exports.WAAS_AUTH_SCOPE_PENDING_CODE = WAAS_AUTH_SCOPE_PENDING_CODE;
27
+ exports.WaasAuthScopePendingError = WaasAuthScopePendingError;
@@ -0,0 +1,14 @@
1
+ import { DynamicError } from './DynamicError';
2
+ export declare const WAAS_AUTH_SCOPE_PENDING_CODE = "WAAS_AUTH_SCOPE_PENDING";
3
+ /**
4
+ * Thrown when a WaaS client is requested while the auth token still carries a
5
+ * pending-authentication scope (MFA / KYC / device registration). Building the
6
+ * client at that point lets the iframe's init-time room-cache pre-warm fire
7
+ * `createRooms` with the construction-time token (before any per-operation
8
+ * resync), which 401s and triggers a forced logout. Callers should treat this
9
+ * as "not ready yet" (retry once the token upgrades), not a hard failure to
10
+ * surface to the user.
11
+ */
12
+ export declare class WaasAuthScopePendingError extends DynamicError {
13
+ constructor();
14
+ }
@@ -0,0 +1,22 @@
1
+ 'use client'
2
+ import { DynamicError } from './DynamicError.js';
3
+
4
+ // Stable string code so consumers in other packages can recognize this error
5
+ // without importing the class (e.g. to swallow it in a fire-and-forget catch).
6
+ const WAAS_AUTH_SCOPE_PENDING_CODE = 'WAAS_AUTH_SCOPE_PENDING';
7
+ /**
8
+ * Thrown when a WaaS client is requested while the auth token still carries a
9
+ * pending-authentication scope (MFA / KYC / device registration). Building the
10
+ * client at that point lets the iframe's init-time room-cache pre-warm fire
11
+ * `createRooms` with the construction-time token (before any per-operation
12
+ * resync), which 401s and triggers a forced logout. Callers should treat this
13
+ * as "not ready yet" (retry once the token upgrades), not a hard failure to
14
+ * surface to the user.
15
+ */
16
+ class WaasAuthScopePendingError extends DynamicError {
17
+ constructor() {
18
+ super('WaaS client not initialized: auth token scope is still pending (MFA/KYC/device registration). Wait for user:basic before creating or accessing the embedded wallet.', WAAS_AUTH_SCOPE_PENDING_CODE);
19
+ }
20
+ }
21
+
22
+ export { WAAS_AUTH_SCOPE_PENDING_CODE, WaasAuthScopePendingError };
@@ -43,6 +43,7 @@ export * from './UsernameAlreadyExistsError';
43
43
  export * from './UserRejectedRequestError';
44
44
  export * from './UserRejectedTransactionError';
45
45
  export * from './VerificationDataCollectionError';
46
+ export * from './WaasAuthScopePendingError';
46
47
  export * from './WalletAddressMismatchError';
47
48
  export * from './WalletNotDeployedError';
48
49
  export * from './WalletUsedError';
package/src/index.cjs CHANGED
@@ -54,6 +54,7 @@ var UsernameAlreadyExistsError = require('./errors/UsernameAlreadyExistsError.cj
54
54
  var UserRejectedRequestError = require('./errors/UserRejectedRequestError.cjs');
55
55
  var UserRejectedTransactionError = require('./errors/UserRejectedTransactionError.cjs');
56
56
  var VerificationDataCollectionError = require('./errors/VerificationDataCollectionError.cjs');
57
+ var WaasAuthScopePendingError = require('./errors/WaasAuthScopePendingError.cjs');
57
58
  var WalletAddressMismatchError = require('./errors/WalletAddressMismatchError.cjs');
58
59
  var WalletNotDeployedError = require('./errors/WalletNotDeployedError.cjs');
59
60
  var WalletUsedError = require('./errors/WalletUsedError.cjs');
@@ -176,6 +177,8 @@ exports.UsernameAlreadyExistsError = UsernameAlreadyExistsError.UsernameAlreadyE
176
177
  exports.UserRejectedRequestError = UserRejectedRequestError.UserRejectedRequestError;
177
178
  exports.UserRejectedTransactionError = UserRejectedTransactionError.UserRejectedTransactionError;
178
179
  exports.VerificationDataCollectionError = VerificationDataCollectionError.VerificationDataCollectionError;
180
+ exports.WAAS_AUTH_SCOPE_PENDING_CODE = WaasAuthScopePendingError.WAAS_AUTH_SCOPE_PENDING_CODE;
181
+ exports.WaasAuthScopePendingError = WaasAuthScopePendingError.WaasAuthScopePendingError;
179
182
  exports.WalletAddressMismatchError = WalletAddressMismatchError.WalletAddressMismatchError;
180
183
  exports.WalletNotDeployedError = WalletNotDeployedError.WalletNotDeployedError;
181
184
  exports.WalletUsedError = WalletUsedError.WalletUsedError;
package/src/index.js CHANGED
@@ -50,6 +50,7 @@ export { UsernameAlreadyExistsError } from './errors/UsernameAlreadyExistsError.
50
50
  export { UserRejectedRequestError } from './errors/UserRejectedRequestError.js';
51
51
  export { UserRejectedTransactionError } from './errors/UserRejectedTransactionError.js';
52
52
  export { VerificationDataCollectionError } from './errors/VerificationDataCollectionError.js';
53
+ export { WAAS_AUTH_SCOPE_PENDING_CODE, WaasAuthScopePendingError } from './errors/WaasAuthScopePendingError.js';
53
54
  export { WalletAddressMismatchError } from './errors/WalletAddressMismatchError.js';
54
55
  export { WalletNotDeployedError } from './errors/WalletNotDeployedError.js';
55
56
  export { WalletUsedError } from './errors/WalletUsedError.js';