@dynamic-labs/waas-evm 4.67.0 → 4.67.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 +14 -0
- package/package.cjs +1 -1
- package/package.js +1 -1
- package/package.json +8 -8
- package/src/DynamicWaasEVMConnector.cjs +15 -10
- package/src/DynamicWaasEVMConnector.js +15 -10
package/CHANGELOG.md
CHANGED
|
@@ -1,4 +1,18 @@
|
|
|
1
1
|
|
|
2
|
+
### [4.67.1](https://github.com/dynamic-labs/dynamic-auth/compare/v4.67.0...v4.67.1) (2026-03-10)
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
|
|
7
|
+
* add nonce manager and improve transaction handling ([#10612](https://github.com/dynamic-labs/dynamic-auth/issues/10612)) ([e373f12](https://github.com/dynamic-labs/dynamic-auth/commit/e373f1248beee2f12e7b4aec5a72d55b9555ad00))
|
|
8
|
+
* **sdk-react-core:** commonize step-up auth around useStepUpAuthentication ([#10586](https://github.com/dynamic-labs/dynamic-auth/issues/10586)) ([6e31e66](https://github.com/dynamic-labs/dynamic-auth/commit/6e31e6673d8861bc54677ea79da31872d7ad4c4e))
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
* **sdk-react-core:** hide AA warning for EIP-7702 smart wallets, show for ERC-4337 ([#10614](https://github.com/dynamic-labs/dynamic-auth/issues/10614)) ([5c46d42](https://github.com/dynamic-labs/dynamic-auth/commit/5c46d4277472cb31ddde7809d27ef7920964d548))
|
|
14
|
+
* use 2-column grid layout for backup codes to prevent overflow in minimal theme ([#10607](https://github.com/dynamic-labs/dynamic-auth/issues/10607)) ([84adf87](https://github.com/dynamic-labs/dynamic-auth/commit/84adf872aae0a7fedf961b76f5004535e657b415))
|
|
15
|
+
|
|
2
16
|
## [4.67.0](https://github.com/dynamic-labs/dynamic-auth/compare/v4.66.0...v4.67.0) (2026-03-09)
|
|
3
17
|
|
|
4
18
|
|
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.67.
|
|
3
|
+
"version": "4.67.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.881",
|
|
22
22
|
"viem": "^2.28.4",
|
|
23
|
-
"@dynamic-labs/assert-package-version": "4.67.
|
|
24
|
-
"@dynamic-labs/ethereum-core": "4.67.
|
|
25
|
-
"@dynamic-labs/logger": "4.67.
|
|
26
|
-
"@dynamic-labs/types": "4.67.
|
|
27
|
-
"@dynamic-labs/utils": "4.67.
|
|
28
|
-
"@dynamic-labs/waas": "4.67.
|
|
29
|
-
"@dynamic-labs/wallet-connector-core": "4.67.
|
|
23
|
+
"@dynamic-labs/assert-package-version": "4.67.1",
|
|
24
|
+
"@dynamic-labs/ethereum-core": "4.67.1",
|
|
25
|
+
"@dynamic-labs/logger": "4.67.1",
|
|
26
|
+
"@dynamic-labs/types": "4.67.1",
|
|
27
|
+
"@dynamic-labs/utils": "4.67.1",
|
|
28
|
+
"@dynamic-labs/waas": "4.67.1",
|
|
29
|
+
"@dynamic-labs/wallet-connector-core": "4.67.1"
|
|
30
30
|
},
|
|
31
31
|
"peerDependencies": {}
|
|
32
32
|
}
|
|
@@ -254,22 +254,23 @@ class DynamicWaasEVMConnector extends waas.withDynamicWaas(ethereumCore.Ethereum
|
|
|
254
254
|
mfaAction: sdkApiCore.MFAAction.WalletWaasSign,
|
|
255
255
|
}));
|
|
256
256
|
const password = yield this.getPasswordIfNeeded({ accountAddress });
|
|
257
|
+
// Ensure chainId is set so the signed transaction matches the RPC's chain (EIP-155).
|
|
258
|
+
// Wrong chainId causes "invalid signature: Failed to recover the signer" on broadcast.
|
|
259
|
+
// e.g. 1Money testnet requires chainId 1212101 (https://chainlist.org/chain/1212101).
|
|
260
|
+
const { currentChainId } = this;
|
|
261
|
+
const transactionWithChainId = currentChainId !== undefined
|
|
262
|
+
? Object.assign(Object.assign({}, transaction), { chainId: currentChainId }) : transaction;
|
|
257
263
|
const tx = yield this.instrumentAsync({
|
|
258
264
|
context: { chainName: 'EVM', startTime, traceId },
|
|
259
265
|
fn: () => _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
260
266
|
var _g;
|
|
261
|
-
return client.signTransaction({
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
password,
|
|
265
|
-
senderAddress: accountAddress,
|
|
266
|
-
signedSessionId,
|
|
267
|
-
traceContext: {
|
|
267
|
+
return client.signTransaction(Object.assign(Object.assign({ authToken: (_g = this.getAuthToken) === null || _g === void 0 ? void 0 : _g.call(this) }, (currentChainId !== undefined && {
|
|
268
|
+
chainId: currentChainId.toString(),
|
|
269
|
+
})), { mfaToken,
|
|
270
|
+
password, senderAddress: accountAddress, signedSessionId, traceContext: {
|
|
268
271
|
startTime,
|
|
269
272
|
traceId,
|
|
270
|
-
},
|
|
271
|
-
transaction: viem.serializeTransaction(transaction),
|
|
272
|
-
});
|
|
273
|
+
}, transaction: viem.serializeTransaction(transactionWithChainId) }));
|
|
273
274
|
}),
|
|
274
275
|
operation: 'signTransaction',
|
|
275
276
|
resource: 'client.signTransaction',
|
|
@@ -483,6 +484,9 @@ class DynamicWaasEVMConnector extends waas.withDynamicWaas(ethereumCore.Ethereum
|
|
|
483
484
|
yield this.validateActiveWallet(from);
|
|
484
485
|
const walletClient = this.getWalletClient();
|
|
485
486
|
const publicClient = yield this.getPublicClient();
|
|
487
|
+
const nonce = yield (publicClient === null || publicClient === void 0 ? void 0 : publicClient.getTransactionCount({
|
|
488
|
+
address: from,
|
|
489
|
+
}));
|
|
486
490
|
if (!publicClient || !walletClient) {
|
|
487
491
|
throw new utils.DynamicError('No public client available');
|
|
488
492
|
}
|
|
@@ -499,6 +503,7 @@ class DynamicWaasEVMConnector extends waas.withDynamicWaas(ethereumCore.Ethereum
|
|
|
499
503
|
functionName: 'transfer',
|
|
500
504
|
maxFeePerGas: transaction.maxFeePerGas,
|
|
501
505
|
maxPriorityFeePerGas: transaction.maxPriorityFeePerGas,
|
|
506
|
+
nonce,
|
|
502
507
|
});
|
|
503
508
|
}
|
|
504
509
|
// Native token
|
|
@@ -250,22 +250,23 @@ class DynamicWaasEVMConnector extends withDynamicWaas(EthereumWalletConnector) {
|
|
|
250
250
|
mfaAction: MFAAction.WalletWaasSign,
|
|
251
251
|
}));
|
|
252
252
|
const password = yield this.getPasswordIfNeeded({ accountAddress });
|
|
253
|
+
// Ensure chainId is set so the signed transaction matches the RPC's chain (EIP-155).
|
|
254
|
+
// Wrong chainId causes "invalid signature: Failed to recover the signer" on broadcast.
|
|
255
|
+
// e.g. 1Money testnet requires chainId 1212101 (https://chainlist.org/chain/1212101).
|
|
256
|
+
const { currentChainId } = this;
|
|
257
|
+
const transactionWithChainId = currentChainId !== undefined
|
|
258
|
+
? Object.assign(Object.assign({}, transaction), { chainId: currentChainId }) : transaction;
|
|
253
259
|
const tx = yield this.instrumentAsync({
|
|
254
260
|
context: { chainName: 'EVM', startTime, traceId },
|
|
255
261
|
fn: () => __awaiter(this, void 0, void 0, function* () {
|
|
256
262
|
var _g;
|
|
257
|
-
return client.signTransaction({
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
password,
|
|
261
|
-
senderAddress: accountAddress,
|
|
262
|
-
signedSessionId,
|
|
263
|
-
traceContext: {
|
|
263
|
+
return client.signTransaction(Object.assign(Object.assign({ authToken: (_g = this.getAuthToken) === null || _g === void 0 ? void 0 : _g.call(this) }, (currentChainId !== undefined && {
|
|
264
|
+
chainId: currentChainId.toString(),
|
|
265
|
+
})), { mfaToken,
|
|
266
|
+
password, senderAddress: accountAddress, signedSessionId, traceContext: {
|
|
264
267
|
startTime,
|
|
265
268
|
traceId,
|
|
266
|
-
},
|
|
267
|
-
transaction: serializeTransaction(transaction),
|
|
268
|
-
});
|
|
269
|
+
}, transaction: serializeTransaction(transactionWithChainId) }));
|
|
269
270
|
}),
|
|
270
271
|
operation: 'signTransaction',
|
|
271
272
|
resource: 'client.signTransaction',
|
|
@@ -479,6 +480,9 @@ class DynamicWaasEVMConnector extends withDynamicWaas(EthereumWalletConnector) {
|
|
|
479
480
|
yield this.validateActiveWallet(from);
|
|
480
481
|
const walletClient = this.getWalletClient();
|
|
481
482
|
const publicClient = yield this.getPublicClient();
|
|
483
|
+
const nonce = yield (publicClient === null || publicClient === void 0 ? void 0 : publicClient.getTransactionCount({
|
|
484
|
+
address: from,
|
|
485
|
+
}));
|
|
482
486
|
if (!publicClient || !walletClient) {
|
|
483
487
|
throw new DynamicError('No public client available');
|
|
484
488
|
}
|
|
@@ -495,6 +499,7 @@ class DynamicWaasEVMConnector extends withDynamicWaas(EthereumWalletConnector) {
|
|
|
495
499
|
functionName: 'transfer',
|
|
496
500
|
maxFeePerGas: transaction.maxFeePerGas,
|
|
497
501
|
maxPriorityFeePerGas: transaction.maxPriorityFeePerGas,
|
|
502
|
+
nonce,
|
|
498
503
|
});
|
|
499
504
|
}
|
|
500
505
|
// Native token
|