@dynamic-labs/waas-evm 4.48.2 → 4.50.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,31 @@
1
1
 
2
+ ## [4.50.0](https://github.com/dynamic-labs/dynamic-auth/compare/v4.49.0...v4.50.0) (2025-12-09)
3
+
4
+
5
+ ### Features
6
+
7
+ * add usePhantomRedirectEvents hook ([#10030](https://github.com/dynamic-labs/dynamic-auth/issues/10030)) ([fb8585e](https://github.com/dynamic-labs/dynamic-auth/commit/fb8585eec9847cd350be71d28291e9831a3f31b1))
8
+ * introduce embedded wallet reveal complete events ([#10068](https://github.com/dynamic-labs/dynamic-auth/issues/10068)) ([8ea79ce](https://github.com/dynamic-labs/dynamic-auth/commit/8ea79ceaba36745d46759c8e8c6681895b092096))
9
+ * **react-native:** add download file ([#9954](https://github.com/dynamic-labs/dynamic-auth/issues/9954)) ([408b00f](https://github.com/dynamic-labs/dynamic-auth/commit/408b00fabd2afbd87d12efb51e78ecbd89a323d3))
10
+ * **react-native:** add solana Phantom support with client module for listening to events ([#10033](https://github.com/dynamic-labs/dynamic-auth/issues/10033)) ([a5a2d11](https://github.com/dynamic-labs/dynamic-auth/commit/a5a2d11ccd3c102e22dece808a0ba4116155a582))
11
+
12
+
13
+ ### Bug Fixes
14
+
15
+ * remove overflow from token balance dropdown ([#10044](https://github.com/dynamic-labs/dynamic-auth/issues/10044)) ([b37c5bb](https://github.com/dynamic-labs/dynamic-auth/commit/b37c5bb8e8c916b8d685b495555a3a3481cd5f0d))
16
+
17
+ ## [4.49.0](https://github.com/dynamic-labs/dynamic-auth/compare/v4.48.2...v4.49.0) (2025-12-05)
18
+
19
+
20
+ ### Features
21
+
22
+ * add merchant name support for crypto.com onramp ([#10021](https://github.com/dynamic-labs/dynamic-auth/issues/10021)) ([846250f](https://github.com/dynamic-labs/dynamic-auth/commit/846250f3d61b182ec3ae2174c953536e0be3e7ca))
23
+
24
+
25
+ ### Bug Fixes
26
+
27
+ * listen for secondary wallet change in bridge mode ([#10024](https://github.com/dynamic-labs/dynamic-auth/issues/10024)) ([d4d7bb5](https://github.com/dynamic-labs/dynamic-auth/commit/d4d7bb54db9cc4922b57b0cae2d26ac2afd4d21d))
28
+
2
29
  ### [4.48.2](https://github.com/dynamic-labs/dynamic-auth/compare/v4.48.1...v4.48.2) (2025-12-03)
3
30
 
4
31
 
package/package.cjs CHANGED
@@ -3,6 +3,6 @@
3
3
 
4
4
  Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
- var version = "4.48.2";
6
+ var version = "4.50.1";
7
7
 
8
8
  exports.version = version;
package/package.js CHANGED
@@ -1,4 +1,4 @@
1
1
  'use client'
2
- var version = "4.48.2";
2
+ var version = "4.50.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.48.2",
3
+ "version": "4.50.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",
@@ -20,13 +20,13 @@
20
20
  "dependencies": {
21
21
  "@dynamic-labs/sdk-api-core": "0.0.831",
22
22
  "viem": "^2.28.4",
23
- "@dynamic-labs/assert-package-version": "4.48.2",
24
- "@dynamic-labs/ethereum-core": "4.48.2",
25
- "@dynamic-labs/logger": "4.48.2",
26
- "@dynamic-labs/types": "4.48.2",
27
- "@dynamic-labs/utils": "4.48.2",
28
- "@dynamic-labs/waas": "4.48.2",
29
- "@dynamic-labs/wallet-connector-core": "4.48.2"
23
+ "@dynamic-labs/assert-package-version": "4.50.1",
24
+ "@dynamic-labs/ethereum-core": "4.50.1",
25
+ "@dynamic-labs/logger": "4.50.1",
26
+ "@dynamic-labs/types": "4.50.1",
27
+ "@dynamic-labs/utils": "4.50.1",
28
+ "@dynamic-labs/waas": "4.50.1",
29
+ "@dynamic-labs/wallet-connector-core": "4.50.1"
30
30
  },
31
31
  "peerDependencies": {}
32
32
  }
@@ -182,47 +182,131 @@ class DynamicWaasEVMConnector extends waas.withDynamicWaas(ethereumCore.Ethereum
182
182
  }
183
183
  return accounts.toAccount({
184
184
  address: accountAddress,
185
- signAuthorization: (parameters) => _tslib.__awaiter(this, void 0, void 0, function* () { return this.signAuthorization(parameters); }),
185
+ signAuthorization: (parameters) => _tslib.__awaiter(this, void 0, void 0, function* () {
186
+ const traceId = this.generateTraceId();
187
+ const startTime = Date.now();
188
+ this.instrument('[signAuthorization] start', {
189
+ accountAddress,
190
+ chainName: 'EVM',
191
+ key: 'signAuthorization-start',
192
+ startTime,
193
+ time: 0,
194
+ traceId,
195
+ });
196
+ return this.instrumentAsync({
197
+ context: { chainName: 'EVM', startTime, traceId },
198
+ fn: () => _tslib.__awaiter(this, void 0, void 0, function* () { return this.signAuthorization(parameters); }),
199
+ operation: 'signAuthorization',
200
+ resource: 'client.signAuthorization',
201
+ });
202
+ }),
186
203
  signMessage: (_c) => _tslib.__awaiter(this, [_c], void 0, function* ({ message, }) {
187
- var _d, _e;
204
+ var _d;
205
+ const traceId = this.generateTraceId();
206
+ const startTime = Date.now();
207
+ this.instrument('[signMessage] start', {
208
+ accountAddress,
209
+ chainName: 'EVM',
210
+ key: 'signMessage-start',
211
+ startTime,
212
+ time: 0,
213
+ traceId,
214
+ });
188
215
  const mfaToken = yield ((_d = this.getMfaToken) === null || _d === void 0 ? void 0 : _d.call(this, {
189
216
  mfaAction: sdkApiCore.MFAAction.WalletWaasSign,
190
217
  }));
191
- return client.signMessage({
192
- accountAddress,
193
- authToken: (_e = this.getAuthToken) === null || _e === void 0 ? void 0 : _e.call(this),
194
- message: message,
195
- mfaToken,
196
- signedSessionId,
218
+ const signature = yield this.instrumentAsync({
219
+ context: { chainName: 'EVM', startTime, traceId },
220
+ fn: () => _tslib.__awaiter(this, void 0, void 0, function* () {
221
+ var _e;
222
+ return client.signMessage({
223
+ accountAddress,
224
+ authToken: (_e = this.getAuthToken) === null || _e === void 0 ? void 0 : _e.call(this),
225
+ message: message,
226
+ mfaToken,
227
+ signedSessionId,
228
+ traceContext: {
229
+ startTime,
230
+ traceId,
231
+ },
232
+ });
233
+ }),
234
+ operation: 'signMessage',
235
+ resource: 'client.signMessage',
197
236
  });
237
+ return signature;
198
238
  }),
199
239
  signTransaction: (transaction) => _tslib.__awaiter(this, void 0, void 0, function* () {
200
- var _f, _g;
240
+ var _f;
241
+ const traceId = this.generateTraceId();
242
+ const startTime = Date.now();
243
+ this.instrument('[signTransaction] start', {
244
+ accountAddress,
245
+ chainName: 'EVM',
246
+ key: 'signTransaction-start',
247
+ startTime,
248
+ time: 0,
249
+ traceId,
250
+ });
201
251
  const mfaToken = yield ((_f = this.getMfaToken) === null || _f === void 0 ? void 0 : _f.call(this, {
202
252
  mfaAction: sdkApiCore.MFAAction.WalletWaasSign,
203
253
  }));
204
- return client
205
- .signTransaction({
206
- authToken: (_g = this.getAuthToken) === null || _g === void 0 ? void 0 : _g.call(this),
207
- mfaToken,
208
- senderAddress: accountAddress,
209
- signedSessionId,
210
- transaction: viem.serializeTransaction(transaction),
211
- })
212
- .then((tx) => tx);
254
+ const tx = yield this.instrumentAsync({
255
+ context: { chainName: 'EVM', startTime, traceId },
256
+ fn: () => _tslib.__awaiter(this, void 0, void 0, function* () {
257
+ var _g;
258
+ return client.signTransaction({
259
+ authToken: (_g = this.getAuthToken) === null || _g === void 0 ? void 0 : _g.call(this),
260
+ mfaToken,
261
+ senderAddress: accountAddress,
262
+ signedSessionId,
263
+ traceContext: {
264
+ startTime,
265
+ traceId,
266
+ },
267
+ transaction: viem.serializeTransaction(transaction),
268
+ });
269
+ }),
270
+ operation: 'signTransaction',
271
+ resource: 'client.signTransaction',
272
+ });
273
+ return tx;
213
274
  }),
214
275
  signTypedData: (typedData) => _tslib.__awaiter(this, void 0, void 0, function* () {
215
- var _h, _j;
276
+ var _h;
277
+ const traceId = this.generateTraceId();
278
+ const startTime = Date.now();
279
+ this.instrument('[signTypedData] start', {
280
+ accountAddress,
281
+ chainName: 'EVM',
282
+ key: 'signTypedData-start',
283
+ startTime,
284
+ time: 0,
285
+ traceId,
286
+ });
216
287
  const mfaToken = yield ((_h = this.getMfaToken) === null || _h === void 0 ? void 0 : _h.call(this, {
217
288
  mfaAction: sdkApiCore.MFAAction.WalletWaasSign,
218
289
  }));
219
- return client.signTypedData({
220
- accountAddress,
221
- authToken: (_j = this.getAuthToken) === null || _j === void 0 ? void 0 : _j.call(this),
222
- mfaToken,
223
- signedSessionId,
224
- typedData: typedData,
290
+ const signature = yield this.instrumentAsync({
291
+ context: { chainName: 'EVM', startTime, traceId },
292
+ fn: () => _tslib.__awaiter(this, void 0, void 0, function* () {
293
+ var _j;
294
+ return client.signTypedData({
295
+ accountAddress,
296
+ authToken: (_j = this.getAuthToken) === null || _j === void 0 ? void 0 : _j.call(this),
297
+ mfaToken,
298
+ signedSessionId,
299
+ traceContext: {
300
+ startTime,
301
+ traceId,
302
+ },
303
+ typedData: typedData,
304
+ });
305
+ }),
306
+ operation: 'signTypedData',
307
+ resource: 'client.signTypedData',
225
308
  });
309
+ return signature;
226
310
  }),
227
311
  });
228
312
  });
@@ -266,12 +350,24 @@ class DynamicWaasEVMConnector extends waas.withDynamicWaas(ethereumCore.Ethereum
266
350
  if (!signedSessionId) {
267
351
  throw new utils.DynamicError('Signed session ID is required');
268
352
  }
353
+ const traceId = this.generateTraceId();
354
+ const startTime = Date.now();
355
+ this.instrument('[signMessageWithContext] start', {
356
+ key: 'signMessageWithContext-start',
357
+ startTime,
358
+ time: 0,
359
+ traceId,
360
+ });
269
361
  return walletClient.signMessage({
270
362
  accountAddress: (_c = this.getActiveAccount()) === null || _c === void 0 ? void 0 : _c.address,
271
363
  authToken: (_d = this.getAuthToken) === null || _d === void 0 ? void 0 : _d.call(this),
272
364
  context,
273
365
  message,
274
366
  signedSessionId,
367
+ traceContext: {
368
+ startTime,
369
+ traceId,
370
+ },
275
371
  });
276
372
  });
277
373
  }
@@ -451,6 +547,14 @@ class DynamicWaasEVMConnector extends waas.withDynamicWaas(ethereumCore.Ethereum
451
547
  const mfaToken = yield ((_b = this.getMfaToken) === null || _b === void 0 ? void 0 : _b.call(this, {
452
548
  mfaAction: sdkApiCore.MFAAction.WalletWaasSign,
453
549
  }));
550
+ const traceId = this.generateTraceId();
551
+ const startTime = Date.now();
552
+ this.instrument('[signAuthorization] start', {
553
+ key: 'signAuthorization-start',
554
+ startTime,
555
+ time: 0,
556
+ traceId,
557
+ });
454
558
  const authorization = {
455
559
  address: contractAddress,
456
560
  chainId,
@@ -464,6 +568,10 @@ class DynamicWaasEVMConnector extends waas.withDynamicWaas(ethereumCore.Ethereum
464
568
  mfaToken,
465
569
  password,
466
570
  signedSessionId,
571
+ traceContext: {
572
+ startTime,
573
+ traceId,
574
+ },
467
575
  });
468
576
  const parsedSignature = viem.parseSignature(signature);
469
577
  return {
@@ -45,8 +45,8 @@ declare const DynamicWaasEVMConnector_base: (abstract new (...args: any[]) => {
45
45
  accountAddress: string;
46
46
  password?: string | undefined;
47
47
  }): Promise<void>;
48
- createDynamicWaasClient(): Promise<import("@dynamic-labs-wallet/browser-wallet-client").DynamicWalletClient>;
49
- getWaasWalletClient(): Promise<import("@dynamic-labs-wallet/browser-wallet-client").DynamicWalletClient>;
48
+ createDynamicWaasClient(traceContext?: import("dist/packages/waas/utils/instrumentation").TraceContext | undefined): Promise<import("@dynamic-labs-wallet/browser-wallet-client").DynamicWalletClient>;
49
+ getWaasWalletClient(traceContext?: import("dist/packages/waas/utils/instrumentation").TraceContext | undefined): Promise<import("@dynamic-labs-wallet/browser-wallet-client").DynamicWalletClient>;
50
50
  createWalletAccount({ thresholdSignatureScheme, password, }?: {
51
51
  thresholdSignatureScheme?: string | undefined;
52
52
  password?: string | undefined;
@@ -178,47 +178,131 @@ class DynamicWaasEVMConnector extends withDynamicWaas(EthereumWalletConnector) {
178
178
  }
179
179
  return toAccount({
180
180
  address: accountAddress,
181
- signAuthorization: (parameters) => __awaiter(this, void 0, void 0, function* () { return this.signAuthorization(parameters); }),
181
+ signAuthorization: (parameters) => __awaiter(this, void 0, void 0, function* () {
182
+ const traceId = this.generateTraceId();
183
+ const startTime = Date.now();
184
+ this.instrument('[signAuthorization] start', {
185
+ accountAddress,
186
+ chainName: 'EVM',
187
+ key: 'signAuthorization-start',
188
+ startTime,
189
+ time: 0,
190
+ traceId,
191
+ });
192
+ return this.instrumentAsync({
193
+ context: { chainName: 'EVM', startTime, traceId },
194
+ fn: () => __awaiter(this, void 0, void 0, function* () { return this.signAuthorization(parameters); }),
195
+ operation: 'signAuthorization',
196
+ resource: 'client.signAuthorization',
197
+ });
198
+ }),
182
199
  signMessage: (_c) => __awaiter(this, [_c], void 0, function* ({ message, }) {
183
- var _d, _e;
200
+ var _d;
201
+ const traceId = this.generateTraceId();
202
+ const startTime = Date.now();
203
+ this.instrument('[signMessage] start', {
204
+ accountAddress,
205
+ chainName: 'EVM',
206
+ key: 'signMessage-start',
207
+ startTime,
208
+ time: 0,
209
+ traceId,
210
+ });
184
211
  const mfaToken = yield ((_d = this.getMfaToken) === null || _d === void 0 ? void 0 : _d.call(this, {
185
212
  mfaAction: MFAAction.WalletWaasSign,
186
213
  }));
187
- return client.signMessage({
188
- accountAddress,
189
- authToken: (_e = this.getAuthToken) === null || _e === void 0 ? void 0 : _e.call(this),
190
- message: message,
191
- mfaToken,
192
- signedSessionId,
214
+ const signature = yield this.instrumentAsync({
215
+ context: { chainName: 'EVM', startTime, traceId },
216
+ fn: () => __awaiter(this, void 0, void 0, function* () {
217
+ var _e;
218
+ return client.signMessage({
219
+ accountAddress,
220
+ authToken: (_e = this.getAuthToken) === null || _e === void 0 ? void 0 : _e.call(this),
221
+ message: message,
222
+ mfaToken,
223
+ signedSessionId,
224
+ traceContext: {
225
+ startTime,
226
+ traceId,
227
+ },
228
+ });
229
+ }),
230
+ operation: 'signMessage',
231
+ resource: 'client.signMessage',
193
232
  });
233
+ return signature;
194
234
  }),
195
235
  signTransaction: (transaction) => __awaiter(this, void 0, void 0, function* () {
196
- var _f, _g;
236
+ var _f;
237
+ const traceId = this.generateTraceId();
238
+ const startTime = Date.now();
239
+ this.instrument('[signTransaction] start', {
240
+ accountAddress,
241
+ chainName: 'EVM',
242
+ key: 'signTransaction-start',
243
+ startTime,
244
+ time: 0,
245
+ traceId,
246
+ });
197
247
  const mfaToken = yield ((_f = this.getMfaToken) === null || _f === void 0 ? void 0 : _f.call(this, {
198
248
  mfaAction: MFAAction.WalletWaasSign,
199
249
  }));
200
- return client
201
- .signTransaction({
202
- authToken: (_g = this.getAuthToken) === null || _g === void 0 ? void 0 : _g.call(this),
203
- mfaToken,
204
- senderAddress: accountAddress,
205
- signedSessionId,
206
- transaction: serializeTransaction(transaction),
207
- })
208
- .then((tx) => tx);
250
+ const tx = yield this.instrumentAsync({
251
+ context: { chainName: 'EVM', startTime, traceId },
252
+ fn: () => __awaiter(this, void 0, void 0, function* () {
253
+ var _g;
254
+ return client.signTransaction({
255
+ authToken: (_g = this.getAuthToken) === null || _g === void 0 ? void 0 : _g.call(this),
256
+ mfaToken,
257
+ senderAddress: accountAddress,
258
+ signedSessionId,
259
+ traceContext: {
260
+ startTime,
261
+ traceId,
262
+ },
263
+ transaction: serializeTransaction(transaction),
264
+ });
265
+ }),
266
+ operation: 'signTransaction',
267
+ resource: 'client.signTransaction',
268
+ });
269
+ return tx;
209
270
  }),
210
271
  signTypedData: (typedData) => __awaiter(this, void 0, void 0, function* () {
211
- var _h, _j;
272
+ var _h;
273
+ const traceId = this.generateTraceId();
274
+ const startTime = Date.now();
275
+ this.instrument('[signTypedData] start', {
276
+ accountAddress,
277
+ chainName: 'EVM',
278
+ key: 'signTypedData-start',
279
+ startTime,
280
+ time: 0,
281
+ traceId,
282
+ });
212
283
  const mfaToken = yield ((_h = this.getMfaToken) === null || _h === void 0 ? void 0 : _h.call(this, {
213
284
  mfaAction: MFAAction.WalletWaasSign,
214
285
  }));
215
- return client.signTypedData({
216
- accountAddress,
217
- authToken: (_j = this.getAuthToken) === null || _j === void 0 ? void 0 : _j.call(this),
218
- mfaToken,
219
- signedSessionId,
220
- typedData: typedData,
286
+ const signature = yield this.instrumentAsync({
287
+ context: { chainName: 'EVM', startTime, traceId },
288
+ fn: () => __awaiter(this, void 0, void 0, function* () {
289
+ var _j;
290
+ return client.signTypedData({
291
+ accountAddress,
292
+ authToken: (_j = this.getAuthToken) === null || _j === void 0 ? void 0 : _j.call(this),
293
+ mfaToken,
294
+ signedSessionId,
295
+ traceContext: {
296
+ startTime,
297
+ traceId,
298
+ },
299
+ typedData: typedData,
300
+ });
301
+ }),
302
+ operation: 'signTypedData',
303
+ resource: 'client.signTypedData',
221
304
  });
305
+ return signature;
222
306
  }),
223
307
  });
224
308
  });
@@ -262,12 +346,24 @@ class DynamicWaasEVMConnector extends withDynamicWaas(EthereumWalletConnector) {
262
346
  if (!signedSessionId) {
263
347
  throw new DynamicError('Signed session ID is required');
264
348
  }
349
+ const traceId = this.generateTraceId();
350
+ const startTime = Date.now();
351
+ this.instrument('[signMessageWithContext] start', {
352
+ key: 'signMessageWithContext-start',
353
+ startTime,
354
+ time: 0,
355
+ traceId,
356
+ });
265
357
  return walletClient.signMessage({
266
358
  accountAddress: (_c = this.getActiveAccount()) === null || _c === void 0 ? void 0 : _c.address,
267
359
  authToken: (_d = this.getAuthToken) === null || _d === void 0 ? void 0 : _d.call(this),
268
360
  context,
269
361
  message,
270
362
  signedSessionId,
363
+ traceContext: {
364
+ startTime,
365
+ traceId,
366
+ },
271
367
  });
272
368
  });
273
369
  }
@@ -447,6 +543,14 @@ class DynamicWaasEVMConnector extends withDynamicWaas(EthereumWalletConnector) {
447
543
  const mfaToken = yield ((_b = this.getMfaToken) === null || _b === void 0 ? void 0 : _b.call(this, {
448
544
  mfaAction: MFAAction.WalletWaasSign,
449
545
  }));
546
+ const traceId = this.generateTraceId();
547
+ const startTime = Date.now();
548
+ this.instrument('[signAuthorization] start', {
549
+ key: 'signAuthorization-start',
550
+ startTime,
551
+ time: 0,
552
+ traceId,
553
+ });
450
554
  const authorization = {
451
555
  address: contractAddress,
452
556
  chainId,
@@ -460,6 +564,10 @@ class DynamicWaasEVMConnector extends withDynamicWaas(EthereumWalletConnector) {
460
564
  mfaToken,
461
565
  password,
462
566
  signedSessionId,
567
+ traceContext: {
568
+ startTime,
569
+ traceId,
570
+ },
463
571
  });
464
572
  const parsedSignature = parseSignature(signature);
465
573
  return {