@dynamic-labs/ethereum-aa 3.0.0-alpha.4 → 3.0.0-alpha.41
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 +373 -0
- package/package.json +13 -12
- package/src/ZeroDevConnector.cjs +65 -11
- package/src/ZeroDevConnector.d.ts +16 -4
- package/src/ZeroDevConnector.js +67 -13
- package/src/index.cjs +4 -4
- package/src/index.d.ts +3 -1
- package/src/index.js +4 -4
- package/src/utils/createEcsdaKernelAccountClient.cjs +10 -7
- package/src/utils/createEcsdaKernelAccountClient.d.ts +6 -1
- package/src/utils/createEcsdaKernelAccountClient.js +10 -7
package/CHANGELOG.md
CHANGED
|
@@ -1,4 +1,377 @@
|
|
|
1
1
|
|
|
2
|
+
## [3.0.0-alpha.41](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.40...v3.0.0-alpha.41) (2024-08-13)
|
|
3
|
+
|
|
4
|
+
## [3.0.0-alpha.40](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.39...v3.0.0-alpha.40) (2024-08-13)
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
* add log out button to mfa screens ([#6557](https://github.com/dynamic-labs/DynamicAuth/issues/6557)) ([a006f6a](https://github.com/dynamic-labs/DynamicAuth/commit/a006f6a3f801a93d305fbd8151a51c7b08b73983))
|
|
10
|
+
* signIn/link using dynamicOauthState ([#6523](https://github.com/dynamic-labs/DynamicAuth/issues/6523)) ([b72e98f](https://github.com/dynamic-labs/DynamicAuth/commit/b72e98f0d243591c1a8ca14c3a4a6e5024560141))
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
### Bug Fixes
|
|
14
|
+
|
|
15
|
+
* clicking back on MFA verification view should take you to MFA secure device view ([#6556](https://github.com/dynamic-labs/DynamicAuth/issues/6556)) ([7ae39c9](https://github.com/dynamic-labs/DynamicAuth/commit/7ae39c9b073b42a14d3e77fba28217905a1dbf0c))
|
|
16
|
+
* mfa design feedback ([#6551](https://github.com/dynamic-labs/DynamicAuth/issues/6551)) ([c367e38](https://github.com/dynamic-labs/DynamicAuth/commit/c367e3836e331a2dc24496ea81436b6bd57460a1))
|
|
17
|
+
* remove 2 factor authenticator header unless there is an applicable security option available ([#6545](https://github.com/dynamic-labs/DynamicAuth/issues/6545)) ([11f7f5a](https://github.com/dynamic-labs/DynamicAuth/commit/11f7f5ae87bf26be783c353607b39943e4a2b796))
|
|
18
|
+
|
|
19
|
+
## [3.0.0-alpha.39](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.38...v3.0.0-alpha.39) (2024-08-09)
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
### Features
|
|
23
|
+
|
|
24
|
+
* add MFA settings ([e5a5755](https://github.com/dynamic-labs/DynamicAuth/commit/e5a5755a6349d3076c0e4fb8bab0853784bef9cc))
|
|
25
|
+
|
|
26
|
+
## [3.0.0-alpha.38](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.37...v3.0.0-alpha.38) (2024-08-09)
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
### Features
|
|
30
|
+
|
|
31
|
+
* add dynamic footer options switcher ([#6528](https://github.com/dynamic-labs/DynamicAuth/issues/6528)) ([7d8a7ff](https://github.com/dynamic-labs/DynamicAuth/commit/7d8a7ff5c7d07e3ac2a916bd8b37e87e7cbfdaa2))
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
### Bug Fixes
|
|
35
|
+
|
|
36
|
+
* hcaptcha for mobile login ([#6525](https://github.com/dynamic-labs/DynamicAuth/issues/6525)) ([146888e](https://github.com/dynamic-labs/DynamicAuth/commit/146888e91add7f3be3ed4defafc038107648c20a))
|
|
37
|
+
|
|
38
|
+
## [3.0.0-alpha.37](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.36...v3.0.0-alpha.37) (2024-08-08)
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
### Bug Fixes
|
|
42
|
+
|
|
43
|
+
* normalize wallet address before comparing on wallet sync ([#6514](https://github.com/dynamic-labs/DynamicAuth/issues/6514)) ([49d9dcf](https://github.com/dynamic-labs/DynamicAuth/commit/49d9dcf300b360f46ac6618756f6741fffce47a7))
|
|
44
|
+
|
|
45
|
+
## [3.0.0-alpha.36](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.35...v3.0.0-alpha.36) (2024-08-06)
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
### Bug Fixes
|
|
49
|
+
|
|
50
|
+
* emb wallet export with silent signing ([#6493](https://github.com/dynamic-labs/DynamicAuth/issues/6493)) ([af69c3a](https://github.com/dynamic-labs/DynamicAuth/commit/af69c3a85d8c1db6a0bf9b42c1310bf3183f9360))
|
|
51
|
+
* use correct redirect url override when connecting with social ([#6502](https://github.com/dynamic-labs/DynamicAuth/issues/6502)) ([e27a0de](https://github.com/dynamic-labs/DynamicAuth/commit/e27a0ded2ad2d95b80a2ad354accaf57f5228691))
|
|
52
|
+
* wagmi account sync issues when switching wallets ([#6441](https://github.com/dynamic-labs/DynamicAuth/issues/6441)) ([4536f88](https://github.com/dynamic-labs/DynamicAuth/commit/4536f88d41bf4a30cf114e8cd7efd7a211c00889))
|
|
53
|
+
|
|
54
|
+
## [3.0.0-alpha.35](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.34...v3.0.0-alpha.35) (2024-08-06)
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
### Bug Fixes
|
|
58
|
+
|
|
59
|
+
* allow mfa sync to rerun after logout ([#6503](https://github.com/dynamic-labs/DynamicAuth/issues/6503)) ([74377e8](https://github.com/dynamic-labs/DynamicAuth/commit/74377e844a84da422173289a10561eb7acf4f8b9))
|
|
60
|
+
|
|
61
|
+
## [3.0.0-alpha.34](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.33...v3.0.0-alpha.34) (2024-08-02)
|
|
62
|
+
|
|
63
|
+
## [3.0.0-alpha.33](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.32...v3.0.0-alpha.33) (2024-08-02)
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
### Features
|
|
67
|
+
|
|
68
|
+
* add async handler for mfa enrollment and completion ([#6481](https://github.com/dynamic-labs/DynamicAuth/issues/6481)) ([63ce10d](https://github.com/dynamic-labs/DynamicAuth/commit/63ce10dd9f9aa58f43411455d6bbeb2f440ddcac))
|
|
69
|
+
|
|
70
|
+
## [3.0.0-alpha.32](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.31...v3.0.0-alpha.32) (2024-07-30)
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
### Bug Fixes
|
|
74
|
+
|
|
75
|
+
* react native flicker when redirecting back from farcaster ([#6338](https://github.com/dynamic-labs/DynamicAuth/issues/6338)) ([6ab8464](https://github.com/dynamic-labs/DynamicAuth/commit/6ab846476f7961564445223dd12a552ed4c0f0c8))
|
|
76
|
+
* stop unnecessary phantom btc popup when disconnecting - Revert ([#6439](https://github.com/dynamic-labs/DynamicAuth/issues/6439)) ([79ba97d](https://github.com/dynamic-labs/DynamicAuth/commit/79ba97d82c4eb89f0118a925e4dc899853e04550)), closes [#6188](https://github.com/dynamic-labs/DynamicAuth/issues/6188)
|
|
77
|
+
|
|
78
|
+
## [3.0.0-alpha.31](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.30...v3.0.0-alpha.31) (2024-07-27)
|
|
79
|
+
|
|
80
|
+
## [3.0.0-alpha.30](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.29...v3.0.0-alpha.30) (2024-07-27)
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
### Bug Fixes
|
|
84
|
+
|
|
85
|
+
* don't filter out bitcoin.com when searching for bitcoin ([#6408](https://github.com/dynamic-labs/DynamicAuth/issues/6408)) ([6af5456](https://github.com/dynamic-labs/DynamicAuth/commit/6af54567faa430660b2443638adc103e829eb49d))
|
|
86
|
+
* improve metamask starknet snap network polling interval management ([#6424](https://github.com/dynamic-labs/DynamicAuth/issues/6424)) ([22c4376](https://github.com/dynamic-labs/DynamicAuth/commit/22c4376596d5e07d1da30190baf159c43a8956c6))
|
|
87
|
+
* isCookieEnabled should check externalAuth.cookieName ([#6433](https://github.com/dynamic-labs/DynamicAuth/issues/6433)) ([91d95e5](https://github.com/dynamic-labs/DynamicAuth/commit/91d95e5664f70c2eb306082419d6fece9753f220))
|
|
88
|
+
* phantom ledger works on safari ([#6428](https://github.com/dynamic-labs/DynamicAuth/issues/6428)) ([a8a81f6](https://github.com/dynamic-labs/DynamicAuth/commit/a8a81f6fd4d8ae5ba04525ef6ff6a84a1732a03a))
|
|
89
|
+
|
|
90
|
+
## [3.0.0-alpha.29](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.28...v3.0.0-alpha.29) (2024-07-25)
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
### Features
|
|
94
|
+
|
|
95
|
+
* add link to starknet snap companion app in network switch modal ([#6417](https://github.com/dynamic-labs/DynamicAuth/issues/6417)) ([132a3f8](https://github.com/dynamic-labs/DynamicAuth/commit/132a3f84af62930583f042f35e9616bc837ee49d))
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
### Bug Fixes
|
|
99
|
+
|
|
100
|
+
* improve network switch ux for starknet snap on login ([#6376](https://github.com/dynamic-labs/DynamicAuth/issues/6376)) ([db4af65](https://github.com/dynamic-labs/DynamicAuth/commit/db4af6576dc164876750ad6e13f4624d8a11a1a3))
|
|
101
|
+
|
|
102
|
+
## [3.0.0-alpha.28](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.27...v3.0.0-alpha.28) (2024-07-25)
|
|
103
|
+
|
|
104
|
+
## [3.0.0-alpha.27](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.26...v3.0.0-alpha.27) (2024-07-24)
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
### Features
|
|
108
|
+
|
|
109
|
+
* add ability to use a different ecdsa validator ([#6407](https://github.com/dynamic-labs/DynamicAuth/issues/6407)) ([a3e99e1](https://github.com/dynamic-labs/DynamicAuth/commit/a3e99e1b2cdcadbce35ff0cacfb8fb82778c0216))
|
|
110
|
+
|
|
111
|
+
## [3.0.0-alpha.26](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.25...v3.0.0-alpha.26) (2024-07-24)
|
|
112
|
+
|
|
113
|
+
## [3.0.0-alpha.25](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.24...v3.0.0-alpha.25) (2024-07-24)
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
### Features
|
|
117
|
+
|
|
118
|
+
* add ability to specify mobileExperience on a wallet by wallet ([#6195](https://github.com/dynamic-labs/DynamicAuth/issues/6195)) ([947fd0a](https://github.com/dynamic-labs/DynamicAuth/commit/947fd0ab864d1995a1ef35a51c77a585649fd43f))
|
|
119
|
+
* global wallet new package ([#6385](https://github.com/dynamic-labs/DynamicAuth/issues/6385)) ([230a0f3](https://github.com/dynamic-labs/DynamicAuth/commit/230a0f380c2bc8c69619daed0c7f3280da8b8bb9))
|
|
120
|
+
* solana send balance modal for injected ([#6405](https://github.com/dynamic-labs/DynamicAuth/issues/6405)) ([b8aa84b](https://github.com/dynamic-labs/DynamicAuth/commit/b8aa84b58eb71791405bf68b6c46c40bebb170f8))
|
|
121
|
+
|
|
122
|
+
## [3.0.0-alpha.24](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.23...v3.0.0-alpha.24) (2024-07-20)
|
|
123
|
+
|
|
124
|
+
## [3.0.0-alpha.23](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.22...v3.0.0-alpha.23) (2024-07-19)
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
### Features
|
|
128
|
+
|
|
129
|
+
* show custom labels in the sdk ([#6352](https://github.com/dynamic-labs/DynamicAuth/issues/6352)) ([6eec9b2](https://github.com/dynamic-labs/DynamicAuth/commit/6eec9b26dbfd25c5138378aa92de8379a5cd0ddc))
|
|
130
|
+
|
|
131
|
+
|
|
132
|
+
### Bug Fixes
|
|
133
|
+
|
|
134
|
+
* add missing await to viem controller ([#6354](https://github.com/dynamic-labs/DynamicAuth/issues/6354)) ([32c7362](https://github.com/dynamic-labs/DynamicAuth/commit/32c73625c5575f9134edd541c7221aba08a741b5))
|
|
135
|
+
* allow for react-native 0.74.x ([#6371](https://github.com/dynamic-labs/DynamicAuth/issues/6371)) ([37e08b6](https://github.com/dynamic-labs/DynamicAuth/commit/37e08b6b32bcaef7b7f6a4dedc45b2321f3f64a6))
|
|
136
|
+
* not able to switch to secondary wallet ([#6373](https://github.com/dynamic-labs/DynamicAuth/issues/6373)) ([f85ed10](https://github.com/dynamic-labs/DynamicAuth/commit/f85ed10aca8bf41658eb1418cd87e1c5061d4b1b))
|
|
137
|
+
|
|
138
|
+
## [3.0.0-alpha.22](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.21...v3.0.0-alpha.22) (2024-07-18)
|
|
139
|
+
|
|
140
|
+
|
|
141
|
+
### Features
|
|
142
|
+
|
|
143
|
+
* add support for aa kernel 3.1 ([#6333](https://github.com/dynamic-labs/DynamicAuth/issues/6333)) ([93c743a](https://github.com/dynamic-labs/DynamicAuth/commit/93c743a74d1af79f15baec343d15212a2feeac39))
|
|
144
|
+
|
|
145
|
+
|
|
146
|
+
### Bug Fixes
|
|
147
|
+
|
|
148
|
+
* ensure retryableFn props are passed through ([#6357](https://github.com/dynamic-labs/DynamicAuth/issues/6357)) ([246da78](https://github.com/dynamic-labs/DynamicAuth/commit/246da78ebaa0e623843d93fc990d8a0f3298af54))
|
|
149
|
+
* removes wallet connect qr code from magic eden ([#6360](https://github.com/dynamic-labs/DynamicAuth/issues/6360)) ([5968c2e](https://github.com/dynamic-labs/DynamicAuth/commit/5968c2e220f98b0995a2067e6f5397f27da4dfb0))
|
|
150
|
+
|
|
151
|
+
## [3.0.0-alpha.21](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.20...v3.0.0-alpha.21) (2024-07-17)
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
### Bug Fixes
|
|
155
|
+
|
|
156
|
+
* invalid email error appears ([#6348](https://github.com/dynamic-labs/DynamicAuth/issues/6348)) ([01bcfd2](https://github.com/dynamic-labs/DynamicAuth/commit/01bcfd2f3cc37083c47c0f26e3398f974f6b6a17))
|
|
157
|
+
* stop unnecessary phantom btc popup when disconnecting ([#6188](https://github.com/dynamic-labs/DynamicAuth/issues/6188)) ([15c2eb5](https://github.com/dynamic-labs/DynamicAuth/commit/15c2eb5da90be93ab917e7c61a873a0e9a568211))
|
|
158
|
+
|
|
159
|
+
## [3.0.0-alpha.20](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.19...v3.0.0-alpha.20) (2024-07-15)
|
|
160
|
+
|
|
161
|
+
|
|
162
|
+
### Bug Fixes
|
|
163
|
+
|
|
164
|
+
* show/hide confirmation ui for aa session key wallets ([#6334](https://github.com/dynamic-labs/DynamicAuth/issues/6334)) ([6e17162](https://github.com/dynamic-labs/DynamicAuth/commit/6e17162e31915620b622f3ec5b4f8b7087f1728c))
|
|
165
|
+
|
|
166
|
+
## [3.0.0-alpha.19](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.18...v3.0.0-alpha.19) (2024-07-13)
|
|
167
|
+
|
|
168
|
+
## [3.0.0-alpha.18](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.17...v3.0.0-alpha.18) (2024-07-12)
|
|
169
|
+
|
|
170
|
+
|
|
171
|
+
### Bug Fixes
|
|
172
|
+
|
|
173
|
+
* hide confirmation ui triggers passkey creation ([#6322](https://github.com/dynamic-labs/DynamicAuth/issues/6322)) ([c66f282](https://github.com/dynamic-labs/DynamicAuth/commit/c66f282cf8d64f19d7f5a7355aaaec980afbe245))
|
|
174
|
+
|
|
175
|
+
## [3.0.0-alpha.17](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.16...v3.0.0-alpha.17) (2024-07-11)
|
|
176
|
+
|
|
177
|
+
|
|
178
|
+
### Features
|
|
179
|
+
|
|
180
|
+
* add new hook to select wallet option to connect ([#6301](https://github.com/dynamic-labs/DynamicAuth/issues/6301)) ([833d71d](https://github.com/dynamic-labs/DynamicAuth/commit/833d71de164c57bfa22898c3425641a83a12e135))
|
|
181
|
+
|
|
182
|
+
|
|
183
|
+
### Bug Fixes
|
|
184
|
+
|
|
185
|
+
* refresh session keys correctly for solana embedded wallets ([#6309](https://github.com/dynamic-labs/DynamicAuth/issues/6309)) ([4b28e8a](https://github.com/dynamic-labs/DynamicAuth/commit/4b28e8ae231567754b6cfd07a7d41e86f1c73daa))
|
|
186
|
+
|
|
187
|
+
## [3.0.0-alpha.16](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.15...v3.0.0-alpha.16) (2024-07-11)
|
|
188
|
+
|
|
189
|
+
|
|
190
|
+
### ⚠ BREAKING CHANGES
|
|
191
|
+
|
|
192
|
+
* remove isConnected prop from wallets and have it as a method instead (#6265)
|
|
193
|
+
|
|
194
|
+
### Features
|
|
195
|
+
|
|
196
|
+
* add bundlerRpc and paymasterRpc parameters to zerodev ([#6304](https://github.com/dynamic-labs/DynamicAuth/issues/6304)) ([156469b](https://github.com/dynamic-labs/DynamicAuth/commit/156469bf703f0c7fa455a24b8e4e328d3a0c58fc))
|
|
197
|
+
|
|
198
|
+
|
|
199
|
+
### Bug Fixes
|
|
200
|
+
|
|
201
|
+
* headless embedded wallet export session refresh ([#6307](https://github.com/dynamic-labs/DynamicAuth/issues/6307)) ([5423cc1](https://github.com/dynamic-labs/DynamicAuth/commit/5423cc14c370968acf718b7deff6ea8df9228189))
|
|
202
|
+
|
|
203
|
+
|
|
204
|
+
* remove isConnected prop from wallets and have it as a method instead ([#6265](https://github.com/dynamic-labs/DynamicAuth/issues/6265)) ([652dcc2](https://github.com/dynamic-labs/DynamicAuth/commit/652dcc2d34c9a9719238606c67f600e40621183b))
|
|
205
|
+
|
|
206
|
+
## [3.0.0-alpha.15](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.14...v3.0.0-alpha.15) (2024-07-11)
|
|
207
|
+
|
|
208
|
+
|
|
209
|
+
### Bug Fixes
|
|
210
|
+
|
|
211
|
+
* catch third party wallet construction errors ([#6268](https://github.com/dynamic-labs/DynamicAuth/issues/6268)) ([badef39](https://github.com/dynamic-labs/DynamicAuth/commit/badef39d753c7d29925c6c8680053027bd99b69b))
|
|
212
|
+
* decode all solana transactions ([#6294](https://github.com/dynamic-labs/DynamicAuth/issues/6294)) ([5220ab2](https://github.com/dynamic-labs/DynamicAuth/commit/5220ab29381f3a7f1afc7043332b5a018b47eb0a))
|
|
213
|
+
* passkey cta ([#6255](https://github.com/dynamic-labs/DynamicAuth/issues/6255)) ([1b1b152](https://github.com/dynamic-labs/DynamicAuth/commit/1b1b152a24b409c5d941a9c92a003daf0bbe48a1))
|
|
214
|
+
|
|
215
|
+
## [3.0.0-alpha.14](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.13...v3.0.0-alpha.14) (2024-07-09)
|
|
216
|
+
|
|
217
|
+
|
|
218
|
+
### ⚠ BREAKING CHANGES
|
|
219
|
+
|
|
220
|
+
* remove setPrimaryWallet in favor of useSwitchWallet (#6212)
|
|
221
|
+
* move getBalance method to wallet so it can be fetched for any wallet not just the active one (#6200)
|
|
222
|
+
* make Wallet a class instead of just a type (#6094)
|
|
223
|
+
|
|
224
|
+
### Features
|
|
225
|
+
|
|
226
|
+
* add @dynamic-labs/solana-extension ([#6140](https://github.com/dynamic-labs/DynamicAuth/issues/6140)) ([c0e2a06](https://github.com/dynamic-labs/DynamicAuth/commit/c0e2a067dd83163094b58a15696df8654da47c65))
|
|
227
|
+
* add solana support for multi-asset ([#6222](https://github.com/dynamic-labs/DynamicAuth/issues/6222)) ([9660d79](https://github.com/dynamic-labs/DynamicAuth/commit/9660d7962f1fb01011d68397bb367fdfc5335ca9))
|
|
228
|
+
|
|
229
|
+
|
|
230
|
+
### Bug Fixes
|
|
231
|
+
|
|
232
|
+
* allow closing re-connect wallet modal ([#6250](https://github.com/dynamic-labs/DynamicAuth/issues/6250)) ([55ba25b](https://github.com/dynamic-labs/DynamicAuth/commit/55ba25bd3e907629aaa26e788885bfa38f8fe350))
|
|
233
|
+
* move getBalance method to wallet so it can be fetched for any wallet not just the active one ([#6200](https://github.com/dynamic-labs/DynamicAuth/issues/6200)) ([ee94773](https://github.com/dynamic-labs/DynamicAuth/commit/ee94773df9b31462a325666760fcf1fc70dec68a))
|
|
234
|
+
* move getNameService method to wallet so name service data can be fetched for any wallet ([#6205](https://github.com/dynamic-labs/DynamicAuth/issues/6205)) ([6671ae9](https://github.com/dynamic-labs/DynamicAuth/commit/6671ae92532ffc1889e24519e75f47d336ac0da6))
|
|
235
|
+
* relax phone number length validation ([#6226](https://github.com/dynamic-labs/DynamicAuth/issues/6226)) ([f0969b4](https://github.com/dynamic-labs/DynamicAuth/commit/f0969b4fbdafde07125cddecb16b4bfd011ea65e))
|
|
236
|
+
* sdkHasLoaded flipping back to false with otp ([#6242](https://github.com/dynamic-labs/DynamicAuth/issues/6242)) ([32ad9dd](https://github.com/dynamic-labs/DynamicAuth/commit/32ad9dd2dae7775f494506773fb343fe1a249c65))
|
|
237
|
+
* send transaction demo undefined address/value ([#6248](https://github.com/dynamic-labs/DynamicAuth/issues/6248)) ([036a511](https://github.com/dynamic-labs/DynamicAuth/commit/036a511fb848ef461edd9b7a5d79d478b0f1cf23))
|
|
238
|
+
* set last active account on accountChange request ([#6218](https://github.com/dynamic-labs/DynamicAuth/issues/6218)) ([05797d2](https://github.com/dynamic-labs/DynamicAuth/commit/05797d292aab8b4de02555594d4d1bbd4c9543eb))
|
|
239
|
+
* show ledger toggle when linking wallet ([#6202](https://github.com/dynamic-labs/DynamicAuth/issues/6202)) ([a449c0b](https://github.com/dynamic-labs/DynamicAuth/commit/a449c0bfc4e3a75ccd7084b930c48fbd6c14f691))
|
|
240
|
+
* show user wallet in profile view on single wallet mode even if it's not primary ([#6187](https://github.com/dynamic-labs/DynamicAuth/issues/6187)) ([ffaaeb2](https://github.com/dynamic-labs/DynamicAuth/commit/ffaaeb2c6cbb2868a381d85451ae5574024156bb))
|
|
241
|
+
* stop auto-switching to connected secondary wallet if primary wallet is not connected ([#6196](https://github.com/dynamic-labs/DynamicAuth/issues/6196)) ([4e8bcd2](https://github.com/dynamic-labs/DynamicAuth/commit/4e8bcd2d02d3fca54a0ed29c45b386ae99266b84))
|
|
242
|
+
* stop coinbase and solflare popups when secondary ([#6225](https://github.com/dynamic-labs/DynamicAuth/issues/6225)) ([7e9c104](https://github.com/dynamic-labs/DynamicAuth/commit/7e9c1049a09c9fd513c9a2a746d6baac916f1bf4))
|
|
243
|
+
* stop sending double sign request on network switch ([e325709](https://github.com/dynamic-labs/DynamicAuth/commit/e325709bb5d2d1331fe16cc705398fc7b1cc292a))
|
|
244
|
+
* tunrkey solana signer accept uint8array message ([#6137](https://github.com/dynamic-labs/DynamicAuth/issues/6137)) ([70f89ce](https://github.com/dynamic-labs/DynamicAuth/commit/70f89ce0dafa4c99b318c9c5adce59083cd6d284))
|
|
245
|
+
* update formatting of phantom bitcoin publickey ([#6210](https://github.com/dynamic-labs/DynamicAuth/issues/6210)) ([f58cea9](https://github.com/dynamic-labs/DynamicAuth/commit/f58cea99333fd7c6af8f56f637ee32f1f7ce8d76))
|
|
246
|
+
* use white color in farcaster qr code when in dark mode ([#6245](https://github.com/dynamic-labs/DynamicAuth/issues/6245)) ([a91958d](https://github.com/dynamic-labs/DynamicAuth/commit/a91958d8773be138da8f54791c4c67866257bbad))
|
|
247
|
+
|
|
248
|
+
|
|
249
|
+
* make Wallet a class instead of just a type ([#6094](https://github.com/dynamic-labs/DynamicAuth/issues/6094)) ([6dc4672](https://github.com/dynamic-labs/DynamicAuth/commit/6dc4672951cfadc22a6c569e74eae3485bd472f3))
|
|
250
|
+
* remove setPrimaryWallet in favor of useSwitchWallet ([#6212](https://github.com/dynamic-labs/DynamicAuth/issues/6212)) ([de125e1](https://github.com/dynamic-labs/DynamicAuth/commit/de125e1ebbc20507e4ec07f337f5f5fd13aabcbe))
|
|
251
|
+
|
|
252
|
+
## [3.0.0-alpha.13](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.12...v3.0.0-alpha.13) (2024-06-27)
|
|
253
|
+
|
|
254
|
+
|
|
255
|
+
### Bug Fixes
|
|
256
|
+
|
|
257
|
+
* coinbase smart wallet better handling in iframes ([#6184](https://github.com/dynamic-labs/DynamicAuth/issues/6184)) ([2c4befe](https://github.com/dynamic-labs/DynamicAuth/commit/2c4befedd09e6a432139cb3d08ea61004c3896d5))
|
|
258
|
+
* show connected network name when icon url is missing ([#6191](https://github.com/dynamic-labs/DynamicAuth/issues/6191)) ([dafd9e3](https://github.com/dynamic-labs/DynamicAuth/commit/dafd9e323f47ca3d61556e9a8c84ba3bfd27af8f))
|
|
259
|
+
* use correct account when creating wallet client ([#6179](https://github.com/dynamic-labs/DynamicAuth/issues/6179)) ([4e45a15](https://github.com/dynamic-labs/DynamicAuth/commit/4e45a15b2d7221ec80df919aa93468a75a94bed3))
|
|
260
|
+
|
|
261
|
+
## [3.0.0-alpha.12](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.11...v3.0.0-alpha.12) (2024-06-27)
|
|
262
|
+
|
|
263
|
+
|
|
264
|
+
### ⚠ BREAKING CHANGES
|
|
265
|
+
|
|
266
|
+
* return Transaction type from signTransaction and update solana … (#6180)
|
|
267
|
+
|
|
268
|
+
### Bug Fixes
|
|
269
|
+
|
|
270
|
+
* return Transaction type from signTransaction and update solana … ([#6180](https://github.com/dynamic-labs/DynamicAuth/issues/6180)) ([07798b2](https://github.com/dynamic-labs/DynamicAuth/commit/07798b241a13f35a62e4ca0172a57a8d0cd98cf9))
|
|
271
|
+
|
|
272
|
+
## [3.0.0-alpha.11](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.10...v3.0.0-alpha.11) (2024-06-26)
|
|
273
|
+
|
|
274
|
+
|
|
275
|
+
### Bug Fixes
|
|
276
|
+
|
|
277
|
+
* prevent unwanted magiceden solana popups ([#6158](https://github.com/dynamic-labs/DynamicAuth/issues/6158)) ([b3c8208](https://github.com/dynamic-labs/DynamicAuth/commit/b3c820887eb5ec2badcfce3b19ec4dd874e90811))
|
|
278
|
+
* status icon for embedded wallets ([#6149](https://github.com/dynamic-labs/DynamicAuth/issues/6149)) ([135fd72](https://github.com/dynamic-labs/DynamicAuth/commit/135fd7274f4a6b2dcab98248f7bfe34a09e79f01))
|
|
279
|
+
|
|
280
|
+
## [3.0.0-alpha.10](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.9...v3.0.0-alpha.10) (2024-06-24)
|
|
281
|
+
|
|
282
|
+
|
|
283
|
+
### Bug Fixes
|
|
284
|
+
|
|
285
|
+
* clear expiresAt from local storage on logout ([#6110](https://github.com/dynamic-labs/DynamicAuth/issues/6110)) ([cbda893](https://github.com/dynamic-labs/DynamicAuth/commit/cbda893441154b6880a5419ce62a353b80f05e55))
|
|
286
|
+
* show SOL amount for complex transactions and better error display ([#6068](https://github.com/dynamic-labs/DynamicAuth/issues/6068)) ([454a3a0](https://github.com/dynamic-labs/DynamicAuth/commit/454a3a0a50805b3d63f44c2ef8c1dc766617eb2b))
|
|
287
|
+
|
|
288
|
+
## [3.0.0-alpha.9](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.8...v3.0.0-alpha.9) (2024-06-21)
|
|
289
|
+
|
|
290
|
+
## [3.0.0-alpha.8](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.7...v3.0.0-alpha.8) (2024-06-21)
|
|
291
|
+
|
|
292
|
+
|
|
293
|
+
### ⚠ BREAKING CHANGES
|
|
294
|
+
|
|
295
|
+
* break out turnkey package into 3 separate packages (#6015)
|
|
296
|
+
|
|
297
|
+
### Features
|
|
298
|
+
|
|
299
|
+
* add reinitialize hook ([#6098](https://github.com/dynamic-labs/DynamicAuth/issues/6098)) ([d978baa](https://github.com/dynamic-labs/DynamicAuth/commit/d978baa404d34064c36cc549229b1fcea1f20df0))
|
|
300
|
+
|
|
301
|
+
|
|
302
|
+
### Bug Fixes
|
|
303
|
+
|
|
304
|
+
* always reconnect the wallet provider when calling getAddress ([#6097](https://github.com/dynamic-labs/DynamicAuth/issues/6097)) ([0f3d497](https://github.com/dynamic-labs/DynamicAuth/commit/0f3d497cedb38239fa9ada2bb25c6b4eaa72d7b1))
|
|
305
|
+
* break out turnkey package into 3 separate packages ([#6015](https://github.com/dynamic-labs/DynamicAuth/issues/6015)) ([a86fbef](https://github.com/dynamic-labs/DynamicAuth/commit/a86fbefe97558363b085e6f752af32d2943f91fa)), closes [#6017](https://github.com/dynamic-labs/DynamicAuth/issues/6017) [#6059](https://github.com/dynamic-labs/DynamicAuth/issues/6059)
|
|
306
|
+
* set latest blockhash on solana transactions if tx confirmation ui is disabled ([#6102](https://github.com/dynamic-labs/DynamicAuth/issues/6102)) ([b8035a3](https://github.com/dynamic-labs/DynamicAuth/commit/b8035a328e47409bf0416d3a01b2f17914488748))
|
|
307
|
+
* silently query unisat accounts ([#6101](https://github.com/dynamic-labs/DynamicAuth/issues/6101)) ([#6104](https://github.com/dynamic-labs/DynamicAuth/issues/6104)) ([643e704](https://github.com/dynamic-labs/DynamicAuth/commit/643e7048ff8610b31e6397e10b160ad456a45d11))
|
|
308
|
+
* stop querying magiceden solana accounts ([#6103](https://github.com/dynamic-labs/DynamicAuth/issues/6103)) ([#6108](https://github.com/dynamic-labs/DynamicAuth/issues/6108)) ([3cfdbc3](https://github.com/dynamic-labs/DynamicAuth/commit/3cfdbc3bc82bfe9bf53bf4236f7892a5440fcb86))
|
|
309
|
+
* trigger sign when linking an already linked unknown wallet ([#6105](https://github.com/dynamic-labs/DynamicAuth/issues/6105)) ([9e9c03b](https://github.com/dynamic-labs/DynamicAuth/commit/9e9c03bf615991c4f1183bf85c4d75c9a7773c85))
|
|
310
|
+
|
|
311
|
+
## [3.0.0-alpha.7](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.6...v3.0.0-alpha.7) (2024-06-19)
|
|
312
|
+
|
|
313
|
+
|
|
314
|
+
### ⚠ BREAKING CHANGES
|
|
315
|
+
|
|
316
|
+
* add selectedTabIndex and helpers (#6040)
|
|
317
|
+
|
|
318
|
+
### Features
|
|
319
|
+
|
|
320
|
+
* add selectedTabIndex and helpers ([#6040](https://github.com/dynamic-labs/DynamicAuth/issues/6040)) ([ae20b80](https://github.com/dynamic-labs/DynamicAuth/commit/ae20b8081376dce97b18fa69c81c9ab73c1ff317))
|
|
321
|
+
* add useRefreshUser to trigger a user state refresh ([#6079](https://github.com/dynamic-labs/DynamicAuth/issues/6079)) ([1236d35](https://github.com/dynamic-labs/DynamicAuth/commit/1236d35fe9fab44ed2114ad9f3c8c6dca7ec27be))
|
|
322
|
+
|
|
323
|
+
|
|
324
|
+
### Bug Fixes
|
|
325
|
+
|
|
326
|
+
* always return userWallets when available ([#6080](https://github.com/dynamic-labs/DynamicAuth/issues/6080)) ([#6083](https://github.com/dynamic-labs/DynamicAuth/issues/6083)) ([11992d2](https://github.com/dynamic-labs/DynamicAuth/commit/11992d2af5a401ba4ff1dc6904e2a9f8ef5904ca))
|
|
327
|
+
* less solana rpc calls and improve fee fetching ([#6019](https://github.com/dynamic-labs/DynamicAuth/issues/6019)) ([e2609db](https://github.com/dynamic-labs/DynamicAuth/commit/e2609db962c7708ff5b127cb23260a25bc5032e3))
|
|
328
|
+
* make account change idemopotent ([#6061](https://github.com/dynamic-labs/DynamicAuth/issues/6061)) ([8c87513](https://github.com/dynamic-labs/DynamicAuth/commit/8c8751390ea14888c4889679895e2f06d75717b9))
|
|
329
|
+
* only run multi wallet prompt when user profile or auth flow are open ([#6073](https://github.com/dynamic-labs/DynamicAuth/issues/6073)) ([d48ca10](https://github.com/dynamic-labs/DynamicAuth/commit/d48ca105359018457a78588fd8d9aa8a91583a02))
|
|
330
|
+
* recompute multiwallet state after merging accounts ([#6078](https://github.com/dynamic-labs/DynamicAuth/issues/6078)) ([e08a274](https://github.com/dynamic-labs/DynamicAuth/commit/e08a274c4d848f2a8360be7106cfbfa00b9a8f9b))
|
|
331
|
+
* stop querying okx for accounts while locked ([#6081](https://github.com/dynamic-labs/DynamicAuth/issues/6081)) ([#6084](https://github.com/dynamic-labs/DynamicAuth/issues/6084)) ([34365ac](https://github.com/dynamic-labs/DynamicAuth/commit/34365ac1981fe020b03e666c24535a247645d2ad))
|
|
332
|
+
* update copy for primary wallet not connected modal ([#6069](https://github.com/dynamic-labs/DynamicAuth/issues/6069)) ([4a3f43c](https://github.com/dynamic-labs/DynamicAuth/commit/4a3f43ce5585983f7fea0c5b97e812c0ade80e2c))
|
|
333
|
+
|
|
334
|
+
## [3.0.0-alpha.6](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.5...v3.0.0-alpha.6) (2024-06-18)
|
|
335
|
+
|
|
336
|
+
|
|
337
|
+
### Features
|
|
338
|
+
|
|
339
|
+
* implement useExternalAuth hook to signin using external jwt auth ([#6039](https://github.com/dynamic-labs/DynamicAuth/issues/6039)) ([ba90908](https://github.com/dynamic-labs/DynamicAuth/commit/ba90908509ec21f708a4a0782a7f94861fc3b484))
|
|
340
|
+
|
|
341
|
+
|
|
342
|
+
### Bug Fixes
|
|
343
|
+
|
|
344
|
+
* allow sign-in with different ME BTC wallet after initial connection ([a527b46](https://github.com/dynamic-labs/DynamicAuth/commit/a527b464f321b4fc27730f57c3812e996b5ed878))
|
|
345
|
+
* close sign modal when signing in with a wallet when embedded wallet is enabled ([#6013](https://github.com/dynamic-labs/DynamicAuth/issues/6013)) ([0f4f3c8](https://github.com/dynamic-labs/DynamicAuth/commit/0f4f3c83db162f7a1794a3549b60bbad6b03e2c0))
|
|
346
|
+
* custom network without a valid icon should still display its name in network picker ([#6018](https://github.com/dynamic-labs/DynamicAuth/issues/6018)) ([0b10df6](https://github.com/dynamic-labs/DynamicAuth/commit/0b10df68950bfc9b8492443158a6bb030dc1122c))
|
|
347
|
+
* e2e: remove page pause ([#6045](https://github.com/dynamic-labs/DynamicAuth/issues/6045)) ([55bba00](https://github.com/dynamic-labs/DynamicAuth/commit/55bba0034255055d6ae266b1296542f47ed48e2b))
|
|
348
|
+
* more fixes for connect starknet button ([#6046](https://github.com/dynamic-labs/DynamicAuth/issues/6046)) ([0fb570a](https://github.com/dynamic-labs/DynamicAuth/commit/0fb570a44e65f8dd6d4d2bf5edb2ee54985ec9d4))
|
|
349
|
+
* set verified credentials on embedded wallet creation ([#6044](https://github.com/dynamic-labs/DynamicAuth/issues/6044)) ([b52a96d](https://github.com/dynamic-labs/DynamicAuth/commit/b52a96d321e7efdb30dce9cdb3f6f176c24ceb81))
|
|
350
|
+
|
|
351
|
+
## [3.0.0-alpha.5](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.4...v3.0.0-alpha.5) (2024-06-14)
|
|
352
|
+
|
|
353
|
+
|
|
354
|
+
### ⚠ BREAKING CHANGES
|
|
355
|
+
|
|
356
|
+
* remove viem dependency from non-evm packages (#5508)
|
|
357
|
+
* move rpc providers into their own packages (#5981)
|
|
358
|
+
|
|
359
|
+
### Features
|
|
360
|
+
|
|
361
|
+
* add in-app browser navigation support for sats-connect ([#5988](https://github.com/dynamic-labs/DynamicAuth/issues/5988)) ([be27d2d](https://github.com/dynamic-labs/DynamicAuth/commit/be27d2d4030bbe2157e879497d8e6a00b4a3e404))
|
|
362
|
+
* move rpc providers into their own packages ([#5981](https://github.com/dynamic-labs/DynamicAuth/issues/5981)) ([d7a62d6](https://github.com/dynamic-labs/DynamicAuth/commit/d7a62d60e79dfa6d6651b0fa103e90b6f8a9ccf3))
|
|
363
|
+
|
|
364
|
+
|
|
365
|
+
### Bug Fixes
|
|
366
|
+
|
|
367
|
+
* embedded solana wallets can send SPL tokens and estimate gas ([#5982](https://github.com/dynamic-labs/DynamicAuth/issues/5982)) ([36623eb](https://github.com/dynamic-labs/DynamicAuth/commit/36623eb99d1d1dfebfd8b6f3194eeff31e7de2bf))
|
|
368
|
+
* improve logic related to turnkey and emailVerifcation ([#5946](https://github.com/dynamic-labs/DynamicAuth/issues/5946)) ([dd0b2dc](https://github.com/dynamic-labs/DynamicAuth/commit/dd0b2dc6d93a8bbbcb6eef88732e62b747005bb3))
|
|
369
|
+
* show linked wallets with unavailable providers in user wallets list ([#5992](https://github.com/dynamic-labs/DynamicAuth/issues/5992)) ([996079c](https://github.com/dynamic-labs/DynamicAuth/commit/996079ced360651c7b1eb5273548e0548f6f9f3a))
|
|
370
|
+
* switch network modal not closing after switching to a supported network ([#5979](https://github.com/dynamic-labs/DynamicAuth/issues/5979)) ([f239952](https://github.com/dynamic-labs/DynamicAuth/commit/f2399523dd82bb28046992cac4582688b688bdc0))
|
|
371
|
+
|
|
372
|
+
|
|
373
|
+
* remove viem dependency from non-evm packages ([#5508](https://github.com/dynamic-labs/DynamicAuth/issues/5508)) ([0299dc3](https://github.com/dynamic-labs/DynamicAuth/commit/0299dc3cbb611182d763e9a89d1270c2e2f32df5))
|
|
374
|
+
|
|
2
375
|
## [3.0.0-alpha.4](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.3...v3.0.0-alpha.4) (2024-06-12)
|
|
3
376
|
|
|
4
377
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dynamic-labs/ethereum-aa",
|
|
3
|
-
"version": "3.0.0-alpha.
|
|
3
|
+
"version": "3.0.0-alpha.41",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "git+https://github.com/dynamic-labs/dynamic-auth.git",
|
|
@@ -26,17 +26,18 @@
|
|
|
26
26
|
"./package.json": "./package.json"
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@dynamic-labs/sdk-api-core": "0.0.
|
|
30
|
-
"@zerodev/ecdsa-validator": "5.
|
|
31
|
-
"@zerodev/
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"@dynamic-labs/
|
|
35
|
-
"@dynamic-labs/
|
|
36
|
-
"@dynamic-labs/
|
|
37
|
-
"@dynamic-labs/
|
|
38
|
-
"@dynamic-labs/
|
|
39
|
-
"@dynamic-labs/wallet-
|
|
29
|
+
"@dynamic-labs/sdk-api-core": "0.0.510",
|
|
30
|
+
"@zerodev/ecdsa-validator": "5.3.1",
|
|
31
|
+
"@zerodev/multi-chain-validator": "5.3.3",
|
|
32
|
+
"@zerodev/sdk": "5.3.4",
|
|
33
|
+
"permissionless": "^0.1.20",
|
|
34
|
+
"@dynamic-labs/ethereum": "3.0.0-alpha.41",
|
|
35
|
+
"@dynamic-labs/logger": "3.0.0-alpha.41",
|
|
36
|
+
"@dynamic-labs/types": "3.0.0-alpha.41",
|
|
37
|
+
"@dynamic-labs/utils": "3.0.0-alpha.41",
|
|
38
|
+
"@dynamic-labs/viem-utils": "3.0.0-alpha.41",
|
|
39
|
+
"@dynamic-labs/wallet-book": "3.0.0-alpha.41",
|
|
40
|
+
"@dynamic-labs/wallet-connector-core": "3.0.0-alpha.41"
|
|
40
41
|
},
|
|
41
42
|
"peerDependencies": {
|
|
42
43
|
"viem": "^2.7.6"
|
package/src/ZeroDevConnector.cjs
CHANGED
|
@@ -4,8 +4,11 @@
|
|
|
4
4
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
5
5
|
|
|
6
6
|
var _tslib = require('../_virtual/_tslib.cjs');
|
|
7
|
+
var multiChainValidator = require('@zerodev/multi-chain-validator');
|
|
7
8
|
var viem = require('viem');
|
|
8
9
|
var utils$1 = require('permissionless/utils');
|
|
10
|
+
var constants = require('@zerodev/sdk/constants');
|
|
11
|
+
var ecdsaValidator = require('@zerodev/ecdsa-validator');
|
|
9
12
|
var sdkApiCore = require('@dynamic-labs/sdk-api-core');
|
|
10
13
|
var walletConnectorCore = require('@dynamic-labs/wallet-connector-core');
|
|
11
14
|
var viemUtils = require('@dynamic-labs/viem-utils');
|
|
@@ -17,7 +20,7 @@ var createEcsdaKernelAccountClient = require('./utils/createEcsdaKernelAccountCl
|
|
|
17
20
|
|
|
18
21
|
class ZeroDevConnector extends walletConnectorCore.WalletConnectorBase {
|
|
19
22
|
constructor(opts) {
|
|
20
|
-
var _a, _b;
|
|
23
|
+
var _a, _b, _c, _d;
|
|
21
24
|
super(opts);
|
|
22
25
|
this.connectedChain = 'EVM';
|
|
23
26
|
this.supportedChains = ['ETH', 'EVM'];
|
|
@@ -39,16 +42,60 @@ class ZeroDevConnector extends walletConnectorCore.WalletConnectorBase {
|
|
|
39
42
|
this.projectId = zeroDevProjectId;
|
|
40
43
|
this._walletUiUtils = opts.walletUiUtils;
|
|
41
44
|
this.evmNetworks = utils.parseEvmNetworks(opts.evmNetworks);
|
|
42
|
-
this.entryPoint =
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
45
|
+
this.entryPoint = this.getEntryPoint((_b = opts.apiProviders.zerodev) === null || _b === void 0 ? void 0 : _b.entryPointVersion);
|
|
46
|
+
this.kernelVersion = this.getKernelVersion((_c = opts.apiProviders.zerodev) === null || _c === void 0 ? void 0 : _c.kernelVersion);
|
|
47
|
+
this.ecdsaProviderType = (_d = opts.apiProviders.zerodev) === null || _d === void 0 ? void 0 : _d.ecdsaProviderType;
|
|
48
|
+
}
|
|
49
|
+
getEntryPoint(entryPoint) {
|
|
50
|
+
if (entryPoint === undefined ||
|
|
51
|
+
entryPoint === sdkApiCore.ProviderEntryPointVersionEnum.V7) {
|
|
52
|
+
return utils$1.ENTRYPOINT_ADDRESS_V07;
|
|
53
|
+
}
|
|
54
|
+
else if (entryPoint === sdkApiCore.ProviderEntryPointVersionEnum.V6) {
|
|
55
|
+
return utils$1.ENTRYPOINT_ADDRESS_V06;
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
logger.logger.error('Invalid entry point version', entryPoint);
|
|
59
|
+
return utils$1.ENTRYPOINT_ADDRESS_V07;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
getKernelVersion(kernelVersion) {
|
|
63
|
+
if (kernelVersion === sdkApiCore.ProviderKernelVersionEnum.V31 ||
|
|
64
|
+
(kernelVersion === undefined &&
|
|
65
|
+
this.entryPoint === utils$1.ENTRYPOINT_ADDRESS_V07)) {
|
|
66
|
+
return constants.KERNEL_V3_1;
|
|
67
|
+
}
|
|
68
|
+
else if (kernelVersion === sdkApiCore.ProviderKernelVersionEnum.V30) {
|
|
69
|
+
return constants.KERNEL_V3_0;
|
|
70
|
+
}
|
|
71
|
+
else if (kernelVersion === sdkApiCore.ProviderKernelVersionEnum.V24 ||
|
|
72
|
+
this.entryPoint === utils$1.ENTRYPOINT_ADDRESS_V06 // v0.6 only supports v2.4
|
|
73
|
+
) {
|
|
74
|
+
return constants.KERNEL_V2_4;
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
logger.logger.error('Invalid kernel version', kernelVersion);
|
|
78
|
+
return constants.KERNEL_V3_1;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
getEcdsaValidator(ecdsaProviderType) {
|
|
82
|
+
if (ecdsaProviderType === 'zerodev_signer_to_ecdsa') {
|
|
83
|
+
return ecdsaValidator.signerToEcdsaValidator;
|
|
84
|
+
}
|
|
85
|
+
else if (ecdsaProviderType === 'zerodev_multi_chain') {
|
|
86
|
+
return multiChainValidator.toMultiChainECDSAValidator;
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
return ecdsaValidator.signerToEcdsaValidator;
|
|
90
|
+
}
|
|
47
91
|
}
|
|
48
92
|
getEOAConnector() {
|
|
49
93
|
return this.eoaConnector;
|
|
50
94
|
}
|
|
51
|
-
getAccountAbstractionProvider() {
|
|
95
|
+
getAccountAbstractionProvider({ withSponsorship, } = {}) {
|
|
96
|
+
if (withSponsorship && this.kernelClientWithSponsorship) {
|
|
97
|
+
return this.kernelClientWithSponsorship;
|
|
98
|
+
}
|
|
52
99
|
return this.kernelClient;
|
|
53
100
|
}
|
|
54
101
|
endSession() {
|
|
@@ -74,9 +121,13 @@ class ZeroDevConnector extends walletConnectorCore.WalletConnectorBase {
|
|
|
74
121
|
return;
|
|
75
122
|
}
|
|
76
123
|
const kernelClient = yield createEcsdaKernelAccountClient.createEcdsaKernelAccountClient({
|
|
124
|
+
bundlerRpc: ZeroDevConnector.bundlerRpc,
|
|
77
125
|
chain: yield fetchChain.fetchChain(this.projectId),
|
|
126
|
+
ecdsaValidator: this.getEcdsaValidator(this.ecdsaProviderType),
|
|
78
127
|
entryPointAddress: this.entryPoint,
|
|
128
|
+
kernelVersion: this.kernelVersion,
|
|
79
129
|
paymaster: 'NONE',
|
|
130
|
+
paymasterRpc: ZeroDevConnector.paymasterRpc,
|
|
80
131
|
projectId: this.projectId,
|
|
81
132
|
provider: ZeroDevConnector.bundlerProvider,
|
|
82
133
|
signer: utils$1.walletClientToSmartAccountSigner(signer),
|
|
@@ -86,6 +137,8 @@ class ZeroDevConnector extends walletConnectorCore.WalletConnectorBase {
|
|
|
86
137
|
return original(...args);
|
|
87
138
|
});
|
|
88
139
|
this.kernelClient = kernelClient;
|
|
140
|
+
// set the provider with sponsorship enabled
|
|
141
|
+
yield this.getKernelClientWithSponsorshipValidation();
|
|
89
142
|
yield this.checkIsProjectChainEnabled();
|
|
90
143
|
this.kernelClientDeferredPromise.resolve();
|
|
91
144
|
});
|
|
@@ -112,9 +165,13 @@ class ZeroDevConnector extends walletConnectorCore.WalletConnectorBase {
|
|
|
112
165
|
throw new utils.DynamicError('No EOA connector');
|
|
113
166
|
const signer = yield eoaConnector.getSigner();
|
|
114
167
|
this.kernelClientWithSponsorship = yield createEcsdaKernelAccountClient.createEcdsaKernelAccountClient({
|
|
168
|
+
bundlerRpc: ZeroDevConnector.bundlerRpc,
|
|
115
169
|
chain: yield fetchChain.fetchChain(this.projectId),
|
|
170
|
+
ecdsaValidator: this.getEcdsaValidator(this.ecdsaProviderType),
|
|
116
171
|
entryPointAddress: this.entryPoint,
|
|
172
|
+
kernelVersion: this.kernelVersion,
|
|
117
173
|
paymaster: 'SPONSOR',
|
|
174
|
+
paymasterRpc: ZeroDevConnector.paymasterRpc,
|
|
118
175
|
projectId: this.projectId,
|
|
119
176
|
provider: ZeroDevConnector.bundlerProvider,
|
|
120
177
|
signer: utils$1.walletClientToSmartAccountSigner(signer),
|
|
@@ -259,15 +316,12 @@ class ZeroDevConnector extends walletConnectorCore.WalletConnectorBase {
|
|
|
259
316
|
disableGasSponsorshipOnce() {
|
|
260
317
|
this.isGasSponsorshipDisabled = true;
|
|
261
318
|
}
|
|
262
|
-
getBalance() {
|
|
319
|
+
getBalance(address) {
|
|
263
320
|
return _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
264
321
|
var _a;
|
|
265
322
|
const rpcClient = (_a = this.kernelClient) === null || _a === void 0 ? void 0 : _a.extend(viem.publicActions);
|
|
266
323
|
if (!rpcClient)
|
|
267
324
|
throw new utils.DynamicError('No RPC client');
|
|
268
|
-
const address = yield this.getAddress();
|
|
269
|
-
if (!address)
|
|
270
|
-
return;
|
|
271
325
|
return viem.formatEther(yield rpcClient.getBalance({ address: address }));
|
|
272
326
|
});
|
|
273
327
|
}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { KernelAccountClient } from '@zerodev/sdk/clients';
|
|
2
2
|
import { KernelSmartAccount } from '@zerodev/sdk/accounts';
|
|
3
|
+
import { toMultiChainECDSAValidator } from '@zerodev/multi-chain-validator';
|
|
3
4
|
import { Account, PublicClient, Transport, WalletClient } from 'viem';
|
|
4
5
|
import { type Chain as ViemChain } from 'viem/chains';
|
|
5
6
|
import { EntryPoint } from 'permissionless/types';
|
|
7
|
+
import { KERNEL_VERSION_TYPE } from '@zerodev/sdk/types';
|
|
8
|
+
import { signerToEcdsaValidator } from '@zerodev/ecdsa-validator';
|
|
6
9
|
import { Provider, ProviderEnum } from '@dynamic-labs/sdk-api-core';
|
|
7
10
|
import { Chain, IAccountAbstractionWalletConnector, ISendBalanceWalletConnector, WalletConnector, WalletConnectorBase } from '@dynamic-labs/wallet-connector-core';
|
|
8
11
|
import { WalletBookSchema } from '@dynamic-labs/wallet-book';
|
|
@@ -22,14 +25,18 @@ export declare class ZeroDevConnector extends WalletConnectorBase implements IZe
|
|
|
22
25
|
projectId: string;
|
|
23
26
|
kernelClient: KernelAccountClient<EntryPoint, Transport, ViemChain, KernelSmartAccount<EntryPoint>> | undefined;
|
|
24
27
|
eoaConnector: WalletConnector | undefined;
|
|
25
|
-
|
|
28
|
+
kernelClientWithSponsorship: KernelAccountClient<EntryPoint, Transport, ViemChain, KernelSmartAccount<EntryPoint>> | undefined;
|
|
26
29
|
connectedChain: Chain;
|
|
27
30
|
supportedChains: Chain[];
|
|
28
31
|
evmNetworks: EvmNetwork[];
|
|
29
32
|
private isGasSponsorshipDisabled;
|
|
30
33
|
isEmbeddedWallet: boolean;
|
|
31
|
-
|
|
34
|
+
entryPoint: EntryPoint;
|
|
35
|
+
kernelVersion: KERNEL_VERSION_TYPE;
|
|
36
|
+
ecdsaProviderType: string | undefined;
|
|
32
37
|
static bundlerProvider: BundlerProvider | undefined;
|
|
38
|
+
static bundlerRpc: string | undefined;
|
|
39
|
+
static paymasterRpc: string | undefined;
|
|
33
40
|
/**
|
|
34
41
|
* Deferred promise that resolves when the ZeroDev provider is set.
|
|
35
42
|
* This is used to make sure that the provider is set before any other method is called.
|
|
@@ -47,8 +54,13 @@ export declare class ZeroDevConnector extends WalletConnectorBase implements IZe
|
|
|
47
54
|
};
|
|
48
55
|
private _walletUiUtils;
|
|
49
56
|
constructor(opts: ZeroDevConnectorProps);
|
|
57
|
+
getEntryPoint(entryPoint: string | undefined): "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" | "0x0000000071727De22E5E9d8BAf0edAc6f37da032";
|
|
58
|
+
getKernelVersion(kernelVersion: string | undefined): KERNEL_VERSION_TYPE;
|
|
59
|
+
getEcdsaValidator(ecdsaProviderType: string | undefined): typeof signerToEcdsaValidator | typeof toMultiChainECDSAValidator;
|
|
50
60
|
getEOAConnector(): WalletConnector | undefined;
|
|
51
|
-
getAccountAbstractionProvider(
|
|
61
|
+
getAccountAbstractionProvider({ withSponsorship, }?: {
|
|
62
|
+
withSponsorship?: boolean;
|
|
63
|
+
}): KernelAccountClient<EntryPoint> | undefined;
|
|
52
64
|
endSession(): Promise<void>;
|
|
53
65
|
setEoaConnector(connector: WalletConnector): Promise<void>;
|
|
54
66
|
private checkIsProjectChainEnabled;
|
|
@@ -3099,7 +3111,7 @@ export declare class ZeroDevConnector extends WalletConnectorBase implements IZe
|
|
|
3099
3111
|
} | undefined>;
|
|
3100
3112
|
canSponsorTransactionGas(transaction: IUITransaction): Promise<boolean>;
|
|
3101
3113
|
disableGasSponsorshipOnce(): void;
|
|
3102
|
-
getBalance(): Promise<string | undefined>;
|
|
3114
|
+
getBalance(address: string): Promise<string | undefined>;
|
|
3103
3115
|
signMessage(messageToSign: string): Promise<string | undefined>;
|
|
3104
3116
|
createUiTransaction(from: string): Promise<IUITransaction>;
|
|
3105
3117
|
}
|
package/src/ZeroDevConnector.js
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
'use client'
|
|
2
2
|
import { __awaiter } from '../_virtual/_tslib.js';
|
|
3
|
+
import { toMultiChainECDSAValidator } from '@zerodev/multi-chain-validator';
|
|
3
4
|
import { publicActions, custom, createWalletClient, isHex, fromHex, formatEther } from 'viem';
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
5
|
+
import { ENTRYPOINT_ADDRESS_V07, ENTRYPOINT_ADDRESS_V06, walletClientToSmartAccountSigner } from 'permissionless/utils';
|
|
6
|
+
import { KERNEL_V3_1, KERNEL_V3_0, KERNEL_V2_4 } from '@zerodev/sdk/constants';
|
|
7
|
+
import { signerToEcdsaValidator } from '@zerodev/ecdsa-validator';
|
|
8
|
+
import { ProviderEntryPointVersionEnum, ProviderKernelVersionEnum } from '@dynamic-labs/sdk-api-core';
|
|
6
9
|
import { WalletConnectorBase } from '@dynamic-labs/wallet-connector-core';
|
|
7
10
|
import { confirmationTransport, chainsMap, unFormatTransaction, createViemUiTransaction } from '@dynamic-labs/viem-utils';
|
|
8
11
|
import { parseEvmNetworks, DynamicError, DeferredPromise, wrapMethodWithCallback, TransactionGasCannotBeSponsoredError, InsufficientFundsError } from '@dynamic-labs/utils';
|
|
@@ -13,7 +16,7 @@ import { createEcdsaKernelAccountClient } from './utils/createEcsdaKernelAccount
|
|
|
13
16
|
|
|
14
17
|
class ZeroDevConnector extends WalletConnectorBase {
|
|
15
18
|
constructor(opts) {
|
|
16
|
-
var _a, _b;
|
|
19
|
+
var _a, _b, _c, _d;
|
|
17
20
|
super(opts);
|
|
18
21
|
this.connectedChain = 'EVM';
|
|
19
22
|
this.supportedChains = ['ETH', 'EVM'];
|
|
@@ -35,16 +38,60 @@ class ZeroDevConnector extends WalletConnectorBase {
|
|
|
35
38
|
this.projectId = zeroDevProjectId;
|
|
36
39
|
this._walletUiUtils = opts.walletUiUtils;
|
|
37
40
|
this.evmNetworks = parseEvmNetworks(opts.evmNetworks);
|
|
38
|
-
this.entryPoint =
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
41
|
+
this.entryPoint = this.getEntryPoint((_b = opts.apiProviders.zerodev) === null || _b === void 0 ? void 0 : _b.entryPointVersion);
|
|
42
|
+
this.kernelVersion = this.getKernelVersion((_c = opts.apiProviders.zerodev) === null || _c === void 0 ? void 0 : _c.kernelVersion);
|
|
43
|
+
this.ecdsaProviderType = (_d = opts.apiProviders.zerodev) === null || _d === void 0 ? void 0 : _d.ecdsaProviderType;
|
|
44
|
+
}
|
|
45
|
+
getEntryPoint(entryPoint) {
|
|
46
|
+
if (entryPoint === undefined ||
|
|
47
|
+
entryPoint === ProviderEntryPointVersionEnum.V7) {
|
|
48
|
+
return ENTRYPOINT_ADDRESS_V07;
|
|
49
|
+
}
|
|
50
|
+
else if (entryPoint === ProviderEntryPointVersionEnum.V6) {
|
|
51
|
+
return ENTRYPOINT_ADDRESS_V06;
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
logger.error('Invalid entry point version', entryPoint);
|
|
55
|
+
return ENTRYPOINT_ADDRESS_V07;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
getKernelVersion(kernelVersion) {
|
|
59
|
+
if (kernelVersion === ProviderKernelVersionEnum.V31 ||
|
|
60
|
+
(kernelVersion === undefined &&
|
|
61
|
+
this.entryPoint === ENTRYPOINT_ADDRESS_V07)) {
|
|
62
|
+
return KERNEL_V3_1;
|
|
63
|
+
}
|
|
64
|
+
else if (kernelVersion === ProviderKernelVersionEnum.V30) {
|
|
65
|
+
return KERNEL_V3_0;
|
|
66
|
+
}
|
|
67
|
+
else if (kernelVersion === ProviderKernelVersionEnum.V24 ||
|
|
68
|
+
this.entryPoint === ENTRYPOINT_ADDRESS_V06 // v0.6 only supports v2.4
|
|
69
|
+
) {
|
|
70
|
+
return KERNEL_V2_4;
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
logger.error('Invalid kernel version', kernelVersion);
|
|
74
|
+
return KERNEL_V3_1;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
getEcdsaValidator(ecdsaProviderType) {
|
|
78
|
+
if (ecdsaProviderType === 'zerodev_signer_to_ecdsa') {
|
|
79
|
+
return signerToEcdsaValidator;
|
|
80
|
+
}
|
|
81
|
+
else if (ecdsaProviderType === 'zerodev_multi_chain') {
|
|
82
|
+
return toMultiChainECDSAValidator;
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
return signerToEcdsaValidator;
|
|
86
|
+
}
|
|
43
87
|
}
|
|
44
88
|
getEOAConnector() {
|
|
45
89
|
return this.eoaConnector;
|
|
46
90
|
}
|
|
47
|
-
getAccountAbstractionProvider() {
|
|
91
|
+
getAccountAbstractionProvider({ withSponsorship, } = {}) {
|
|
92
|
+
if (withSponsorship && this.kernelClientWithSponsorship) {
|
|
93
|
+
return this.kernelClientWithSponsorship;
|
|
94
|
+
}
|
|
48
95
|
return this.kernelClient;
|
|
49
96
|
}
|
|
50
97
|
endSession() {
|
|
@@ -70,9 +117,13 @@ class ZeroDevConnector extends WalletConnectorBase {
|
|
|
70
117
|
return;
|
|
71
118
|
}
|
|
72
119
|
const kernelClient = yield createEcdsaKernelAccountClient({
|
|
120
|
+
bundlerRpc: ZeroDevConnector.bundlerRpc,
|
|
73
121
|
chain: yield fetchChain(this.projectId),
|
|
122
|
+
ecdsaValidator: this.getEcdsaValidator(this.ecdsaProviderType),
|
|
74
123
|
entryPointAddress: this.entryPoint,
|
|
124
|
+
kernelVersion: this.kernelVersion,
|
|
75
125
|
paymaster: 'NONE',
|
|
126
|
+
paymasterRpc: ZeroDevConnector.paymasterRpc,
|
|
76
127
|
projectId: this.projectId,
|
|
77
128
|
provider: ZeroDevConnector.bundlerProvider,
|
|
78
129
|
signer: walletClientToSmartAccountSigner(signer),
|
|
@@ -82,6 +133,8 @@ class ZeroDevConnector extends WalletConnectorBase {
|
|
|
82
133
|
return original(...args);
|
|
83
134
|
});
|
|
84
135
|
this.kernelClient = kernelClient;
|
|
136
|
+
// set the provider with sponsorship enabled
|
|
137
|
+
yield this.getKernelClientWithSponsorshipValidation();
|
|
85
138
|
yield this.checkIsProjectChainEnabled();
|
|
86
139
|
this.kernelClientDeferredPromise.resolve();
|
|
87
140
|
});
|
|
@@ -108,9 +161,13 @@ class ZeroDevConnector extends WalletConnectorBase {
|
|
|
108
161
|
throw new DynamicError('No EOA connector');
|
|
109
162
|
const signer = yield eoaConnector.getSigner();
|
|
110
163
|
this.kernelClientWithSponsorship = yield createEcdsaKernelAccountClient({
|
|
164
|
+
bundlerRpc: ZeroDevConnector.bundlerRpc,
|
|
111
165
|
chain: yield fetchChain(this.projectId),
|
|
166
|
+
ecdsaValidator: this.getEcdsaValidator(this.ecdsaProviderType),
|
|
112
167
|
entryPointAddress: this.entryPoint,
|
|
168
|
+
kernelVersion: this.kernelVersion,
|
|
113
169
|
paymaster: 'SPONSOR',
|
|
170
|
+
paymasterRpc: ZeroDevConnector.paymasterRpc,
|
|
114
171
|
projectId: this.projectId,
|
|
115
172
|
provider: ZeroDevConnector.bundlerProvider,
|
|
116
173
|
signer: walletClientToSmartAccountSigner(signer),
|
|
@@ -255,15 +312,12 @@ class ZeroDevConnector extends WalletConnectorBase {
|
|
|
255
312
|
disableGasSponsorshipOnce() {
|
|
256
313
|
this.isGasSponsorshipDisabled = true;
|
|
257
314
|
}
|
|
258
|
-
getBalance() {
|
|
315
|
+
getBalance(address) {
|
|
259
316
|
return __awaiter(this, void 0, void 0, function* () {
|
|
260
317
|
var _a;
|
|
261
318
|
const rpcClient = (_a = this.kernelClient) === null || _a === void 0 ? void 0 : _a.extend(publicActions);
|
|
262
319
|
if (!rpcClient)
|
|
263
320
|
throw new DynamicError('No RPC client');
|
|
264
|
-
const address = yield this.getAddress();
|
|
265
|
-
if (!address)
|
|
266
|
-
return;
|
|
267
321
|
return formatEther(yield rpcClient.getBalance({ address: address }));
|
|
268
322
|
});
|
|
269
323
|
}
|
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) => {
|
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
5
5
|
|
|
6
6
|
var _tslib = require('../../_virtual/_tslib.cjs');
|
|
7
|
-
var ecdsaValidator = require('@zerodev/ecdsa-validator');
|
|
8
7
|
var accounts = require('@zerodev/sdk/accounts');
|
|
9
8
|
var clients = require('@zerodev/sdk/clients');
|
|
10
9
|
var viem = require('viem');
|
|
@@ -24,29 +23,33 @@ const getZeroDevPaymasterRPC = (projectId, provider) => {
|
|
|
24
23
|
return rpc;
|
|
25
24
|
};
|
|
26
25
|
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, }) {
|
|
26
|
+
const createEcdsaKernelAccountClient = (_a) => _tslib.__awaiter(void 0, [_a], void 0, function* ({ bundlerRpc, chain, paymasterRpc, projectId, signer, provider, index, paymaster = 'SPONSOR', entryPointAddress, kernelVersion, ecdsaValidator, }) {
|
|
27
|
+
const resolvedBundlerRpc = bundlerRpc !== null && bundlerRpc !== void 0 ? bundlerRpc : getZeroDevBundlerRPC(projectId, provider);
|
|
28
|
+
const resolvedPaymasterRpc = paymasterRpc !== null && paymasterRpc !== void 0 ? paymasterRpc : getZeroDevPaymasterRPC(projectId, provider);
|
|
28
29
|
const publicClient = viem.createPublicClient({
|
|
29
|
-
transport: viem.http(
|
|
30
|
+
transport: viem.http(resolvedBundlerRpc),
|
|
30
31
|
});
|
|
31
|
-
const
|
|
32
|
+
const validator = yield ecdsaValidator(publicClient, {
|
|
32
33
|
entryPoint: entryPointAddress,
|
|
34
|
+
kernelVersion,
|
|
33
35
|
signer,
|
|
34
36
|
});
|
|
35
37
|
const account = yield accounts.createKernelAccount(publicClient, {
|
|
36
38
|
entryPoint: entryPointAddress,
|
|
37
39
|
index,
|
|
40
|
+
kernelVersion,
|
|
38
41
|
plugins: {
|
|
39
|
-
sudo:
|
|
42
|
+
sudo: validator,
|
|
40
43
|
},
|
|
41
44
|
});
|
|
42
45
|
const zerodevPaymaster = clients.createZeroDevPaymasterClient({
|
|
43
46
|
chain: chain,
|
|
44
47
|
entryPoint: entryPointAddress,
|
|
45
|
-
transport: viem.http(
|
|
48
|
+
transport: viem.http(resolvedPaymasterRpc),
|
|
46
49
|
});
|
|
47
50
|
const kernelClient = clients.createKernelAccountClient({
|
|
48
51
|
account,
|
|
49
|
-
bundlerTransport: viem.http(
|
|
52
|
+
bundlerTransport: viem.http(resolvedBundlerRpc),
|
|
50
53
|
chain,
|
|
51
54
|
entryPoint: entryPointAddress,
|
|
52
55
|
middleware: paymaster !== 'NONE'
|
|
@@ -3,17 +3,22 @@ import { KernelAccountClient } from '@zerodev/sdk/clients';
|
|
|
3
3
|
import { SmartAccountSigner } from 'permissionless/accounts';
|
|
4
4
|
import { EntryPoint } from 'permissionless/types';
|
|
5
5
|
import { Address, HttpTransport, Chain } from 'viem';
|
|
6
|
+
import { GetKernelVersion } from '@zerodev/sdk/types';
|
|
6
7
|
export type BundlerProvider = 'STACKUP' | 'PIMLICO' | 'ALCHEMY' | 'GELATO';
|
|
7
8
|
export type ERC20Paymaster = Address;
|
|
8
9
|
export type PaymasterType = 'NONE' | 'SPONSOR' | ERC20Paymaster;
|
|
9
10
|
export declare const getZeroDevBundlerRPC: (projectId: string, provider?: BundlerProvider) => string;
|
|
10
11
|
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, }: {
|
|
12
|
+
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, kernelVersion, ecdsaValidator, }: {
|
|
13
|
+
bundlerRpc?: string;
|
|
12
14
|
chain: TChain;
|
|
13
15
|
projectId: string;
|
|
14
16
|
signer: SmartAccountSigner<TSource, TAddress>;
|
|
15
17
|
paymaster: PaymasterType;
|
|
18
|
+
paymasterRpc?: string;
|
|
16
19
|
entryPointAddress: entryPoint;
|
|
17
20
|
provider?: BundlerProvider;
|
|
18
21
|
index?: bigint;
|
|
22
|
+
kernelVersion: GetKernelVersion<entryPoint>;
|
|
23
|
+
ecdsaValidator: any;
|
|
19
24
|
}) => Promise<KernelAccountClient<entryPoint, HttpTransport, TChain, KernelSmartAccount<entryPoint, HttpTransport, TChain>>>;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
'use client'
|
|
2
2
|
import { __awaiter } from '../../_virtual/_tslib.js';
|
|
3
|
-
import { signerToEcdsaValidator } from '@zerodev/ecdsa-validator';
|
|
4
3
|
import { createKernelAccount } from '@zerodev/sdk/accounts';
|
|
5
4
|
import { createZeroDevPaymasterClient, createKernelAccountClient } from '@zerodev/sdk/clients';
|
|
6
5
|
import { createPublicClient, http, isAddress } from 'viem';
|
|
@@ -20,29 +19,33 @@ const getZeroDevPaymasterRPC = (projectId, provider) => {
|
|
|
20
19
|
return rpc;
|
|
21
20
|
};
|
|
22
21
|
const isERC20 = (value) => isAddress(value);
|
|
23
|
-
const createEcdsaKernelAccountClient = (_a) => __awaiter(void 0, [_a], void 0, function* ({ chain, projectId, signer, provider, index, paymaster = 'SPONSOR', entryPointAddress, }) {
|
|
22
|
+
const createEcdsaKernelAccountClient = (_a) => __awaiter(void 0, [_a], void 0, function* ({ bundlerRpc, chain, paymasterRpc, projectId, signer, provider, index, paymaster = 'SPONSOR', entryPointAddress, kernelVersion, ecdsaValidator, }) {
|
|
23
|
+
const resolvedBundlerRpc = bundlerRpc !== null && bundlerRpc !== void 0 ? bundlerRpc : getZeroDevBundlerRPC(projectId, provider);
|
|
24
|
+
const resolvedPaymasterRpc = paymasterRpc !== null && paymasterRpc !== void 0 ? paymasterRpc : getZeroDevPaymasterRPC(projectId, provider);
|
|
24
25
|
const publicClient = createPublicClient({
|
|
25
|
-
transport: http(
|
|
26
|
+
transport: http(resolvedBundlerRpc),
|
|
26
27
|
});
|
|
27
|
-
const
|
|
28
|
+
const validator = yield ecdsaValidator(publicClient, {
|
|
28
29
|
entryPoint: entryPointAddress,
|
|
30
|
+
kernelVersion,
|
|
29
31
|
signer,
|
|
30
32
|
});
|
|
31
33
|
const account = yield createKernelAccount(publicClient, {
|
|
32
34
|
entryPoint: entryPointAddress,
|
|
33
35
|
index,
|
|
36
|
+
kernelVersion,
|
|
34
37
|
plugins: {
|
|
35
|
-
sudo:
|
|
38
|
+
sudo: validator,
|
|
36
39
|
},
|
|
37
40
|
});
|
|
38
41
|
const zerodevPaymaster = createZeroDevPaymasterClient({
|
|
39
42
|
chain: chain,
|
|
40
43
|
entryPoint: entryPointAddress,
|
|
41
|
-
transport: http(
|
|
44
|
+
transport: http(resolvedPaymasterRpc),
|
|
42
45
|
});
|
|
43
46
|
const kernelClient = createKernelAccountClient({
|
|
44
47
|
account,
|
|
45
|
-
bundlerTransport: http(
|
|
48
|
+
bundlerTransport: http(resolvedBundlerRpc),
|
|
46
49
|
chain,
|
|
47
50
|
entryPoint: entryPointAddress,
|
|
48
51
|
middleware: paymaster !== 'NONE'
|