@dynamic-labs/waas 4.64.0 → 4.66.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,33 @@
1
1
 
2
+ ## [4.66.0](https://github.com/dynamic-labs/dynamic-auth/compare/v4.65.0...v4.66.0) (2026-03-02)
3
+
4
+
5
+ ### Features
6
+
7
+ * **stellar:** send serialized XDR for transaction signing ([#10548](https://github.com/dynamic-labs/dynamic-auth/issues/10548)) ([3ff6438](https://github.com/dynamic-labs/dynamic-auth/commit/3ff64384e16d5fdb32cd6a3fd144757bf05f4456))
8
+
9
+
10
+ ### Bug Fixes
11
+
12
+ * prevent MFA backup codes screen from being dismissed before acknowledgement ([#10530](https://github.com/dynamic-labs/dynamic-auth/issues/10530)) ([67086f0](https://github.com/dynamic-labs/dynamic-auth/commit/67086f0b4a1302d39853eb2eedcb6f5b8bfca889))
13
+ * **react-native:** add retry when setting items to secure store ([#10576](https://github.com/dynamic-labs/dynamic-auth/issues/10576)) ([22ea162](https://github.com/dynamic-labs/dynamic-auth/commit/22ea162420806a4a67394c99f3691754982a7f1f))
14
+
15
+ ## [4.65.0](https://github.com/dynamic-labs/dynamic-auth/compare/v4.64.0...v4.65.0) (2026-02-27)
16
+
17
+
18
+ ### Features
19
+
20
+ * add CSP nonce support for style and link tags ([#10514](https://github.com/dynamic-labs/dynamic-auth/issues/10514)) ([62128f5](https://github.com/dynamic-labs/dynamic-auth/commit/62128f5eddfd2a037c2ed6e9320b5009d350c0b5))
21
+ * add setPassword method for initial wallet password setup ([#10534](https://github.com/dynamic-labs/dynamic-auth/issues/10534)) ([87d1e5f](https://github.com/dynamic-labs/dynamic-auth/commit/87d1e5f3c41fe4417320f6971566526e8bf07e99))
22
+ * add step-up authentication and walletsVerify API ([#10482](https://github.com/dynamic-labs/dynamic-auth/issues/10482)) ([e762a63](https://github.com/dynamic-labs/dynamic-auth/commit/e762a634e9782c34926f5947db5446ad95617064))
23
+
24
+
25
+ ### Bug Fixes
26
+
27
+ * **react-native:** ensure items are saved to storage successfully ([#10538](https://github.com/dynamic-labs/dynamic-auth/issues/10538)) ([60bfd5e](https://github.com/dynamic-labs/dynamic-auth/commit/60bfd5e4bf1e7265e754c222839662ff615495b2))
28
+ * **sdk-react-core:** add stellar to compareChains to prevent duplicate wallet creation ([#10526](https://github.com/dynamic-labs/dynamic-auth/issues/10526)) ([89f4498](https://github.com/dynamic-labs/dynamic-auth/commit/89f449892a5153dc8032e0e8ea61cf453e0a2b23))
29
+ * show password setup button for all WaaS wallets regardless of passcodeRequired ([#10532](https://github.com/dynamic-labs/dynamic-auth/issues/10532)) ([615cbf2](https://github.com/dynamic-labs/dynamic-auth/commit/615cbf25fcf95cb5b82a118a2d5d37285e8b5b83))
30
+
2
31
  ## [4.64.0](https://github.com/dynamic-labs/dynamic-auth/compare/v4.63.1...v4.64.0) (2026-02-25)
3
32
 
4
33
 
package/package.cjs CHANGED
@@ -3,6 +3,6 @@
3
3
 
4
4
  Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
- var version = "4.64.0";
6
+ var version = "4.66.0";
7
7
 
8
8
  exports.version = version;
package/package.js CHANGED
@@ -1,4 +1,4 @@
1
1
  'use client'
2
- var version = "4.64.0";
2
+ var version = "4.66.0";
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.64.0",
3
+ "version": "4.66.0",
4
4
  "type": "module",
5
5
  "author": "Dynamic Labs, Inc.",
6
6
  "license": "MIT",
@@ -16,16 +16,16 @@
16
16
  "./package.json": "./package.json"
17
17
  },
18
18
  "dependencies": {
19
- "@dynamic-labs/assert-package-version": "4.64.0",
19
+ "@dynamic-labs/assert-package-version": "4.66.0",
20
20
  "@dynamic-labs/sdk-api-core": "0.0.875",
21
- "@dynamic-labs-wallet/browser-wallet-client": "0.0.282",
22
- "@dynamic-labs/ethereum-core": "4.64.0",
23
- "@dynamic-labs/logger": "4.64.0",
24
- "@dynamic-labs/solana-core": "4.64.0",
25
- "@dynamic-labs/sui-core": "4.64.0",
26
- "@dynamic-labs/utils": "4.64.0",
27
- "@dynamic-labs/wallet-book": "4.64.0",
28
- "@dynamic-labs/wallet-connector-core": "4.64.0"
21
+ "@dynamic-labs-wallet/browser-wallet-client": "0.0.289",
22
+ "@dynamic-labs/ethereum-core": "4.66.0",
23
+ "@dynamic-labs/logger": "4.66.0",
24
+ "@dynamic-labs/solana-core": "4.66.0",
25
+ "@dynamic-labs/sui-core": "4.66.0",
26
+ "@dynamic-labs/utils": "4.66.0",
27
+ "@dynamic-labs/wallet-book": "4.66.0",
28
+ "@dynamic-labs/wallet-connector-core": "4.66.0"
29
29
  },
30
30
  "peerDependencies": {}
31
31
  }
@@ -7,9 +7,9 @@ var _tslib = require('../_virtual/_tslib.cjs');
7
7
  var browserWalletClient = require('@dynamic-labs-wallet/browser-wallet-client');
8
8
  var sdkApiCore = require('@dynamic-labs/sdk-api-core');
9
9
  var utils = require('@dynamic-labs/utils');
10
- var createWaasClientSecureStorage = require('../utils/createWaasClientSecureStorage.cjs');
11
10
  var _package = require('../package.cjs');
12
11
  var constants = require('../utils/constants.cjs');
12
+ var createWaasClientSecureStorage = require('../utils/createWaasClientSecureStorage.cjs');
13
13
  var instrumentation = require('../utils/instrumentation.cjs');
14
14
 
15
15
  // This class is common across all waas connectors
@@ -440,7 +440,6 @@ const withDynamicWaas = (BaseClass) => {
440
440
  }
441
441
  updatePassword(_a) {
442
442
  return _tslib.__awaiter(this, arguments, void 0, function* ({ accountAddress, existingPassword, newPassword, }) {
443
- var _b, _c;
444
443
  if (!accountAddress) {
445
444
  throw new utils.DynamicError('Account address is required');
446
445
  }
@@ -449,17 +448,44 @@ const withDynamicWaas = (BaseClass) => {
449
448
  throw new utils.DynamicError('Existing password is required to update password');
450
449
  }
451
450
  const walletClient = yield this.getWaasWalletClient();
452
- const signedSessionId = yield ((_b = this.getSignedSessionId) === null || _b === void 0 ? void 0 : _b.call(this));
453
- if (!signedSessionId) {
451
+ if (!this.getSignedSessionId) {
454
452
  throw new utils.DynamicError('Signed session ID is required');
455
453
  }
456
- return walletClient.updatePassword({
457
- accountAddress,
458
- authToken: (_c = this.getAuthToken) === null || _c === void 0 ? void 0 : _c.call(this),
459
- existingPassword: resolvedExistingPassword,
460
- newPassword,
461
- signedSessionId,
462
- });
454
+ const wallets = yield walletClient.getAllWallets();
455
+ const encryptedWallets = wallets.filter((w) => { var _a; return (_a = w.clientKeySharesBackupInfo) === null || _a === void 0 ? void 0 : _a.passwordEncrypted; });
456
+ yield Promise.all(encryptedWallets.map((wallet) => _tslib.__awaiter(this, void 0, void 0, function* () {
457
+ var _b;
458
+ const signedSessionId = yield this.getSignedSessionId();
459
+ yield walletClient.updatePassword({
460
+ accountAddress: wallet.accountAddress,
461
+ authToken: (_b = this.getAuthToken) === null || _b === void 0 ? void 0 : _b.call(this),
462
+ existingPassword: resolvedExistingPassword,
463
+ newPassword,
464
+ signedSessionId,
465
+ });
466
+ })));
467
+ });
468
+ }
469
+ setPassword(_a) {
470
+ return _tslib.__awaiter(this, arguments, void 0, function* ({ accountAddress, newPassword, }) {
471
+ if (!accountAddress) {
472
+ throw new utils.DynamicError('Account address is required');
473
+ }
474
+ const walletClient = yield this.getWaasWalletClient();
475
+ if (!this.getSignedSessionId) {
476
+ throw new utils.DynamicError('Signed session ID is required');
477
+ }
478
+ const wallets = yield walletClient.getAllWallets();
479
+ yield Promise.all(wallets.map((wallet) => _tslib.__awaiter(this, void 0, void 0, function* () {
480
+ var _b;
481
+ const signedSessionId = yield this.getSignedSessionId();
482
+ yield walletClient.setPassword({
483
+ accountAddress: wallet.accountAddress,
484
+ authToken: (_b = this.getAuthToken) === null || _b === void 0 ? void 0 : _b.call(this),
485
+ newPassword,
486
+ signedSessionId,
487
+ });
488
+ })));
463
489
  });
464
490
  }
465
491
  signRawMessage(_a) {
@@ -125,6 +125,10 @@ export declare const withDynamicWaas: <T extends abstract new (...args: any[]) =
125
125
  existingPassword?: string;
126
126
  newPassword: string;
127
127
  }): Promise<void>;
128
+ setPassword({ accountAddress, newPassword, }: {
129
+ accountAddress: string;
130
+ newPassword: string;
131
+ }): Promise<void>;
128
132
  signRawMessage({ accountAddress, message, password, }: {
129
133
  accountAddress: string;
130
134
  message: string;
@@ -3,9 +3,9 @@ import { __awaiter } from '../_virtual/_tslib.js';
3
3
  import { DynamicWalletClient } from '@dynamic-labs-wallet/browser-wallet-client';
4
4
  import { MFAAction, TokenScope } from '@dynamic-labs/sdk-api-core';
5
5
  import { DynamicError, PlatformService } from '@dynamic-labs/utils';
6
- import { createWaasClientSecureStorage } from '../utils/createWaasClientSecureStorage.js';
7
6
  import { version } from '../package.js';
8
7
  import { DEFAULT_BASE_API_URL, DEFAULT_BASE_MPC_RELAY_API_URL } from '../utils/constants.js';
8
+ import { createWaasClientSecureStorage } from '../utils/createWaasClientSecureStorage.js';
9
9
  import { InstrumentationTimer } from '../utils/instrumentation.js';
10
10
 
11
11
  // This class is common across all waas connectors
@@ -436,7 +436,6 @@ const withDynamicWaas = (BaseClass) => {
436
436
  }
437
437
  updatePassword(_a) {
438
438
  return __awaiter(this, arguments, void 0, function* ({ accountAddress, existingPassword, newPassword, }) {
439
- var _b, _c;
440
439
  if (!accountAddress) {
441
440
  throw new DynamicError('Account address is required');
442
441
  }
@@ -445,17 +444,44 @@ const withDynamicWaas = (BaseClass) => {
445
444
  throw new DynamicError('Existing password is required to update password');
446
445
  }
447
446
  const walletClient = yield this.getWaasWalletClient();
448
- const signedSessionId = yield ((_b = this.getSignedSessionId) === null || _b === void 0 ? void 0 : _b.call(this));
449
- if (!signedSessionId) {
447
+ if (!this.getSignedSessionId) {
450
448
  throw new DynamicError('Signed session ID is required');
451
449
  }
452
- return walletClient.updatePassword({
453
- accountAddress,
454
- authToken: (_c = this.getAuthToken) === null || _c === void 0 ? void 0 : _c.call(this),
455
- existingPassword: resolvedExistingPassword,
456
- newPassword,
457
- signedSessionId,
458
- });
450
+ const wallets = yield walletClient.getAllWallets();
451
+ const encryptedWallets = wallets.filter((w) => { var _a; return (_a = w.clientKeySharesBackupInfo) === null || _a === void 0 ? void 0 : _a.passwordEncrypted; });
452
+ yield Promise.all(encryptedWallets.map((wallet) => __awaiter(this, void 0, void 0, function* () {
453
+ var _b;
454
+ const signedSessionId = yield this.getSignedSessionId();
455
+ yield walletClient.updatePassword({
456
+ accountAddress: wallet.accountAddress,
457
+ authToken: (_b = this.getAuthToken) === null || _b === void 0 ? void 0 : _b.call(this),
458
+ existingPassword: resolvedExistingPassword,
459
+ newPassword,
460
+ signedSessionId,
461
+ });
462
+ })));
463
+ });
464
+ }
465
+ setPassword(_a) {
466
+ return __awaiter(this, arguments, void 0, function* ({ accountAddress, newPassword, }) {
467
+ if (!accountAddress) {
468
+ throw new DynamicError('Account address is required');
469
+ }
470
+ const walletClient = yield this.getWaasWalletClient();
471
+ if (!this.getSignedSessionId) {
472
+ throw new DynamicError('Signed session ID is required');
473
+ }
474
+ const wallets = yield walletClient.getAllWallets();
475
+ yield Promise.all(wallets.map((wallet) => __awaiter(this, void 0, void 0, function* () {
476
+ var _b;
477
+ const signedSessionId = yield this.getSignedSessionId();
478
+ yield walletClient.setPassword({
479
+ accountAddress: wallet.accountAddress,
480
+ authToken: (_b = this.getAuthToken) === null || _b === void 0 ? void 0 : _b.call(this),
481
+ newPassword,
482
+ signedSessionId,
483
+ });
484
+ })));
459
485
  });
460
486
  }
461
487
  signRawMessage(_a) {