@dynamic-labs/zerodev-extension 4.91.1 → 4.91.2
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,28 @@
|
|
|
1
1
|
|
|
2
|
+
### [4.91.2](https://github.com/dynamic-labs/dynamic-auth/compare/v4.91.1...v4.91.2) (2026-06-26)
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
### ⚠ BREAKING CHANGES
|
|
6
|
+
|
|
7
|
+
* **waas:** require expectedAddresses on migrateFromFireblocks (#11730)
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* **midnight:** support shielded/unshielded transfers and dust states in the embedded Send flow ([#11731](https://github.com/dynamic-labs/dynamic-auth/issues/11731)) ([663d171](https://github.com/dynamic-labs/dynamic-auth/commit/663d171a9628c634586831ee35c234e9331e3f80))
|
|
12
|
+
* **react-native-extension:** instrument all embedded webview failure paths ([#11737](https://github.com/dynamic-labs/dynamic-auth/issues/11737)) ([172998b](https://github.com/dynamic-labs/dynamic-auth/commit/172998b56e9bee04fbb8da71e83ce8885bc378ff))
|
|
13
|
+
* **waas:** migrateFromFireblocks connector method + demo panel (browser-wallet-client 1.0.46) ([#11702](https://github.com/dynamic-labs/dynamic-auth/issues/11702)) ([6bfc844](https://github.com/dynamic-labs/dynamic-auth/commit/6bfc8443fbaedabe1e7bee0ed78742cbbe5d0084))
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
### Bug Fixes
|
|
17
|
+
|
|
18
|
+
* add coverage for scenario with passkey re-login and smart account ([#11726](https://github.com/dynamic-labs/dynamic-auth/issues/11726)) ([5364a72](https://github.com/dynamic-labs/dynamic-auth/commit/5364a72a750d835b9b2da602a91e8b5d7d305db7))
|
|
19
|
+
* remediate high-severity dependency vulnerabilities ([#11721](https://github.com/dynamic-labs/dynamic-auth/issues/11721)) ([cdb9306](https://github.com/dynamic-labs/dynamic-auth/commit/cdb93061365a20b8f73a1f8bea8352332e282c1e))
|
|
20
|
+
* replace node-fetch v2 with native fetch to fix Node 22 stream failure ([#11732](https://github.com/dynamic-labs/dynamic-auth/issues/11732)) ([b98f801](https://github.com/dynamic-labs/dynamic-auth/commit/b98f801e307b52dbd7e4b241a9a4a2d34d89118e))
|
|
21
|
+
* **zerodev-extension:** derive kernel 7702 vs 4337 per-wallet, not from global dashboard flag ([#11735](https://github.com/dynamic-labs/dynamic-auth/issues/11735)) ([72cf6a7](https://github.com/dynamic-labs/dynamic-auth/commit/72cf6a70a4857a4ea469faa555c485dbad8d0217))
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
* **waas:** require expectedAddresses on migrateFromFireblocks ([#11730](https://github.com/dynamic-labs/dynamic-auth/issues/11730)) ([c94824e](https://github.com/dynamic-labs/dynamic-auth/commit/c94824ebe11e0433a6ffbd2a5a9dd4283aeed31e))
|
|
25
|
+
|
|
2
26
|
### [4.91.1](https://github.com/dynamic-labs/dynamic-auth/compare/v4.91.0...v4.91.1) (2026-06-24)
|
|
3
27
|
|
|
4
28
|
|
package/package.cjs
CHANGED
package/package.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dynamic-labs/zerodev-extension",
|
|
3
|
-
"version": "4.91.
|
|
3
|
+
"version": "4.91.2",
|
|
4
4
|
"main": "./src/index.cjs",
|
|
5
5
|
"module": "./src/index.js",
|
|
6
6
|
"types": "./src/index.d.ts",
|
|
@@ -18,13 +18,13 @@
|
|
|
18
18
|
"@zerodev/sdk": "5.5.7",
|
|
19
19
|
"@zerodev/multi-chain-ecdsa-validator": "5.4.5",
|
|
20
20
|
"@zerodev/ecdsa-validator": "5.4.9",
|
|
21
|
-
"@dynamic-labs/assert-package-version": "4.91.
|
|
22
|
-
"@dynamic-labs/client": "4.91.
|
|
23
|
-
"@dynamic-labs/ethereum-aa": "4.91.
|
|
24
|
-
"@dynamic-labs/logger": "4.91.
|
|
25
|
-
"@dynamic-labs/message-transport": "4.91.
|
|
26
|
-
"@dynamic-labs/viem-extension": "4.91.
|
|
27
|
-
"@dynamic-labs/webview-messages": "4.91.
|
|
21
|
+
"@dynamic-labs/assert-package-version": "4.91.2",
|
|
22
|
+
"@dynamic-labs/client": "4.91.2",
|
|
23
|
+
"@dynamic-labs/ethereum-aa": "4.91.2",
|
|
24
|
+
"@dynamic-labs/logger": "4.91.2",
|
|
25
|
+
"@dynamic-labs/message-transport": "4.91.2",
|
|
26
|
+
"@dynamic-labs/viem-extension": "4.91.2",
|
|
27
|
+
"@dynamic-labs/webview-messages": "4.91.2"
|
|
28
28
|
},
|
|
29
29
|
"peerDependencies": {
|
|
30
30
|
"viem": "^2.45.3"
|
|
@@ -28,19 +28,27 @@ const ZeroDevExtension = () => (client$1, core) => {
|
|
|
28
28
|
if (!eoaWallet) {
|
|
29
29
|
throw new Error('EOA wallet not found');
|
|
30
30
|
}
|
|
31
|
-
|
|
31
|
+
const walletClient = yield client$1.viem.createWalletClient({
|
|
32
32
|
account: client$1.viem.createAccountFromWallet(eoaWallet),
|
|
33
33
|
chain: chainId ? getChainById.getChainById(chainId) : undefined,
|
|
34
34
|
wallet: eoaWallet,
|
|
35
35
|
});
|
|
36
|
+
return { eoaWallet, walletClient };
|
|
36
37
|
});
|
|
37
38
|
return {
|
|
38
39
|
zeroDev: {
|
|
39
40
|
createKernelClient: (_a) => _tslib.__awaiter(void 0, [_a], void 0, function* ({ wallet, chainId, bundlerProvider, bundlerRpc, paymasterRpc, paymaster, eip7702Auth, }) {
|
|
40
41
|
var _b, _c, _d;
|
|
41
42
|
try {
|
|
42
|
-
const walletClient = yield createWalletClientHelper(wallet, chainId);
|
|
43
|
+
const { eoaWallet, walletClient } = yield createWalletClientHelper(wallet, chainId);
|
|
43
44
|
const accountSettings = yield zeroDevRequestChannel.request('getKernelAccountSettings', { chainId, wallet });
|
|
45
|
+
// The kernel TYPE is per-wallet, not global: a 7702 wallet IS its EOA
|
|
46
|
+
// (same address), whereas a 4337 wallet has a distinct counterfactual
|
|
47
|
+
// address. Deciding 7702 from the dashboard flag alone makes every
|
|
48
|
+
// wallet resolve to the same EOA-addressed account, so the passed
|
|
49
|
+
// wallet is ignored. Gate the 7702 path on per-wallet address equality.
|
|
50
|
+
const isWallet7702 = Boolean(accountSettings.enableEIP7702) &&
|
|
51
|
+
wallet.address.toLowerCase() === eoaWallet.address.toLowerCase();
|
|
44
52
|
const zerodevWalletProperties = (_c = (_b = client$1.auth.authenticatedUser) === null || _b === void 0 ? void 0 : _b.verifiedCredentials.find((credential) => credential.id === wallet.id)) === null || _c === void 0 ? void 0 : _c.walletProperties;
|
|
45
53
|
const walletEntryPoint = (zerodevWalletProperties === null || zerodevWalletProperties === void 0 ? void 0 : zerodevWalletProperties.entryPointVersion)
|
|
46
54
|
? ethereumAa.getEntryPoint(zerodevWalletProperties.entryPointVersion)
|
|
@@ -68,7 +76,7 @@ const ZeroDevExtension = () => (client$1, core) => {
|
|
|
68
76
|
provider: bundlerProvider,
|
|
69
77
|
signer: walletClient,
|
|
70
78
|
};
|
|
71
|
-
if (
|
|
79
|
+
if (isWallet7702) {
|
|
72
80
|
return ethereumAa.createEcdsaKernelAccountClientWith7702(Object.assign(Object.assign({}, params), { eip7702Auth, kernelVersion: constants.KERNEL_V3_3 }));
|
|
73
81
|
}
|
|
74
82
|
return ethereumAa.createEcdsaKernelAccountClient(Object.assign(Object.assign({}, params), { ecdsaValidator: ethereumAa.getEcdsaValidator((_d = accountSettings.ecdsaProviderType) !== null && _d !== void 0 ? _d : undefined) }));
|
|
@@ -80,7 +88,8 @@ const ZeroDevExtension = () => (client$1, core) => {
|
|
|
80
88
|
}),
|
|
81
89
|
createWalletClient: (_e) => _tslib.__awaiter(void 0, [_e], void 0, function* ({ wallet, chainId }) {
|
|
82
90
|
try {
|
|
83
|
-
|
|
91
|
+
const { walletClient } = yield createWalletClientHelper(wallet, chainId);
|
|
92
|
+
return walletClient;
|
|
84
93
|
}
|
|
85
94
|
catch (error) {
|
|
86
95
|
logger.logger.error(error);
|
|
@@ -94,7 +103,7 @@ const ZeroDevExtension = () => (client$1, core) => {
|
|
|
94
103
|
const accountSettings = yield zeroDevRequestChannel.request('getKernelAccountSettings', { wallet });
|
|
95
104
|
resolvedChainId = accountSettings.chainId;
|
|
96
105
|
}
|
|
97
|
-
const walletClient = yield createWalletClientHelper(wallet, resolvedChainId);
|
|
106
|
+
const { walletClient } = yield createWalletClientHelper(wallet, resolvedChainId);
|
|
98
107
|
return ethereumAa.signEip7702Authorization({
|
|
99
108
|
chainId: resolvedChainId,
|
|
100
109
|
signer: walletClient,
|
|
@@ -24,19 +24,27 @@ const ZeroDevExtension = () => (client, core) => {
|
|
|
24
24
|
if (!eoaWallet) {
|
|
25
25
|
throw new Error('EOA wallet not found');
|
|
26
26
|
}
|
|
27
|
-
|
|
27
|
+
const walletClient = yield client.viem.createWalletClient({
|
|
28
28
|
account: client.viem.createAccountFromWallet(eoaWallet),
|
|
29
29
|
chain: chainId ? getChainById(chainId) : undefined,
|
|
30
30
|
wallet: eoaWallet,
|
|
31
31
|
});
|
|
32
|
+
return { eoaWallet, walletClient };
|
|
32
33
|
});
|
|
33
34
|
return {
|
|
34
35
|
zeroDev: {
|
|
35
36
|
createKernelClient: (_a) => __awaiter(void 0, [_a], void 0, function* ({ wallet, chainId, bundlerProvider, bundlerRpc, paymasterRpc, paymaster, eip7702Auth, }) {
|
|
36
37
|
var _b, _c, _d;
|
|
37
38
|
try {
|
|
38
|
-
const walletClient = yield createWalletClientHelper(wallet, chainId);
|
|
39
|
+
const { eoaWallet, walletClient } = yield createWalletClientHelper(wallet, chainId);
|
|
39
40
|
const accountSettings = yield zeroDevRequestChannel.request('getKernelAccountSettings', { chainId, wallet });
|
|
41
|
+
// The kernel TYPE is per-wallet, not global: a 7702 wallet IS its EOA
|
|
42
|
+
// (same address), whereas a 4337 wallet has a distinct counterfactual
|
|
43
|
+
// address. Deciding 7702 from the dashboard flag alone makes every
|
|
44
|
+
// wallet resolve to the same EOA-addressed account, so the passed
|
|
45
|
+
// wallet is ignored. Gate the 7702 path on per-wallet address equality.
|
|
46
|
+
const isWallet7702 = Boolean(accountSettings.enableEIP7702) &&
|
|
47
|
+
wallet.address.toLowerCase() === eoaWallet.address.toLowerCase();
|
|
40
48
|
const zerodevWalletProperties = (_c = (_b = client.auth.authenticatedUser) === null || _b === void 0 ? void 0 : _b.verifiedCredentials.find((credential) => credential.id === wallet.id)) === null || _c === void 0 ? void 0 : _c.walletProperties;
|
|
41
49
|
const walletEntryPoint = (zerodevWalletProperties === null || zerodevWalletProperties === void 0 ? void 0 : zerodevWalletProperties.entryPointVersion)
|
|
42
50
|
? getEntryPoint(zerodevWalletProperties.entryPointVersion)
|
|
@@ -64,7 +72,7 @@ const ZeroDevExtension = () => (client, core) => {
|
|
|
64
72
|
provider: bundlerProvider,
|
|
65
73
|
signer: walletClient,
|
|
66
74
|
};
|
|
67
|
-
if (
|
|
75
|
+
if (isWallet7702) {
|
|
68
76
|
return createEcdsaKernelAccountClientWith7702(Object.assign(Object.assign({}, params), { eip7702Auth, kernelVersion: KERNEL_V3_3 }));
|
|
69
77
|
}
|
|
70
78
|
return createEcdsaKernelAccountClient(Object.assign(Object.assign({}, params), { ecdsaValidator: getEcdsaValidator((_d = accountSettings.ecdsaProviderType) !== null && _d !== void 0 ? _d : undefined) }));
|
|
@@ -76,7 +84,8 @@ const ZeroDevExtension = () => (client, core) => {
|
|
|
76
84
|
}),
|
|
77
85
|
createWalletClient: (_e) => __awaiter(void 0, [_e], void 0, function* ({ wallet, chainId }) {
|
|
78
86
|
try {
|
|
79
|
-
|
|
87
|
+
const { walletClient } = yield createWalletClientHelper(wallet, chainId);
|
|
88
|
+
return walletClient;
|
|
80
89
|
}
|
|
81
90
|
catch (error) {
|
|
82
91
|
logger.error(error);
|
|
@@ -90,7 +99,7 @@ const ZeroDevExtension = () => (client, core) => {
|
|
|
90
99
|
const accountSettings = yield zeroDevRequestChannel.request('getKernelAccountSettings', { wallet });
|
|
91
100
|
resolvedChainId = accountSettings.chainId;
|
|
92
101
|
}
|
|
93
|
-
const walletClient = yield createWalletClientHelper(wallet, resolvedChainId);
|
|
102
|
+
const { walletClient } = yield createWalletClientHelper(wallet, resolvedChainId);
|
|
94
103
|
return signEip7702Authorization({
|
|
95
104
|
chainId: resolvedChainId,
|
|
96
105
|
signer: walletClient,
|