@dynamic-labs/ethereum-aa 4.0.0-alpha.2 → 4.0.0-alpha.21

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.
@@ -0,0 +1,8 @@
1
+ 'use client'
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ const ZERO_DEV_LAST_USED_CHAIN_ID_KEY = 'dynamic_zerodev_last_used_chain_id';
7
+
8
+ exports.ZERO_DEV_LAST_USED_CHAIN_ID_KEY = ZERO_DEV_LAST_USED_CHAIN_ID_KEY;
@@ -0,0 +1 @@
1
+ export declare const ZERO_DEV_LAST_USED_CHAIN_ID_KEY = "dynamic_zerodev_last_used_chain_id";
@@ -0,0 +1,4 @@
1
+ 'use client'
2
+ const ZERO_DEV_LAST_USED_CHAIN_ID_KEY = 'dynamic_zerodev_last_used_chain_id';
3
+
4
+ export { ZERO_DEV_LAST_USED_CHAIN_ID_KEY };
package/src/index.cjs CHANGED
@@ -3,10 +3,18 @@
3
3
 
4
4
  Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
+ var assertPackageVersion = require('@dynamic-labs/assert-package-version');
7
+ var _package = require('../package.cjs');
6
8
  var ZeroDevConnector = require('./ZeroDevConnector.cjs');
9
+ var createEcsdaKernelAccountClient = require('./utils/createEcsdaKernelAccountClient.cjs');
10
+ var fetchZeroDevChain = require('./utils/fetchZeroDevChain.cjs');
11
+ var getEcdsaValidator = require('./utils/getEcdsaValidator.cjs');
12
+ var getEntryPoint = require('./utils/getEntryPoint.cjs');
13
+ var getKernelVersion = require('./utils/getKernelVersion.cjs');
7
14
  var ethereumAa = require('./ethereum-aa.cjs');
8
15
  var isZeroDevConnector = require('./utils/isZeroDevConnector.cjs');
9
16
 
17
+ assertPackageVersion.assertPackageVersion('@dynamic-labs/ethereum-aa', _package.version);
10
18
  const ZeroDevSmartWalletConnectorsWithConfig = ({ bundlerProvider, bundlerRpc, paymasterRpc, } = {}) => {
11
19
  ZeroDevConnector.ZeroDevConnector.bundlerProvider = bundlerProvider;
12
20
  ZeroDevConnector.ZeroDevConnector.bundlerRpc = bundlerRpc;
@@ -21,6 +29,11 @@ const ZeroDevSmartWalletConnectors = (props) => {
21
29
  return [];
22
30
  };
23
31
 
32
+ exports.createEcdsaKernelAccountClient = createEcsdaKernelAccountClient.createEcdsaKernelAccountClient;
33
+ exports.fetchZeroDevChain = fetchZeroDevChain.fetchZeroDevChain;
34
+ exports.getEcdsaValidator = getEcdsaValidator.getEcdsaValidator;
35
+ exports.getEntryPoint = getEntryPoint.getEntryPoint;
36
+ exports.getKernelVersion = getKernelVersion.getKernelVersion;
24
37
  exports.EthereumAaConnector = ethereumAa.EthereumAaConnector;
25
38
  exports.isZeroDevConnector = isZeroDevConnector.isZeroDevConnector;
26
39
  exports.ZeroDevSmartWalletConnectors = ZeroDevSmartWalletConnectors;
package/src/index.d.ts CHANGED
@@ -1,5 +1,10 @@
1
1
  import { WalletConnectorConstructor } from '@dynamic-labs/wallet-connector-core';
2
2
  import { BundlerProvider } from './utils';
3
+ export { createEcdsaKernelAccountClient, type BundlerProvider, type PaymasterType, } from './utils/createEcsdaKernelAccountClient';
4
+ export { fetchZeroDevChain } from './utils/fetchZeroDevChain';
5
+ export { getEcdsaValidator } from './utils/getEcdsaValidator';
6
+ export { getEntryPoint } from './utils/getEntryPoint';
7
+ export { getKernelVersion } from './utils/getKernelVersion';
3
8
  export * from './ethereum-aa';
4
9
  export { isZeroDevConnector } from './utils/isZeroDevConnector';
5
10
  export declare const ZeroDevSmartWalletConnectorsWithConfig: ({ bundlerProvider, bundlerRpc, paymasterRpc, }?: {
package/src/index.js CHANGED
@@ -1,8 +1,16 @@
1
1
  'use client'
2
+ import { assertPackageVersion } from '@dynamic-labs/assert-package-version';
3
+ import { version } from '../package.js';
2
4
  import { ZeroDevConnector } from './ZeroDevConnector.js';
5
+ export { createEcdsaKernelAccountClient } from './utils/createEcsdaKernelAccountClient.js';
6
+ export { fetchZeroDevChain } from './utils/fetchZeroDevChain.js';
7
+ export { getEcdsaValidator } from './utils/getEcdsaValidator.js';
8
+ export { getEntryPoint } from './utils/getEntryPoint.js';
9
+ export { getKernelVersion } from './utils/getKernelVersion.js';
3
10
  export { EthereumAaConnector } from './ethereum-aa.js';
4
11
  export { isZeroDevConnector } from './utils/isZeroDevConnector.js';
5
12
 
13
+ assertPackageVersion('@dynamic-labs/ethereum-aa', version);
6
14
  const ZeroDevSmartWalletConnectorsWithConfig = ({ bundlerProvider, bundlerRpc, paymasterRpc, } = {}) => {
7
15
  ZeroDevConnector.bundlerProvider = bundlerProvider;
8
16
  ZeroDevConnector.bundlerRpc = bundlerRpc;
@@ -21,4 +21,4 @@ export declare const createEcdsaKernelAccountClient: <entryPoint extends EntryPo
21
21
  index?: bigint;
22
22
  kernelVersion: GetKernelVersion<entryPoint>;
23
23
  ecdsaValidator: any;
24
- }) => Promise<KernelAccountClient<entryPoint, HttpTransport, TChain, KernelSmartAccount<entryPoint, HttpTransport, TChain>>>;
24
+ }) => Promise<KernelAccountClient<entryPoint, HttpTransport, TChain, KernelSmartAccount<entryPoint>>>;
@@ -8,7 +8,7 @@ var ethereumCore = require('@dynamic-labs/ethereum-core');
8
8
  var logger = require('./logger.cjs');
9
9
 
10
10
  const cachedChainIdKey = 'dynamic_zd_chain_id';
11
- const fetchChain = (projectId) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
11
+ const fetchZeroDevChain = (projectId) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
12
12
  try {
13
13
  const cachedChainId = localStorage.getItem(cachedChainIdKey);
14
14
  if (cachedChainId) {
@@ -26,4 +26,4 @@ const fetchChain = (projectId) => _tslib.__awaiter(void 0, void 0, void 0, funct
26
26
  });
27
27
 
28
28
  exports.cachedChainIdKey = cachedChainIdKey;
29
- exports.fetchChain = fetchChain;
29
+ exports.fetchZeroDevChain = fetchZeroDevChain;
@@ -1,3 +1,3 @@
1
1
  import { type Chain } from 'viem/chains';
2
2
  export declare const cachedChainIdKey = "dynamic_zd_chain_id";
3
- export declare const fetchChain: (projectId: string) => Promise<Chain>;
3
+ export declare const fetchZeroDevChain: (projectId: string) => Promise<Chain>;
@@ -4,7 +4,7 @@ import { chainsMap } from '@dynamic-labs/ethereum-core';
4
4
  import { logger } from './logger.js';
5
5
 
6
6
  const cachedChainIdKey = 'dynamic_zd_chain_id';
7
- const fetchChain = (projectId) => __awaiter(void 0, void 0, void 0, function* () {
7
+ const fetchZeroDevChain = (projectId) => __awaiter(void 0, void 0, void 0, function* () {
8
8
  try {
9
9
  const cachedChainId = localStorage.getItem(cachedChainIdKey);
10
10
  if (cachedChainId) {
@@ -21,4 +21,4 @@ const fetchChain = (projectId) => __awaiter(void 0, void 0, void 0, function* ()
21
21
  }
22
22
  });
23
23
 
24
- export { cachedChainIdKey, fetchChain };
24
+ export { cachedChainIdKey, fetchZeroDevChain };
@@ -0,0 +1,21 @@
1
+ 'use client'
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ var ecdsaValidator = require('@zerodev/ecdsa-validator');
7
+ var multiChainValidator = require('@zerodev/multi-chain-validator');
8
+
9
+ const getEcdsaValidator = (ecdsaProviderType) => {
10
+ if (ecdsaProviderType === 'zerodev_signer_to_ecdsa') {
11
+ return ecdsaValidator.signerToEcdsaValidator;
12
+ }
13
+ else if (ecdsaProviderType === 'zerodev_multi_chain') {
14
+ return multiChainValidator.toMultiChainECDSAValidator;
15
+ }
16
+ else {
17
+ return ecdsaValidator.signerToEcdsaValidator;
18
+ }
19
+ };
20
+
21
+ exports.getEcdsaValidator = getEcdsaValidator;
@@ -0,0 +1,3 @@
1
+ import { signerToEcdsaValidator } from '@zerodev/ecdsa-validator';
2
+ import { toMultiChainECDSAValidator } from '@zerodev/multi-chain-validator';
3
+ export declare const getEcdsaValidator: (ecdsaProviderType: string | undefined) => typeof signerToEcdsaValidator | typeof toMultiChainECDSAValidator;
@@ -0,0 +1,17 @@
1
+ 'use client'
2
+ import { signerToEcdsaValidator } from '@zerodev/ecdsa-validator';
3
+ import { toMultiChainECDSAValidator } from '@zerodev/multi-chain-validator';
4
+
5
+ const getEcdsaValidator = (ecdsaProviderType) => {
6
+ if (ecdsaProviderType === 'zerodev_signer_to_ecdsa') {
7
+ return signerToEcdsaValidator;
8
+ }
9
+ else if (ecdsaProviderType === 'zerodev_multi_chain') {
10
+ return toMultiChainECDSAValidator;
11
+ }
12
+ else {
13
+ return signerToEcdsaValidator;
14
+ }
15
+ };
16
+
17
+ export { getEcdsaValidator };
@@ -0,0 +1,24 @@
1
+ 'use client'
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ var permissionless = require('permissionless');
7
+ var sdkApiCore = require('@dynamic-labs/sdk-api-core');
8
+ var logger = require('./logger.cjs');
9
+
10
+ const getEntryPoint = (entryPoint) => {
11
+ if (entryPoint === undefined ||
12
+ entryPoint === sdkApiCore.ProviderEntryPointVersionEnum.V7) {
13
+ return permissionless.ENTRYPOINT_ADDRESS_V07;
14
+ }
15
+ else if (entryPoint === sdkApiCore.ProviderEntryPointVersionEnum.V6) {
16
+ return permissionless.ENTRYPOINT_ADDRESS_V06;
17
+ }
18
+ else {
19
+ logger.logger.error('Invalid entry point version', entryPoint);
20
+ return permissionless.ENTRYPOINT_ADDRESS_V07;
21
+ }
22
+ };
23
+
24
+ exports.getEntryPoint = getEntryPoint;
@@ -0,0 +1 @@
1
+ export declare const getEntryPoint: (entryPoint: string | undefined) => "0x0000000071727De22E5E9d8BAf0edAc6f37da032" | "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789";
@@ -0,0 +1,20 @@
1
+ 'use client'
2
+ import { ENTRYPOINT_ADDRESS_V07, ENTRYPOINT_ADDRESS_V06 } from 'permissionless';
3
+ import { ProviderEntryPointVersionEnum } from '@dynamic-labs/sdk-api-core';
4
+ import { logger } from './logger.js';
5
+
6
+ const getEntryPoint = (entryPoint) => {
7
+ if (entryPoint === undefined ||
8
+ entryPoint === ProviderEntryPointVersionEnum.V7) {
9
+ return ENTRYPOINT_ADDRESS_V07;
10
+ }
11
+ else if (entryPoint === ProviderEntryPointVersionEnum.V6) {
12
+ return ENTRYPOINT_ADDRESS_V06;
13
+ }
14
+ else {
15
+ logger.error('Invalid entry point version', entryPoint);
16
+ return ENTRYPOINT_ADDRESS_V07;
17
+ }
18
+ };
19
+
20
+ export { getEntryPoint };
@@ -0,0 +1,31 @@
1
+ 'use client'
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ var permissionless = require('permissionless');
7
+ var constants = require('@zerodev/sdk/constants');
8
+ var sdkApiCore = require('@dynamic-labs/sdk-api-core');
9
+ var logger = require('./logger.cjs');
10
+
11
+ const getKernelVersion = (kernelVersion, entryPointAddress) => {
12
+ if (kernelVersion === sdkApiCore.ProviderKernelVersionEnum.V31 ||
13
+ (kernelVersion === undefined &&
14
+ entryPointAddress === permissionless.ENTRYPOINT_ADDRESS_V07)) {
15
+ return constants.KERNEL_V3_1;
16
+ }
17
+ else if (kernelVersion === sdkApiCore.ProviderKernelVersionEnum.V30) {
18
+ return constants.KERNEL_V3_0;
19
+ }
20
+ else if (kernelVersion === sdkApiCore.ProviderKernelVersionEnum.V24 ||
21
+ entryPointAddress === permissionless.ENTRYPOINT_ADDRESS_V06 // v0.6 only supports v2.4
22
+ ) {
23
+ return constants.KERNEL_V2_4;
24
+ }
25
+ else {
26
+ logger.logger.error('Invalid kernel version', kernelVersion);
27
+ return constants.KERNEL_V3_1;
28
+ }
29
+ };
30
+
31
+ exports.getKernelVersion = getKernelVersion;
@@ -0,0 +1,4 @@
1
+ import { KERNEL_VERSION_TYPE } from '@zerodev/sdk/types';
2
+ import { ProviderKernelVersionEnum } from '@dynamic-labs/sdk-api-core';
3
+ import { getEntryPoint } from './getEntryPoint';
4
+ export declare const getKernelVersion: (kernelVersion: ProviderKernelVersionEnum | undefined, entryPointAddress: ReturnType<typeof getEntryPoint>) => KERNEL_VERSION_TYPE;
@@ -0,0 +1,27 @@
1
+ 'use client'
2
+ import { ENTRYPOINT_ADDRESS_V07, ENTRYPOINT_ADDRESS_V06 } from 'permissionless';
3
+ import { KERNEL_V3_1, KERNEL_V3_0, KERNEL_V2_4 } from '@zerodev/sdk/constants';
4
+ import { ProviderKernelVersionEnum } from '@dynamic-labs/sdk-api-core';
5
+ import { logger } from './logger.js';
6
+
7
+ const getKernelVersion = (kernelVersion, entryPointAddress) => {
8
+ if (kernelVersion === ProviderKernelVersionEnum.V31 ||
9
+ (kernelVersion === undefined &&
10
+ entryPointAddress === ENTRYPOINT_ADDRESS_V07)) {
11
+ return KERNEL_V3_1;
12
+ }
13
+ else if (kernelVersion === ProviderKernelVersionEnum.V30) {
14
+ return KERNEL_V3_0;
15
+ }
16
+ else if (kernelVersion === ProviderKernelVersionEnum.V24 ||
17
+ entryPointAddress === ENTRYPOINT_ADDRESS_V06 // v0.6 only supports v2.4
18
+ ) {
19
+ return KERNEL_V2_4;
20
+ }
21
+ else {
22
+ logger.error('Invalid kernel version', kernelVersion);
23
+ return KERNEL_V3_1;
24
+ }
25
+ };
26
+
27
+ export { getKernelVersion };
@@ -1,4 +1,7 @@
1
- export * from './fetchChain';
1
+ export * from './fetchZeroDevChain';
2
2
  export * from './logger';
3
3
  export * from './isZeroDevConnector';
4
4
  export * from './createEcsdaKernelAccountClient';
5
+ export * from './getEcdsaValidator';
6
+ export * from './getEntryPoint';
7
+ export * from './getKernelVersion';