@dynamic-labs/waas-evm 4.59.2 → 4.60.1
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 +25 -0
- package/package.cjs +1 -1
- package/package.js +1 -1
- package/package.json +9 -9
- package/src/DynamicWaasEVMConnector.cjs +20 -4
- package/src/DynamicWaasEVMConnector.d.ts +9 -10
- package/src/DynamicWaasEVMConnector.js +20 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,4 +1,29 @@
|
|
|
1
1
|
|
|
2
|
+
### [4.60.1](https://github.com/dynamic-labs/dynamic-auth/compare/v4.60.0...v4.60.1) (2026-02-09)
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
|
|
7
|
+
* add WAAS password handlers to DynamicContextProvider settings ([#10360](https://github.com/dynamic-labs/dynamic-auth/issues/10360)) ([5fc3fa7](https://github.com/dynamic-labs/dynamic-auth/commit/5fc3fa7148c53b64d36672be2d1ae629cb9cdaf8))
|
|
8
|
+
* improve password handling and UI for wallet protection ([#10386](https://github.com/dynamic-labs/dynamic-auth/issues/10386)) ([d27936e](https://github.com/dynamic-labs/dynamic-auth/commit/d27936e5bea37facceefccc0f2507d25a775ad33))
|
|
9
|
+
* pass authToken to wallet recovery operations ([#10379](https://github.com/dynamic-labs/dynamic-auth/issues/10379)) ([294efc7](https://github.com/dynamic-labs/dynamic-auth/commit/294efc7ab5816f63b7e5cc49a150cf9d34d300af))
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
### Bug Fixes
|
|
13
|
+
|
|
14
|
+
* override fast-xml-parser to 5.3.4 for CVE-2026-25128 ([#10381](https://github.com/dynamic-labs/dynamic-auth/issues/10381)) ([7fb4c22](https://github.com/dynamic-labs/dynamic-auth/commit/7fb4c221252b84bf38bbdab0b37b8f9a981ebe1a))
|
|
15
|
+
* unlock wallet view error handling and password error UI ([#10388](https://github.com/dynamic-labs/dynamic-auth/issues/10388)) ([5ffc8e1](https://github.com/dynamic-labs/dynamic-auth/commit/5ffc8e1e6dd0d7f32bb94c37ce3674be949f010b))
|
|
16
|
+
|
|
17
|
+
## [4.60.0](https://github.com/dynamic-labs/dynamic-auth/compare/v4.59.2...v4.60.0) (2026-02-05)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### Features
|
|
21
|
+
|
|
22
|
+
* add prompt to unlock wallet when getting encrypted shares ([#10333](https://github.com/dynamic-labs/dynamic-auth/issues/10333)) ([7009dfa](https://github.com/dynamic-labs/dynamic-auth/commit/7009dfa315538f4f4ad27ff37e7902f10e1cf019))
|
|
23
|
+
* add stellar sendBalance method ([#10310](https://github.com/dynamic-labs/dynamic-auth/issues/10310)) ([c083ea0](https://github.com/dynamic-labs/dynamic-auth/commit/c083ea0a7caa0cb9095d32897acf677c1b661cb4))
|
|
24
|
+
* **webview-controller:** add DelegatedAccessController ([#10348](https://github.com/dynamic-labs/dynamic-auth/issues/10348)) ([57599e4](https://github.com/dynamic-labs/dynamic-auth/commit/57599e4dd1ad6f4b22f98d49d7fae1a724b719ee))
|
|
25
|
+
* **webview-messages:** add DelegatedAccessMessages types ([#10347](https://github.com/dynamic-labs/dynamic-auth/issues/10347)) ([b0a1275](https://github.com/dynamic-labs/dynamic-auth/commit/b0a12759016fa6f8a76753c2394d589acb18ccf1))
|
|
26
|
+
|
|
2
27
|
### [4.59.2](https://github.com/dynamic-labs/dynamic-auth/compare/v4.59.1...v4.59.2) (2026-02-03)
|
|
3
28
|
|
|
4
29
|
|
package/package.cjs
CHANGED
package/package.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dynamic-labs/waas-evm",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.60.1",
|
|
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,15 +18,15 @@
|
|
|
18
18
|
},
|
|
19
19
|
"homepage": "https://www.dynamic.xyz/",
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"@dynamic-labs/sdk-api-core": "0.0.
|
|
21
|
+
"@dynamic-labs/sdk-api-core": "0.0.864",
|
|
22
22
|
"viem": "^2.28.4",
|
|
23
|
-
"@dynamic-labs/assert-package-version": "4.
|
|
24
|
-
"@dynamic-labs/ethereum-core": "4.
|
|
25
|
-
"@dynamic-labs/logger": "4.
|
|
26
|
-
"@dynamic-labs/types": "4.
|
|
27
|
-
"@dynamic-labs/utils": "4.
|
|
28
|
-
"@dynamic-labs/waas": "4.
|
|
29
|
-
"@dynamic-labs/wallet-connector-core": "4.
|
|
23
|
+
"@dynamic-labs/assert-package-version": "4.60.1",
|
|
24
|
+
"@dynamic-labs/ethereum-core": "4.60.1",
|
|
25
|
+
"@dynamic-labs/logger": "4.60.1",
|
|
26
|
+
"@dynamic-labs/types": "4.60.1",
|
|
27
|
+
"@dynamic-labs/utils": "4.60.1",
|
|
28
|
+
"@dynamic-labs/waas": "4.60.1",
|
|
29
|
+
"@dynamic-labs/wallet-connector-core": "4.60.1"
|
|
30
30
|
},
|
|
31
31
|
"peerDependencies": {}
|
|
32
32
|
}
|
|
@@ -193,9 +193,10 @@ class DynamicWaasEVMConnector extends waas.withDynamicWaas(ethereumCore.Ethereum
|
|
|
193
193
|
time: 0,
|
|
194
194
|
traceId,
|
|
195
195
|
});
|
|
196
|
+
const password = yield this.getPasswordIfNeeded({ accountAddress });
|
|
196
197
|
return this.instrumentAsync({
|
|
197
198
|
context: { chainName: 'EVM', startTime, traceId },
|
|
198
|
-
fn: () => _tslib.__awaiter(this, void 0, void 0, function* () { return this.signAuthorization(parameters); }),
|
|
199
|
+
fn: () => _tslib.__awaiter(this, void 0, void 0, function* () { return this.signAuthorization(parameters, password); }),
|
|
199
200
|
operation: 'signAuthorization',
|
|
200
201
|
resource: 'client.signAuthorization',
|
|
201
202
|
});
|
|
@@ -215,6 +216,9 @@ class DynamicWaasEVMConnector extends waas.withDynamicWaas(ethereumCore.Ethereum
|
|
|
215
216
|
const mfaToken = yield ((_d = this.getMfaToken) === null || _d === void 0 ? void 0 : _d.call(this, {
|
|
216
217
|
mfaAction: sdkApiCore.MFAAction.WalletWaasSign,
|
|
217
218
|
}));
|
|
219
|
+
const password = yield this.getPasswordIfNeeded({
|
|
220
|
+
accountAddress,
|
|
221
|
+
});
|
|
218
222
|
const signature = yield this.instrumentAsync({
|
|
219
223
|
context: { chainName: 'EVM', startTime, traceId },
|
|
220
224
|
fn: () => _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
@@ -224,6 +228,7 @@ class DynamicWaasEVMConnector extends waas.withDynamicWaas(ethereumCore.Ethereum
|
|
|
224
228
|
authToken: (_e = this.getAuthToken) === null || _e === void 0 ? void 0 : _e.call(this),
|
|
225
229
|
message: message,
|
|
226
230
|
mfaToken,
|
|
231
|
+
password,
|
|
227
232
|
signedSessionId,
|
|
228
233
|
traceContext: {
|
|
229
234
|
startTime,
|
|
@@ -251,6 +256,7 @@ class DynamicWaasEVMConnector extends waas.withDynamicWaas(ethereumCore.Ethereum
|
|
|
251
256
|
const mfaToken = yield ((_f = this.getMfaToken) === null || _f === void 0 ? void 0 : _f.call(this, {
|
|
252
257
|
mfaAction: sdkApiCore.MFAAction.WalletWaasSign,
|
|
253
258
|
}));
|
|
259
|
+
const password = yield this.getPasswordIfNeeded({ accountAddress });
|
|
254
260
|
const tx = yield this.instrumentAsync({
|
|
255
261
|
context: { chainName: 'EVM', startTime, traceId },
|
|
256
262
|
fn: () => _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
@@ -258,6 +264,7 @@ class DynamicWaasEVMConnector extends waas.withDynamicWaas(ethereumCore.Ethereum
|
|
|
258
264
|
return client.signTransaction({
|
|
259
265
|
authToken: (_g = this.getAuthToken) === null || _g === void 0 ? void 0 : _g.call(this),
|
|
260
266
|
mfaToken,
|
|
267
|
+
password,
|
|
261
268
|
senderAddress: accountAddress,
|
|
262
269
|
signedSessionId,
|
|
263
270
|
traceContext: {
|
|
@@ -287,6 +294,7 @@ class DynamicWaasEVMConnector extends waas.withDynamicWaas(ethereumCore.Ethereum
|
|
|
287
294
|
const mfaToken = yield ((_h = this.getMfaToken) === null || _h === void 0 ? void 0 : _h.call(this, {
|
|
288
295
|
mfaAction: sdkApiCore.MFAAction.WalletWaasSign,
|
|
289
296
|
}));
|
|
297
|
+
const password = yield this.getPasswordIfNeeded({ accountAddress });
|
|
290
298
|
const signature = yield this.instrumentAsync({
|
|
291
299
|
context: { chainName: 'EVM', startTime, traceId },
|
|
292
300
|
fn: () => _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
@@ -295,6 +303,7 @@ class DynamicWaasEVMConnector extends waas.withDynamicWaas(ethereumCore.Ethereum
|
|
|
295
303
|
accountAddress,
|
|
296
304
|
authToken: (_j = this.getAuthToken) === null || _j === void 0 ? void 0 : _j.call(this),
|
|
297
305
|
mfaToken,
|
|
306
|
+
password,
|
|
298
307
|
signedSessionId,
|
|
299
308
|
traceContext: {
|
|
300
309
|
startTime,
|
|
@@ -344,12 +353,17 @@ class DynamicWaasEVMConnector extends waas.withDynamicWaas(ethereumCore.Ethereum
|
|
|
344
353
|
}
|
|
345
354
|
signMessageWithContext(_a) {
|
|
346
355
|
return _tslib.__awaiter(this, arguments, void 0, function* ({ message, context, }) {
|
|
347
|
-
var _b, _c, _d;
|
|
356
|
+
var _b, _c, _d, _e;
|
|
348
357
|
const walletClient = yield this.getWaasWalletClient();
|
|
349
358
|
const signedSessionId = yield ((_b = this.getSignedSessionId) === null || _b === void 0 ? void 0 : _b.call(this));
|
|
350
359
|
if (!signedSessionId) {
|
|
351
360
|
throw new utils.DynamicError('Signed session ID is required');
|
|
352
361
|
}
|
|
362
|
+
const accountAddress = (_c = this.getActiveAccount()) === null || _c === void 0 ? void 0 : _c.address;
|
|
363
|
+
const mfaToken = yield ((_d = this.getMfaToken) === null || _d === void 0 ? void 0 : _d.call(this, {
|
|
364
|
+
mfaAction: sdkApiCore.MFAAction.WalletWaasSign,
|
|
365
|
+
}));
|
|
366
|
+
const password = yield this.getPasswordIfNeeded({ accountAddress });
|
|
353
367
|
const traceId = this.generateTraceId();
|
|
354
368
|
const startTime = Date.now();
|
|
355
369
|
this.instrument('[signMessageWithContext] start', {
|
|
@@ -359,10 +373,12 @@ class DynamicWaasEVMConnector extends waas.withDynamicWaas(ethereumCore.Ethereum
|
|
|
359
373
|
traceId,
|
|
360
374
|
});
|
|
361
375
|
return walletClient.signMessage({
|
|
362
|
-
accountAddress
|
|
363
|
-
authToken: (
|
|
376
|
+
accountAddress,
|
|
377
|
+
authToken: (_e = this.getAuthToken) === null || _e === void 0 ? void 0 : _e.call(this),
|
|
364
378
|
context,
|
|
365
379
|
message,
|
|
380
|
+
mfaToken,
|
|
381
|
+
password,
|
|
366
382
|
signedSessionId,
|
|
367
383
|
traceContext: {
|
|
368
384
|
startTime,
|
|
@@ -20,6 +20,7 @@ declare const DynamicWaasEVMConnector_base: (abstract new (...args: any[]) => {
|
|
|
20
20
|
getMfaToken?: ((props?: {
|
|
21
21
|
mfaAction?: MFAAction | undefined;
|
|
22
22
|
} | undefined) => Promise<string | undefined>) | undefined;
|
|
23
|
+
getWalletPassword?: import("@dynamic-labs/wallet-connector-core").GetWalletPasswordFn | undefined;
|
|
23
24
|
getAuthToken?: (() => string) | undefined;
|
|
24
25
|
environmentId?: string | undefined;
|
|
25
26
|
baseApiUrl?: string | undefined;
|
|
@@ -36,17 +37,14 @@ declare const DynamicWaasEVMConnector_base: (abstract new (...args: any[]) => {
|
|
|
36
37
|
setGetMfaTokenFunction(getMfaToken: (props?: {
|
|
37
38
|
mfaAction?: MFAAction | undefined;
|
|
38
39
|
} | undefined) => Promise<string | undefined>): void;
|
|
40
|
+
setGetWalletPasswordFunction(getWalletPassword: import("@dynamic-labs/wallet-connector-core").GetWalletPasswordFn): void;
|
|
41
|
+
getPasswordIfNeeded({ accountAddress, }: {
|
|
42
|
+
accountAddress: string;
|
|
43
|
+
}): Promise<string | undefined>;
|
|
39
44
|
setEnvironmentId(environmentId: string): void;
|
|
40
45
|
setBaseApiUrl(baseApiUrl: string): void;
|
|
41
46
|
setBaseClientKeysharesRelayApiUrl(baseClientKeysharesRelayApiUrl?: string | undefined): void;
|
|
42
47
|
setRelayUrl(relayUrl: string): void;
|
|
43
|
-
/**
|
|
44
|
-
* Relationship between verifiedCredential and verifiedCredentials:
|
|
45
|
-
* - verifiedCredential: The first/primary credential from the array (used for active account)
|
|
46
|
-
* - verifiedCredentials: The full array of all credentials
|
|
47
|
-
* When setVerifiedCredentials is called, it processes the input array and sets both properties
|
|
48
|
-
* The first credential (verifiedCredential) is specifically filtered to be a "dynamicwaas"
|
|
49
|
-
*/
|
|
50
48
|
setGetSignedSessionIdFunction(getSignedSessionId: () => Promise<string>): void;
|
|
51
49
|
delegateKeyShares({ accountAddress, password, }: {
|
|
52
50
|
accountAddress: string;
|
|
@@ -115,7 +113,7 @@ declare const DynamicWaasEVMConnector_base: (abstract new (...args: any[]) => {
|
|
|
115
113
|
}): Promise<void>;
|
|
116
114
|
updatePassword({ accountAddress, existingPassword, newPassword, }: {
|
|
117
115
|
accountAddress: string;
|
|
118
|
-
existingPassword
|
|
116
|
+
existingPassword?: string | undefined;
|
|
119
117
|
newPassword: string;
|
|
120
118
|
}): Promise<void>;
|
|
121
119
|
signRawMessage({ accountAddress, message, password, }: {
|
|
@@ -125,10 +123,11 @@ declare const DynamicWaasEVMConnector_base: (abstract new (...args: any[]) => {
|
|
|
125
123
|
}): Promise<string>;
|
|
126
124
|
unlockWallet({ accountAddress, password, }: {
|
|
127
125
|
accountAddress: string;
|
|
128
|
-
password
|
|
126
|
+
password?: string | undefined;
|
|
129
127
|
}): Promise<import("@dynamic-labs-wallet/core").GetWalletResponse>;
|
|
130
|
-
getWalletRecoveryState({ accountAddress, }: {
|
|
128
|
+
getWalletRecoveryState({ accountAddress, signedSessionId, }: {
|
|
131
129
|
accountAddress: string;
|
|
130
|
+
signedSessionId: string;
|
|
132
131
|
}): Promise<import("@dynamic-labs-wallet/core").WalletRecoveryState>;
|
|
133
132
|
endSession(): Promise<void>;
|
|
134
133
|
getActiveAccountAddress(): Promise<string | undefined>;
|
|
@@ -189,9 +189,10 @@ class DynamicWaasEVMConnector extends withDynamicWaas(EthereumWalletConnector) {
|
|
|
189
189
|
time: 0,
|
|
190
190
|
traceId,
|
|
191
191
|
});
|
|
192
|
+
const password = yield this.getPasswordIfNeeded({ accountAddress });
|
|
192
193
|
return this.instrumentAsync({
|
|
193
194
|
context: { chainName: 'EVM', startTime, traceId },
|
|
194
|
-
fn: () => __awaiter(this, void 0, void 0, function* () { return this.signAuthorization(parameters); }),
|
|
195
|
+
fn: () => __awaiter(this, void 0, void 0, function* () { return this.signAuthorization(parameters, password); }),
|
|
195
196
|
operation: 'signAuthorization',
|
|
196
197
|
resource: 'client.signAuthorization',
|
|
197
198
|
});
|
|
@@ -211,6 +212,9 @@ class DynamicWaasEVMConnector extends withDynamicWaas(EthereumWalletConnector) {
|
|
|
211
212
|
const mfaToken = yield ((_d = this.getMfaToken) === null || _d === void 0 ? void 0 : _d.call(this, {
|
|
212
213
|
mfaAction: MFAAction.WalletWaasSign,
|
|
213
214
|
}));
|
|
215
|
+
const password = yield this.getPasswordIfNeeded({
|
|
216
|
+
accountAddress,
|
|
217
|
+
});
|
|
214
218
|
const signature = yield this.instrumentAsync({
|
|
215
219
|
context: { chainName: 'EVM', startTime, traceId },
|
|
216
220
|
fn: () => __awaiter(this, void 0, void 0, function* () {
|
|
@@ -220,6 +224,7 @@ class DynamicWaasEVMConnector extends withDynamicWaas(EthereumWalletConnector) {
|
|
|
220
224
|
authToken: (_e = this.getAuthToken) === null || _e === void 0 ? void 0 : _e.call(this),
|
|
221
225
|
message: message,
|
|
222
226
|
mfaToken,
|
|
227
|
+
password,
|
|
223
228
|
signedSessionId,
|
|
224
229
|
traceContext: {
|
|
225
230
|
startTime,
|
|
@@ -247,6 +252,7 @@ class DynamicWaasEVMConnector extends withDynamicWaas(EthereumWalletConnector) {
|
|
|
247
252
|
const mfaToken = yield ((_f = this.getMfaToken) === null || _f === void 0 ? void 0 : _f.call(this, {
|
|
248
253
|
mfaAction: MFAAction.WalletWaasSign,
|
|
249
254
|
}));
|
|
255
|
+
const password = yield this.getPasswordIfNeeded({ accountAddress });
|
|
250
256
|
const tx = yield this.instrumentAsync({
|
|
251
257
|
context: { chainName: 'EVM', startTime, traceId },
|
|
252
258
|
fn: () => __awaiter(this, void 0, void 0, function* () {
|
|
@@ -254,6 +260,7 @@ class DynamicWaasEVMConnector extends withDynamicWaas(EthereumWalletConnector) {
|
|
|
254
260
|
return client.signTransaction({
|
|
255
261
|
authToken: (_g = this.getAuthToken) === null || _g === void 0 ? void 0 : _g.call(this),
|
|
256
262
|
mfaToken,
|
|
263
|
+
password,
|
|
257
264
|
senderAddress: accountAddress,
|
|
258
265
|
signedSessionId,
|
|
259
266
|
traceContext: {
|
|
@@ -283,6 +290,7 @@ class DynamicWaasEVMConnector extends withDynamicWaas(EthereumWalletConnector) {
|
|
|
283
290
|
const mfaToken = yield ((_h = this.getMfaToken) === null || _h === void 0 ? void 0 : _h.call(this, {
|
|
284
291
|
mfaAction: MFAAction.WalletWaasSign,
|
|
285
292
|
}));
|
|
293
|
+
const password = yield this.getPasswordIfNeeded({ accountAddress });
|
|
286
294
|
const signature = yield this.instrumentAsync({
|
|
287
295
|
context: { chainName: 'EVM', startTime, traceId },
|
|
288
296
|
fn: () => __awaiter(this, void 0, void 0, function* () {
|
|
@@ -291,6 +299,7 @@ class DynamicWaasEVMConnector extends withDynamicWaas(EthereumWalletConnector) {
|
|
|
291
299
|
accountAddress,
|
|
292
300
|
authToken: (_j = this.getAuthToken) === null || _j === void 0 ? void 0 : _j.call(this),
|
|
293
301
|
mfaToken,
|
|
302
|
+
password,
|
|
294
303
|
signedSessionId,
|
|
295
304
|
traceContext: {
|
|
296
305
|
startTime,
|
|
@@ -340,12 +349,17 @@ class DynamicWaasEVMConnector extends withDynamicWaas(EthereumWalletConnector) {
|
|
|
340
349
|
}
|
|
341
350
|
signMessageWithContext(_a) {
|
|
342
351
|
return __awaiter(this, arguments, void 0, function* ({ message, context, }) {
|
|
343
|
-
var _b, _c, _d;
|
|
352
|
+
var _b, _c, _d, _e;
|
|
344
353
|
const walletClient = yield this.getWaasWalletClient();
|
|
345
354
|
const signedSessionId = yield ((_b = this.getSignedSessionId) === null || _b === void 0 ? void 0 : _b.call(this));
|
|
346
355
|
if (!signedSessionId) {
|
|
347
356
|
throw new DynamicError('Signed session ID is required');
|
|
348
357
|
}
|
|
358
|
+
const accountAddress = (_c = this.getActiveAccount()) === null || _c === void 0 ? void 0 : _c.address;
|
|
359
|
+
const mfaToken = yield ((_d = this.getMfaToken) === null || _d === void 0 ? void 0 : _d.call(this, {
|
|
360
|
+
mfaAction: MFAAction.WalletWaasSign,
|
|
361
|
+
}));
|
|
362
|
+
const password = yield this.getPasswordIfNeeded({ accountAddress });
|
|
349
363
|
const traceId = this.generateTraceId();
|
|
350
364
|
const startTime = Date.now();
|
|
351
365
|
this.instrument('[signMessageWithContext] start', {
|
|
@@ -355,10 +369,12 @@ class DynamicWaasEVMConnector extends withDynamicWaas(EthereumWalletConnector) {
|
|
|
355
369
|
traceId,
|
|
356
370
|
});
|
|
357
371
|
return walletClient.signMessage({
|
|
358
|
-
accountAddress
|
|
359
|
-
authToken: (
|
|
372
|
+
accountAddress,
|
|
373
|
+
authToken: (_e = this.getAuthToken) === null || _e === void 0 ? void 0 : _e.call(this),
|
|
360
374
|
context,
|
|
361
375
|
message,
|
|
376
|
+
mfaToken,
|
|
377
|
+
password,
|
|
362
378
|
signedSessionId,
|
|
363
379
|
traceContext: {
|
|
364
380
|
startTime,
|