@dynamic-labs/ethereum-aa 4.9.12 → 4.9.13-preview.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 +22 -0
- package/package.cjs +1 -1
- package/package.js +1 -1
- package/package.json +11 -9
- package/src/AccountAbstractionConnector.cjs +75 -0
- package/src/AccountAbstractionConnector.d.ts +56 -0
- package/src/AccountAbstractionConnector.js +71 -0
- package/src/ZKsync/client.cjs +29 -0
- package/src/ZKsync/client.d.ts +24 -0
- package/src/ZKsync/client.js +25 -0
- package/src/ZKsync/ecdsaAccount.cjs +32 -0
- package/src/ZKsync/ecdsaAccount.d.ts +13 -0
- package/src/ZKsync/ecdsaAccount.js +28 -0
- package/src/ZKsync/getEip712Domain.cjs +62 -0
- package/src/ZKsync/getEip712Domain.d.ts +2 -0
- package/src/ZKsync/getEip712Domain.js +58 -0
- package/src/ZKsync/types.cjs +31 -0
- package/src/ZKsync/types.d.ts +9 -0
- package/src/ZKsync/types.js +27 -0
- package/src/ZKsync/walletActions.cjs +93 -0
- package/src/ZKsync/walletActions.d.ts +15 -0
- package/src/ZKsync/walletActions.js +87 -0
- package/src/ZKsyncConnector.cjs +430 -0
- package/src/ZKsyncConnector.d.ts +23259 -0
- package/src/ZKsyncConnector.js +426 -0
- package/src/ZeroDevConnector.cjs +21 -16
- package/src/ZeroDevConnector.d.ts +21 -15
- package/src/ZeroDevConnector.js +22 -17
- package/src/index.cjs +11 -0
- package/src/index.d.ts +2 -0
- package/src/index.js +10 -1
- package/src/utils/abi.cjs +88 -0
- package/src/utils/abi.d.ts +102 -0
- package/src/utils/abi.js +84 -0
- package/src/utils/createEcsdaKernelAccountClient.d.ts +1 -1
- package/src/utils/isZKsyncConnector.cjs +8 -0
- package/src/utils/isZKsyncConnector.d.ts +3 -0
- package/src/utils/isZKsyncConnector.js +4 -0
package/src/ZeroDevConnector.js
CHANGED
|
@@ -4,7 +4,7 @@ import { publicActions, custom, createWalletClient, toHex, formatEther } from 'v
|
|
|
4
4
|
import { toAccount } from 'viem/accounts';
|
|
5
5
|
import { KERNEL_V3_3_BETA, KernelVersionToAddressesMap, getEntryPoint as getEntryPoint$1 } from '@zerodev/sdk/constants';
|
|
6
6
|
import { EthereumWallet, isEthWalletConnector, chainsMap, confirmationTransport, unFormatTransaction, createViemUiTransaction } from '@dynamic-labs/ethereum-core';
|
|
7
|
-
import {
|
|
7
|
+
import { eventListenerHandlers, isTurnkeyWalletConnector } from '@dynamic-labs/wallet-connector-core';
|
|
8
8
|
import { parseEvmNetworks, StorageService, DynamicError, DeferredPromise, parseChainId, wrapMethodWithCallback, TransactionGasCannotBeSponsoredError, InsufficientFundsError } from '@dynamic-labs/utils';
|
|
9
9
|
import { ZERO_DEV_LAST_USED_CHAIN_ID_KEY } from './constants.js';
|
|
10
10
|
import { logger } from './utils/logger.js';
|
|
@@ -12,8 +12,9 @@ import { createEcdsaKernelAccountClientWith7702, createEcdsaKernelAccountClient
|
|
|
12
12
|
import { getEcdsaValidator } from './utils/getEcdsaValidator.js';
|
|
13
13
|
import { getEntryPoint } from './utils/getEntryPoint.js';
|
|
14
14
|
import { getKernelVersion } from './utils/getKernelVersion.js';
|
|
15
|
+
import { AccountAbstractionConnector } from './AccountAbstractionConnector.js';
|
|
15
16
|
|
|
16
|
-
class ZeroDevConnector extends
|
|
17
|
+
class ZeroDevConnector extends AccountAbstractionConnector {
|
|
17
18
|
constructor(opts) {
|
|
18
19
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
19
20
|
super(opts);
|
|
@@ -24,7 +25,6 @@ class ZeroDevConnector extends WalletConnectorBase {
|
|
|
24
25
|
this.ChainWallet = EthereumWallet;
|
|
25
26
|
this.connectedChain = 'EVM';
|
|
26
27
|
this.supportedChains = ['ETH', 'EVM'];
|
|
27
|
-
this.isGasSponsorshipDisabled = false;
|
|
28
28
|
this.isEmbeddedWallet = true;
|
|
29
29
|
this.providersFromApi = [];
|
|
30
30
|
this.name = 'ZeroDev';
|
|
@@ -56,6 +56,9 @@ class ZeroDevConnector extends WalletConnectorBase {
|
|
|
56
56
|
this.defaultChainId = defaultProvider === null || defaultProvider === void 0 ? void 0 : defaultProvider.chain;
|
|
57
57
|
this.ecdsaProviderType = (_j = opts.apiProviders.zerodev) === null || _j === void 0 ? void 0 : _j.ecdsaProviderType;
|
|
58
58
|
}
|
|
59
|
+
confirmTransactionStatus() {
|
|
60
|
+
throw new Error('confirmTransactionStatus not implemented in ZeroDevConnector');
|
|
61
|
+
}
|
|
59
62
|
get currentNetworkProvider() {
|
|
60
63
|
// check if the last used chain id is in the provider map
|
|
61
64
|
if (this.providerMap[this.lastUsedChainId]) {
|
|
@@ -100,13 +103,6 @@ class ZeroDevConnector extends WalletConnectorBase {
|
|
|
100
103
|
handleChainChange(chainId);
|
|
101
104
|
});
|
|
102
105
|
}
|
|
103
|
-
/**
|
|
104
|
-
* @deprecated You should get the EOA connector by passing the SCW to getEOAConnector,
|
|
105
|
-
* from the useSmartWallet hook
|
|
106
|
-
*/
|
|
107
|
-
getEOAConnector() {
|
|
108
|
-
return this.eoaConnector;
|
|
109
|
-
}
|
|
110
106
|
getAccountAbstractionProvider({ withSponsorship, } = {}) {
|
|
111
107
|
if (withSponsorship && this.kernelClientWithSponsorship) {
|
|
112
108
|
return this.kernelClientWithSponsorship;
|
|
@@ -118,6 +114,14 @@ class ZeroDevConnector extends WalletConnectorBase {
|
|
|
118
114
|
StorageService.removeItem(ZERO_DEV_LAST_USED_CHAIN_ID_KEY);
|
|
119
115
|
});
|
|
120
116
|
}
|
|
117
|
+
initialize(_a) {
|
|
118
|
+
return __awaiter(this, arguments, void 0, function* ({ smartWalletAddress, eoaAddress, eoaConnector, properties, shouldSetEoaConnector, }) {
|
|
119
|
+
yield this.registerEoa(Object.assign({ eoaAddress,
|
|
120
|
+
eoaConnector,
|
|
121
|
+
shouldSetEoaConnector,
|
|
122
|
+
smartWalletAddress }, properties));
|
|
123
|
+
});
|
|
124
|
+
}
|
|
121
125
|
registerEoa(_a) {
|
|
122
126
|
return __awaiter(this, void 0, void 0, function* () {
|
|
123
127
|
var { smartWalletAddress, eoaAddress, eoaConnector, shouldSetEoaConnector = false } = _a, properties = __rest(_a, ["smartWalletAddress", "eoaAddress", "eoaConnector", "shouldSetEoaConnector"]);
|
|
@@ -254,6 +258,7 @@ class ZeroDevConnector extends WalletConnectorBase {
|
|
|
254
258
|
signer,
|
|
255
259
|
}),
|
|
256
260
|
this.createKernelClient({
|
|
261
|
+
authorization: this.authorization,
|
|
257
262
|
chainId: chain,
|
|
258
263
|
paymaster: 'SPONSOR',
|
|
259
264
|
projectId: clientId,
|
|
@@ -277,7 +282,7 @@ class ZeroDevConnector extends WalletConnectorBase {
|
|
|
277
282
|
});
|
|
278
283
|
}
|
|
279
284
|
createKernelClient(_a) {
|
|
280
|
-
return __awaiter(this, arguments, void 0, function* ({ chainId, projectId, signer, paymaster, }) {
|
|
285
|
+
return __awaiter(this, arguments, void 0, function* ({ chainId, projectId, signer, paymaster, authorization, }) {
|
|
281
286
|
if (chainId && this.providerMap[chainId]) {
|
|
282
287
|
return paymaster === 'SPONSOR'
|
|
283
288
|
? this.providerMap[chainId].kernelClientWithSponsorship
|
|
@@ -288,9 +293,9 @@ class ZeroDevConnector extends WalletConnectorBase {
|
|
|
288
293
|
throw new DynamicError('No EOA connector');
|
|
289
294
|
const chain = chainsMap[chainId];
|
|
290
295
|
let kernelClient;
|
|
291
|
-
if (this.enableEIP7702Mode
|
|
296
|
+
if (this.enableEIP7702Mode) {
|
|
292
297
|
kernelClient = yield createEcdsaKernelAccountClientWith7702({
|
|
293
|
-
authorization
|
|
298
|
+
authorization,
|
|
294
299
|
bundlerRpc: ZeroDevConnector.bundlerRpc,
|
|
295
300
|
chain,
|
|
296
301
|
ecdsaValidator: getEcdsaValidator(this.ecdsaProviderType),
|
|
@@ -364,7 +369,7 @@ class ZeroDevConnector extends WalletConnectorBase {
|
|
|
364
369
|
onSendTransaction: (_b) => __awaiter(this, [_b], void 0, function* ({ transaction }) {
|
|
365
370
|
try {
|
|
366
371
|
this._walletUiUtils.disabledConfirmationOnce();
|
|
367
|
-
const effectiveProvider = this.isGasSponsorshipDisabled
|
|
372
|
+
const effectiveProvider = this.isGasSponsorshipDisabled()
|
|
368
373
|
? provider
|
|
369
374
|
: this.kernelClientWithSponsorship;
|
|
370
375
|
if (!effectiveProvider) {
|
|
@@ -535,9 +540,6 @@ class ZeroDevConnector extends WalletConnectorBase {
|
|
|
535
540
|
return sponsored;
|
|
536
541
|
});
|
|
537
542
|
}
|
|
538
|
-
disableGasSponsorshipOnce() {
|
|
539
|
-
this.isGasSponsorshipDisabled = true;
|
|
540
|
-
}
|
|
541
543
|
getBalance(address) {
|
|
542
544
|
return __awaiter(this, void 0, void 0, function* () {
|
|
543
545
|
var _a;
|
|
@@ -599,6 +601,9 @@ class ZeroDevConnector extends WalletConnectorBase {
|
|
|
599
601
|
getEnabledNetworks() {
|
|
600
602
|
return this.evmNetworks;
|
|
601
603
|
}
|
|
604
|
+
initializeZksyncConnector() {
|
|
605
|
+
throw new Error('Not implemented');
|
|
606
|
+
}
|
|
602
607
|
}
|
|
603
608
|
|
|
604
609
|
export { ZeroDevConnector };
|
package/src/index.cjs
CHANGED
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
6
6
|
var assertPackageVersion = require('@dynamic-labs/assert-package-version');
|
|
7
7
|
var _package = require('../package.cjs');
|
|
8
8
|
var ZeroDevConnector = require('./ZeroDevConnector.cjs');
|
|
9
|
+
var ZKsyncConnector = require('./ZKsyncConnector.cjs');
|
|
9
10
|
var createEcsdaKernelAccountClient = require('./utils/createEcsdaKernelAccountClient.cjs');
|
|
10
11
|
var fetchZeroDevChain = require('./utils/fetchZeroDevChain.cjs');
|
|
11
12
|
var getEcdsaValidator = require('./utils/getEcdsaValidator.cjs');
|
|
@@ -13,6 +14,7 @@ var getEntryPoint = require('./utils/getEntryPoint.cjs');
|
|
|
13
14
|
var getKernelVersion = require('./utils/getKernelVersion.cjs');
|
|
14
15
|
var ethereumAa = require('./ethereum-aa.cjs');
|
|
15
16
|
var isZeroDevConnector = require('./utils/isZeroDevConnector.cjs');
|
|
17
|
+
var isZKsyncConnector = require('./utils/isZKsyncConnector.cjs');
|
|
16
18
|
|
|
17
19
|
assertPackageVersion.assertPackageVersion('@dynamic-labs/ethereum-aa', _package.version);
|
|
18
20
|
const ZeroDevSmartWalletConnectorsWithConfig = ({ bundlerProvider, bundlerRpc, paymasterRpc, kernelDelegationAddress, } = {}) => {
|
|
@@ -29,6 +31,13 @@ const ZeroDevSmartWalletConnectors = (props) => {
|
|
|
29
31
|
}
|
|
30
32
|
return [];
|
|
31
33
|
};
|
|
34
|
+
const ZKsyncSmartWalletConnectors = (props) => {
|
|
35
|
+
var _a;
|
|
36
|
+
if ((_a = props.apiProviders) === null || _a === void 0 ? void 0 : _a.zksync) {
|
|
37
|
+
return [ZKsyncConnector.ZKsyncConnector];
|
|
38
|
+
}
|
|
39
|
+
return [];
|
|
40
|
+
};
|
|
32
41
|
|
|
33
42
|
exports.createEcdsaKernelAccountClient = createEcsdaKernelAccountClient.createEcdsaKernelAccountClient;
|
|
34
43
|
exports.fetchZeroDevChain = fetchZeroDevChain.fetchZeroDevChain;
|
|
@@ -37,5 +46,7 @@ exports.getEntryPoint = getEntryPoint.getEntryPoint;
|
|
|
37
46
|
exports.getKernelVersion = getKernelVersion.getKernelVersion;
|
|
38
47
|
exports.EthereumAaConnector = ethereumAa.EthereumAaConnector;
|
|
39
48
|
exports.isZeroDevConnector = isZeroDevConnector.isZeroDevConnector;
|
|
49
|
+
exports.isZKsyncConnector = isZKsyncConnector.isZKsyncConnector;
|
|
50
|
+
exports.ZKsyncSmartWalletConnectors = ZKsyncSmartWalletConnectors;
|
|
40
51
|
exports.ZeroDevSmartWalletConnectors = ZeroDevSmartWalletConnectors;
|
|
41
52
|
exports.ZeroDevSmartWalletConnectorsWithConfig = ZeroDevSmartWalletConnectorsWithConfig;
|
package/src/index.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ export { getEntryPoint } from './utils/getEntryPoint';
|
|
|
7
7
|
export { getKernelVersion } from './utils/getKernelVersion';
|
|
8
8
|
export * from './ethereum-aa';
|
|
9
9
|
export { isZeroDevConnector } from './utils/isZeroDevConnector';
|
|
10
|
+
export { isZKsyncConnector } from './utils/isZKsyncConnector';
|
|
10
11
|
export declare const ZeroDevSmartWalletConnectorsWithConfig: ({ bundlerProvider, bundlerRpc, paymasterRpc, kernelDelegationAddress, }?: {
|
|
11
12
|
bundlerProvider?: BundlerProvider;
|
|
12
13
|
bundlerRpc?: string;
|
|
@@ -14,3 +15,4 @@ export declare const ZeroDevSmartWalletConnectorsWithConfig: ({ bundlerProvider,
|
|
|
14
15
|
kernelDelegationAddress?: `0x${string}`;
|
|
15
16
|
}) => (props: any) => WalletConnectorConstructor[];
|
|
16
17
|
export declare const ZeroDevSmartWalletConnectors: (props: any) => WalletConnectorConstructor[];
|
|
18
|
+
export declare const ZKsyncSmartWalletConnectors: (props: any) => WalletConnectorConstructor[];
|
package/src/index.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import { assertPackageVersion } from '@dynamic-labs/assert-package-version';
|
|
3
3
|
import { version } from '../package.js';
|
|
4
4
|
import { ZeroDevConnector } from './ZeroDevConnector.js';
|
|
5
|
+
import { ZKsyncConnector } from './ZKsyncConnector.js';
|
|
5
6
|
export { createEcdsaKernelAccountClient } from './utils/createEcsdaKernelAccountClient.js';
|
|
6
7
|
export { fetchZeroDevChain } from './utils/fetchZeroDevChain.js';
|
|
7
8
|
export { getEcdsaValidator } from './utils/getEcdsaValidator.js';
|
|
@@ -9,6 +10,7 @@ export { getEntryPoint } from './utils/getEntryPoint.js';
|
|
|
9
10
|
export { getKernelVersion } from './utils/getKernelVersion.js';
|
|
10
11
|
export { EthereumAaConnector } from './ethereum-aa.js';
|
|
11
12
|
export { isZeroDevConnector } from './utils/isZeroDevConnector.js';
|
|
13
|
+
export { isZKsyncConnector } from './utils/isZKsyncConnector.js';
|
|
12
14
|
|
|
13
15
|
assertPackageVersion('@dynamic-labs/ethereum-aa', version);
|
|
14
16
|
const ZeroDevSmartWalletConnectorsWithConfig = ({ bundlerProvider, bundlerRpc, paymasterRpc, kernelDelegationAddress, } = {}) => {
|
|
@@ -25,5 +27,12 @@ const ZeroDevSmartWalletConnectors = (props) => {
|
|
|
25
27
|
}
|
|
26
28
|
return [];
|
|
27
29
|
};
|
|
30
|
+
const ZKsyncSmartWalletConnectors = (props) => {
|
|
31
|
+
var _a;
|
|
32
|
+
if ((_a = props.apiProviders) === null || _a === void 0 ? void 0 : _a.zksync) {
|
|
33
|
+
return [ZKsyncConnector];
|
|
34
|
+
}
|
|
35
|
+
return [];
|
|
36
|
+
};
|
|
28
37
|
|
|
29
|
-
export { ZeroDevSmartWalletConnectors, ZeroDevSmartWalletConnectorsWithConfig };
|
|
38
|
+
export { ZKsyncSmartWalletConnectors, ZeroDevSmartWalletConnectors, ZeroDevSmartWalletConnectorsWithConfig };
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
'use client'
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
5
|
+
|
|
6
|
+
const AAFactoryABI = [
|
|
7
|
+
{
|
|
8
|
+
inputs: [
|
|
9
|
+
{
|
|
10
|
+
internalType: 'bytes32',
|
|
11
|
+
name: '_beaconProxyBytecodeHash',
|
|
12
|
+
type: 'bytes32',
|
|
13
|
+
},
|
|
14
|
+
{ internalType: 'address', name: '_beacon', type: 'address' },
|
|
15
|
+
],
|
|
16
|
+
stateMutability: 'nonpayable',
|
|
17
|
+
type: 'constructor',
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
inputs: [{ internalType: 'address', name: 'account', type: 'address' }],
|
|
21
|
+
name: 'ACCOUNT_ALREADY_EXISTS',
|
|
22
|
+
type: 'error',
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
anonymous: false,
|
|
26
|
+
inputs: [
|
|
27
|
+
{
|
|
28
|
+
indexed: true,
|
|
29
|
+
internalType: 'address',
|
|
30
|
+
name: 'accountAddress',
|
|
31
|
+
type: 'address',
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
indexed: false,
|
|
35
|
+
internalType: 'bytes32',
|
|
36
|
+
name: 'uniqueAccountId',
|
|
37
|
+
type: 'bytes32',
|
|
38
|
+
},
|
|
39
|
+
],
|
|
40
|
+
name: 'AccountCreated',
|
|
41
|
+
type: 'event',
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
inputs: [{ internalType: 'bytes32', name: 'accountId', type: 'bytes32' }],
|
|
45
|
+
name: 'accountMappings',
|
|
46
|
+
outputs: [
|
|
47
|
+
{ internalType: 'address', name: 'deployedAccount', type: 'address' },
|
|
48
|
+
],
|
|
49
|
+
stateMutability: 'view',
|
|
50
|
+
type: 'function',
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
inputs: [],
|
|
54
|
+
name: 'beacon',
|
|
55
|
+
outputs: [{ internalType: 'address', name: '', type: 'address' }],
|
|
56
|
+
stateMutability: 'view',
|
|
57
|
+
type: 'function',
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
inputs: [],
|
|
61
|
+
name: 'beaconProxyBytecodeHash',
|
|
62
|
+
outputs: [{ internalType: 'bytes32', name: '', type: 'bytes32' }],
|
|
63
|
+
stateMutability: 'view',
|
|
64
|
+
type: 'function',
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
inputs: [
|
|
68
|
+
{ internalType: 'bytes32', name: 'uniqueId', type: 'bytes32' },
|
|
69
|
+
{ internalType: 'bytes[]', name: 'initialValidators', type: 'bytes[]' },
|
|
70
|
+
{ internalType: 'address[]', name: 'initialK1Owners', type: 'address[]' },
|
|
71
|
+
],
|
|
72
|
+
name: 'deployProxySsoAccount',
|
|
73
|
+
outputs: [
|
|
74
|
+
{ internalType: 'address', name: 'accountAddress', type: 'address' },
|
|
75
|
+
],
|
|
76
|
+
stateMutability: 'nonpayable',
|
|
77
|
+
type: 'function',
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
inputs: [],
|
|
81
|
+
name: 'getEncodedBeacon',
|
|
82
|
+
outputs: [{ internalType: 'bytes', name: '', type: 'bytes' }],
|
|
83
|
+
stateMutability: 'view',
|
|
84
|
+
type: 'function',
|
|
85
|
+
},
|
|
86
|
+
];
|
|
87
|
+
|
|
88
|
+
exports.AAFactoryABI = AAFactoryABI;
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
export declare const AAFactoryABI: readonly [{
|
|
2
|
+
readonly inputs: readonly [{
|
|
3
|
+
readonly internalType: "bytes32";
|
|
4
|
+
readonly name: "_beaconProxyBytecodeHash";
|
|
5
|
+
readonly type: "bytes32";
|
|
6
|
+
}, {
|
|
7
|
+
readonly internalType: "address";
|
|
8
|
+
readonly name: "_beacon";
|
|
9
|
+
readonly type: "address";
|
|
10
|
+
}];
|
|
11
|
+
readonly stateMutability: "nonpayable";
|
|
12
|
+
readonly type: "constructor";
|
|
13
|
+
}, {
|
|
14
|
+
readonly inputs: readonly [{
|
|
15
|
+
readonly internalType: "address";
|
|
16
|
+
readonly name: "account";
|
|
17
|
+
readonly type: "address";
|
|
18
|
+
}];
|
|
19
|
+
readonly name: "ACCOUNT_ALREADY_EXISTS";
|
|
20
|
+
readonly type: "error";
|
|
21
|
+
}, {
|
|
22
|
+
readonly anonymous: false;
|
|
23
|
+
readonly inputs: readonly [{
|
|
24
|
+
readonly indexed: true;
|
|
25
|
+
readonly internalType: "address";
|
|
26
|
+
readonly name: "accountAddress";
|
|
27
|
+
readonly type: "address";
|
|
28
|
+
}, {
|
|
29
|
+
readonly indexed: false;
|
|
30
|
+
readonly internalType: "bytes32";
|
|
31
|
+
readonly name: "uniqueAccountId";
|
|
32
|
+
readonly type: "bytes32";
|
|
33
|
+
}];
|
|
34
|
+
readonly name: "AccountCreated";
|
|
35
|
+
readonly type: "event";
|
|
36
|
+
}, {
|
|
37
|
+
readonly inputs: readonly [{
|
|
38
|
+
readonly internalType: "bytes32";
|
|
39
|
+
readonly name: "accountId";
|
|
40
|
+
readonly type: "bytes32";
|
|
41
|
+
}];
|
|
42
|
+
readonly name: "accountMappings";
|
|
43
|
+
readonly outputs: readonly [{
|
|
44
|
+
readonly internalType: "address";
|
|
45
|
+
readonly name: "deployedAccount";
|
|
46
|
+
readonly type: "address";
|
|
47
|
+
}];
|
|
48
|
+
readonly stateMutability: "view";
|
|
49
|
+
readonly type: "function";
|
|
50
|
+
}, {
|
|
51
|
+
readonly inputs: readonly [];
|
|
52
|
+
readonly name: "beacon";
|
|
53
|
+
readonly outputs: readonly [{
|
|
54
|
+
readonly internalType: "address";
|
|
55
|
+
readonly name: "";
|
|
56
|
+
readonly type: "address";
|
|
57
|
+
}];
|
|
58
|
+
readonly stateMutability: "view";
|
|
59
|
+
readonly type: "function";
|
|
60
|
+
}, {
|
|
61
|
+
readonly inputs: readonly [];
|
|
62
|
+
readonly name: "beaconProxyBytecodeHash";
|
|
63
|
+
readonly outputs: readonly [{
|
|
64
|
+
readonly internalType: "bytes32";
|
|
65
|
+
readonly name: "";
|
|
66
|
+
readonly type: "bytes32";
|
|
67
|
+
}];
|
|
68
|
+
readonly stateMutability: "view";
|
|
69
|
+
readonly type: "function";
|
|
70
|
+
}, {
|
|
71
|
+
readonly inputs: readonly [{
|
|
72
|
+
readonly internalType: "bytes32";
|
|
73
|
+
readonly name: "uniqueId";
|
|
74
|
+
readonly type: "bytes32";
|
|
75
|
+
}, {
|
|
76
|
+
readonly internalType: "bytes[]";
|
|
77
|
+
readonly name: "initialValidators";
|
|
78
|
+
readonly type: "bytes[]";
|
|
79
|
+
}, {
|
|
80
|
+
readonly internalType: "address[]";
|
|
81
|
+
readonly name: "initialK1Owners";
|
|
82
|
+
readonly type: "address[]";
|
|
83
|
+
}];
|
|
84
|
+
readonly name: "deployProxySsoAccount";
|
|
85
|
+
readonly outputs: readonly [{
|
|
86
|
+
readonly internalType: "address";
|
|
87
|
+
readonly name: "accountAddress";
|
|
88
|
+
readonly type: "address";
|
|
89
|
+
}];
|
|
90
|
+
readonly stateMutability: "nonpayable";
|
|
91
|
+
readonly type: "function";
|
|
92
|
+
}, {
|
|
93
|
+
readonly inputs: readonly [];
|
|
94
|
+
readonly name: "getEncodedBeacon";
|
|
95
|
+
readonly outputs: readonly [{
|
|
96
|
+
readonly internalType: "bytes";
|
|
97
|
+
readonly name: "";
|
|
98
|
+
readonly type: "bytes";
|
|
99
|
+
}];
|
|
100
|
+
readonly stateMutability: "view";
|
|
101
|
+
readonly type: "function";
|
|
102
|
+
}];
|
package/src/utils/abi.js
ADDED
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
'use client'
|
|
2
|
+
const AAFactoryABI = [
|
|
3
|
+
{
|
|
4
|
+
inputs: [
|
|
5
|
+
{
|
|
6
|
+
internalType: 'bytes32',
|
|
7
|
+
name: '_beaconProxyBytecodeHash',
|
|
8
|
+
type: 'bytes32',
|
|
9
|
+
},
|
|
10
|
+
{ internalType: 'address', name: '_beacon', type: 'address' },
|
|
11
|
+
],
|
|
12
|
+
stateMutability: 'nonpayable',
|
|
13
|
+
type: 'constructor',
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
inputs: [{ internalType: 'address', name: 'account', type: 'address' }],
|
|
17
|
+
name: 'ACCOUNT_ALREADY_EXISTS',
|
|
18
|
+
type: 'error',
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
anonymous: false,
|
|
22
|
+
inputs: [
|
|
23
|
+
{
|
|
24
|
+
indexed: true,
|
|
25
|
+
internalType: 'address',
|
|
26
|
+
name: 'accountAddress',
|
|
27
|
+
type: 'address',
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
indexed: false,
|
|
31
|
+
internalType: 'bytes32',
|
|
32
|
+
name: 'uniqueAccountId',
|
|
33
|
+
type: 'bytes32',
|
|
34
|
+
},
|
|
35
|
+
],
|
|
36
|
+
name: 'AccountCreated',
|
|
37
|
+
type: 'event',
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
inputs: [{ internalType: 'bytes32', name: 'accountId', type: 'bytes32' }],
|
|
41
|
+
name: 'accountMappings',
|
|
42
|
+
outputs: [
|
|
43
|
+
{ internalType: 'address', name: 'deployedAccount', type: 'address' },
|
|
44
|
+
],
|
|
45
|
+
stateMutability: 'view',
|
|
46
|
+
type: 'function',
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
inputs: [],
|
|
50
|
+
name: 'beacon',
|
|
51
|
+
outputs: [{ internalType: 'address', name: '', type: 'address' }],
|
|
52
|
+
stateMutability: 'view',
|
|
53
|
+
type: 'function',
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
inputs: [],
|
|
57
|
+
name: 'beaconProxyBytecodeHash',
|
|
58
|
+
outputs: [{ internalType: 'bytes32', name: '', type: 'bytes32' }],
|
|
59
|
+
stateMutability: 'view',
|
|
60
|
+
type: 'function',
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
inputs: [
|
|
64
|
+
{ internalType: 'bytes32', name: 'uniqueId', type: 'bytes32' },
|
|
65
|
+
{ internalType: 'bytes[]', name: 'initialValidators', type: 'bytes[]' },
|
|
66
|
+
{ internalType: 'address[]', name: 'initialK1Owners', type: 'address[]' },
|
|
67
|
+
],
|
|
68
|
+
name: 'deployProxySsoAccount',
|
|
69
|
+
outputs: [
|
|
70
|
+
{ internalType: 'address', name: 'accountAddress', type: 'address' },
|
|
71
|
+
],
|
|
72
|
+
stateMutability: 'nonpayable',
|
|
73
|
+
type: 'function',
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
inputs: [],
|
|
77
|
+
name: 'getEncodedBeacon',
|
|
78
|
+
outputs: [{ internalType: 'bytes', name: '', type: 'bytes' }],
|
|
79
|
+
stateMutability: 'view',
|
|
80
|
+
type: 'function',
|
|
81
|
+
},
|
|
82
|
+
];
|
|
83
|
+
|
|
84
|
+
export { AAFactoryABI };
|
|
@@ -24,6 +24,6 @@ type CommonClientParams<TChain extends Chain | undefined = Chain | undefined> =
|
|
|
24
24
|
};
|
|
25
25
|
export declare const createEcdsaKernelAccountClient: <entryPoint extends EntryPointVersion, TChain extends ViemChain | undefined = ViemChain | undefined>({ bundlerRpc, chain, paymasterRpc, projectId, signer, provider, paymaster, entryPoint, kernelVersion, ecdsaValidator, enableKernelV3Migration, }: CommonClientParams<TChain>) => Promise<KernelAccountClient<Transport, ViemChain, SmartAccount, Client, RpcSchema>>;
|
|
26
26
|
export declare const createEcdsaKernelAccountClientWith7702: <TChain extends ViemChain | undefined = ViemChain | undefined>({ bundlerRpc, chain, paymasterRpc, projectId, signer, provider, authorization, paymaster, entryPoint, kernelVersion, ecdsaValidator, }: CommonClientParams<TChain> & {
|
|
27
|
-
authorization
|
|
27
|
+
authorization?: SignAuthorizationReturnType;
|
|
28
28
|
}) => Promise<KernelAccountClient<Transport, ViemChain, SmartAccount, Client, RpcSchema>>;
|
|
29
29
|
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
'use client'
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
5
|
+
|
|
6
|
+
const isZKsyncConnector = (connector) => (connector === null || connector === void 0 ? void 0 : connector.key) === 'zksync';
|
|
7
|
+
|
|
8
|
+
exports.isZKsyncConnector = isZKsyncConnector;
|