@dynamic-labs/ethereum-aa 4.53.1 → 4.54.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 +25 -0
- package/package.cjs +1 -1
- package/package.js +1 -1
- package/package.json +10 -10
- package/src/ZeroDevConnector.cjs +18 -8
- package/src/ZeroDevConnector.d.ts +2 -1
- package/src/ZeroDevConnector.js +19 -9
- package/src/utils/createEcdsaKernelAccountClient.cjs +2 -2
- package/src/utils/createEcdsaKernelAccountClient.d.ts +5 -5
- package/src/utils/createEcdsaKernelAccountClient.js +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,4 +1,29 @@
|
|
|
1
1
|
|
|
2
|
+
## [4.54.0](https://github.com/dynamic-labs/dynamic-auth/compare/v4.53.2...v4.54.0) (2026-01-16)
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
|
|
7
|
+
* add iCloud backup method for wallet backup ([#10221](https://github.com/dynamic-labs/dynamic-auth/issues/10221)) ([36f5b8a](https://github.com/dynamic-labs/dynamic-auth/commit/36f5b8a0df50139fabbc6d6256f396a6d40313f4))
|
|
8
|
+
* add iCloud backup support for wallet key shares ([#10220](https://github.com/dynamic-labs/dynamic-auth/issues/10220)) ([f5f8135](https://github.com/dynamic-labs/dynamic-auth/commit/f5f813593d6ec834fc94f873fd7151b1f3e1a0ca))
|
|
9
|
+
* add legacyWalletId parameter to importPrivateKey ([#10244](https://github.com/dynamic-labs/dynamic-auth/issues/10244)) ([d281dd7](https://github.com/dynamic-labs/dynamic-auth/commit/d281dd7128ac1211e8ca0b72818e109ece7b9837))
|
|
10
|
+
|
|
11
|
+
### [4.53.2](https://github.com/dynamic-labs/dynamic-auth/compare/v4.53.1...v4.53.2) (2026-01-16)
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
### Features
|
|
15
|
+
|
|
16
|
+
* add iCloud backup functionality ([#10219](https://github.com/dynamic-labs/dynamic-auth/issues/10219)) ([44e95e5](https://github.com/dynamic-labs/dynamic-auth/commit/44e95e5a5dc99f83918a382ab1c69d452359c346))
|
|
17
|
+
* update PSBT building with Largest-First UTXO selection and fee priorities (high/medium/low) ([#10227](https://github.com/dynamic-labs/dynamic-auth/issues/10227)) ([94c5f5c](https://github.com/dynamic-labs/dynamic-auth/commit/94c5f5cb97432bb97374b754cb95bc23290dd184))
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### Bug Fixes
|
|
21
|
+
|
|
22
|
+
* allow late registered solana wallets to appear in the wallet list ([#10224](https://github.com/dynamic-labs/dynamic-auth/issues/10224)) ([2f418d4](https://github.com/dynamic-labs/dynamic-auth/commit/2f418d4f3e0543bdd829a45807329f89da1e41a7))
|
|
23
|
+
* correctly show app name in wallet app for wallet connect evm connections ([#10218](https://github.com/dynamic-labs/dynamic-auth/issues/10218)) ([fec0009](https://github.com/dynamic-labs/dynamic-auth/commit/fec0009177439baa67015050b4ad799119615f4f))
|
|
24
|
+
* destructure wallets from getWalletStandardWallets before calling find ([#10234](https://github.com/dynamic-labs/dynamic-auth/issues/10234)) ([b59617a](https://github.com/dynamic-labs/dynamic-auth/commit/b59617a8579b9c7d8a5f744a2ea9363ccb4aee58))
|
|
25
|
+
* **react-native:** filter connectors by enabled chains and add chain parameter to connectWallet ([#10230](https://github.com/dynamic-labs/dynamic-auth/issues/10230)) ([a2bbd03](https://github.com/dynamic-labs/dynamic-auth/commit/a2bbd03ece52950711d2eda18cb2345df15710dd))
|
|
26
|
+
|
|
2
27
|
### [4.53.1](https://github.com/dynamic-labs/dynamic-auth/compare/v4.53.0...v4.53.1) (2026-01-14)
|
|
3
28
|
|
|
4
29
|
## [4.53.0](https://github.com/dynamic-labs/dynamic-auth/compare/v4.52.5...v4.53.0) (2026-01-13)
|
package/package.cjs
CHANGED
package/package.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dynamic-labs/ethereum-aa",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.54.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,18 +18,18 @@
|
|
|
18
18
|
},
|
|
19
19
|
"homepage": "https://www.dynamic.xyz/",
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"@dynamic-labs/sdk-api-core": "0.0.
|
|
21
|
+
"@dynamic-labs/sdk-api-core": "0.0.855",
|
|
22
22
|
"@zerodev/ecdsa-validator": "5.4.9",
|
|
23
23
|
"@zerodev/multi-chain-ecdsa-validator": "5.4.5",
|
|
24
24
|
"@zerodev/sdk": "5.5.7",
|
|
25
|
-
"@dynamic-labs/assert-package-version": "4.
|
|
26
|
-
"@dynamic-labs/ethereum-aa-core": "4.
|
|
27
|
-
"@dynamic-labs/ethereum-core": "4.
|
|
28
|
-
"@dynamic-labs/logger": "4.
|
|
29
|
-
"@dynamic-labs/types": "4.
|
|
30
|
-
"@dynamic-labs/utils": "4.
|
|
31
|
-
"@dynamic-labs/wallet-book": "4.
|
|
32
|
-
"@dynamic-labs/wallet-connector-core": "4.
|
|
25
|
+
"@dynamic-labs/assert-package-version": "4.54.0",
|
|
26
|
+
"@dynamic-labs/ethereum-aa-core": "4.54.0",
|
|
27
|
+
"@dynamic-labs/ethereum-core": "4.54.0",
|
|
28
|
+
"@dynamic-labs/logger": "4.54.0",
|
|
29
|
+
"@dynamic-labs/types": "4.54.0",
|
|
30
|
+
"@dynamic-labs/utils": "4.54.0",
|
|
31
|
+
"@dynamic-labs/wallet-book": "4.54.0",
|
|
32
|
+
"@dynamic-labs/wallet-connector-core": "4.54.0"
|
|
33
33
|
},
|
|
34
34
|
"peerDependencies": {
|
|
35
35
|
"viem": "^2.28.4"
|
package/src/ZeroDevConnector.cjs
CHANGED
|
@@ -118,6 +118,13 @@ class ZeroDevConnector extends ethereumAaCore.AccountAbstractionBaseConnector {
|
|
|
118
118
|
supportsNetworkSwitching() {
|
|
119
119
|
return (Object.keys(this.providerMap).length > 1 && this.evmNetworks.length > 1);
|
|
120
120
|
}
|
|
121
|
+
getPublicRpcForChain(chainId) {
|
|
122
|
+
var _a, _b;
|
|
123
|
+
const network = this.evmNetworks.find((n) => n.chainId.toString() === chainId);
|
|
124
|
+
const privateCustomerRpc = (_a = network === null || network === void 0 ? void 0 : network.privateCustomerRpcUrls) === null || _a === void 0 ? void 0 : _a[0];
|
|
125
|
+
const publicRpc = (_b = network === null || network === void 0 ? void 0 : network.rpcUrls) === null || _b === void 0 ? void 0 : _b[0];
|
|
126
|
+
return privateCustomerRpc || publicRpc;
|
|
127
|
+
}
|
|
121
128
|
switchNetwork(_a) {
|
|
122
129
|
return _tslib.__awaiter(this, arguments, void 0, function* ({ networkChainId, }) {
|
|
123
130
|
if (!this.supportsNetworkSwitching())
|
|
@@ -309,6 +316,7 @@ class ZeroDevConnector extends ethereumAaCore.AccountAbstractionBaseConnector {
|
|
|
309
316
|
paymasterRpc: paymasterRpcOverride !== null && paymasterRpcOverride !== void 0 ? paymasterRpcOverride : this.paymasterRpc,
|
|
310
317
|
projectId,
|
|
311
318
|
provider: this.bundlerProvider,
|
|
319
|
+
publicClientRpc: this.getPublicRpcForChain(chainId),
|
|
312
320
|
signer,
|
|
313
321
|
};
|
|
314
322
|
if (this.shouldUseEIP7702Mode) {
|
|
@@ -509,8 +517,8 @@ class ZeroDevConnector extends ethereumAaCore.AccountAbstractionBaseConnector {
|
|
|
509
517
|
types: signTypedData.types,
|
|
510
518
|
});
|
|
511
519
|
}),
|
|
512
|
-
provider: provider.
|
|
513
|
-
transport: viem.custom(provider, this.providersConfig.httpTransportConfig),
|
|
520
|
+
provider: provider.client,
|
|
521
|
+
transport: viem.custom(provider.client, this.providersConfig.httpTransportConfig),
|
|
514
522
|
// TODO: remove this. We should not be passing references to wallet connectors
|
|
515
523
|
walletConnector: this,
|
|
516
524
|
walletUiUtils: this._walletUiUtils,
|
|
@@ -540,10 +548,10 @@ class ZeroDevConnector extends ethereumAaCore.AccountAbstractionBaseConnector {
|
|
|
540
548
|
getPublicClient() {
|
|
541
549
|
return _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
542
550
|
var _a;
|
|
543
|
-
const
|
|
544
|
-
if (!
|
|
551
|
+
const publicClient = (_a = this.kernelClient) === null || _a === void 0 ? void 0 : _a.client;
|
|
552
|
+
if (!publicClient)
|
|
545
553
|
return undefined;
|
|
546
|
-
return
|
|
554
|
+
return publicClient;
|
|
547
555
|
});
|
|
548
556
|
}
|
|
549
557
|
formatUserOperation(params, withAuthorization) {
|
|
@@ -682,10 +690,12 @@ class ZeroDevConnector extends ethereumAaCore.AccountAbstractionBaseConnector {
|
|
|
682
690
|
getBalance(address) {
|
|
683
691
|
return _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
684
692
|
var _a;
|
|
685
|
-
const
|
|
686
|
-
if (!
|
|
693
|
+
const publicClient = (_a = this.kernelClient) === null || _a === void 0 ? void 0 : _a.client;
|
|
694
|
+
if (!publicClient)
|
|
687
695
|
throw new utils.DynamicError('No RPC client');
|
|
688
|
-
return viem.formatEther(yield
|
|
696
|
+
return viem.formatEther(yield publicClient.getBalance({
|
|
697
|
+
address: address,
|
|
698
|
+
}));
|
|
689
699
|
});
|
|
690
700
|
}
|
|
691
701
|
signMessage(messageToSign) {
|
|
@@ -74,6 +74,7 @@ export declare class ZeroDevConnector extends AccountAbstractionBaseConnector im
|
|
|
74
74
|
get kernelClient(): KernelClient | undefined;
|
|
75
75
|
get kernelClientWithSponsorship(): KernelClient | undefined;
|
|
76
76
|
supportsNetworkSwitching(): boolean;
|
|
77
|
+
private getPublicRpcForChain;
|
|
77
78
|
switchNetwork({ networkChainId, }: {
|
|
78
79
|
networkChainId?: number | string;
|
|
79
80
|
}): Promise<void>;
|
|
@@ -118,7 +119,7 @@ export declare class ZeroDevConnector extends AccountAbstractionBaseConnector im
|
|
|
118
119
|
private sendCalls;
|
|
119
120
|
private getTransport;
|
|
120
121
|
getWalletClient(chainId?: string): WalletClient<Transport, ViemChain, Account> | undefined;
|
|
121
|
-
getPublicClient(): Promise<
|
|
122
|
+
getPublicClient(): Promise<PublicClient<Transport, ViemChain> | undefined>;
|
|
122
123
|
formatUserOperation(params: any, withAuthorization?: boolean): Promise<any>;
|
|
123
124
|
private signAndSendUserOperationWithWaas;
|
|
124
125
|
getCurrentUserOperation(transaction: {
|
package/src/ZeroDevConnector.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use client'
|
|
2
2
|
import { __awaiter, __rest } from '../_virtual/_tslib.js';
|
|
3
3
|
import { KERNEL_V3_3, getEntryPoint as getEntryPoint$1 } from '@zerodev/sdk/constants';
|
|
4
|
-
import {
|
|
4
|
+
import { custom, createWalletClient, toHex, formatEther } from 'viem';
|
|
5
5
|
import { getUserOperationHash } from 'viem/account-abstraction';
|
|
6
6
|
import { toAccount } from 'viem/accounts';
|
|
7
7
|
import { AccountAbstractionBaseConnector } from '@dynamic-labs/ethereum-aa-core';
|
|
@@ -114,6 +114,13 @@ class ZeroDevConnector extends AccountAbstractionBaseConnector {
|
|
|
114
114
|
supportsNetworkSwitching() {
|
|
115
115
|
return (Object.keys(this.providerMap).length > 1 && this.evmNetworks.length > 1);
|
|
116
116
|
}
|
|
117
|
+
getPublicRpcForChain(chainId) {
|
|
118
|
+
var _a, _b;
|
|
119
|
+
const network = this.evmNetworks.find((n) => n.chainId.toString() === chainId);
|
|
120
|
+
const privateCustomerRpc = (_a = network === null || network === void 0 ? void 0 : network.privateCustomerRpcUrls) === null || _a === void 0 ? void 0 : _a[0];
|
|
121
|
+
const publicRpc = (_b = network === null || network === void 0 ? void 0 : network.rpcUrls) === null || _b === void 0 ? void 0 : _b[0];
|
|
122
|
+
return privateCustomerRpc || publicRpc;
|
|
123
|
+
}
|
|
117
124
|
switchNetwork(_a) {
|
|
118
125
|
return __awaiter(this, arguments, void 0, function* ({ networkChainId, }) {
|
|
119
126
|
if (!this.supportsNetworkSwitching())
|
|
@@ -305,6 +312,7 @@ class ZeroDevConnector extends AccountAbstractionBaseConnector {
|
|
|
305
312
|
paymasterRpc: paymasterRpcOverride !== null && paymasterRpcOverride !== void 0 ? paymasterRpcOverride : this.paymasterRpc,
|
|
306
313
|
projectId,
|
|
307
314
|
provider: this.bundlerProvider,
|
|
315
|
+
publicClientRpc: this.getPublicRpcForChain(chainId),
|
|
308
316
|
signer,
|
|
309
317
|
};
|
|
310
318
|
if (this.shouldUseEIP7702Mode) {
|
|
@@ -505,8 +513,8 @@ class ZeroDevConnector extends AccountAbstractionBaseConnector {
|
|
|
505
513
|
types: signTypedData.types,
|
|
506
514
|
});
|
|
507
515
|
}),
|
|
508
|
-
provider: provider.
|
|
509
|
-
transport: custom(provider, this.providersConfig.httpTransportConfig),
|
|
516
|
+
provider: provider.client,
|
|
517
|
+
transport: custom(provider.client, this.providersConfig.httpTransportConfig),
|
|
510
518
|
// TODO: remove this. We should not be passing references to wallet connectors
|
|
511
519
|
walletConnector: this,
|
|
512
520
|
walletUiUtils: this._walletUiUtils,
|
|
@@ -536,10 +544,10 @@ class ZeroDevConnector extends AccountAbstractionBaseConnector {
|
|
|
536
544
|
getPublicClient() {
|
|
537
545
|
return __awaiter(this, void 0, void 0, function* () {
|
|
538
546
|
var _a;
|
|
539
|
-
const
|
|
540
|
-
if (!
|
|
547
|
+
const publicClient = (_a = this.kernelClient) === null || _a === void 0 ? void 0 : _a.client;
|
|
548
|
+
if (!publicClient)
|
|
541
549
|
return undefined;
|
|
542
|
-
return
|
|
550
|
+
return publicClient;
|
|
543
551
|
});
|
|
544
552
|
}
|
|
545
553
|
formatUserOperation(params, withAuthorization) {
|
|
@@ -678,10 +686,12 @@ class ZeroDevConnector extends AccountAbstractionBaseConnector {
|
|
|
678
686
|
getBalance(address) {
|
|
679
687
|
return __awaiter(this, void 0, void 0, function* () {
|
|
680
688
|
var _a;
|
|
681
|
-
const
|
|
682
|
-
if (!
|
|
689
|
+
const publicClient = (_a = this.kernelClient) === null || _a === void 0 ? void 0 : _a.client;
|
|
690
|
+
if (!publicClient)
|
|
683
691
|
throw new DynamicError('No RPC client');
|
|
684
|
-
return formatEther(yield
|
|
692
|
+
return formatEther(yield publicClient.getBalance({
|
|
693
|
+
address: address,
|
|
694
|
+
}));
|
|
685
695
|
});
|
|
686
696
|
}
|
|
687
697
|
signMessage(messageToSign) {
|
|
@@ -4,11 +4,11 @@
|
|
|
4
4
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
5
5
|
|
|
6
6
|
var _tslib = require('../../_virtual/_tslib.cjs');
|
|
7
|
+
var ecdsaValidator = require('@zerodev/ecdsa-validator');
|
|
7
8
|
var accounts = require('@zerodev/sdk/accounts');
|
|
8
|
-
var clients = require('@zerodev/sdk/clients');
|
|
9
9
|
var actions = require('@zerodev/sdk/actions');
|
|
10
|
+
var clients = require('@zerodev/sdk/clients');
|
|
10
11
|
var viem = require('viem');
|
|
11
|
-
var ecdsaValidator = require('@zerodev/ecdsa-validator');
|
|
12
12
|
|
|
13
13
|
exports.PaymasterTypeEnum = void 0;
|
|
14
14
|
(function (PaymasterTypeEnum) {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { SmartAccount, EntryPointVersion } from 'viem/account-abstraction';
|
|
2
1
|
import { KernelAccountClient } from '@zerodev/sdk/clients';
|
|
3
|
-
import { type Chain as ViemChain } from 'viem/chains';
|
|
4
|
-
import { Address, WalletClient, Account, type Chain, type Client, type RpcSchema, type Transport } from 'viem';
|
|
5
2
|
import { EntryPointType, GetKernelVersion, KERNEL_VERSION_TYPE } from '@zerodev/sdk/types';
|
|
3
|
+
import { Account, Address, WalletClient, type Chain, type Client, type RpcSchema, type Transport } from 'viem';
|
|
4
|
+
import { EntryPointVersion, SmartAccount } from 'viem/account-abstraction';
|
|
5
|
+
import { type Chain as ViemChain } from 'viem/chains';
|
|
6
6
|
import { ZerodevBundlerProvider } from '@dynamic-labs/sdk-api-core';
|
|
7
7
|
export type ERC20Paymaster = Address;
|
|
8
8
|
export type PaymasterType = keyof typeof PaymasterTypeEnum | ERC20Paymaster;
|
|
@@ -26,8 +26,8 @@ type CommonClientParams<TChain extends Chain | undefined = Chain | undefined> =
|
|
|
26
26
|
publicClientRpc?: string;
|
|
27
27
|
apiKernelVersion: KERNEL_VERSION_TYPE;
|
|
28
28
|
};
|
|
29
|
-
export declare const createEcdsaKernelAccountClient: <entryPoint extends EntryPointVersion, TChain extends
|
|
29
|
+
export declare const createEcdsaKernelAccountClient: <entryPoint extends EntryPointVersion, TChain extends Chain | undefined = Chain | undefined>({ bundlerRpc, chain, paymasterRpc, projectId, signer, provider, paymaster, entryPoint, kernelVersion, ecdsaValidator, enableKernelV3Migration, publicClientRpc, apiKernelVersion, }: CommonClientParams<TChain> & {
|
|
30
30
|
ecdsaValidator: any;
|
|
31
31
|
}) => Promise<KernelAccountClient<Transport, ViemChain, SmartAccount, Client, RpcSchema>>;
|
|
32
|
-
export declare const createEcdsaKernelAccountClientWith7702: <TChain extends
|
|
32
|
+
export declare const createEcdsaKernelAccountClientWith7702: <TChain extends Chain | undefined = Chain | undefined>({ bundlerRpc, chain, paymasterRpc, projectId, signer, provider, paymaster, entryPoint, kernelVersion, publicClientRpc, }: CommonClientParams<TChain>) => Promise<KernelAccountClient<Transport, ViemChain, SmartAccount, Client, RpcSchema>>;
|
|
33
33
|
export {};
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
'use client'
|
|
2
2
|
import { __awaiter } from '../../_virtual/_tslib.js';
|
|
3
|
+
import { createEcdsaKernelMigrationAccount } from '@zerodev/ecdsa-validator';
|
|
3
4
|
import { createKernelAccount } from '@zerodev/sdk/accounts';
|
|
4
|
-
import { createKernelAccountClient, createZeroDevPaymasterClient } from '@zerodev/sdk/clients';
|
|
5
5
|
import { getUserOperationGasPrice } from '@zerodev/sdk/actions';
|
|
6
|
+
import { createKernelAccountClient, createZeroDevPaymasterClient } from '@zerodev/sdk/clients';
|
|
6
7
|
import { http, createPublicClient, isAddress } from 'viem';
|
|
7
|
-
import { createEcdsaKernelMigrationAccount } from '@zerodev/ecdsa-validator';
|
|
8
8
|
|
|
9
9
|
var PaymasterTypeEnum;
|
|
10
10
|
(function (PaymasterTypeEnum) {
|