@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 +14 -0
- package/package.json +8 -8
- package/src/ZeroDevConnector.cjs +4 -0
- package/src/ZeroDevConnector.d.ts +2 -0
- package/src/ZeroDevConnector.js +4 -0
- package/src/index.cjs +4 -4
- package/src/index.d.ts +3 -1
- package/src/index.js +4 -4
- package/src/utils/createEcsdaKernelAccountClient.cjs +6 -4
- package/src/utils/createEcsdaKernelAccountClient.d.ts +3 -1
- package/src/utils/createEcsdaKernelAccountClient.js +6 -4
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.
|
|
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.
|
|
34
|
-
"@dynamic-labs/logger": "2.
|
|
35
|
-
"@dynamic-labs/types": "2.
|
|
36
|
-
"@dynamic-labs/utils": "2.
|
|
37
|
-
"@dynamic-labs/viem-utils": "2.
|
|
38
|
-
"@dynamic-labs/wallet-book": "2.
|
|
39
|
-
"@dynamic-labs/wallet-connector-core": "2.
|
|
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"
|
package/src/ZeroDevConnector.cjs
CHANGED
|
@@ -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.
|
package/src/ZeroDevConnector.js
CHANGED
|
@@ -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
|
-
|
|
12
|
-
|
|
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
|
-
|
|
8
|
-
|
|
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(
|
|
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(
|
|
47
|
+
transport: viem.http(resolvedPaymasterRpc),
|
|
46
48
|
});
|
|
47
49
|
const kernelClient = clients.createKernelAccountClient({
|
|
48
50
|
account,
|
|
49
|
-
bundlerTransport: viem.http(
|
|
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(
|
|
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(
|
|
43
|
+
transport: http(resolvedPaymasterRpc),
|
|
42
44
|
});
|
|
43
45
|
const kernelClient = createKernelAccountClient({
|
|
44
46
|
account,
|
|
45
|
-
bundlerTransport: http(
|
|
47
|
+
bundlerTransport: http(resolvedBundlerRpc),
|
|
46
48
|
chain,
|
|
47
49
|
entryPoint: entryPointAddress,
|
|
48
50
|
middleware: paymaster !== 'NONE'
|