@dynamic-labs/waas 4.100.2 → 4.100.4

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,21 @@
1
1
 
2
+ ### [4.100.4](https://github.com/dynamic-labs/dynamic-auth/compare/v4.100.3...v4.100.4) (2026-10-08)
3
+
4
+
5
+ ### Bug Fixes
6
+
7
+ * **embedded-webview:** connect Coinbase Wallet via a real popup window [V4 backport] ([#12429](https://github.com/dynamic-labs/dynamic-auth/issues/12429)) ([82368fd](https://github.com/dynamic-labs/dynamic-auth/commit/82368fd41791e3a6e2ffec4dc6a0b401a7bec82f))
8
+ * **rpc-providers:** skip networks without an RPC URL instead of throwing [v4 backport] ([#12431](https://github.com/dynamic-labs/dynamic-auth/issues/12431)) ([95f05c5](https://github.com/dynamic-labs/dynamic-auth/commit/95f05c5c0c5195cc02f4dbc9969e90fc2e41eae0))
9
+ * unblock v4 CI (Playwright password/sign-message tests, shell-quote critical advisory) [V4 backport] ([#12475](https://github.com/dynamic-labs/dynamic-auth/issues/12475)) ([c4ad2ba](https://github.com/dynamic-labs/dynamic-auth/commit/c4ad2ba52a5d329a6b324b27c4ccfb3b48970223)), closes [#12468](https://github.com/dynamic-labs/dynamic-auth/issues/12468) [#1936](https://github.com/dynamic-labs/dynamic-auth/issues/1936) [#12476](https://github.com/dynamic-labs/dynamic-auth/issues/12476)
10
+ * **waas:** fall back when crypto.randomUUID is unavailable (v4 backport) ([#12436](https://github.com/dynamic-labs/dynamic-auth/issues/12436)) ([c72781e](https://github.com/dynamic-labs/dynamic-auth/commit/c72781ebf4269b356a98f3fc167bbd643a601bfd))
11
+
12
+ ### [4.100.3](https://github.com/dynamic-labs/dynamic-auth/compare/v4.100.2...v4.100.3) (2026-09-18)
13
+
14
+
15
+ ### Bug Fixes
16
+
17
+ * **webview-controller:** make sure rabby uses native deeplink on Android ([#12421](https://github.com/dynamic-labs/dynamic-auth/issues/12421)) ([7c28ff9](https://github.com/dynamic-labs/dynamic-auth/commit/7c28ff9767e4afe34f489153e5f05456180eef5b))
18
+
2
19
  ### [4.100.2](https://github.com/dynamic-labs/dynamic-auth/compare/v4.100.1...v4.100.2) (2026-09-17)
3
20
 
4
21
 
package/package.cjs CHANGED
@@ -3,6 +3,6 @@
3
3
 
4
4
  Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
- var version = "4.100.2";
6
+ var version = "4.100.4";
7
7
 
8
8
  exports.version = version;
package/package.js CHANGED
@@ -1,4 +1,4 @@
1
1
  'use client'
2
- var version = "4.100.2";
2
+ var version = "4.100.4";
3
3
 
4
4
  export { version };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dynamic-labs/waas",
3
- "version": "4.100.2",
3
+ "version": "4.100.4",
4
4
  "type": "module",
5
5
  "author": "Dynamic Labs, Inc.",
6
6
  "license": "MIT",
@@ -17,18 +17,18 @@
17
17
  },
18
18
  "dependencies": {
19
19
  "@dynamic-labs-sdk/client": "1.33.3",
20
- "@dynamic-labs/assert-package-version": "4.100.2",
20
+ "@dynamic-labs/assert-package-version": "4.100.4",
21
21
  "@dynamic-labs/sdk-api-core": "0.40.0",
22
22
  "@dynamic-labs-wallet/browser-wallet-client": "1.1.10",
23
23
  "@dynamic-labs-wallet/core": "1.1.10",
24
24
  "@dynamic-labs-wallet/forward-mpc-client": "2.0.2",
25
- "@dynamic-labs/ethereum-core": "4.100.2",
26
- "@dynamic-labs/logger": "4.100.2",
27
- "@dynamic-labs/solana-core": "4.100.2",
28
- "@dynamic-labs/sui-core": "4.100.2",
29
- "@dynamic-labs/utils": "4.100.2",
30
- "@dynamic-labs/wallet-book": "4.100.2",
31
- "@dynamic-labs/wallet-connector-core": "4.100.2"
25
+ "@dynamic-labs/ethereum-core": "4.100.4",
26
+ "@dynamic-labs/logger": "4.100.4",
27
+ "@dynamic-labs/solana-core": "4.100.4",
28
+ "@dynamic-labs/sui-core": "4.100.4",
29
+ "@dynamic-labs/utils": "4.100.4",
30
+ "@dynamic-labs/wallet-book": "4.100.4",
31
+ "@dynamic-labs/wallet-connector-core": "4.100.4"
32
32
  },
33
33
  "peerDependencies": {}
34
34
  }
@@ -11,6 +11,7 @@ var _package = require('../package.cjs');
11
11
  var constants = require('../utils/constants.cjs');
12
12
  var createWaasClientSecureStorage = require('../utils/createWaasClientSecureStorage.cjs');
13
13
  var instrumentation = require('../utils/instrumentation.cjs');
14
+ var generateUUID = require('../utils/generateUUID.cjs');
14
15
  var tokenHasPendingAuthScope = require('../utils/tokenHasPendingAuthScope.cjs');
15
16
 
16
17
  // Fallback error code used when a thrown value carries no code, or when
@@ -643,7 +644,7 @@ const withDynamicWaas = (BaseClass) => {
643
644
  }
644
645
  const wallets = yield walletClient.getAllWallets();
645
646
  const encryptedWallets = wallets.filter((w) => { var _a; return (_a = w.clientKeySharesBackupInfo) === null || _a === void 0 ? void 0 : _a.passwordEncrypted; });
646
- const passwordUpdateBatchId = crypto.randomUUID();
647
+ const passwordUpdateBatchId = generateUUID.generateUUID();
647
648
  yield Promise.all(encryptedWallets.map((wallet) => _tslib.__awaiter(this, void 0, void 0, function* () {
648
649
  var _b, _c;
649
650
  const signedSessionId = yield this.getSignedSessionId();
@@ -669,7 +670,7 @@ const withDynamicWaas = (BaseClass) => {
669
670
  throw new utils.DynamicError('Signed session ID is required', 'signed_session_id_is_required');
670
671
  }
671
672
  const wallets = yield walletClient.getAllWallets();
672
- const passwordUpdateBatchId = crypto.randomUUID();
673
+ const passwordUpdateBatchId = generateUUID.generateUUID();
673
674
  yield Promise.all(wallets.map((wallet) => _tslib.__awaiter(this, void 0, void 0, function* () {
674
675
  var _b, _c;
675
676
  const signedSessionId = yield this.getSignedSessionId();
@@ -7,6 +7,7 @@ import { version } from '../package.js';
7
7
  import { DEFAULT_BASE_API_URL, DEFAULT_BASE_MPC_RELAY_API_URL } from '../utils/constants.js';
8
8
  import { createWaasClientSecureStorage } from '../utils/createWaasClientSecureStorage.js';
9
9
  import { InstrumentationTimer } from '../utils/instrumentation.js';
10
+ import { generateUUID } from '../utils/generateUUID.js';
10
11
  import { tokenHasPendingAuthScope } from '../utils/tokenHasPendingAuthScope.js';
11
12
 
12
13
  // Fallback error code used when a thrown value carries no code, or when
@@ -639,7 +640,7 @@ const withDynamicWaas = (BaseClass) => {
639
640
  }
640
641
  const wallets = yield walletClient.getAllWallets();
641
642
  const encryptedWallets = wallets.filter((w) => { var _a; return (_a = w.clientKeySharesBackupInfo) === null || _a === void 0 ? void 0 : _a.passwordEncrypted; });
642
- const passwordUpdateBatchId = crypto.randomUUID();
643
+ const passwordUpdateBatchId = generateUUID();
643
644
  yield Promise.all(encryptedWallets.map((wallet) => __awaiter(this, void 0, void 0, function* () {
644
645
  var _b, _c;
645
646
  const signedSessionId = yield this.getSignedSessionId();
@@ -665,7 +666,7 @@ const withDynamicWaas = (BaseClass) => {
665
666
  throw new DynamicError('Signed session ID is required', 'signed_session_id_is_required');
666
667
  }
667
668
  const wallets = yield walletClient.getAllWallets();
668
- const passwordUpdateBatchId = crypto.randomUUID();
669
+ const passwordUpdateBatchId = generateUUID();
669
670
  yield Promise.all(wallets.map((wallet) => __awaiter(this, void 0, void 0, function* () {
670
671
  var _b, _c;
671
672
  const signedSessionId = yield this.getSignedSessionId();
@@ -0,0 +1,23 @@
1
+ 'use client'
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ // crypto.randomUUID is unavailable on older webviews (< Chrome 92) and in
7
+ // non-secure contexts; fall back to a getRandomValues-based v4 UUID there.
8
+ const generateUUID = () => {
9
+ const cryptoProvider = globalThis.crypto;
10
+ if (typeof (cryptoProvider === null || cryptoProvider === void 0 ? void 0 : cryptoProvider.randomUUID) === 'function') {
11
+ return cryptoProvider.randomUUID();
12
+ }
13
+ if (typeof (cryptoProvider === null || cryptoProvider === void 0 ? void 0 : cryptoProvider.getRandomValues) !== 'function') {
14
+ throw new TypeError('Secure UUID generation is unavailable');
15
+ }
16
+ const bytes = cryptoProvider.getRandomValues(new Uint8Array(16));
17
+ bytes[6] = (bytes[6] & 0x0f) | 0x40;
18
+ bytes[8] = (bytes[8] & 0x3f) | 0x80;
19
+ const hex = Array.from(bytes, (b) => b.toString(16).padStart(2, '0')).join('');
20
+ return `${hex.slice(0, 8)}-${hex.slice(8, 12)}-${hex.slice(12, 16)}-${hex.slice(16, 20)}-${hex.slice(20)}`;
21
+ };
22
+
23
+ exports.generateUUID = generateUUID;
@@ -0,0 +1 @@
1
+ export declare const generateUUID: () => string;
@@ -0,0 +1,19 @@
1
+ 'use client'
2
+ // crypto.randomUUID is unavailable on older webviews (< Chrome 92) and in
3
+ // non-secure contexts; fall back to a getRandomValues-based v4 UUID there.
4
+ const generateUUID = () => {
5
+ const cryptoProvider = globalThis.crypto;
6
+ if (typeof (cryptoProvider === null || cryptoProvider === void 0 ? void 0 : cryptoProvider.randomUUID) === 'function') {
7
+ return cryptoProvider.randomUUID();
8
+ }
9
+ if (typeof (cryptoProvider === null || cryptoProvider === void 0 ? void 0 : cryptoProvider.getRandomValues) !== 'function') {
10
+ throw new TypeError('Secure UUID generation is unavailable');
11
+ }
12
+ const bytes = cryptoProvider.getRandomValues(new Uint8Array(16));
13
+ bytes[6] = (bytes[6] & 0x0f) | 0x40;
14
+ bytes[8] = (bytes[8] & 0x3f) | 0x80;
15
+ const hex = Array.from(bytes, (b) => b.toString(16).padStart(2, '0')).join('');
16
+ return `${hex.slice(0, 8)}-${hex.slice(8, 12)}-${hex.slice(12, 16)}-${hex.slice(16, 20)}-${hex.slice(20)}`;
17
+ };
18
+
19
+ export { generateUUID };