@dynamic-labs/ethereum-aa 3.0.0-alpha.21 → 3.0.0-alpha.23
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 +27 -0
- package/package.json +11 -11
- package/src/ZeroDevConnector.cjs +38 -6
- package/src/ZeroDevConnector.d.ts +5 -1
- package/src/ZeroDevConnector.js +40 -8
- package/src/utils/createEcsdaKernelAccountClient.cjs +3 -1
- package/src/utils/createEcsdaKernelAccountClient.d.ts +3 -1
- package/src/utils/createEcsdaKernelAccountClient.js +3 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,4 +1,31 @@
|
|
|
1
1
|
|
|
2
|
+
## [3.0.0-alpha.23](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.22...v3.0.0-alpha.23) (2024-07-19)
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
|
|
7
|
+
* show custom labels in the sdk ([#6352](https://github.com/dynamic-labs/DynamicAuth/issues/6352)) ([6eec9b2](https://github.com/dynamic-labs/DynamicAuth/commit/6eec9b26dbfd25c5138378aa92de8379a5cd0ddc))
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
### Bug Fixes
|
|
11
|
+
|
|
12
|
+
* add missing await to viem controller ([#6354](https://github.com/dynamic-labs/DynamicAuth/issues/6354)) ([32c7362](https://github.com/dynamic-labs/DynamicAuth/commit/32c73625c5575f9134edd541c7221aba08a741b5))
|
|
13
|
+
* allow for react-native 0.74.x ([#6371](https://github.com/dynamic-labs/DynamicAuth/issues/6371)) ([37e08b6](https://github.com/dynamic-labs/DynamicAuth/commit/37e08b6b32bcaef7b7f6a4dedc45b2321f3f64a6))
|
|
14
|
+
* not able to switch to secondary wallet ([#6373](https://github.com/dynamic-labs/DynamicAuth/issues/6373)) ([f85ed10](https://github.com/dynamic-labs/DynamicAuth/commit/f85ed10aca8bf41658eb1418cd87e1c5061d4b1b))
|
|
15
|
+
|
|
16
|
+
## [3.0.0-alpha.22](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.21...v3.0.0-alpha.22) (2024-07-18)
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
### Features
|
|
20
|
+
|
|
21
|
+
* add support for aa kernel 3.1 ([#6333](https://github.com/dynamic-labs/DynamicAuth/issues/6333)) ([93c743a](https://github.com/dynamic-labs/DynamicAuth/commit/93c743a74d1af79f15baec343d15212a2feeac39))
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
### Bug Fixes
|
|
25
|
+
|
|
26
|
+
* ensure retryableFn props are passed through ([#6357](https://github.com/dynamic-labs/DynamicAuth/issues/6357)) ([246da78](https://github.com/dynamic-labs/DynamicAuth/commit/246da78ebaa0e623843d93fc990d8a0f3298af54))
|
|
27
|
+
* removes wallet connect qr code from magic eden ([#6360](https://github.com/dynamic-labs/DynamicAuth/issues/6360)) ([5968c2e](https://github.com/dynamic-labs/DynamicAuth/commit/5968c2e220f98b0995a2067e6f5397f27da4dfb0))
|
|
28
|
+
|
|
2
29
|
## [3.0.0-alpha.21](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.20...v3.0.0-alpha.21) (2024-07-17)
|
|
3
30
|
|
|
4
31
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dynamic-labs/ethereum-aa",
|
|
3
|
-
"version": "3.0.0-alpha.
|
|
3
|
+
"version": "3.0.0-alpha.23",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "git+https://github.com/dynamic-labs/dynamic-auth.git",
|
|
@@ -26,17 +26,17 @@
|
|
|
26
26
|
"./package.json": "./package.json"
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@dynamic-labs/sdk-api-core": "0.0.
|
|
30
|
-
"@zerodev/ecdsa-validator": "5.
|
|
31
|
-
"@zerodev/sdk": "5.
|
|
29
|
+
"@dynamic-labs/sdk-api-core": "0.0.489",
|
|
30
|
+
"@zerodev/ecdsa-validator": "5.3.1",
|
|
31
|
+
"@zerodev/sdk": "5.3.4",
|
|
32
32
|
"permissionless": "0.1.20",
|
|
33
|
-
"@dynamic-labs/ethereum": "3.0.0-alpha.
|
|
34
|
-
"@dynamic-labs/logger": "3.0.0-alpha.
|
|
35
|
-
"@dynamic-labs/types": "3.0.0-alpha.
|
|
36
|
-
"@dynamic-labs/utils": "3.0.0-alpha.
|
|
37
|
-
"@dynamic-labs/viem-utils": "3.0.0-alpha.
|
|
38
|
-
"@dynamic-labs/wallet-book": "3.0.0-alpha.
|
|
39
|
-
"@dynamic-labs/wallet-connector-core": "3.0.0-alpha.
|
|
33
|
+
"@dynamic-labs/ethereum": "3.0.0-alpha.23",
|
|
34
|
+
"@dynamic-labs/logger": "3.0.0-alpha.23",
|
|
35
|
+
"@dynamic-labs/types": "3.0.0-alpha.23",
|
|
36
|
+
"@dynamic-labs/utils": "3.0.0-alpha.23",
|
|
37
|
+
"@dynamic-labs/viem-utils": "3.0.0-alpha.23",
|
|
38
|
+
"@dynamic-labs/wallet-book": "3.0.0-alpha.23",
|
|
39
|
+
"@dynamic-labs/wallet-connector-core": "3.0.0-alpha.23"
|
|
40
40
|
},
|
|
41
41
|
"peerDependencies": {
|
|
42
42
|
"viem": "^2.7.6"
|
package/src/ZeroDevConnector.cjs
CHANGED
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
6
6
|
var _tslib = require('../_virtual/_tslib.cjs');
|
|
7
7
|
var viem = require('viem');
|
|
8
8
|
var utils$1 = require('permissionless/utils');
|
|
9
|
+
var constants = require('@zerodev/sdk/constants');
|
|
9
10
|
var sdkApiCore = require('@dynamic-labs/sdk-api-core');
|
|
10
11
|
var walletConnectorCore = require('@dynamic-labs/wallet-connector-core');
|
|
11
12
|
var viemUtils = require('@dynamic-labs/viem-utils');
|
|
@@ -17,7 +18,7 @@ var createEcsdaKernelAccountClient = require('./utils/createEcsdaKernelAccountCl
|
|
|
17
18
|
|
|
18
19
|
class ZeroDevConnector extends walletConnectorCore.WalletConnectorBase {
|
|
19
20
|
constructor(opts) {
|
|
20
|
-
var _a, _b;
|
|
21
|
+
var _a, _b, _c;
|
|
21
22
|
super(opts);
|
|
22
23
|
this.connectedChain = 'EVM';
|
|
23
24
|
this.supportedChains = ['ETH', 'EVM'];
|
|
@@ -39,11 +40,40 @@ class ZeroDevConnector extends walletConnectorCore.WalletConnectorBase {
|
|
|
39
40
|
this.projectId = zeroDevProjectId;
|
|
40
41
|
this._walletUiUtils = opts.walletUiUtils;
|
|
41
42
|
this.evmNetworks = utils.parseEvmNetworks(opts.evmNetworks);
|
|
42
|
-
this.entryPoint =
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
43
|
+
this.entryPoint = this.getEntryPoint((_b = opts.apiProviders.zerodev) === null || _b === void 0 ? void 0 : _b.entryPointVersion);
|
|
44
|
+
this.kernelVersion = this.getKernelVersion((_c = opts.apiProviders.zerodev) === null || _c === void 0 ? void 0 : _c.kernelVersion);
|
|
45
|
+
}
|
|
46
|
+
getEntryPoint(entryPoint) {
|
|
47
|
+
if (entryPoint === undefined ||
|
|
48
|
+
entryPoint === sdkApiCore.ProviderEntryPointVersionEnum.V7) {
|
|
49
|
+
return utils$1.ENTRYPOINT_ADDRESS_V07;
|
|
50
|
+
}
|
|
51
|
+
else if (entryPoint === sdkApiCore.ProviderEntryPointVersionEnum.V6) {
|
|
52
|
+
return utils$1.ENTRYPOINT_ADDRESS_V06;
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
logger.logger.error('Invalid entry point version', entryPoint);
|
|
56
|
+
return utils$1.ENTRYPOINT_ADDRESS_V07;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
getKernelVersion(kernelVersion) {
|
|
60
|
+
if (kernelVersion === sdkApiCore.ProviderKernelVersionEnum.V31 ||
|
|
61
|
+
(kernelVersion === undefined &&
|
|
62
|
+
this.entryPoint === utils$1.ENTRYPOINT_ADDRESS_V07)) {
|
|
63
|
+
return constants.KERNEL_V3_1;
|
|
64
|
+
}
|
|
65
|
+
else if (kernelVersion === sdkApiCore.ProviderKernelVersionEnum.V30) {
|
|
66
|
+
return constants.KERNEL_V3_0;
|
|
67
|
+
}
|
|
68
|
+
else if (kernelVersion === sdkApiCore.ProviderKernelVersionEnum.V24 ||
|
|
69
|
+
this.entryPoint === utils$1.ENTRYPOINT_ADDRESS_V06 // v0.6 only supports v2.4
|
|
70
|
+
) {
|
|
71
|
+
return constants.KERNEL_V2_4;
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
logger.logger.error('Invalid kernel version', kernelVersion);
|
|
75
|
+
return constants.KERNEL_V3_1;
|
|
76
|
+
}
|
|
47
77
|
}
|
|
48
78
|
getEOAConnector() {
|
|
49
79
|
return this.eoaConnector;
|
|
@@ -80,6 +110,7 @@ class ZeroDevConnector extends walletConnectorCore.WalletConnectorBase {
|
|
|
80
110
|
bundlerRpc: ZeroDevConnector.bundlerRpc,
|
|
81
111
|
chain: yield fetchChain.fetchChain(this.projectId),
|
|
82
112
|
entryPointAddress: this.entryPoint,
|
|
113
|
+
kernelVersion: this.kernelVersion,
|
|
83
114
|
paymaster: 'NONE',
|
|
84
115
|
paymasterRpc: ZeroDevConnector.paymasterRpc,
|
|
85
116
|
projectId: this.projectId,
|
|
@@ -122,6 +153,7 @@ class ZeroDevConnector extends walletConnectorCore.WalletConnectorBase {
|
|
|
122
153
|
bundlerRpc: ZeroDevConnector.bundlerRpc,
|
|
123
154
|
chain: yield fetchChain.fetchChain(this.projectId),
|
|
124
155
|
entryPointAddress: this.entryPoint,
|
|
156
|
+
kernelVersion: this.kernelVersion,
|
|
125
157
|
paymaster: 'SPONSOR',
|
|
126
158
|
paymasterRpc: ZeroDevConnector.paymasterRpc,
|
|
127
159
|
projectId: this.projectId,
|
|
@@ -3,6 +3,7 @@ import { KernelSmartAccount } from '@zerodev/sdk/accounts';
|
|
|
3
3
|
import { Account, PublicClient, Transport, WalletClient } from 'viem';
|
|
4
4
|
import { type Chain as ViemChain } from 'viem/chains';
|
|
5
5
|
import { EntryPoint } from 'permissionless/types';
|
|
6
|
+
import { KERNEL_VERSION_TYPE } from '@zerodev/sdk/types';
|
|
6
7
|
import { Provider, ProviderEnum } from '@dynamic-labs/sdk-api-core';
|
|
7
8
|
import { Chain, IAccountAbstractionWalletConnector, ISendBalanceWalletConnector, WalletConnector, WalletConnectorBase } from '@dynamic-labs/wallet-connector-core';
|
|
8
9
|
import { WalletBookSchema } from '@dynamic-labs/wallet-book';
|
|
@@ -28,7 +29,8 @@ export declare class ZeroDevConnector extends WalletConnectorBase implements IZe
|
|
|
28
29
|
evmNetworks: EvmNetwork[];
|
|
29
30
|
private isGasSponsorshipDisabled;
|
|
30
31
|
isEmbeddedWallet: boolean;
|
|
31
|
-
|
|
32
|
+
entryPoint: EntryPoint;
|
|
33
|
+
kernelVersion: KERNEL_VERSION_TYPE;
|
|
32
34
|
static bundlerProvider: BundlerProvider | undefined;
|
|
33
35
|
static bundlerRpc: string | undefined;
|
|
34
36
|
static paymasterRpc: string | undefined;
|
|
@@ -49,6 +51,8 @@ export declare class ZeroDevConnector extends WalletConnectorBase implements IZe
|
|
|
49
51
|
};
|
|
50
52
|
private _walletUiUtils;
|
|
51
53
|
constructor(opts: ZeroDevConnectorProps);
|
|
54
|
+
getEntryPoint(entryPoint: string | undefined): "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" | "0x0000000071727De22E5E9d8BAf0edAc6f37da032";
|
|
55
|
+
getKernelVersion(kernelVersion: string | undefined): KERNEL_VERSION_TYPE;
|
|
52
56
|
getEOAConnector(): WalletConnector | undefined;
|
|
53
57
|
getAccountAbstractionProvider({ withSponsorship, }?: {
|
|
54
58
|
withSponsorship?: boolean;
|
package/src/ZeroDevConnector.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
'use client'
|
|
2
2
|
import { __awaiter } from '../_virtual/_tslib.js';
|
|
3
3
|
import { publicActions, custom, createWalletClient, isHex, fromHex, formatEther } from 'viem';
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
4
|
+
import { ENTRYPOINT_ADDRESS_V07, ENTRYPOINT_ADDRESS_V06, walletClientToSmartAccountSigner } from 'permissionless/utils';
|
|
5
|
+
import { KERNEL_V3_1, KERNEL_V3_0, KERNEL_V2_4 } from '@zerodev/sdk/constants';
|
|
6
|
+
import { ProviderEntryPointVersionEnum, ProviderKernelVersionEnum } from '@dynamic-labs/sdk-api-core';
|
|
6
7
|
import { WalletConnectorBase } from '@dynamic-labs/wallet-connector-core';
|
|
7
8
|
import { confirmationTransport, chainsMap, unFormatTransaction, createViemUiTransaction } from '@dynamic-labs/viem-utils';
|
|
8
9
|
import { parseEvmNetworks, DynamicError, DeferredPromise, wrapMethodWithCallback, TransactionGasCannotBeSponsoredError, InsufficientFundsError } from '@dynamic-labs/utils';
|
|
@@ -13,7 +14,7 @@ import { createEcdsaKernelAccountClient } from './utils/createEcsdaKernelAccount
|
|
|
13
14
|
|
|
14
15
|
class ZeroDevConnector extends WalletConnectorBase {
|
|
15
16
|
constructor(opts) {
|
|
16
|
-
var _a, _b;
|
|
17
|
+
var _a, _b, _c;
|
|
17
18
|
super(opts);
|
|
18
19
|
this.connectedChain = 'EVM';
|
|
19
20
|
this.supportedChains = ['ETH', 'EVM'];
|
|
@@ -35,11 +36,40 @@ class ZeroDevConnector extends WalletConnectorBase {
|
|
|
35
36
|
this.projectId = zeroDevProjectId;
|
|
36
37
|
this._walletUiUtils = opts.walletUiUtils;
|
|
37
38
|
this.evmNetworks = parseEvmNetworks(opts.evmNetworks);
|
|
38
|
-
this.entryPoint =
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
39
|
+
this.entryPoint = this.getEntryPoint((_b = opts.apiProviders.zerodev) === null || _b === void 0 ? void 0 : _b.entryPointVersion);
|
|
40
|
+
this.kernelVersion = this.getKernelVersion((_c = opts.apiProviders.zerodev) === null || _c === void 0 ? void 0 : _c.kernelVersion);
|
|
41
|
+
}
|
|
42
|
+
getEntryPoint(entryPoint) {
|
|
43
|
+
if (entryPoint === undefined ||
|
|
44
|
+
entryPoint === ProviderEntryPointVersionEnum.V7) {
|
|
45
|
+
return ENTRYPOINT_ADDRESS_V07;
|
|
46
|
+
}
|
|
47
|
+
else if (entryPoint === ProviderEntryPointVersionEnum.V6) {
|
|
48
|
+
return ENTRYPOINT_ADDRESS_V06;
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
logger.error('Invalid entry point version', entryPoint);
|
|
52
|
+
return ENTRYPOINT_ADDRESS_V07;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
getKernelVersion(kernelVersion) {
|
|
56
|
+
if (kernelVersion === ProviderKernelVersionEnum.V31 ||
|
|
57
|
+
(kernelVersion === undefined &&
|
|
58
|
+
this.entryPoint === ENTRYPOINT_ADDRESS_V07)) {
|
|
59
|
+
return KERNEL_V3_1;
|
|
60
|
+
}
|
|
61
|
+
else if (kernelVersion === ProviderKernelVersionEnum.V30) {
|
|
62
|
+
return KERNEL_V3_0;
|
|
63
|
+
}
|
|
64
|
+
else if (kernelVersion === ProviderKernelVersionEnum.V24 ||
|
|
65
|
+
this.entryPoint === ENTRYPOINT_ADDRESS_V06 // v0.6 only supports v2.4
|
|
66
|
+
) {
|
|
67
|
+
return KERNEL_V2_4;
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
logger.error('Invalid kernel version', kernelVersion);
|
|
71
|
+
return KERNEL_V3_1;
|
|
72
|
+
}
|
|
43
73
|
}
|
|
44
74
|
getEOAConnector() {
|
|
45
75
|
return this.eoaConnector;
|
|
@@ -76,6 +106,7 @@ class ZeroDevConnector extends WalletConnectorBase {
|
|
|
76
106
|
bundlerRpc: ZeroDevConnector.bundlerRpc,
|
|
77
107
|
chain: yield fetchChain(this.projectId),
|
|
78
108
|
entryPointAddress: this.entryPoint,
|
|
109
|
+
kernelVersion: this.kernelVersion,
|
|
79
110
|
paymaster: 'NONE',
|
|
80
111
|
paymasterRpc: ZeroDevConnector.paymasterRpc,
|
|
81
112
|
projectId: this.projectId,
|
|
@@ -118,6 +149,7 @@ class ZeroDevConnector extends WalletConnectorBase {
|
|
|
118
149
|
bundlerRpc: ZeroDevConnector.bundlerRpc,
|
|
119
150
|
chain: yield fetchChain(this.projectId),
|
|
120
151
|
entryPointAddress: this.entryPoint,
|
|
152
|
+
kernelVersion: this.kernelVersion,
|
|
121
153
|
paymaster: 'SPONSOR',
|
|
122
154
|
paymasterRpc: ZeroDevConnector.paymasterRpc,
|
|
123
155
|
projectId: this.projectId,
|
|
@@ -24,7 +24,7 @@ const getZeroDevPaymasterRPC = (projectId, provider) => {
|
|
|
24
24
|
return rpc;
|
|
25
25
|
};
|
|
26
26
|
const isERC20 = (value) => viem.isAddress(value);
|
|
27
|
-
const createEcdsaKernelAccountClient = (_a) => _tslib.__awaiter(void 0, [_a], void 0, function* ({ bundlerRpc, chain, paymasterRpc, projectId, signer, provider, index, paymaster = 'SPONSOR', entryPointAddress, }) {
|
|
27
|
+
const createEcdsaKernelAccountClient = (_a) => _tslib.__awaiter(void 0, [_a], void 0, function* ({ bundlerRpc, chain, paymasterRpc, projectId, signer, provider, index, paymaster = 'SPONSOR', entryPointAddress, kernelVersion, }) {
|
|
28
28
|
const resolvedBundlerRpc = bundlerRpc !== null && bundlerRpc !== void 0 ? bundlerRpc : getZeroDevBundlerRPC(projectId, provider);
|
|
29
29
|
const resolvedPaymasterRpc = paymasterRpc !== null && paymasterRpc !== void 0 ? paymasterRpc : getZeroDevPaymasterRPC(projectId, provider);
|
|
30
30
|
const publicClient = viem.createPublicClient({
|
|
@@ -32,11 +32,13 @@ const createEcdsaKernelAccountClient = (_a) => _tslib.__awaiter(void 0, [_a], vo
|
|
|
32
32
|
});
|
|
33
33
|
const ecdsaValidator$1 = yield ecdsaValidator.signerToEcdsaValidator(publicClient, {
|
|
34
34
|
entryPoint: entryPointAddress,
|
|
35
|
+
kernelVersion,
|
|
35
36
|
signer,
|
|
36
37
|
});
|
|
37
38
|
const account = yield accounts.createKernelAccount(publicClient, {
|
|
38
39
|
entryPoint: entryPointAddress,
|
|
39
40
|
index,
|
|
41
|
+
kernelVersion,
|
|
40
42
|
plugins: {
|
|
41
43
|
sudo: ecdsaValidator$1,
|
|
42
44
|
},
|
|
@@ -3,12 +3,13 @@ import { KernelAccountClient } from '@zerodev/sdk/clients';
|
|
|
3
3
|
import { SmartAccountSigner } from 'permissionless/accounts';
|
|
4
4
|
import { EntryPoint } from 'permissionless/types';
|
|
5
5
|
import { Address, HttpTransport, Chain } from 'viem';
|
|
6
|
+
import { GetKernelVersion } from '@zerodev/sdk/types';
|
|
6
7
|
export type BundlerProvider = 'STACKUP' | 'PIMLICO' | 'ALCHEMY' | 'GELATO';
|
|
7
8
|
export type ERC20Paymaster = Address;
|
|
8
9
|
export type PaymasterType = 'NONE' | 'SPONSOR' | ERC20Paymaster;
|
|
9
10
|
export declare const getZeroDevBundlerRPC: (projectId: string, provider?: BundlerProvider) => string;
|
|
10
11
|
export declare const getZeroDevPaymasterRPC: (projectId: string, provider?: BundlerProvider) => string;
|
|
11
|
-
export declare const createEcdsaKernelAccountClient: <entryPoint extends EntryPoint, TChain extends Chain | undefined = Chain | undefined, TSource extends string = "custom", TAddress extends `0x${string}` = `0x${string}`>({ bundlerRpc, chain, paymasterRpc, projectId, signer, provider, index, paymaster, entryPointAddress, }: {
|
|
12
|
+
export declare const createEcdsaKernelAccountClient: <entryPoint extends EntryPoint, TChain extends Chain | undefined = Chain | undefined, TSource extends string = "custom", TAddress extends `0x${string}` = `0x${string}`>({ bundlerRpc, chain, paymasterRpc, projectId, signer, provider, index, paymaster, entryPointAddress, kernelVersion, }: {
|
|
12
13
|
bundlerRpc?: string;
|
|
13
14
|
chain: TChain;
|
|
14
15
|
projectId: string;
|
|
@@ -18,4 +19,5 @@ export declare const createEcdsaKernelAccountClient: <entryPoint extends EntryPo
|
|
|
18
19
|
entryPointAddress: entryPoint;
|
|
19
20
|
provider?: BundlerProvider;
|
|
20
21
|
index?: bigint;
|
|
22
|
+
kernelVersion: GetKernelVersion<entryPoint>;
|
|
21
23
|
}) => Promise<KernelAccountClient<entryPoint, HttpTransport, TChain, KernelSmartAccount<entryPoint, HttpTransport, TChain>>>;
|
|
@@ -20,7 +20,7 @@ const getZeroDevPaymasterRPC = (projectId, provider) => {
|
|
|
20
20
|
return rpc;
|
|
21
21
|
};
|
|
22
22
|
const isERC20 = (value) => isAddress(value);
|
|
23
|
-
const createEcdsaKernelAccountClient = (_a) => __awaiter(void 0, [_a], void 0, function* ({ bundlerRpc, chain, paymasterRpc, projectId, signer, provider, index, paymaster = 'SPONSOR', entryPointAddress, }) {
|
|
23
|
+
const createEcdsaKernelAccountClient = (_a) => __awaiter(void 0, [_a], void 0, function* ({ bundlerRpc, chain, paymasterRpc, projectId, signer, provider, index, paymaster = 'SPONSOR', entryPointAddress, kernelVersion, }) {
|
|
24
24
|
const resolvedBundlerRpc = bundlerRpc !== null && bundlerRpc !== void 0 ? bundlerRpc : getZeroDevBundlerRPC(projectId, provider);
|
|
25
25
|
const resolvedPaymasterRpc = paymasterRpc !== null && paymasterRpc !== void 0 ? paymasterRpc : getZeroDevPaymasterRPC(projectId, provider);
|
|
26
26
|
const publicClient = createPublicClient({
|
|
@@ -28,11 +28,13 @@ const createEcdsaKernelAccountClient = (_a) => __awaiter(void 0, [_a], void 0, f
|
|
|
28
28
|
});
|
|
29
29
|
const ecdsaValidator = yield signerToEcdsaValidator(publicClient, {
|
|
30
30
|
entryPoint: entryPointAddress,
|
|
31
|
+
kernelVersion,
|
|
31
32
|
signer,
|
|
32
33
|
});
|
|
33
34
|
const account = yield createKernelAccount(publicClient, {
|
|
34
35
|
entryPoint: entryPointAddress,
|
|
35
36
|
index,
|
|
37
|
+
kernelVersion,
|
|
36
38
|
plugins: {
|
|
37
39
|
sudo: ecdsaValidator,
|
|
38
40
|
},
|