@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 +29 -0
- package/package.cjs +1 -1
- package/package.js +1 -1
- package/package.json +10 -10
- package/src/DynamicWaasMixin.cjs +37 -11
- package/src/DynamicWaasMixin.d.ts +4 -0
- package/src/DynamicWaasMixin.js +37 -11
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
package/package.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dynamic-labs/waas",
|
|
3
|
-
"version": "4.
|
|
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.
|
|
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.
|
|
22
|
-
"@dynamic-labs/ethereum-core": "4.
|
|
23
|
-
"@dynamic-labs/logger": "4.
|
|
24
|
-
"@dynamic-labs/solana-core": "4.
|
|
25
|
-
"@dynamic-labs/sui-core": "4.
|
|
26
|
-
"@dynamic-labs/utils": "4.
|
|
27
|
-
"@dynamic-labs/wallet-book": "4.
|
|
28
|
-
"@dynamic-labs/wallet-connector-core": "4.
|
|
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
|
}
|
package/src/DynamicWaasMixin.cjs
CHANGED
|
@@ -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
|
-
|
|
453
|
-
if (!signedSessionId) {
|
|
451
|
+
if (!this.getSignedSessionId) {
|
|
454
452
|
throw new utils.DynamicError('Signed session ID is required');
|
|
455
453
|
}
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
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;
|
package/src/DynamicWaasMixin.js
CHANGED
|
@@ -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
|
-
|
|
449
|
-
if (!signedSessionId) {
|
|
447
|
+
if (!this.getSignedSessionId) {
|
|
450
448
|
throw new DynamicError('Signed session ID is required');
|
|
451
449
|
}
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
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) {
|