@dynamic-labs/ethereum-aa 4.18.0 → 4.18.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 +13 -0
- package/package.cjs +1 -1
- package/package.js +1 -1
- package/package.json +10 -10
- package/src/ZeroDevConnector.cjs +19 -11
- package/src/ZeroDevConnector.d.ts +15 -12
- package/src/ZeroDevConnector.js +20 -12
- package/src/index.cjs +8 -4
- package/src/index.d.ts +10 -3
- package/src/index.js +8 -4
- package/src/utils/createEcdsaKernelAccountClient.d.ts +4 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,4 +1,17 @@
|
|
|
1
1
|
|
|
2
|
+
### [4.18.1](https://github.com/dynamic-labs/dynamic-auth/compare/v4.18.0...v4.18.1) (2025-05-09)
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
|
|
7
|
+
* allow setting zerodev bundler provider from dashboard ([#8548](https://github.com/dynamic-labs/dynamic-auth/issues/8548)) ([d226733](https://github.com/dynamic-labs/dynamic-auth/commit/d2267334db3d9d742833437c81a382742c8d6a74))
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
### Bug Fixes
|
|
11
|
+
|
|
12
|
+
* correctly show back button on connect with qr view ([#8668](https://github.com/dynamic-labs/dynamic-auth/issues/8668)) ([3cff309](https://github.com/dynamic-labs/dynamic-auth/commit/3cff309fa35d7201d0c098b793334908716bc0db))
|
|
13
|
+
* display correct app origin when signing message with global wallet ([#8677](https://github.com/dynamic-labs/dynamic-auth/issues/8677)) ([a70eeb3](https://github.com/dynamic-labs/dynamic-auth/commit/a70eeb3ea28a5ad749cb5c14a0d3c49318099712))
|
|
14
|
+
|
|
2
15
|
## [4.18.0](https://github.com/dynamic-labs/dynamic-auth/compare/v4.17.0...v4.18.0) (2025-05-07)
|
|
3
16
|
|
|
4
17
|
|
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.18.
|
|
3
|
+
"version": "4.18.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",
|
|
@@ -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.663",
|
|
22
22
|
"@zerodev/ecdsa-validator": "5.4.8",
|
|
23
23
|
"@zerodev/multi-chain-ecdsa-validator": "5.4.5",
|
|
24
24
|
"@zerodev/sdk": "5.4.34",
|
|
25
|
-
"@dynamic-labs/assert-package-version": "4.18.
|
|
26
|
-
"@dynamic-labs/ethereum-aa-core": "4.18.
|
|
27
|
-
"@dynamic-labs/ethereum-core": "4.18.
|
|
28
|
-
"@dynamic-labs/logger": "4.18.
|
|
29
|
-
"@dynamic-labs/types": "4.18.
|
|
30
|
-
"@dynamic-labs/utils": "4.18.
|
|
31
|
-
"@dynamic-labs/wallet-book": "4.18.
|
|
32
|
-
"@dynamic-labs/wallet-connector-core": "4.18.
|
|
25
|
+
"@dynamic-labs/assert-package-version": "4.18.1",
|
|
26
|
+
"@dynamic-labs/ethereum-aa-core": "4.18.1",
|
|
27
|
+
"@dynamic-labs/ethereum-core": "4.18.1",
|
|
28
|
+
"@dynamic-labs/logger": "4.18.1",
|
|
29
|
+
"@dynamic-labs/types": "4.18.1",
|
|
30
|
+
"@dynamic-labs/utils": "4.18.1",
|
|
31
|
+
"@dynamic-labs/wallet-book": "4.18.1",
|
|
32
|
+
"@dynamic-labs/wallet-connector-core": "4.18.1"
|
|
33
33
|
},
|
|
34
34
|
"peerDependencies": {
|
|
35
35
|
"viem": "^2.21.60"
|
package/src/ZeroDevConnector.cjs
CHANGED
|
@@ -4,14 +4,14 @@
|
|
|
4
4
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
5
5
|
|
|
6
6
|
var _tslib = require('../_virtual/_tslib.cjs');
|
|
7
|
+
var constants$1 = require('@zerodev/sdk/constants');
|
|
7
8
|
var viem = require('viem');
|
|
8
9
|
var accounts = require('viem/accounts');
|
|
9
|
-
var
|
|
10
|
+
var ethereumAaCore = require('@dynamic-labs/ethereum-aa-core');
|
|
10
11
|
var ethereumCore = require('@dynamic-labs/ethereum-core');
|
|
11
12
|
var sdkApiCore = require('@dynamic-labs/sdk-api-core');
|
|
12
|
-
var walletConnectorCore = require('@dynamic-labs/wallet-connector-core');
|
|
13
13
|
var utils = require('@dynamic-labs/utils');
|
|
14
|
-
var
|
|
14
|
+
var walletConnectorCore = require('@dynamic-labs/wallet-connector-core');
|
|
15
15
|
var constants = require('./constants.cjs');
|
|
16
16
|
var logger = require('./utils/logger.cjs');
|
|
17
17
|
var createEcdsaKernelAccountClient = require('./utils/createEcdsaKernelAccountClient.cjs');
|
|
@@ -22,7 +22,7 @@ var hasSmartAccount = require('./utils/hasSmartAccount.cjs');
|
|
|
22
22
|
|
|
23
23
|
class ZeroDevConnector extends ethereumAaCore.AccountAbstractionBaseConnector {
|
|
24
24
|
constructor(opts) {
|
|
25
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
25
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
|
|
26
26
|
super(opts);
|
|
27
27
|
// provider map maintains the kernel clients per chain
|
|
28
28
|
this.providerMap = {};
|
|
@@ -58,12 +58,20 @@ class ZeroDevConnector extends ethereumAaCore.AccountAbstractionBaseConnector {
|
|
|
58
58
|
this.is7702EnabledOnDashboard =
|
|
59
59
|
(_c = (_b = opts.apiProviders.zerodev) === null || _b === void 0 ? void 0 : _b.enableEIP7702) !== null && _c !== void 0 ? _c : false;
|
|
60
60
|
this.entryPoint = getEntryPoint.getEntryPoint((_d = opts.apiProviders.zerodev) === null || _d === void 0 ? void 0 : _d.entryPointVersion);
|
|
61
|
-
this.
|
|
61
|
+
this.bundlerProvider =
|
|
62
|
+
(_g = (_f = (_e = opts.apiProviders.zerodev) === null || _e === void 0 ? void 0 : _e.zerodevBundlerProvider) !== null && _f !== void 0 ? _f : ZeroDevConnector.bundlerProviderDefault) !== null && _g !== void 0 ? _g : sdkApiCore.ZerodevBundlerProvider.Gelato;
|
|
63
|
+
this.bundlerRpc =
|
|
64
|
+
(_j = (_h = opts.apiProviders.zerodev) === null || _h === void 0 ? void 0 : _h.zerodevBundlerRpcUrl) !== null && _j !== void 0 ? _j : ZeroDevConnector.bundlerRpcDefault;
|
|
65
|
+
this.paymasterRpc =
|
|
66
|
+
(_l = (_k = opts.apiProviders.zerodev) === null || _k === void 0 ? void 0 : _k.zerodevPaymasterRpcUrl) !== null && _l !== void 0 ? _l : ZeroDevConnector.paymasterRpcDefault;
|
|
67
|
+
this.kernelDelegationAddress =
|
|
68
|
+
(_o = (_m = opts.apiProviders.zerodev) === null || _m === void 0 ? void 0 : _m.zerodevKernelDelegationAddress) !== null && _o !== void 0 ? _o : ZeroDevConnector.kernelDelegationAddressDefault;
|
|
69
|
+
this.kernelVersion = getKernelVersion.getKernelVersion((_p = opts.apiProviders.zerodev) === null || _p === void 0 ? void 0 : _p.kernelVersion, this.entryPoint);
|
|
62
70
|
this.enableKernelV3Migration =
|
|
63
|
-
(
|
|
71
|
+
(_r = (_q = opts.apiProviders.zerodev) === null || _q === void 0 ? void 0 : _q.enableKernelV3Migration) !== null && _r !== void 0 ? _r : false;
|
|
64
72
|
// this is the list of providers from the api that are used for multi-chain account abstraction
|
|
65
73
|
this.providersFromApi =
|
|
66
|
-
((
|
|
74
|
+
((_s = opts.apiProviders.zerodev) === null || _s === void 0 ? void 0 : _s.multichainAccountAbstractionProviders) || [];
|
|
67
75
|
const enabledZerodevNetworks = this.providersFromApi.map((provider) => provider.chain);
|
|
68
76
|
this.evmNetworks = utils.parseEvmNetworks(opts.evmNetworks).filter((network) => enabledZerodevNetworks.includes(network.chainId.toString()));
|
|
69
77
|
const [defaultProvider] = this.providersFromApi;
|
|
@@ -72,7 +80,7 @@ class ZeroDevConnector extends ethereumAaCore.AccountAbstractionBaseConnector {
|
|
|
72
80
|
throw new Error('Missing ZeroDev project ID provided. Add your ZeroDev project id to your project configuration via the Dynamic Labs dashboard.');
|
|
73
81
|
}
|
|
74
82
|
this.defaultChainId = defaultProvider === null || defaultProvider === void 0 ? void 0 : defaultProvider.chain;
|
|
75
|
-
this.ecdsaProviderType = (
|
|
83
|
+
this.ecdsaProviderType = (_t = opts.apiProviders.zerodev) === null || _t === void 0 ? void 0 : _t.ecdsaProviderType;
|
|
76
84
|
}
|
|
77
85
|
confirmTransactionStatus() {
|
|
78
86
|
throw new Error('confirmTransactionStatus not implemented in ZeroDevConnector');
|
|
@@ -288,15 +296,15 @@ class ZeroDevConnector extends ethereumAaCore.AccountAbstractionBaseConnector {
|
|
|
288
296
|
const publicClientRpc = (_b = network === null || network === void 0 ? void 0 : network.privateCustomerRpcUrls) === null || _b === void 0 ? void 0 : _b[0];
|
|
289
297
|
let kernelClient;
|
|
290
298
|
const params = {
|
|
291
|
-
bundlerRpc:
|
|
299
|
+
bundlerRpc: this.bundlerRpc,
|
|
292
300
|
chain,
|
|
293
301
|
enableKernelV3Migration: this.enableKernelV3Migration,
|
|
294
302
|
entryPoint: this.entryPoint,
|
|
295
303
|
kernelVersion: this.kernelVersion,
|
|
296
304
|
paymaster,
|
|
297
|
-
paymasterRpc:
|
|
305
|
+
paymasterRpc: this.paymasterRpc,
|
|
298
306
|
projectId,
|
|
299
|
-
provider:
|
|
307
|
+
provider: this.bundlerProvider,
|
|
300
308
|
publicClientRpc,
|
|
301
309
|
signer,
|
|
302
310
|
};
|
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
import { KernelAccountClient } from '@zerodev/sdk/clients';
|
|
2
|
-
import {
|
|
2
|
+
import { EntryPointType, KERNEL_VERSION_TYPE } from '@zerodev/sdk/types';
|
|
3
3
|
import { Account, Client, PublicClient, RpcSchema, Transport, WalletClient } from 'viem';
|
|
4
|
+
import { EntryPointVersion, SmartAccount } from 'viem/account-abstraction';
|
|
4
5
|
import { type Chain as ViemChain } from 'viem/chains';
|
|
5
|
-
import {
|
|
6
|
+
import { AccountAbstractionBaseConnector, AccountAbstractionConnectorProps } from '@dynamic-labs/ethereum-aa-core';
|
|
6
7
|
import { EthereumWallet, RegisterEvmProvidersConfig } from '@dynamic-labs/ethereum-core';
|
|
7
|
-
import { EcdsaValidatorOptions, Provider, ProviderEntryPointVersionEnum, ProviderEnum, ProviderKernelVersionEnum, ProviderMultichainAccountAbstractionProviders, SmartWalletProperties,
|
|
8
|
-
import { Chain, InternalWalletConnector, IZeroDevConnector } from '@dynamic-labs/wallet-connector-core';
|
|
9
|
-
import { WalletBookSchema } from '@dynamic-labs/wallet-book';
|
|
8
|
+
import { EcdsaValidatorOptions, JwtVerifiedCredential, Provider, ProviderEntryPointVersionEnum, ProviderEnum, ProviderKernelVersionEnum, ProviderMultichainAccountAbstractionProviders, SmartWalletProperties, ZerodevBundlerProvider } from '@dynamic-labs/sdk-api-core';
|
|
10
9
|
import { GenericNetwork, TransactionReceipt, WalletUiUtils } from '@dynamic-labs/types';
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
10
|
+
import { WalletBookSchema } from '@dynamic-labs/wallet-book';
|
|
11
|
+
import { Chain, InternalWalletConnector, IZeroDevConnector } from '@dynamic-labs/wallet-connector-core';
|
|
13
12
|
type ZeroDevConnectorProps = AccountAbstractionConnectorProps & {
|
|
14
13
|
apiProviders: {
|
|
15
14
|
[key in ProviderEnum]?: Provider;
|
|
@@ -17,7 +16,7 @@ type ZeroDevConnectorProps = AccountAbstractionConnectorProps & {
|
|
|
17
16
|
evmNetworks: GenericNetwork[];
|
|
18
17
|
walletBook: WalletBookSchema;
|
|
19
18
|
walletUiUtils: WalletUiUtils<InternalWalletConnector>;
|
|
20
|
-
bundlerProvider:
|
|
19
|
+
bundlerProvider: ZerodevBundlerProvider | undefined;
|
|
21
20
|
enableEIP7702?: boolean;
|
|
22
21
|
providersConfig?: RegisterEvmProvidersConfig;
|
|
23
22
|
};
|
|
@@ -39,10 +38,14 @@ export declare class ZeroDevConnector extends AccountAbstractionBaseConnector im
|
|
|
39
38
|
ecdsaProviderType: string | undefined;
|
|
40
39
|
defaultChainId: string | undefined;
|
|
41
40
|
providersFromApi: ProviderMultichainAccountAbstractionProviders[];
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
41
|
+
bundlerProvider: ZerodevBundlerProvider;
|
|
42
|
+
bundlerRpc: string | undefined;
|
|
43
|
+
paymasterRpc: string | undefined;
|
|
44
|
+
kernelDelegationAddress: `0x${string}` | undefined;
|
|
45
|
+
static bundlerProviderDefault: ZerodevBundlerProvider | undefined;
|
|
46
|
+
static bundlerRpcDefault: string | undefined;
|
|
47
|
+
static paymasterRpcDefault: string | undefined;
|
|
48
|
+
static kernelDelegationAddressDefault: `0x${string}` | undefined;
|
|
46
49
|
/**
|
|
47
50
|
* Deferred promise that resolves when the ZeroDev provider is set.
|
|
48
51
|
* This is used to make sure that the provider is set before any other method is called.
|
package/src/ZeroDevConnector.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
'use client'
|
|
2
2
|
import { __awaiter, __rest } from '../_virtual/_tslib.js';
|
|
3
|
+
import { KERNEL_V3_3, getEntryPoint as getEntryPoint$1 } from '@zerodev/sdk/constants';
|
|
3
4
|
import { publicActions, custom, createWalletClient, toHex, formatEther } from 'viem';
|
|
4
5
|
import { toAccount } from 'viem/accounts';
|
|
5
|
-
import {
|
|
6
|
+
import { AccountAbstractionBaseConnector } from '@dynamic-labs/ethereum-aa-core';
|
|
6
7
|
import { EthereumWallet, isEthWalletConnector, chainsMap, confirmationTransport, unFormatTransaction } from '@dynamic-labs/ethereum-core';
|
|
7
|
-
import { WalletProviderEnum } from '@dynamic-labs/sdk-api-core';
|
|
8
|
-
import { eventListenerHandlers, getWalletProvider } from '@dynamic-labs/wallet-connector-core';
|
|
8
|
+
import { ZerodevBundlerProvider, WalletProviderEnum } from '@dynamic-labs/sdk-api-core';
|
|
9
9
|
import { parseEvmNetworks, StorageService, DynamicError, DeferredPromise, parseChainId, wrapMethodWithCallback, TransactionGasCannotBeSponsoredError, InsufficientFundsError } from '@dynamic-labs/utils';
|
|
10
|
-
import {
|
|
10
|
+
import { eventListenerHandlers, getWalletProvider } from '@dynamic-labs/wallet-connector-core';
|
|
11
11
|
import { ZERO_DEV_LAST_USED_CHAIN_ID_KEY } from './constants.js';
|
|
12
12
|
import { logger } from './utils/logger.js';
|
|
13
13
|
import { createEcdsaKernelAccountClientWith7702, createEcdsaKernelAccountClient } from './utils/createEcdsaKernelAccountClient.js';
|
|
@@ -18,7 +18,7 @@ import { hasSmartAccount } from './utils/hasSmartAccount.js';
|
|
|
18
18
|
|
|
19
19
|
class ZeroDevConnector extends AccountAbstractionBaseConnector {
|
|
20
20
|
constructor(opts) {
|
|
21
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
21
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
|
|
22
22
|
super(opts);
|
|
23
23
|
// provider map maintains the kernel clients per chain
|
|
24
24
|
this.providerMap = {};
|
|
@@ -54,12 +54,20 @@ class ZeroDevConnector extends AccountAbstractionBaseConnector {
|
|
|
54
54
|
this.is7702EnabledOnDashboard =
|
|
55
55
|
(_c = (_b = opts.apiProviders.zerodev) === null || _b === void 0 ? void 0 : _b.enableEIP7702) !== null && _c !== void 0 ? _c : false;
|
|
56
56
|
this.entryPoint = getEntryPoint((_d = opts.apiProviders.zerodev) === null || _d === void 0 ? void 0 : _d.entryPointVersion);
|
|
57
|
-
this.
|
|
57
|
+
this.bundlerProvider =
|
|
58
|
+
(_g = (_f = (_e = opts.apiProviders.zerodev) === null || _e === void 0 ? void 0 : _e.zerodevBundlerProvider) !== null && _f !== void 0 ? _f : ZeroDevConnector.bundlerProviderDefault) !== null && _g !== void 0 ? _g : ZerodevBundlerProvider.Gelato;
|
|
59
|
+
this.bundlerRpc =
|
|
60
|
+
(_j = (_h = opts.apiProviders.zerodev) === null || _h === void 0 ? void 0 : _h.zerodevBundlerRpcUrl) !== null && _j !== void 0 ? _j : ZeroDevConnector.bundlerRpcDefault;
|
|
61
|
+
this.paymasterRpc =
|
|
62
|
+
(_l = (_k = opts.apiProviders.zerodev) === null || _k === void 0 ? void 0 : _k.zerodevPaymasterRpcUrl) !== null && _l !== void 0 ? _l : ZeroDevConnector.paymasterRpcDefault;
|
|
63
|
+
this.kernelDelegationAddress =
|
|
64
|
+
(_o = (_m = opts.apiProviders.zerodev) === null || _m === void 0 ? void 0 : _m.zerodevKernelDelegationAddress) !== null && _o !== void 0 ? _o : ZeroDevConnector.kernelDelegationAddressDefault;
|
|
65
|
+
this.kernelVersion = getKernelVersion((_p = opts.apiProviders.zerodev) === null || _p === void 0 ? void 0 : _p.kernelVersion, this.entryPoint);
|
|
58
66
|
this.enableKernelV3Migration =
|
|
59
|
-
(
|
|
67
|
+
(_r = (_q = opts.apiProviders.zerodev) === null || _q === void 0 ? void 0 : _q.enableKernelV3Migration) !== null && _r !== void 0 ? _r : false;
|
|
60
68
|
// this is the list of providers from the api that are used for multi-chain account abstraction
|
|
61
69
|
this.providersFromApi =
|
|
62
|
-
((
|
|
70
|
+
((_s = opts.apiProviders.zerodev) === null || _s === void 0 ? void 0 : _s.multichainAccountAbstractionProviders) || [];
|
|
63
71
|
const enabledZerodevNetworks = this.providersFromApi.map((provider) => provider.chain);
|
|
64
72
|
this.evmNetworks = parseEvmNetworks(opts.evmNetworks).filter((network) => enabledZerodevNetworks.includes(network.chainId.toString()));
|
|
65
73
|
const [defaultProvider] = this.providersFromApi;
|
|
@@ -68,7 +76,7 @@ class ZeroDevConnector extends AccountAbstractionBaseConnector {
|
|
|
68
76
|
throw new Error('Missing ZeroDev project ID provided. Add your ZeroDev project id to your project configuration via the Dynamic Labs dashboard.');
|
|
69
77
|
}
|
|
70
78
|
this.defaultChainId = defaultProvider === null || defaultProvider === void 0 ? void 0 : defaultProvider.chain;
|
|
71
|
-
this.ecdsaProviderType = (
|
|
79
|
+
this.ecdsaProviderType = (_t = opts.apiProviders.zerodev) === null || _t === void 0 ? void 0 : _t.ecdsaProviderType;
|
|
72
80
|
}
|
|
73
81
|
confirmTransactionStatus() {
|
|
74
82
|
throw new Error('confirmTransactionStatus not implemented in ZeroDevConnector');
|
|
@@ -284,15 +292,15 @@ class ZeroDevConnector extends AccountAbstractionBaseConnector {
|
|
|
284
292
|
const publicClientRpc = (_b = network === null || network === void 0 ? void 0 : network.privateCustomerRpcUrls) === null || _b === void 0 ? void 0 : _b[0];
|
|
285
293
|
let kernelClient;
|
|
286
294
|
const params = {
|
|
287
|
-
bundlerRpc:
|
|
295
|
+
bundlerRpc: this.bundlerRpc,
|
|
288
296
|
chain,
|
|
289
297
|
enableKernelV3Migration: this.enableKernelV3Migration,
|
|
290
298
|
entryPoint: this.entryPoint,
|
|
291
299
|
kernelVersion: this.kernelVersion,
|
|
292
300
|
paymaster,
|
|
293
|
-
paymasterRpc:
|
|
301
|
+
paymasterRpc: this.paymasterRpc,
|
|
294
302
|
projectId,
|
|
295
|
-
provider:
|
|
303
|
+
provider: this.bundlerProvider,
|
|
296
304
|
publicClientRpc,
|
|
297
305
|
signer,
|
|
298
306
|
};
|
package/src/index.cjs
CHANGED
|
@@ -14,11 +14,15 @@ var getKernelVersion = require('./utils/getKernelVersion.cjs');
|
|
|
14
14
|
var isZeroDevConnector = require('./utils/isZeroDevConnector.cjs');
|
|
15
15
|
|
|
16
16
|
assertPackageVersion.assertPackageVersion('@dynamic-labs/ethereum-aa', _package.version);
|
|
17
|
+
/**
|
|
18
|
+
* Allows defining default values for zerodev configs.
|
|
19
|
+
* Values configured in the dashboard will take precedence over these values.
|
|
20
|
+
*/
|
|
17
21
|
const ZeroDevSmartWalletConnectorsWithConfig = ({ bundlerProvider, bundlerRpc, paymasterRpc, kernelDelegationAddress, } = {}) => {
|
|
18
|
-
ZeroDevConnector.ZeroDevConnector.
|
|
19
|
-
ZeroDevConnector.ZeroDevConnector.
|
|
20
|
-
ZeroDevConnector.ZeroDevConnector.
|
|
21
|
-
ZeroDevConnector.ZeroDevConnector.
|
|
22
|
+
ZeroDevConnector.ZeroDevConnector.bundlerProviderDefault = bundlerProvider;
|
|
23
|
+
ZeroDevConnector.ZeroDevConnector.bundlerRpcDefault = bundlerRpc;
|
|
24
|
+
ZeroDevConnector.ZeroDevConnector.paymasterRpcDefault = paymasterRpc;
|
|
25
|
+
ZeroDevConnector.ZeroDevConnector.kernelDelegationAddressDefault = kernelDelegationAddress;
|
|
22
26
|
return ZeroDevSmartWalletConnectors;
|
|
23
27
|
};
|
|
24
28
|
const ZeroDevSmartWalletConnectors = (props) => {
|
package/src/index.d.ts
CHANGED
|
@@ -1,13 +1,20 @@
|
|
|
1
|
+
import { ZerodevBundlerProvider } from '@dynamic-labs/sdk-api-core';
|
|
1
2
|
import { WalletConnectorConstructor } from '@dynamic-labs/wallet-connector-core';
|
|
2
|
-
|
|
3
|
-
export { createEcdsaKernelAccountClient, type BundlerProvider, type PaymasterType, } from './utils/createEcdsaKernelAccountClient';
|
|
3
|
+
export { createEcdsaKernelAccountClient, type PaymasterType, } from './utils/createEcdsaKernelAccountClient';
|
|
4
4
|
export { fetchZeroDevChain } from './utils/fetchZeroDevChain';
|
|
5
5
|
export { getEcdsaValidator } from './utils/getEcdsaValidator';
|
|
6
6
|
export { getEntryPoint } from './utils/getEntryPoint';
|
|
7
7
|
export { getKernelVersion } from './utils/getKernelVersion';
|
|
8
8
|
export { isZeroDevConnector } from './utils/isZeroDevConnector';
|
|
9
|
+
export type {
|
|
10
|
+
/** @deprecated Use ZerodevBundlerProvider from \@dynamic-labs/sdk-api-core instead */
|
|
11
|
+
ZerodevBundlerProvider as BundlerProvider, } from '@dynamic-labs/sdk-api-core';
|
|
12
|
+
/**
|
|
13
|
+
* Allows defining default values for zerodev configs.
|
|
14
|
+
* Values configured in the dashboard will take precedence over these values.
|
|
15
|
+
*/
|
|
9
16
|
export declare const ZeroDevSmartWalletConnectorsWithConfig: ({ bundlerProvider, bundlerRpc, paymasterRpc, kernelDelegationAddress, }?: {
|
|
10
|
-
bundlerProvider?:
|
|
17
|
+
bundlerProvider?: ZerodevBundlerProvider;
|
|
11
18
|
bundlerRpc?: string;
|
|
12
19
|
paymasterRpc?: string;
|
|
13
20
|
kernelDelegationAddress?: `0x${string}`;
|
package/src/index.js
CHANGED
|
@@ -10,11 +10,15 @@ export { getKernelVersion } from './utils/getKernelVersion.js';
|
|
|
10
10
|
export { isZeroDevConnector } from './utils/isZeroDevConnector.js';
|
|
11
11
|
|
|
12
12
|
assertPackageVersion('@dynamic-labs/ethereum-aa', version);
|
|
13
|
+
/**
|
|
14
|
+
* Allows defining default values for zerodev configs.
|
|
15
|
+
* Values configured in the dashboard will take precedence over these values.
|
|
16
|
+
*/
|
|
13
17
|
const ZeroDevSmartWalletConnectorsWithConfig = ({ bundlerProvider, bundlerRpc, paymasterRpc, kernelDelegationAddress, } = {}) => {
|
|
14
|
-
ZeroDevConnector.
|
|
15
|
-
ZeroDevConnector.
|
|
16
|
-
ZeroDevConnector.
|
|
17
|
-
ZeroDevConnector.
|
|
18
|
+
ZeroDevConnector.bundlerProviderDefault = bundlerProvider;
|
|
19
|
+
ZeroDevConnector.bundlerRpcDefault = bundlerRpc;
|
|
20
|
+
ZeroDevConnector.paymasterRpcDefault = paymasterRpc;
|
|
21
|
+
ZeroDevConnector.kernelDelegationAddressDefault = kernelDelegationAddress;
|
|
18
22
|
return ZeroDevSmartWalletConnectors;
|
|
19
23
|
};
|
|
20
24
|
const ZeroDevSmartWalletConnectors = (props) => {
|
|
@@ -3,11 +3,11 @@ import { KernelAccountClient } from '@zerodev/sdk/clients';
|
|
|
3
3
|
import { type Chain as ViemChain } from 'viem/chains';
|
|
4
4
|
import { Address, WalletClient, Account, type Chain, type Client, type RpcSchema, type Transport } from 'viem';
|
|
5
5
|
import { EntryPointType, GetKernelVersion } from '@zerodev/sdk/types';
|
|
6
|
-
|
|
6
|
+
import { ZerodevBundlerProvider } from '@dynamic-labs/sdk-api-core';
|
|
7
7
|
export type ERC20Paymaster = Address;
|
|
8
8
|
export type PaymasterType = 'NONE' | 'SPONSOR' | ERC20Paymaster;
|
|
9
|
-
export declare const getZeroDevBundlerRPC: (projectId: string, provider?:
|
|
10
|
-
export declare const getZeroDevPaymasterRPC: (projectId: string, provider?:
|
|
9
|
+
export declare const getZeroDevBundlerRPC: (projectId: string, provider?: ZerodevBundlerProvider) => string;
|
|
10
|
+
export declare const getZeroDevPaymasterRPC: (projectId: string, provider?: ZerodevBundlerProvider) => string;
|
|
11
11
|
type CommonClientParams<TChain extends Chain | undefined = Chain | undefined> = {
|
|
12
12
|
bundlerRpc?: string;
|
|
13
13
|
chain: TChain;
|
|
@@ -16,7 +16,7 @@ type CommonClientParams<TChain extends Chain | undefined = Chain | undefined> =
|
|
|
16
16
|
paymaster: PaymasterType;
|
|
17
17
|
paymasterRpc?: string;
|
|
18
18
|
entryPoint: EntryPointType<EntryPointVersion>;
|
|
19
|
-
provider?:
|
|
19
|
+
provider?: ZerodevBundlerProvider;
|
|
20
20
|
kernelVersion: GetKernelVersion<EntryPointVersion>;
|
|
21
21
|
enableKernelV3Migration: boolean;
|
|
22
22
|
publicClientRpc?: string;
|