@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 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
@@ -3,6 +3,6 @@
3
3
 
4
4
  Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
- var version = "4.59.2";
6
+ var version = "4.60.1";
7
7
 
8
8
  exports.version = version;
package/package.js CHANGED
@@ -1,4 +1,4 @@
1
1
  'use client'
2
- var version = "4.59.2";
2
+ var version = "4.60.1";
3
3
 
4
4
  export { version };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dynamic-labs/waas-evm",
3
- "version": "4.59.2",
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.860",
21
+ "@dynamic-labs/sdk-api-core": "0.0.864",
22
22
  "viem": "^2.28.4",
23
- "@dynamic-labs/assert-package-version": "4.59.2",
24
- "@dynamic-labs/ethereum-core": "4.59.2",
25
- "@dynamic-labs/logger": "4.59.2",
26
- "@dynamic-labs/types": "4.59.2",
27
- "@dynamic-labs/utils": "4.59.2",
28
- "@dynamic-labs/waas": "4.59.2",
29
- "@dynamic-labs/wallet-connector-core": "4.59.2"
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: (_c = this.getActiveAccount()) === null || _c === void 0 ? void 0 : _c.address,
363
- authToken: (_d = this.getAuthToken) === null || _d === void 0 ? void 0 : _d.call(this),
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: string;
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: string;
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: (_c = this.getActiveAccount()) === null || _c === void 0 ? void 0 : _c.address,
359
- authToken: (_d = this.getAuthToken) === null || _d === void 0 ? void 0 : _d.call(this),
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,