@dynamic-labs/waas-evm 4.69.0 → 4.71.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 +34 -0
- package/package.cjs +1 -1
- package/package.js +1 -1
- package/package.json +10 -10
- package/src/DynamicWaasEVMConnector.cjs +36 -16
- package/src/DynamicWaasEVMConnector.d.ts +3 -3
- package/src/DynamicWaasEVMConnector.js +37 -17
package/CHANGELOG.md
CHANGED
|
@@ -1,4 +1,38 @@
|
|
|
1
1
|
|
|
2
|
+
## [4.71.0](https://github.com/dynamic-labs/dynamic-auth/compare/v4.70.0...v4.71.0) (2026-03-24)
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
|
|
7
|
+
* add Tempo chain connector and core type definitions ([#10672](https://github.com/dynamic-labs/dynamic-auth/issues/10672)) ([0439c15](https://github.com/dynamic-labs/dynamic-auth/commit/0439c153238359083b9f226dcd2ebf6d83e26519))
|
|
8
|
+
* add verifySocial method to demo site step-up auth methods ([#10721](https://github.com/dynamic-labs/dynamic-auth/issues/10721)) ([b9ef517](https://github.com/dynamic-labs/dynamic-auth/commit/b9ef5173df3e3ed08f718de49b036ea899dc1832))
|
|
9
|
+
* **demo:** add Tempo chain support to demo app ([#10674](https://github.com/dynamic-labs/dynamic-auth/issues/10674)) ([a5918fc](https://github.com/dynamic-labs/dynamic-auth/commit/a5918fc2ab0821e7f025aa470573129f71de33cc))
|
|
10
|
+
* repurpose verifyWithExternalJwt for elevated access token requests ([#10743](https://github.com/dynamic-labs/dynamic-auth/issues/10743)) ([d1abda0](https://github.com/dynamic-labs/dynamic-auth/commit/d1abda0111d68c78226d30bd0630e6e341dedad9))
|
|
11
|
+
* **sdk:** add Tempo chain support to UI components ([#10673](https://github.com/dynamic-labs/dynamic-auth/issues/10673)) ([aec9fbb](https://github.com/dynamic-labs/dynamic-auth/commit/aec9fbb20754a2935bffe106e7e8715f46be3de7))
|
|
12
|
+
* support multi-chain wallet creation in createWallet ([#10694](https://github.com/dynamic-labs/dynamic-auth/issues/10694)) ([0b6b57f](https://github.com/dynamic-labs/dynamic-auth/commit/0b6b57f4179c35d1f86d1c8c9c40f52cb307c849))
|
|
13
|
+
* wire up elevatedAccessToken for sign, reshare, and refresh operations ([#10737](https://github.com/dynamic-labs/dynamic-auth/issues/10737)) ([f9d5c76](https://github.com/dynamic-labs/dynamic-auth/commit/f9d5c768037aff4f5d7994b6bc6c338621a6ee6b))
|
|
14
|
+
|
|
15
|
+
## [4.70.0](https://github.com/dynamic-labs/dynamic-auth/compare/v4.69.0...v4.70.0) (2026-03-23)
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
### Features
|
|
19
|
+
|
|
20
|
+
* add step-up auth for passkey and TOTP device deletion ([#10688](https://github.com/dynamic-labs/dynamic-auth/issues/10688)) ([aeae325](https://github.com/dynamic-labs/dynamic-auth/commit/aeae32551d3e29c59a1d183984f1d9f00f1df2cb))
|
|
21
|
+
* add stepup authMode to useSocialAuth for OAuth step-up authentication ([#10701](https://github.com/dynamic-labs/dynamic-auth/issues/10701)) ([f8ac0e4](https://github.com/dynamic-labs/dynamic-auth/commit/f8ac0e4a6a039e61d1c83e434e2f678981ff3911))
|
|
22
|
+
* add StepUpReauthSocialView and wire social option in step-up reauth UI ([#10703](https://github.com/dynamic-labs/dynamic-auth/issues/10703)) ([a49393f](https://github.com/dynamic-labs/dynamic-auth/commit/a49393f54a8f210f9cbca892339c3012d38cc5c2))
|
|
23
|
+
* add useStepUpSocial and extend step-up auth for OAuth reauthentication ([#10702](https://github.com/dynamic-labs/dynamic-auth/issues/10702)) ([fb7e21d](https://github.com/dynamic-labs/dynamic-auth/commit/fb7e21d47b3e40659ae3b8ca9321efe1d4401e60))
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
### Bug Fixes
|
|
27
|
+
|
|
28
|
+
* aleo defaulting to testnet when connecting ([#10726](https://github.com/dynamic-labs/dynamic-auth/issues/10726)) ([24b0378](https://github.com/dynamic-labs/dynamic-auth/commit/24b0378a25902f5a134940aeeadc9846058d6fb1))
|
|
29
|
+
* override basic-ftp to >=5.2.0 (CVE-2026-27699) ([#10715](https://github.com/dynamic-labs/dynamic-auth/issues/10715)) ([b68a405](https://github.com/dynamic-labs/dynamic-auth/commit/b68a405453f0ea7e04c14492c195b46fbf25b47e))
|
|
30
|
+
* override minimatch to patched versions (CVE-2026-26996) ([#10718](https://github.com/dynamic-labs/dynamic-auth/issues/10718)) ([a69aaee](https://github.com/dynamic-labs/dynamic-auth/commit/a69aaee0859b7e1292a244abde7084f7c4cfdb72))
|
|
31
|
+
* override simple-git to >=3.32.3 (CVE-2026-28292) ([#10717](https://github.com/dynamic-labs/dynamic-auth/issues/10717)) ([8b86545](https://github.com/dynamic-labs/dynamic-auth/commit/8b865453737e4ff0ef9e8d0fbb99ea5f0359af3b))
|
|
32
|
+
* revert session chaining PR to fix IndexedDB webview crash ([#10710](https://github.com/dynamic-labs/dynamic-auth/issues/10710)) ([c4dfe66](https://github.com/dynamic-labs/dynamic-auth/commit/c4dfe66f73e6b9b7115260b06fd90fc0a167e139)), closes [#10706](https://github.com/dynamic-labs/dynamic-auth/issues/10706) [#10423](https://github.com/dynamic-labs/dynamic-auth/issues/10423) [#10423](https://github.com/dynamic-labs/dynamic-auth/issues/10423) [#10706](https://github.com/dynamic-labs/dynamic-auth/issues/10706) [#10423](https://github.com/dynamic-labs/dynamic-auth/issues/10423)
|
|
33
|
+
* update tar, serialize-javascript, svgo overrides ([#10727](https://github.com/dynamic-labs/dynamic-auth/issues/10727)) ([3c764f7](https://github.com/dynamic-labs/dynamic-auth/commit/3c764f71ce2870075eaa800389719a46d8dac233))
|
|
34
|
+
* upgrade rollup to patched versions (CVE-2026-27606) ([#10724](https://github.com/dynamic-labs/dynamic-auth/issues/10724)) ([735133e](https://github.com/dynamic-labs/dynamic-auth/commit/735133e6d4129cad20ae82b86f9507ab9227b36e))
|
|
35
|
+
|
|
2
36
|
## [4.69.0](https://github.com/dynamic-labs/dynamic-auth/compare/v4.68.0...v4.69.0) (2026-03-19)
|
|
3
37
|
|
|
4
38
|
|
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.71.0",
|
|
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.
|
|
22
|
-
"viem": "^2.
|
|
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.
|
|
21
|
+
"@dynamic-labs/sdk-api-core": "0.0.909",
|
|
22
|
+
"viem": "^2.45.3",
|
|
23
|
+
"@dynamic-labs/assert-package-version": "4.71.0",
|
|
24
|
+
"@dynamic-labs/ethereum-core": "4.71.0",
|
|
25
|
+
"@dynamic-labs/logger": "4.71.0",
|
|
26
|
+
"@dynamic-labs/types": "4.71.0",
|
|
27
|
+
"@dynamic-labs/utils": "4.71.0",
|
|
28
|
+
"@dynamic-labs/waas": "4.71.0",
|
|
29
|
+
"@dynamic-labs/wallet-connector-core": "4.71.0"
|
|
30
30
|
},
|
|
31
31
|
"peerDependencies": {}
|
|
32
32
|
}
|
|
@@ -199,7 +199,7 @@ class DynamicWaasEVMConnector extends waas.withDynamicWaas(ethereumCore.Ethereum
|
|
|
199
199
|
});
|
|
200
200
|
}),
|
|
201
201
|
signMessage: (_c) => _tslib.__awaiter(this, [_c], void 0, function* ({ message, }) {
|
|
202
|
-
var _d;
|
|
202
|
+
var _d, _e;
|
|
203
203
|
const traceId = this.generateTraceId();
|
|
204
204
|
const startTime = Date.now();
|
|
205
205
|
this.instrument('[signMessage] start', {
|
|
@@ -213,16 +213,20 @@ class DynamicWaasEVMConnector extends waas.withDynamicWaas(ethereumCore.Ethereum
|
|
|
213
213
|
const mfaToken = yield ((_d = this.getMfaToken) === null || _d === void 0 ? void 0 : _d.call(this, {
|
|
214
214
|
mfaAction: sdkApiCore.MFAAction.WalletWaasSign,
|
|
215
215
|
}));
|
|
216
|
+
const elevatedAccessToken = yield ((_e = this.getElevatedAccessToken) === null || _e === void 0 ? void 0 : _e.call(this, {
|
|
217
|
+
scope: sdkApiCore.TokenScope.Walletsign,
|
|
218
|
+
}));
|
|
216
219
|
const password = yield this.getPasswordIfNeeded({
|
|
217
220
|
accountAddress,
|
|
218
221
|
});
|
|
219
222
|
const signature = yield this.instrumentAsync({
|
|
220
223
|
context: { chainName: 'EVM', startTime, traceId },
|
|
221
224
|
fn: () => _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
222
|
-
var
|
|
225
|
+
var _f;
|
|
223
226
|
return client.signMessage({
|
|
224
227
|
accountAddress,
|
|
225
|
-
authToken: (
|
|
228
|
+
authToken: (_f = this.getAuthToken) === null || _f === void 0 ? void 0 : _f.call(this),
|
|
229
|
+
elevatedAccessToken,
|
|
226
230
|
message: message,
|
|
227
231
|
mfaToken,
|
|
228
232
|
password,
|
|
@@ -239,7 +243,7 @@ class DynamicWaasEVMConnector extends waas.withDynamicWaas(ethereumCore.Ethereum
|
|
|
239
243
|
return signature;
|
|
240
244
|
}),
|
|
241
245
|
signTransaction: (transaction) => _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
242
|
-
var
|
|
246
|
+
var _g, _h;
|
|
243
247
|
const traceId = this.generateTraceId();
|
|
244
248
|
const startTime = Date.now();
|
|
245
249
|
this.instrument('[signTransaction] start', {
|
|
@@ -250,9 +254,12 @@ class DynamicWaasEVMConnector extends waas.withDynamicWaas(ethereumCore.Ethereum
|
|
|
250
254
|
time: 0,
|
|
251
255
|
traceId,
|
|
252
256
|
});
|
|
253
|
-
const mfaToken = yield ((
|
|
257
|
+
const mfaToken = yield ((_g = this.getMfaToken) === null || _g === void 0 ? void 0 : _g.call(this, {
|
|
254
258
|
mfaAction: sdkApiCore.MFAAction.WalletWaasSign,
|
|
255
259
|
}));
|
|
260
|
+
const elevatedAccessToken = yield ((_h = this.getElevatedAccessToken) === null || _h === void 0 ? void 0 : _h.call(this, {
|
|
261
|
+
scope: sdkApiCore.TokenScope.Walletsign,
|
|
262
|
+
}));
|
|
256
263
|
const password = yield this.getPasswordIfNeeded({ accountAddress });
|
|
257
264
|
// Ensure chainId is set so the signed transaction matches the RPC's chain (EIP-155).
|
|
258
265
|
// Wrong chainId causes "invalid signature: Failed to recover the signer" on broadcast.
|
|
@@ -263,10 +270,11 @@ class DynamicWaasEVMConnector extends waas.withDynamicWaas(ethereumCore.Ethereum
|
|
|
263
270
|
const tx = yield this.instrumentAsync({
|
|
264
271
|
context: { chainName: 'EVM', startTime, traceId },
|
|
265
272
|
fn: () => _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
266
|
-
var
|
|
267
|
-
return client.signTransaction(Object.assign(Object.assign({ authToken: (
|
|
273
|
+
var _j;
|
|
274
|
+
return client.signTransaction(Object.assign(Object.assign({ authToken: (_j = this.getAuthToken) === null || _j === void 0 ? void 0 : _j.call(this) }, (currentChainId !== undefined && {
|
|
268
275
|
chainId: currentChainId.toString(),
|
|
269
|
-
})), {
|
|
276
|
+
})), { elevatedAccessToken,
|
|
277
|
+
mfaToken,
|
|
270
278
|
password, senderAddress: accountAddress, signedSessionId, traceContext: {
|
|
271
279
|
startTime,
|
|
272
280
|
traceId,
|
|
@@ -278,7 +286,7 @@ class DynamicWaasEVMConnector extends waas.withDynamicWaas(ethereumCore.Ethereum
|
|
|
278
286
|
return tx;
|
|
279
287
|
}),
|
|
280
288
|
signTypedData: (typedData) => _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
281
|
-
var
|
|
289
|
+
var _k, _l;
|
|
282
290
|
const traceId = this.generateTraceId();
|
|
283
291
|
const startTime = Date.now();
|
|
284
292
|
this.instrument('[signTypedData] start', {
|
|
@@ -289,17 +297,21 @@ class DynamicWaasEVMConnector extends waas.withDynamicWaas(ethereumCore.Ethereum
|
|
|
289
297
|
time: 0,
|
|
290
298
|
traceId,
|
|
291
299
|
});
|
|
292
|
-
const mfaToken = yield ((
|
|
300
|
+
const mfaToken = yield ((_k = this.getMfaToken) === null || _k === void 0 ? void 0 : _k.call(this, {
|
|
293
301
|
mfaAction: sdkApiCore.MFAAction.WalletWaasSign,
|
|
294
302
|
}));
|
|
303
|
+
const elevatedAccessToken = yield ((_l = this.getElevatedAccessToken) === null || _l === void 0 ? void 0 : _l.call(this, {
|
|
304
|
+
scope: sdkApiCore.TokenScope.Walletsign,
|
|
305
|
+
}));
|
|
295
306
|
const password = yield this.getPasswordIfNeeded({ accountAddress });
|
|
296
307
|
const signature = yield this.instrumentAsync({
|
|
297
308
|
context: { chainName: 'EVM', startTime, traceId },
|
|
298
309
|
fn: () => _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
299
|
-
var
|
|
310
|
+
var _m;
|
|
300
311
|
return client.signTypedData({
|
|
301
312
|
accountAddress,
|
|
302
|
-
authToken: (
|
|
313
|
+
authToken: (_m = this.getAuthToken) === null || _m === void 0 ? void 0 : _m.call(this),
|
|
314
|
+
elevatedAccessToken,
|
|
303
315
|
mfaToken,
|
|
304
316
|
password,
|
|
305
317
|
signedSessionId,
|
|
@@ -359,7 +371,7 @@ class DynamicWaasEVMConnector extends waas.withDynamicWaas(ethereumCore.Ethereum
|
|
|
359
371
|
}
|
|
360
372
|
signMessageWithContext(_a) {
|
|
361
373
|
return _tslib.__awaiter(this, arguments, void 0, function* ({ message, context, }) {
|
|
362
|
-
var _b, _c, _d, _e;
|
|
374
|
+
var _b, _c, _d, _e, _f;
|
|
363
375
|
const walletClient = yield this.getWaasWalletClient();
|
|
364
376
|
const signedSessionId = yield ((_b = this.getSignedSessionId) === null || _b === void 0 ? void 0 : _b.call(this));
|
|
365
377
|
if (!signedSessionId) {
|
|
@@ -369,6 +381,9 @@ class DynamicWaasEVMConnector extends waas.withDynamicWaas(ethereumCore.Ethereum
|
|
|
369
381
|
const mfaToken = yield ((_d = this.getMfaToken) === null || _d === void 0 ? void 0 : _d.call(this, {
|
|
370
382
|
mfaAction: sdkApiCore.MFAAction.WalletWaasSign,
|
|
371
383
|
}));
|
|
384
|
+
const elevatedAccessToken = yield ((_e = this.getElevatedAccessToken) === null || _e === void 0 ? void 0 : _e.call(this, {
|
|
385
|
+
scope: sdkApiCore.TokenScope.Walletsign,
|
|
386
|
+
}));
|
|
372
387
|
const password = yield this.getPasswordIfNeeded({ accountAddress });
|
|
373
388
|
const traceId = this.generateTraceId();
|
|
374
389
|
const startTime = Date.now();
|
|
@@ -380,8 +395,9 @@ class DynamicWaasEVMConnector extends waas.withDynamicWaas(ethereumCore.Ethereum
|
|
|
380
395
|
});
|
|
381
396
|
return walletClient.signMessage({
|
|
382
397
|
accountAddress,
|
|
383
|
-
authToken: (
|
|
398
|
+
authToken: (_f = this.getAuthToken) === null || _f === void 0 ? void 0 : _f.call(this),
|
|
384
399
|
context,
|
|
400
|
+
elevatedAccessToken,
|
|
385
401
|
message,
|
|
386
402
|
mfaToken,
|
|
387
403
|
password,
|
|
@@ -552,7 +568,7 @@ class DynamicWaasEVMConnector extends waas.withDynamicWaas(ethereumCore.Ethereum
|
|
|
552
568
|
}
|
|
553
569
|
signAuthorization(parameters, password) {
|
|
554
570
|
return _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
555
|
-
var _a, _b, _c;
|
|
571
|
+
var _a, _b, _c, _d;
|
|
556
572
|
const { address: contractAddress, nonce, chainId } = parameters;
|
|
557
573
|
if (!contractAddress) {
|
|
558
574
|
throw new Error('Contract address not found');
|
|
@@ -573,6 +589,9 @@ class DynamicWaasEVMConnector extends waas.withDynamicWaas(ethereumCore.Ethereum
|
|
|
573
589
|
const mfaToken = yield ((_b = this.getMfaToken) === null || _b === void 0 ? void 0 : _b.call(this, {
|
|
574
590
|
mfaAction: sdkApiCore.MFAAction.WalletWaasSign,
|
|
575
591
|
}));
|
|
592
|
+
const elevatedAccessToken = yield ((_c = this.getElevatedAccessToken) === null || _c === void 0 ? void 0 : _c.call(this, {
|
|
593
|
+
scope: sdkApiCore.TokenScope.Walletsign,
|
|
594
|
+
}));
|
|
576
595
|
const traceId = this.generateTraceId();
|
|
577
596
|
const startTime = Date.now();
|
|
578
597
|
this.instrument('[signAuthorization] start', {
|
|
@@ -588,8 +607,9 @@ class DynamicWaasEVMConnector extends waas.withDynamicWaas(ethereumCore.Ethereum
|
|
|
588
607
|
};
|
|
589
608
|
const signature = yield walletClient.signRawMessage({
|
|
590
609
|
accountAddress: address,
|
|
591
|
-
authToken: (
|
|
610
|
+
authToken: (_d = this.getAuthToken) === null || _d === void 0 ? void 0 : _d.call(this),
|
|
592
611
|
context: { eip7702Auth: authorization },
|
|
612
|
+
elevatedAccessToken,
|
|
593
613
|
message: utils$1.hashAuthorization(authorization).slice(2),
|
|
594
614
|
mfaToken,
|
|
595
615
|
password,
|
|
@@ -2,7 +2,7 @@ import { Account, CustomSource, Hex, Transport, Chain as ViemChain, WalletClient
|
|
|
2
2
|
import { LocalAccount, SignAuthorizationParameters, SignAuthorizationReturnType } from 'viem/accounts';
|
|
3
3
|
import { EthereumWalletConnector, EthereumWalletConnectorOpts, SwitchNetworkOps } from '@dynamic-labs/ethereum-core';
|
|
4
4
|
import { Logger } from '@dynamic-labs/logger';
|
|
5
|
-
import { JwtVerifiedCredential, MFAAction, SignMessageContext } from '@dynamic-labs/sdk-api-core';
|
|
5
|
+
import { JwtVerifiedCredential, MFAAction, SignMessageContext, TokenScope } from '@dynamic-labs/sdk-api-core';
|
|
6
6
|
import { IUITransaction } from '@dynamic-labs/types';
|
|
7
7
|
import { WaasExportHandler } from '@dynamic-labs/waas';
|
|
8
8
|
import { IDynamicWaasConnector } from '@dynamic-labs/wallet-connector-core';
|
|
@@ -26,7 +26,7 @@ declare const DynamicWaasEVMConnector_base: (abstract new (...args: any[]) => {
|
|
|
26
26
|
getWalletPassword?: import("@dynamic-labs/wallet-connector-core").GetWalletPasswordFn | undefined;
|
|
27
27
|
getAuthToken?: (() => string) | undefined;
|
|
28
28
|
getElevatedAccessToken?: ((props: {
|
|
29
|
-
scope:
|
|
29
|
+
scope: TokenScope;
|
|
30
30
|
}) => Promise<string | undefined>) | undefined;
|
|
31
31
|
environmentId?: string | undefined;
|
|
32
32
|
baseApiUrl?: string | undefined;
|
|
@@ -44,7 +44,7 @@ declare const DynamicWaasEVMConnector_base: (abstract new (...args: any[]) => {
|
|
|
44
44
|
mfaAction?: MFAAction | undefined;
|
|
45
45
|
} | undefined) => Promise<string | undefined>): void;
|
|
46
46
|
setGetElevatedAccessTokenFunction(getElevatedAccessToken: (params: {
|
|
47
|
-
scope:
|
|
47
|
+
scope: TokenScope;
|
|
48
48
|
}) => Promise<string | undefined>): void;
|
|
49
49
|
setGetWalletPasswordFunction(getWalletPassword: import("@dynamic-labs/wallet-connector-core").GetWalletPasswordFn): void;
|
|
50
50
|
getPasswordIfNeeded({ accountAddress, }: {
|
|
@@ -5,7 +5,7 @@ import { toAccount } from 'viem/accounts';
|
|
|
5
5
|
import { hashAuthorization } from 'viem/utils';
|
|
6
6
|
import { EthereumWalletConnector, createWalletClientWithUiConfirmation, getOrMapViemChain, ViemUiTransaction } from '@dynamic-labs/ethereum-core';
|
|
7
7
|
import { Logger } from '@dynamic-labs/logger';
|
|
8
|
-
import { MFAAction } from '@dynamic-labs/sdk-api-core';
|
|
8
|
+
import { MFAAction, TokenScope } from '@dynamic-labs/sdk-api-core';
|
|
9
9
|
import { DynamicError } from '@dynamic-labs/utils';
|
|
10
10
|
import { withDynamicWaas, WaasExportHandler } from '@dynamic-labs/waas';
|
|
11
11
|
import { isSameAddress } from '@dynamic-labs/wallet-connector-core';
|
|
@@ -195,7 +195,7 @@ class DynamicWaasEVMConnector extends withDynamicWaas(EthereumWalletConnector) {
|
|
|
195
195
|
});
|
|
196
196
|
}),
|
|
197
197
|
signMessage: (_c) => __awaiter(this, [_c], void 0, function* ({ message, }) {
|
|
198
|
-
var _d;
|
|
198
|
+
var _d, _e;
|
|
199
199
|
const traceId = this.generateTraceId();
|
|
200
200
|
const startTime = Date.now();
|
|
201
201
|
this.instrument('[signMessage] start', {
|
|
@@ -209,16 +209,20 @@ class DynamicWaasEVMConnector extends withDynamicWaas(EthereumWalletConnector) {
|
|
|
209
209
|
const mfaToken = yield ((_d = this.getMfaToken) === null || _d === void 0 ? void 0 : _d.call(this, {
|
|
210
210
|
mfaAction: MFAAction.WalletWaasSign,
|
|
211
211
|
}));
|
|
212
|
+
const elevatedAccessToken = yield ((_e = this.getElevatedAccessToken) === null || _e === void 0 ? void 0 : _e.call(this, {
|
|
213
|
+
scope: TokenScope.Walletsign,
|
|
214
|
+
}));
|
|
212
215
|
const password = yield this.getPasswordIfNeeded({
|
|
213
216
|
accountAddress,
|
|
214
217
|
});
|
|
215
218
|
const signature = yield this.instrumentAsync({
|
|
216
219
|
context: { chainName: 'EVM', startTime, traceId },
|
|
217
220
|
fn: () => __awaiter(this, void 0, void 0, function* () {
|
|
218
|
-
var
|
|
221
|
+
var _f;
|
|
219
222
|
return client.signMessage({
|
|
220
223
|
accountAddress,
|
|
221
|
-
authToken: (
|
|
224
|
+
authToken: (_f = this.getAuthToken) === null || _f === void 0 ? void 0 : _f.call(this),
|
|
225
|
+
elevatedAccessToken,
|
|
222
226
|
message: message,
|
|
223
227
|
mfaToken,
|
|
224
228
|
password,
|
|
@@ -235,7 +239,7 @@ class DynamicWaasEVMConnector extends withDynamicWaas(EthereumWalletConnector) {
|
|
|
235
239
|
return signature;
|
|
236
240
|
}),
|
|
237
241
|
signTransaction: (transaction) => __awaiter(this, void 0, void 0, function* () {
|
|
238
|
-
var
|
|
242
|
+
var _g, _h;
|
|
239
243
|
const traceId = this.generateTraceId();
|
|
240
244
|
const startTime = Date.now();
|
|
241
245
|
this.instrument('[signTransaction] start', {
|
|
@@ -246,9 +250,12 @@ class DynamicWaasEVMConnector extends withDynamicWaas(EthereumWalletConnector) {
|
|
|
246
250
|
time: 0,
|
|
247
251
|
traceId,
|
|
248
252
|
});
|
|
249
|
-
const mfaToken = yield ((
|
|
253
|
+
const mfaToken = yield ((_g = this.getMfaToken) === null || _g === void 0 ? void 0 : _g.call(this, {
|
|
250
254
|
mfaAction: MFAAction.WalletWaasSign,
|
|
251
255
|
}));
|
|
256
|
+
const elevatedAccessToken = yield ((_h = this.getElevatedAccessToken) === null || _h === void 0 ? void 0 : _h.call(this, {
|
|
257
|
+
scope: TokenScope.Walletsign,
|
|
258
|
+
}));
|
|
252
259
|
const password = yield this.getPasswordIfNeeded({ accountAddress });
|
|
253
260
|
// Ensure chainId is set so the signed transaction matches the RPC's chain (EIP-155).
|
|
254
261
|
// Wrong chainId causes "invalid signature: Failed to recover the signer" on broadcast.
|
|
@@ -259,10 +266,11 @@ class DynamicWaasEVMConnector extends withDynamicWaas(EthereumWalletConnector) {
|
|
|
259
266
|
const tx = yield this.instrumentAsync({
|
|
260
267
|
context: { chainName: 'EVM', startTime, traceId },
|
|
261
268
|
fn: () => __awaiter(this, void 0, void 0, function* () {
|
|
262
|
-
var
|
|
263
|
-
return client.signTransaction(Object.assign(Object.assign({ authToken: (
|
|
269
|
+
var _j;
|
|
270
|
+
return client.signTransaction(Object.assign(Object.assign({ authToken: (_j = this.getAuthToken) === null || _j === void 0 ? void 0 : _j.call(this) }, (currentChainId !== undefined && {
|
|
264
271
|
chainId: currentChainId.toString(),
|
|
265
|
-
})), {
|
|
272
|
+
})), { elevatedAccessToken,
|
|
273
|
+
mfaToken,
|
|
266
274
|
password, senderAddress: accountAddress, signedSessionId, traceContext: {
|
|
267
275
|
startTime,
|
|
268
276
|
traceId,
|
|
@@ -274,7 +282,7 @@ class DynamicWaasEVMConnector extends withDynamicWaas(EthereumWalletConnector) {
|
|
|
274
282
|
return tx;
|
|
275
283
|
}),
|
|
276
284
|
signTypedData: (typedData) => __awaiter(this, void 0, void 0, function* () {
|
|
277
|
-
var
|
|
285
|
+
var _k, _l;
|
|
278
286
|
const traceId = this.generateTraceId();
|
|
279
287
|
const startTime = Date.now();
|
|
280
288
|
this.instrument('[signTypedData] start', {
|
|
@@ -285,17 +293,21 @@ class DynamicWaasEVMConnector extends withDynamicWaas(EthereumWalletConnector) {
|
|
|
285
293
|
time: 0,
|
|
286
294
|
traceId,
|
|
287
295
|
});
|
|
288
|
-
const mfaToken = yield ((
|
|
296
|
+
const mfaToken = yield ((_k = this.getMfaToken) === null || _k === void 0 ? void 0 : _k.call(this, {
|
|
289
297
|
mfaAction: MFAAction.WalletWaasSign,
|
|
290
298
|
}));
|
|
299
|
+
const elevatedAccessToken = yield ((_l = this.getElevatedAccessToken) === null || _l === void 0 ? void 0 : _l.call(this, {
|
|
300
|
+
scope: TokenScope.Walletsign,
|
|
301
|
+
}));
|
|
291
302
|
const password = yield this.getPasswordIfNeeded({ accountAddress });
|
|
292
303
|
const signature = yield this.instrumentAsync({
|
|
293
304
|
context: { chainName: 'EVM', startTime, traceId },
|
|
294
305
|
fn: () => __awaiter(this, void 0, void 0, function* () {
|
|
295
|
-
var
|
|
306
|
+
var _m;
|
|
296
307
|
return client.signTypedData({
|
|
297
308
|
accountAddress,
|
|
298
|
-
authToken: (
|
|
309
|
+
authToken: (_m = this.getAuthToken) === null || _m === void 0 ? void 0 : _m.call(this),
|
|
310
|
+
elevatedAccessToken,
|
|
299
311
|
mfaToken,
|
|
300
312
|
password,
|
|
301
313
|
signedSessionId,
|
|
@@ -355,7 +367,7 @@ class DynamicWaasEVMConnector extends withDynamicWaas(EthereumWalletConnector) {
|
|
|
355
367
|
}
|
|
356
368
|
signMessageWithContext(_a) {
|
|
357
369
|
return __awaiter(this, arguments, void 0, function* ({ message, context, }) {
|
|
358
|
-
var _b, _c, _d, _e;
|
|
370
|
+
var _b, _c, _d, _e, _f;
|
|
359
371
|
const walletClient = yield this.getWaasWalletClient();
|
|
360
372
|
const signedSessionId = yield ((_b = this.getSignedSessionId) === null || _b === void 0 ? void 0 : _b.call(this));
|
|
361
373
|
if (!signedSessionId) {
|
|
@@ -365,6 +377,9 @@ class DynamicWaasEVMConnector extends withDynamicWaas(EthereumWalletConnector) {
|
|
|
365
377
|
const mfaToken = yield ((_d = this.getMfaToken) === null || _d === void 0 ? void 0 : _d.call(this, {
|
|
366
378
|
mfaAction: MFAAction.WalletWaasSign,
|
|
367
379
|
}));
|
|
380
|
+
const elevatedAccessToken = yield ((_e = this.getElevatedAccessToken) === null || _e === void 0 ? void 0 : _e.call(this, {
|
|
381
|
+
scope: TokenScope.Walletsign,
|
|
382
|
+
}));
|
|
368
383
|
const password = yield this.getPasswordIfNeeded({ accountAddress });
|
|
369
384
|
const traceId = this.generateTraceId();
|
|
370
385
|
const startTime = Date.now();
|
|
@@ -376,8 +391,9 @@ class DynamicWaasEVMConnector extends withDynamicWaas(EthereumWalletConnector) {
|
|
|
376
391
|
});
|
|
377
392
|
return walletClient.signMessage({
|
|
378
393
|
accountAddress,
|
|
379
|
-
authToken: (
|
|
394
|
+
authToken: (_f = this.getAuthToken) === null || _f === void 0 ? void 0 : _f.call(this),
|
|
380
395
|
context,
|
|
396
|
+
elevatedAccessToken,
|
|
381
397
|
message,
|
|
382
398
|
mfaToken,
|
|
383
399
|
password,
|
|
@@ -548,7 +564,7 @@ class DynamicWaasEVMConnector extends withDynamicWaas(EthereumWalletConnector) {
|
|
|
548
564
|
}
|
|
549
565
|
signAuthorization(parameters, password) {
|
|
550
566
|
return __awaiter(this, void 0, void 0, function* () {
|
|
551
|
-
var _a, _b, _c;
|
|
567
|
+
var _a, _b, _c, _d;
|
|
552
568
|
const { address: contractAddress, nonce, chainId } = parameters;
|
|
553
569
|
if (!contractAddress) {
|
|
554
570
|
throw new Error('Contract address not found');
|
|
@@ -569,6 +585,9 @@ class DynamicWaasEVMConnector extends withDynamicWaas(EthereumWalletConnector) {
|
|
|
569
585
|
const mfaToken = yield ((_b = this.getMfaToken) === null || _b === void 0 ? void 0 : _b.call(this, {
|
|
570
586
|
mfaAction: MFAAction.WalletWaasSign,
|
|
571
587
|
}));
|
|
588
|
+
const elevatedAccessToken = yield ((_c = this.getElevatedAccessToken) === null || _c === void 0 ? void 0 : _c.call(this, {
|
|
589
|
+
scope: TokenScope.Walletsign,
|
|
590
|
+
}));
|
|
572
591
|
const traceId = this.generateTraceId();
|
|
573
592
|
const startTime = Date.now();
|
|
574
593
|
this.instrument('[signAuthorization] start', {
|
|
@@ -584,8 +603,9 @@ class DynamicWaasEVMConnector extends withDynamicWaas(EthereumWalletConnector) {
|
|
|
584
603
|
};
|
|
585
604
|
const signature = yield walletClient.signRawMessage({
|
|
586
605
|
accountAddress: address,
|
|
587
|
-
authToken: (
|
|
606
|
+
authToken: (_d = this.getAuthToken) === null || _d === void 0 ? void 0 : _d.call(this),
|
|
588
607
|
context: { eip7702Auth: authorization },
|
|
608
|
+
elevatedAccessToken,
|
|
589
609
|
message: hashAuthorization(authorization).slice(2),
|
|
590
610
|
mfaToken,
|
|
591
611
|
password,
|