@dynamic-labs/ethereum-aa 2.2.10 → 2.3.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 CHANGED
@@ -1,4 +1,18 @@
1
1
 
2
+ ## [2.3.0](https://github.com/dynamic-labs/DynamicAuth/compare/v2.2.10...v2.3.0) (2024-07-12)
3
+
4
+
5
+ ### Features
6
+
7
+ * add bundlerRpc and paymasterRpc parameters to zerodev ([#6304](https://github.com/dynamic-labs/DynamicAuth/issues/6304)) ([#6306](https://github.com/dynamic-labs/DynamicAuth/issues/6306)) ([2c561cf](https://github.com/dynamic-labs/DynamicAuth/commit/2c561cfa90f705e71b034fbf45f18d2fb593d7a0))
8
+ * add instrumentation to track sdk loading time ([#6260](https://github.com/dynamic-labs/DynamicAuth/issues/6260)) ([1f2f2bd](https://github.com/dynamic-labs/DynamicAuth/commit/1f2f2bdf433001ee860d867f0aa0dc8e1dbccff7))
9
+ * add new hook to select wallet option to connect ([#6311](https://github.com/dynamic-labs/DynamicAuth/issues/6311)) ([9712426](https://github.com/dynamic-labs/DynamicAuth/commit/97124267446d004165980d5455a09d8ab19ae055))
10
+
11
+
12
+ ### Bug Fixes
13
+
14
+ * fix sdkHasLoaded flipping back to false with otp ([#6256](https://github.com/dynamic-labs/DynamicAuth/issues/6256)) ([4fc047f](https://github.com/dynamic-labs/DynamicAuth/commit/4fc047f02f6f06d5c129d8de4eed42ee35b4545e))
15
+
2
16
  ### [2.2.10](https://github.com/dynamic-labs/DynamicAuth/compare/v2.2.9...v2.2.10) (2024-07-05)
3
17
 
4
18
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dynamic-labs/ethereum-aa",
3
- "version": "2.2.10",
3
+ "version": "2.3.0",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/dynamic-labs/dynamic-auth.git",
@@ -30,13 +30,13 @@
30
30
  "@zerodev/ecdsa-validator": "5.2.3",
31
31
  "@zerodev/sdk": "5.2.8",
32
32
  "permissionless": "0.1.20",
33
- "@dynamic-labs/ethereum": "2.2.10",
34
- "@dynamic-labs/logger": "2.2.10",
35
- "@dynamic-labs/types": "2.2.10",
36
- "@dynamic-labs/utils": "2.2.10",
37
- "@dynamic-labs/viem-utils": "2.2.10",
38
- "@dynamic-labs/wallet-book": "2.2.10",
39
- "@dynamic-labs/wallet-connector-core": "2.2.10"
33
+ "@dynamic-labs/ethereum": "2.3.0",
34
+ "@dynamic-labs/logger": "2.3.0",
35
+ "@dynamic-labs/types": "2.3.0",
36
+ "@dynamic-labs/utils": "2.3.0",
37
+ "@dynamic-labs/viem-utils": "2.3.0",
38
+ "@dynamic-labs/wallet-book": "2.3.0",
39
+ "@dynamic-labs/wallet-connector-core": "2.3.0"
40
40
  },
41
41
  "peerDependencies": {
42
42
  "viem": "^2.7.6"
@@ -77,9 +77,11 @@ class ZeroDevConnector extends walletConnectorCore.WalletConnectorBase {
77
77
  return;
78
78
  }
79
79
  const kernelClient = yield createEcsdaKernelAccountClient.createEcdsaKernelAccountClient({
80
+ bundlerRpc: ZeroDevConnector.bundlerRpc,
80
81
  chain: yield fetchChain.fetchChain(this.projectId),
81
82
  entryPointAddress: this.entryPoint,
82
83
  paymaster: 'NONE',
84
+ paymasterRpc: ZeroDevConnector.paymasterRpc,
83
85
  projectId: this.projectId,
84
86
  provider: ZeroDevConnector.bundlerProvider,
85
87
  signer: utils$1.walletClientToSmartAccountSigner(signer),
@@ -117,9 +119,11 @@ class ZeroDevConnector extends walletConnectorCore.WalletConnectorBase {
117
119
  throw new utils.DynamicError('No EOA connector');
118
120
  const signer = yield eoaConnector.getSigner();
119
121
  this.kernelClientWithSponsorship = yield createEcsdaKernelAccountClient.createEcdsaKernelAccountClient({
122
+ bundlerRpc: ZeroDevConnector.bundlerRpc,
120
123
  chain: yield fetchChain.fetchChain(this.projectId),
121
124
  entryPointAddress: this.entryPoint,
122
125
  paymaster: 'SPONSOR',
126
+ paymasterRpc: ZeroDevConnector.paymasterRpc,
123
127
  projectId: this.projectId,
124
128
  provider: ZeroDevConnector.bundlerProvider,
125
129
  signer: utils$1.walletClientToSmartAccountSigner(signer),
@@ -30,6 +30,8 @@ export declare class ZeroDevConnector extends WalletConnectorBase implements IZe
30
30
  isEmbeddedWallet: boolean;
31
31
  private entryPoint;
32
32
  static bundlerProvider: BundlerProvider | undefined;
33
+ static bundlerRpc: string | undefined;
34
+ static paymasterRpc: string | undefined;
33
35
  /**
34
36
  * Deferred promise that resolves when the ZeroDev provider is set.
35
37
  * This is used to make sure that the provider is set before any other method is called.
@@ -73,9 +73,11 @@ class ZeroDevConnector extends WalletConnectorBase {
73
73
  return;
74
74
  }
75
75
  const kernelClient = yield createEcdsaKernelAccountClient({
76
+ bundlerRpc: ZeroDevConnector.bundlerRpc,
76
77
  chain: yield fetchChain(this.projectId),
77
78
  entryPointAddress: this.entryPoint,
78
79
  paymaster: 'NONE',
80
+ paymasterRpc: ZeroDevConnector.paymasterRpc,
79
81
  projectId: this.projectId,
80
82
  provider: ZeroDevConnector.bundlerProvider,
81
83
  signer: walletClientToSmartAccountSigner(signer),
@@ -113,9 +115,11 @@ class ZeroDevConnector extends WalletConnectorBase {
113
115
  throw new DynamicError('No EOA connector');
114
116
  const signer = yield eoaConnector.getSigner();
115
117
  this.kernelClientWithSponsorship = yield createEcdsaKernelAccountClient({
118
+ bundlerRpc: ZeroDevConnector.bundlerRpc,
116
119
  chain: yield fetchChain(this.projectId),
117
120
  entryPointAddress: this.entryPoint,
118
121
  paymaster: 'SPONSOR',
122
+ paymasterRpc: ZeroDevConnector.paymasterRpc,
119
123
  projectId: this.projectId,
120
124
  provider: ZeroDevConnector.bundlerProvider,
121
125
  signer: walletClientToSmartAccountSigner(signer),
package/src/index.cjs CHANGED
@@ -7,10 +7,10 @@ var ZeroDevConnector = require('./ZeroDevConnector.cjs');
7
7
  var ethereumAa = require('./ethereum-aa.cjs');
8
8
  var isZeroDevConnector = require('./utils/isZeroDevConnector.cjs');
9
9
 
10
- const ZeroDevSmartWalletConnectorsWithConfig = ({ bundlerProvider, } = {}) => {
11
- if (bundlerProvider) {
12
- ZeroDevConnector.ZeroDevConnector.bundlerProvider = bundlerProvider;
13
- }
10
+ const ZeroDevSmartWalletConnectorsWithConfig = ({ bundlerProvider, bundlerRpc, paymasterRpc, } = {}) => {
11
+ ZeroDevConnector.ZeroDevConnector.bundlerProvider = bundlerProvider;
12
+ ZeroDevConnector.ZeroDevConnector.bundlerRpc = bundlerRpc;
13
+ ZeroDevConnector.ZeroDevConnector.paymasterRpc = paymasterRpc;
14
14
  return ZeroDevSmartWalletConnectors;
15
15
  };
16
16
  const ZeroDevSmartWalletConnectors = (props) => {
package/src/index.d.ts CHANGED
@@ -2,7 +2,9 @@ import { WalletConnectorConstructor } from '@dynamic-labs/wallet-connector-core'
2
2
  import { BundlerProvider } from './utils';
3
3
  export * from './ethereum-aa';
4
4
  export { isZeroDevConnector } from './utils/isZeroDevConnector';
5
- export declare const ZeroDevSmartWalletConnectorsWithConfig: ({ bundlerProvider, }?: {
5
+ export declare const ZeroDevSmartWalletConnectorsWithConfig: ({ bundlerProvider, bundlerRpc, paymasterRpc, }?: {
6
6
  bundlerProvider?: BundlerProvider;
7
+ bundlerRpc?: string;
8
+ paymasterRpc?: string;
7
9
  }) => (props: any) => WalletConnectorConstructor[];
8
10
  export declare const ZeroDevSmartWalletConnectors: (props: any) => WalletConnectorConstructor[];
package/src/index.js CHANGED
@@ -3,10 +3,10 @@ import { ZeroDevConnector } from './ZeroDevConnector.js';
3
3
  export { EthereumAaConnector } from './ethereum-aa.js';
4
4
  export { isZeroDevConnector } from './utils/isZeroDevConnector.js';
5
5
 
6
- const ZeroDevSmartWalletConnectorsWithConfig = ({ bundlerProvider, } = {}) => {
7
- if (bundlerProvider) {
8
- ZeroDevConnector.bundlerProvider = bundlerProvider;
9
- }
6
+ const ZeroDevSmartWalletConnectorsWithConfig = ({ bundlerProvider, bundlerRpc, paymasterRpc, } = {}) => {
7
+ ZeroDevConnector.bundlerProvider = bundlerProvider;
8
+ ZeroDevConnector.bundlerRpc = bundlerRpc;
9
+ ZeroDevConnector.paymasterRpc = paymasterRpc;
10
10
  return ZeroDevSmartWalletConnectors;
11
11
  };
12
12
  const ZeroDevSmartWalletConnectors = (props) => {
@@ -24,9 +24,11 @@ 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* ({ chain, 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, }) {
28
+ const resolvedBundlerRpc = bundlerRpc !== null && bundlerRpc !== void 0 ? bundlerRpc : getZeroDevBundlerRPC(projectId, provider);
29
+ const resolvedPaymasterRpc = paymasterRpc !== null && paymasterRpc !== void 0 ? paymasterRpc : getZeroDevPaymasterRPC(projectId, provider);
28
30
  const publicClient = viem.createPublicClient({
29
- transport: viem.http(getZeroDevBundlerRPC(projectId, provider)),
31
+ transport: viem.http(resolvedBundlerRpc),
30
32
  });
31
33
  const ecdsaValidator$1 = yield ecdsaValidator.signerToEcdsaValidator(publicClient, {
32
34
  entryPoint: entryPointAddress,
@@ -42,11 +44,11 @@ const createEcdsaKernelAccountClient = (_a) => _tslib.__awaiter(void 0, [_a], vo
42
44
  const zerodevPaymaster = clients.createZeroDevPaymasterClient({
43
45
  chain: chain,
44
46
  entryPoint: entryPointAddress,
45
- transport: viem.http(getZeroDevPaymasterRPC(projectId, provider)),
47
+ transport: viem.http(resolvedPaymasterRpc),
46
48
  });
47
49
  const kernelClient = clients.createKernelAccountClient({
48
50
  account,
49
- bundlerTransport: viem.http(getZeroDevBundlerRPC(projectId, provider)),
51
+ bundlerTransport: viem.http(resolvedBundlerRpc),
50
52
  chain,
51
53
  entryPoint: entryPointAddress,
52
54
  middleware: paymaster !== 'NONE'
@@ -8,11 +8,13 @@ export type ERC20Paymaster = Address;
8
8
  export type PaymasterType = 'NONE' | 'SPONSOR' | ERC20Paymaster;
9
9
  export declare const getZeroDevBundlerRPC: (projectId: string, provider?: BundlerProvider) => string;
10
10
  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}`>({ chain, projectId, signer, provider, index, paymaster, entryPointAddress, }: {
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
+ bundlerRpc?: string;
12
13
  chain: TChain;
13
14
  projectId: string;
14
15
  signer: SmartAccountSigner<TSource, TAddress>;
15
16
  paymaster: PaymasterType;
17
+ paymasterRpc?: string;
16
18
  entryPointAddress: entryPoint;
17
19
  provider?: BundlerProvider;
18
20
  index?: bigint;
@@ -20,9 +20,11 @@ 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* ({ chain, 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, }) {
24
+ const resolvedBundlerRpc = bundlerRpc !== null && bundlerRpc !== void 0 ? bundlerRpc : getZeroDevBundlerRPC(projectId, provider);
25
+ const resolvedPaymasterRpc = paymasterRpc !== null && paymasterRpc !== void 0 ? paymasterRpc : getZeroDevPaymasterRPC(projectId, provider);
24
26
  const publicClient = createPublicClient({
25
- transport: http(getZeroDevBundlerRPC(projectId, provider)),
27
+ transport: http(resolvedBundlerRpc),
26
28
  });
27
29
  const ecdsaValidator = yield signerToEcdsaValidator(publicClient, {
28
30
  entryPoint: entryPointAddress,
@@ -38,11 +40,11 @@ const createEcdsaKernelAccountClient = (_a) => __awaiter(void 0, [_a], void 0, f
38
40
  const zerodevPaymaster = createZeroDevPaymasterClient({
39
41
  chain: chain,
40
42
  entryPoint: entryPointAddress,
41
- transport: http(getZeroDevPaymasterRPC(projectId, provider)),
43
+ transport: http(resolvedPaymasterRpc),
42
44
  });
43
45
  const kernelClient = createKernelAccountClient({
44
46
  account,
45
- bundlerTransport: http(getZeroDevBundlerRPC(projectId, provider)),
47
+ bundlerTransport: http(resolvedBundlerRpc),
46
48
  chain,
47
49
  entryPoint: entryPointAddress,
48
50
  middleware: paymaster !== 'NONE'