@dynamic-labs/ethereum-aa 3.0.0-alpha.5 → 3.0.0-alpha.51

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,489 @@
1
1
 
2
+ ## [3.0.0-alpha.51](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.50...v3.0.0-alpha.51) (2024-08-23)
3
+
4
+
5
+ ### ⚠ BREAKING CHANGES
6
+
7
+ * renamed solana-utils package to solana-core ([#6680](https://github.com/dynamic-labs/DynamicAuth/issues/6680)) ([9178d72](https://github.com/dynamic-labs/DynamicAuth/commit/9178d72073911364d1cb311944abaf0c93ada842))
8
+ * removed rpc-provider-solana package and moved methods and types to solana-core package ([#6694](https://github.com/dynamic-labs/DynamicAuth/issues/6694)) ([3486b01](https://github.com/dynamic-labs/DynamicAuth/commit/3486b018f6b199318e501854093d3eb7575bf9e0))
9
+ * removed rpc-provider-ethereum package and moved methods and types to ethereum-core package ([#6689](https://github.com/dynamic-labs/DynamicAuth/issues/6689)) ([83bf769](https://github.com/dynamic-labs/DynamicAuth/commit/83bf769a733cce484cfbc0aced654b811b1535de))
10
+ * renamed rpc-provider-starknet package to starknet-core ([#6695](https://github.com/dynamic-labs/DynamicAuth/issues/6695)) ([3fc6a03](https://github.com/dynamic-labs/DynamicAuth/commit/3fc6a0327f50914d3c28ca2c7d028046632d0002))
11
+
12
+
13
+ ### Features
14
+
15
+ * global wallet sdk ui ([#6626](https://github.com/dynamic-labs/DynamicAuth/issues/6626)) ([e000257](https://github.com/dynamic-labs/DynamicAuth/commit/e0002578eb91597577843c93821318112e36a9f0))
16
+
17
+
18
+ ### Bug Fixes
19
+
20
+ * zerodev sign message ([#6691](https://github.com/dynamic-labs/DynamicAuth/issues/6691)) ([58c7fba](https://github.com/dynamic-labs/DynamicAuth/commit/58c7fba97c42eacad359e2daefd0f8518b8db28b))
21
+ * fix solana transaction optimization endpoint ([#6702](https://github.com/dynamic-labs/DynamicAuth/issues/6702)) ([f14bef7](https://github.com/dynamic-labs/DynamicAuth/commit/f14bef7994c32d66c3020d8c318bdbb5cac8ae94))
22
+
23
+
24
+ ## [3.0.0-alpha.50](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.49...v3.0.0-alpha.50) (2024-08-22)
25
+
26
+ ## [3.0.0-alpha.49](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.48...v3.0.0-alpha.49) (2024-08-22)
27
+
28
+
29
+ ### ⚠ BREAKING CHANGES
30
+
31
+ * rename viem-utils package to ethereum-core (#6677)
32
+ * remove ethers-v5 package (#6661)
33
+
34
+ ### Bug Fixes
35
+
36
+ * force ui on global transactions and fix zerodev global ([#6673](https://github.com/dynamic-labs/DynamicAuth/issues/6673)) ([7317e44](https://github.com/dynamic-labs/DynamicAuth/commit/7317e449044fe4f87d67714afd36bec596d0cece))
37
+ * remove sync call in getWalletClient getSigner methods ([#6678](https://github.com/dynamic-labs/DynamicAuth/issues/6678)) ([a231337](https://github.com/dynamic-labs/DynamicAuth/commit/a231337f81be54d92715044b7dc8bb35c57087bb))
38
+
39
+
40
+ * remove ethers-v5 package ([#6661](https://github.com/dynamic-labs/DynamicAuth/issues/6661)) ([61cc31b](https://github.com/dynamic-labs/DynamicAuth/commit/61cc31ba4b8346b86a154aabf8842fd38396d632))
41
+ * rename viem-utils package to ethereum-core ([#6677](https://github.com/dynamic-labs/DynamicAuth/issues/6677)) ([ba7fd43](https://github.com/dynamic-labs/DynamicAuth/commit/ba7fd432e332b9f20a4f7aa9403f94722331cde6))
42
+
43
+ ## [3.0.0-alpha.48](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.47...v3.0.0-alpha.48) (2024-08-21)
44
+
45
+
46
+ ### Bug Fixes
47
+
48
+ * collect user data to work when no wallet is selected ([#6670](https://github.com/dynamic-labs/DynamicAuth/issues/6670)) ([b86aae8](https://github.com/dynamic-labs/DynamicAuth/commit/b86aae8e7ceb35793f792941a34cabd19b9e65d4))
49
+ * disable cookie when running on native mobile ([#6668](https://github.com/dynamic-labs/DynamicAuth/issues/6668)) ([e52a3d9](https://github.com/dynamic-labs/DynamicAuth/commit/e52a3d94a9028e36525be2e80a9f0916efad4320))
50
+ * prevent external auth blocking pending user requirements views ([#6669](https://github.com/dynamic-labs/DynamicAuth/issues/6669)) ([848356c](https://github.com/dynamic-labs/DynamicAuth/commit/848356c57e730a8516c642da84274a236e026f40))
51
+
52
+ ## [3.0.0-alpha.47](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.46...v3.0.0-alpha.47) (2024-08-21)
53
+
54
+
55
+ ### ⚠ BREAKING CHANGES
56
+
57
+ * rename useSelectWalletOption to useWalletOptions (#6616)
58
+ * stop exposing walletConnectorOptions from dynamic context (#6622)
59
+
60
+ ### Features
61
+
62
+ * add support for base.eth ens resolution ([#6655](https://github.com/dynamic-labs/DynamicAuth/issues/6655)) ([e2fb1c0](https://github.com/dynamic-labs/DynamicAuth/commit/e2fb1c0ca8410e85b7464d032abc6686bd46149f))
63
+ * expose wallet options from useWalletOptions hook ([#6624](https://github.com/dynamic-labs/DynamicAuth/issues/6624)) ([7287359](https://github.com/dynamic-labs/DynamicAuth/commit/7287359d1564564b87e82bf182edef8ef02c16f1))
64
+ * global wallet chain switching ([#6648](https://github.com/dynamic-labs/DynamicAuth/issues/6648)) ([10179fc](https://github.com/dynamic-labs/DynamicAuth/commit/10179fcddc747977c7dd250abd78bad0ec375f8f))
65
+ * implement Apple Sign-In for mobile ([#6632](https://github.com/dynamic-labs/DynamicAuth/issues/6632)) ([e68b088](https://github.com/dynamic-labs/DynamicAuth/commit/e68b088b1c13c1140b43a6d0c215383455a71a4a))
66
+ * surface mfa rate limit error ([#6658](https://github.com/dynamic-labs/DynamicAuth/issues/6658)) ([5fbcbc2](https://github.com/dynamic-labs/DynamicAuth/commit/5fbcbc2382ebcf2721a308d8e87bc8b2b5cb38cf))
67
+
68
+
69
+ ### Bug Fixes
70
+
71
+ * update bottom nav border radius ([#6651](https://github.com/dynamic-labs/DynamicAuth/issues/6651)) ([79212c2](https://github.com/dynamic-labs/DynamicAuth/commit/79212c26735eb06f31655e8b98a3d9c2c8371489))
72
+
73
+
74
+ * rename useSelectWalletOption to useWalletOptions ([#6616](https://github.com/dynamic-labs/DynamicAuth/issues/6616)) ([3850dad](https://github.com/dynamic-labs/DynamicAuth/commit/3850dad47f847ace84aadc63a84c4e62f84f7df2))
75
+ * stop exposing walletConnectorOptions from dynamic context ([#6622](https://github.com/dynamic-labs/DynamicAuth/issues/6622)) ([b9da7db](https://github.com/dynamic-labs/DynamicAuth/commit/b9da7dbfc4020913ba3d95ec496811e9d8ee17b8))
76
+
77
+ ## [3.0.0-alpha.46](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.45...v3.0.0-alpha.46) (2024-08-19)
78
+
79
+
80
+ ### Features
81
+
82
+ * add overrides for chain info ([#6614](https://github.com/dynamic-labs/DynamicAuth/issues/6614)) ([07b76a0](https://github.com/dynamic-labs/DynamicAuth/commit/07b76a0887d3147a00d93a37bdf49a83bfec0ceb))
83
+ * add use token balances state in global store ([#6598](https://github.com/dynamic-labs/DynamicAuth/issues/6598)) ([05baefe](https://github.com/dynamic-labs/DynamicAuth/commit/05baefe7155f197c048557b15240ad93556a8604))
84
+ * refresh token balances ([#6578](https://github.com/dynamic-labs/DynamicAuth/issues/6578)) ([0768857](https://github.com/dynamic-labs/DynamicAuth/commit/0768857c924ce0e01b736173e50ea85b956ab067))
85
+
86
+
87
+ ### Bug Fixes
88
+
89
+ * createEmbeddedWalletAccount ([#6642](https://github.com/dynamic-labs/DynamicAuth/issues/6642)) ([bce08de](https://github.com/dynamic-labs/DynamicAuth/commit/bce08deaa4a5e1ea0b134efb5c4d252c82af5eec))
90
+ * jwt x error when singing with embedded wallet ([#6633](https://github.com/dynamic-labs/DynamicAuth/issues/6633)) ([7d1a6d4](https://github.com/dynamic-labs/DynamicAuth/commit/7d1a6d432807c5b361ff31e6feac2e10d0145d90))
91
+
92
+ ## [3.0.0-alpha.45](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.44...v3.0.0-alpha.45) (2024-08-16)
93
+
94
+
95
+ ### Bug Fixes
96
+
97
+ * always check for dynamicOauthCode and use during signin or verify ([#6618](https://github.com/dynamic-labs/DynamicAuth/issues/6618)) ([dd33231](https://github.com/dynamic-labs/DynamicAuth/commit/dd332310c9fdfa7bb593b7f567751133a93c6938))
98
+ * display qr code when no primary is selected ([#6605](https://github.com/dynamic-labs/DynamicAuth/issues/6605)) ([406afa3](https://github.com/dynamic-labs/DynamicAuth/commit/406afa32b38a29a2d8ce96803ae45ab35adb5ce3))
99
+
100
+ ## [3.0.0-alpha.44](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.43...v3.0.0-alpha.44) (2024-08-15)
101
+
102
+
103
+ ### Bug Fixes
104
+
105
+ * populate wallet new isPrimary flag ([#6597](https://github.com/dynamic-labs/DynamicAuth/issues/6597)) ([7809f81](https://github.com/dynamic-labs/DynamicAuth/commit/7809f81c9743b8bf7bc27dc34cf45923cf9baf99))
106
+ * twitter should no longer rely polling for oauth flow ([#6603](https://github.com/dynamic-labs/DynamicAuth/issues/6603)) ([09aea8b](https://github.com/dynamic-labs/DynamicAuth/commit/09aea8b3f197c25dcfb5bc72049b90859df246f3))
107
+
108
+ ## [3.0.0-alpha.43](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.42...v3.0.0-alpha.43) (2024-08-15)
109
+
110
+
111
+ ### ⚠ BREAKING CHANGES
112
+
113
+ * removes walletConnector from dynamic context (#6579)
114
+ * removed deprecated props from user profile (#6589)
115
+
116
+ ### Features
117
+
118
+ * optimize solana embedded transactions ([#6582](https://github.com/dynamic-labs/DynamicAuth/issues/6582)) ([419aff9](https://github.com/dynamic-labs/DynamicAuth/commit/419aff96d312892d7db520e94ecc6956b8de771d))
119
+
120
+
121
+ ### Bug Fixes
122
+
123
+ * check if wallet is connected using normalized addresses ([#6594](https://github.com/dynamic-labs/DynamicAuth/issues/6594)) ([44aabae](https://github.com/dynamic-labs/DynamicAuth/commit/44aabae8ee72261bf0f7e308ed4adf0f42760ed2))
124
+ * minor sdk ui updates ([#6590](https://github.com/dynamic-labs/DynamicAuth/issues/6590)) ([8619e40](https://github.com/dynamic-labs/DynamicAuth/commit/8619e40e1afff8d68357138f3b5b9b89989140fd))
125
+
126
+
127
+ * removed deprecated props from user profile ([#6589](https://github.com/dynamic-labs/DynamicAuth/issues/6589)) ([b621da8](https://github.com/dynamic-labs/DynamicAuth/commit/b621da8a0703eb8228a5b10131af2717f314fd2e))
128
+ * removes walletConnector from dynamic context ([#6579](https://github.com/dynamic-labs/DynamicAuth/issues/6579)) ([51d69fe](https://github.com/dynamic-labs/DynamicAuth/commit/51d69feebab71158ad2aa69f11001623a0aaa80a))
129
+
130
+ ## [3.0.0-alpha.42](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.41...v3.0.0-alpha.42) (2024-08-14)
131
+
132
+
133
+ ### Bug Fixes
134
+
135
+ * isEmbeddedWallet condition in AuthProviderIcon ([#6581](https://github.com/dynamic-labs/DynamicAuth/issues/6581)) ([afe33ab](https://github.com/dynamic-labs/DynamicAuth/commit/afe33aba1cc8abefd0566bf4e9c0a4f199d64ef7))
136
+ * update text on MFA backup codes acknowledgement ([#6559](https://github.com/dynamic-labs/DynamicAuth/issues/6559)) ([98b5475](https://github.com/dynamic-labs/DynamicAuth/commit/98b5475df73039061d593318cb26140075de69e1))
137
+
138
+ ## [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)
139
+
140
+ ## [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)
141
+
142
+
143
+ ### Features
144
+
145
+ * 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))
146
+ * signIn/link using dynamicOauthState ([#6523](https://github.com/dynamic-labs/DynamicAuth/issues/6523)) ([b72e98f](https://github.com/dynamic-labs/DynamicAuth/commit/b72e98f0d243591c1a8ca14c3a4a6e5024560141))
147
+
148
+
149
+ ### Bug Fixes
150
+
151
+ * 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))
152
+ * mfa design feedback ([#6551](https://github.com/dynamic-labs/DynamicAuth/issues/6551)) ([c367e38](https://github.com/dynamic-labs/DynamicAuth/commit/c367e3836e331a2dc24496ea81436b6bd57460a1))
153
+ * 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))
154
+
155
+ ## [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)
156
+
157
+
158
+ ### Features
159
+
160
+ * add MFA settings ([e5a5755](https://github.com/dynamic-labs/DynamicAuth/commit/e5a5755a6349d3076c0e4fb8bab0853784bef9cc))
161
+
162
+ ## [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)
163
+
164
+
165
+ ### Features
166
+
167
+ * add dynamic footer options switcher ([#6528](https://github.com/dynamic-labs/DynamicAuth/issues/6528)) ([7d8a7ff](https://github.com/dynamic-labs/DynamicAuth/commit/7d8a7ff5c7d07e3ac2a916bd8b37e87e7cbfdaa2))
168
+
169
+
170
+ ### Bug Fixes
171
+
172
+ * hcaptcha for mobile login ([#6525](https://github.com/dynamic-labs/DynamicAuth/issues/6525)) ([146888e](https://github.com/dynamic-labs/DynamicAuth/commit/146888e91add7f3be3ed4defafc038107648c20a))
173
+
174
+ ## [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)
175
+
176
+
177
+ ### Bug Fixes
178
+
179
+ * 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))
180
+
181
+ ## [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)
182
+
183
+
184
+ ### Bug Fixes
185
+
186
+ * emb wallet export with silent signing ([#6493](https://github.com/dynamic-labs/DynamicAuth/issues/6493)) ([af69c3a](https://github.com/dynamic-labs/DynamicAuth/commit/af69c3a85d8c1db6a0bf9b42c1310bf3183f9360))
187
+ * 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))
188
+ * 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))
189
+
190
+ ## [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)
191
+
192
+
193
+ ### Bug Fixes
194
+
195
+ * 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))
196
+
197
+ ## [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)
198
+
199
+ ## [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)
200
+
201
+
202
+ ### Features
203
+
204
+ * 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))
205
+
206
+ ## [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)
207
+
208
+
209
+ ### Bug Fixes
210
+
211
+ * 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))
212
+ * 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)
213
+
214
+ ## [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)
215
+
216
+ ## [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)
217
+
218
+
219
+ ### Bug Fixes
220
+
221
+ * 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))
222
+ * 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))
223
+ * isCookieEnabled should check externalAuth.cookieName ([#6433](https://github.com/dynamic-labs/DynamicAuth/issues/6433)) ([91d95e5](https://github.com/dynamic-labs/DynamicAuth/commit/91d95e5664f70c2eb306082419d6fece9753f220))
224
+ * phantom ledger works on safari ([#6428](https://github.com/dynamic-labs/DynamicAuth/issues/6428)) ([a8a81f6](https://github.com/dynamic-labs/DynamicAuth/commit/a8a81f6fd4d8ae5ba04525ef6ff6a84a1732a03a))
225
+
226
+ ## [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)
227
+
228
+
229
+ ### Features
230
+
231
+ * 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))
232
+
233
+
234
+ ### Bug Fixes
235
+
236
+ * 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))
237
+
238
+ ## [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)
239
+
240
+ ## [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)
241
+
242
+
243
+ ### Features
244
+
245
+ * 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))
246
+
247
+ ## [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)
248
+
249
+ ## [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)
250
+
251
+
252
+ ### Features
253
+
254
+ * 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))
255
+ * global wallet new package ([#6385](https://github.com/dynamic-labs/DynamicAuth/issues/6385)) ([230a0f3](https://github.com/dynamic-labs/DynamicAuth/commit/230a0f380c2bc8c69619daed0c7f3280da8b8bb9))
256
+ * solana send balance modal for injected ([#6405](https://github.com/dynamic-labs/DynamicAuth/issues/6405)) ([b8aa84b](https://github.com/dynamic-labs/DynamicAuth/commit/b8aa84b58eb71791405bf68b6c46c40bebb170f8))
257
+
258
+ ## [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)
259
+
260
+ ## [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)
261
+
262
+
263
+ ### Features
264
+
265
+ * show custom labels in the sdk ([#6352](https://github.com/dynamic-labs/DynamicAuth/issues/6352)) ([6eec9b2](https://github.com/dynamic-labs/DynamicAuth/commit/6eec9b26dbfd25c5138378aa92de8379a5cd0ddc))
266
+
267
+
268
+ ### Bug Fixes
269
+
270
+ * add missing await to viem controller ([#6354](https://github.com/dynamic-labs/DynamicAuth/issues/6354)) ([32c7362](https://github.com/dynamic-labs/DynamicAuth/commit/32c73625c5575f9134edd541c7221aba08a741b5))
271
+ * 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))
272
+ * 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))
273
+
274
+ ## [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)
275
+
276
+
277
+ ### Features
278
+
279
+ * 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))
280
+
281
+
282
+ ### Bug Fixes
283
+
284
+ * ensure retryableFn props are passed through ([#6357](https://github.com/dynamic-labs/DynamicAuth/issues/6357)) ([246da78](https://github.com/dynamic-labs/DynamicAuth/commit/246da78ebaa0e623843d93fc990d8a0f3298af54))
285
+ * 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))
286
+
287
+ ## [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)
288
+
289
+
290
+ ### Bug Fixes
291
+
292
+ * invalid email error appears ([#6348](https://github.com/dynamic-labs/DynamicAuth/issues/6348)) ([01bcfd2](https://github.com/dynamic-labs/DynamicAuth/commit/01bcfd2f3cc37083c47c0f26e3398f974f6b6a17))
293
+ * 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))
294
+
295
+ ## [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)
296
+
297
+
298
+ ### Bug Fixes
299
+
300
+ * 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))
301
+
302
+ ## [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)
303
+
304
+ ## [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)
305
+
306
+
307
+ ### Bug Fixes
308
+
309
+ * hide confirmation ui triggers passkey creation ([#6322](https://github.com/dynamic-labs/DynamicAuth/issues/6322)) ([c66f282](https://github.com/dynamic-labs/DynamicAuth/commit/c66f282cf8d64f19d7f5a7355aaaec980afbe245))
310
+
311
+ ## [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)
312
+
313
+
314
+ ### Features
315
+
316
+ * 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))
317
+
318
+
319
+ ### Bug Fixes
320
+
321
+ * 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))
322
+
323
+ ## [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)
324
+
325
+
326
+ ### ⚠ BREAKING CHANGES
327
+
328
+ * remove isConnected prop from wallets and have it as a method instead (#6265)
329
+
330
+ ### Features
331
+
332
+ * 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))
333
+
334
+
335
+ ### Bug Fixes
336
+
337
+ * headless embedded wallet export session refresh ([#6307](https://github.com/dynamic-labs/DynamicAuth/issues/6307)) ([5423cc1](https://github.com/dynamic-labs/DynamicAuth/commit/5423cc14c370968acf718b7deff6ea8df9228189))
338
+
339
+
340
+ * 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))
341
+
342
+ ## [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)
343
+
344
+
345
+ ### Bug Fixes
346
+
347
+ * catch third party wallet construction errors ([#6268](https://github.com/dynamic-labs/DynamicAuth/issues/6268)) ([badef39](https://github.com/dynamic-labs/DynamicAuth/commit/badef39d753c7d29925c6c8680053027bd99b69b))
348
+ * decode all solana transactions ([#6294](https://github.com/dynamic-labs/DynamicAuth/issues/6294)) ([5220ab2](https://github.com/dynamic-labs/DynamicAuth/commit/5220ab29381f3a7f1afc7043332b5a018b47eb0a))
349
+ * passkey cta ([#6255](https://github.com/dynamic-labs/DynamicAuth/issues/6255)) ([1b1b152](https://github.com/dynamic-labs/DynamicAuth/commit/1b1b152a24b409c5d941a9c92a003daf0bbe48a1))
350
+
351
+ ## [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)
352
+
353
+
354
+ ### ⚠ BREAKING CHANGES
355
+
356
+ * remove setPrimaryWallet in favor of useSwitchWallet (#6212)
357
+ * move getBalance method to wallet so it can be fetched for any wallet not just the active one (#6200)
358
+ * make Wallet a class instead of just a type (#6094)
359
+
360
+ ### Features
361
+
362
+ * add @dynamic-labs/solana-extension ([#6140](https://github.com/dynamic-labs/DynamicAuth/issues/6140)) ([c0e2a06](https://github.com/dynamic-labs/DynamicAuth/commit/c0e2a067dd83163094b58a15696df8654da47c65))
363
+ * add solana support for multi-asset ([#6222](https://github.com/dynamic-labs/DynamicAuth/issues/6222)) ([9660d79](https://github.com/dynamic-labs/DynamicAuth/commit/9660d7962f1fb01011d68397bb367fdfc5335ca9))
364
+
365
+
366
+ ### Bug Fixes
367
+
368
+ * allow closing re-connect wallet modal ([#6250](https://github.com/dynamic-labs/DynamicAuth/issues/6250)) ([55ba25b](https://github.com/dynamic-labs/DynamicAuth/commit/55ba25bd3e907629aaa26e788885bfa38f8fe350))
369
+ * 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))
370
+ * 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))
371
+ * relax phone number length validation ([#6226](https://github.com/dynamic-labs/DynamicAuth/issues/6226)) ([f0969b4](https://github.com/dynamic-labs/DynamicAuth/commit/f0969b4fbdafde07125cddecb16b4bfd011ea65e))
372
+ * 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))
373
+ * send transaction demo undefined address/value ([#6248](https://github.com/dynamic-labs/DynamicAuth/issues/6248)) ([036a511](https://github.com/dynamic-labs/DynamicAuth/commit/036a511fb848ef461edd9b7a5d79d478b0f1cf23))
374
+ * 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))
375
+ * show ledger toggle when linking wallet ([#6202](https://github.com/dynamic-labs/DynamicAuth/issues/6202)) ([a449c0b](https://github.com/dynamic-labs/DynamicAuth/commit/a449c0bfc4e3a75ccd7084b930c48fbd6c14f691))
376
+ * 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))
377
+ * 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))
378
+ * 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))
379
+ * stop sending double sign request on network switch ([e325709](https://github.com/dynamic-labs/DynamicAuth/commit/e325709bb5d2d1331fe16cc705398fc7b1cc292a))
380
+ * tunrkey solana signer accept uint8array message ([#6137](https://github.com/dynamic-labs/DynamicAuth/issues/6137)) ([70f89ce](https://github.com/dynamic-labs/DynamicAuth/commit/70f89ce0dafa4c99b318c9c5adce59083cd6d284))
381
+ * update formatting of phantom bitcoin publickey ([#6210](https://github.com/dynamic-labs/DynamicAuth/issues/6210)) ([f58cea9](https://github.com/dynamic-labs/DynamicAuth/commit/f58cea99333fd7c6af8f56f637ee32f1f7ce8d76))
382
+ * 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))
383
+
384
+
385
+ * 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))
386
+ * remove setPrimaryWallet in favor of useSwitchWallet ([#6212](https://github.com/dynamic-labs/DynamicAuth/issues/6212)) ([de125e1](https://github.com/dynamic-labs/DynamicAuth/commit/de125e1ebbc20507e4ec07f337f5f5fd13aabcbe))
387
+
388
+ ## [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)
389
+
390
+
391
+ ### Bug Fixes
392
+
393
+ * 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))
394
+ * 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))
395
+ * 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))
396
+
397
+ ## [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)
398
+
399
+
400
+ ### ⚠ BREAKING CHANGES
401
+
402
+ * return Transaction type from signTransaction and update solana … (#6180)
403
+
404
+ ### Bug Fixes
405
+
406
+ * 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))
407
+
408
+ ## [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)
409
+
410
+
411
+ ### Bug Fixes
412
+
413
+ * prevent unwanted magiceden solana popups ([#6158](https://github.com/dynamic-labs/DynamicAuth/issues/6158)) ([b3c8208](https://github.com/dynamic-labs/DynamicAuth/commit/b3c820887eb5ec2badcfce3b19ec4dd874e90811))
414
+ * status icon for embedded wallets ([#6149](https://github.com/dynamic-labs/DynamicAuth/issues/6149)) ([135fd72](https://github.com/dynamic-labs/DynamicAuth/commit/135fd7274f4a6b2dcab98248f7bfe34a09e79f01))
415
+
416
+ ## [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)
417
+
418
+
419
+ ### Bug Fixes
420
+
421
+ * 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))
422
+ * 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))
423
+
424
+ ## [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)
425
+
426
+ ## [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)
427
+
428
+
429
+ ### ⚠ BREAKING CHANGES
430
+
431
+ * break out turnkey package into 3 separate packages (#6015)
432
+
433
+ ### Features
434
+
435
+ * add reinitialize hook ([#6098](https://github.com/dynamic-labs/DynamicAuth/issues/6098)) ([d978baa](https://github.com/dynamic-labs/DynamicAuth/commit/d978baa404d34064c36cc549229b1fcea1f20df0))
436
+
437
+
438
+ ### Bug Fixes
439
+
440
+ * 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))
441
+ * 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)
442
+ * 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))
443
+ * 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))
444
+ * 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))
445
+ * 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))
446
+
447
+ ## [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)
448
+
449
+
450
+ ### ⚠ BREAKING CHANGES
451
+
452
+ * add selectedTabIndex and helpers (#6040)
453
+
454
+ ### Features
455
+
456
+ * add selectedTabIndex and helpers ([#6040](https://github.com/dynamic-labs/DynamicAuth/issues/6040)) ([ae20b80](https://github.com/dynamic-labs/DynamicAuth/commit/ae20b8081376dce97b18fa69c81c9ab73c1ff317))
457
+ * 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))
458
+
459
+
460
+ ### Bug Fixes
461
+
462
+ * 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))
463
+ * 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))
464
+ * make account change idemopotent ([#6061](https://github.com/dynamic-labs/DynamicAuth/issues/6061)) ([8c87513](https://github.com/dynamic-labs/DynamicAuth/commit/8c8751390ea14888c4889679895e2f06d75717b9))
465
+ * 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))
466
+ * recompute multiwallet state after merging accounts ([#6078](https://github.com/dynamic-labs/DynamicAuth/issues/6078)) ([e08a274](https://github.com/dynamic-labs/DynamicAuth/commit/e08a274c4d848f2a8360be7106cfbfa00b9a8f9b))
467
+ * 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))
468
+ * 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))
469
+
470
+ ## [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)
471
+
472
+
473
+ ### Features
474
+
475
+ * 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))
476
+
477
+
478
+ ### Bug Fixes
479
+
480
+ * allow sign-in with different ME BTC wallet after initial connection ([a527b46](https://github.com/dynamic-labs/DynamicAuth/commit/a527b464f321b4fc27730f57c3812e996b5ed878))
481
+ * 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))
482
+ * 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))
483
+ * e2e: remove page pause ([#6045](https://github.com/dynamic-labs/DynamicAuth/issues/6045)) ([55bba00](https://github.com/dynamic-labs/DynamicAuth/commit/55bba0034255055d6ae266b1296542f47ed48e2b))
484
+ * more fixes for connect starknet button ([#6046](https://github.com/dynamic-labs/DynamicAuth/issues/6046)) ([0fb570a](https://github.com/dynamic-labs/DynamicAuth/commit/0fb570a44e65f8dd6d4d2bf5edb2ee54985ec9d4))
485
+ * 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))
486
+
2
487
  ## [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)
3
488
 
4
489
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dynamic-labs/ethereum-aa",
3
- "version": "3.0.0-alpha.5",
3
+ "version": "3.0.0-alpha.51",
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.461",
30
- "@zerodev/ecdsa-validator": "5.2.3",
31
- "@zerodev/sdk": "5.2.8",
32
- "permissionless": "0.1.20",
33
- "@dynamic-labs/ethereum": "3.0.0-alpha.5",
34
- "@dynamic-labs/logger": "3.0.0-alpha.5",
35
- "@dynamic-labs/types": "3.0.0-alpha.5",
36
- "@dynamic-labs/utils": "3.0.0-alpha.5",
37
- "@dynamic-labs/viem-utils": "3.0.0-alpha.5",
38
- "@dynamic-labs/wallet-book": "3.0.0-alpha.5",
39
- "@dynamic-labs/wallet-connector-core": "3.0.0-alpha.5"
29
+ "@dynamic-labs/sdk-api-core": "0.0.519",
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.51",
35
+ "@dynamic-labs/ethereum-core": "3.0.0-alpha.51",
36
+ "@dynamic-labs/logger": "3.0.0-alpha.51",
37
+ "@dynamic-labs/types": "3.0.0-alpha.51",
38
+ "@dynamic-labs/utils": "3.0.0-alpha.51",
39
+ "@dynamic-labs/wallet-book": "3.0.0-alpha.51",
40
+ "@dynamic-labs/wallet-connector-core": "3.0.0-alpha.51"
40
41
  },
41
42
  "peerDependencies": {
42
43
  "viem": "^2.7.6"
@@ -4,11 +4,14 @@
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
- var viemUtils = require('@dynamic-labs/viem-utils');
14
+ var ethereumCore = require('@dynamic-labs/ethereum-core');
12
15
  var utils = require('@dynamic-labs/utils');
13
16
  var ethereum = require('@dynamic-labs/ethereum');
14
17
  var fetchChain = require('./utils/fetchChain.cjs');
@@ -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
- ((_b = opts.apiProviders.zerodev) === null || _b === void 0 ? void 0 : _b.entryPointVersion) ===
44
- sdkApiCore.ProviderEntryPointVersionEnum.V6
45
- ? utils$1.ENTRYPOINT_ADDRESS_V06
46
- : utils$1.ENTRYPOINT_ADDRESS_V07;
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),
@@ -150,7 +207,7 @@ class ZeroDevConnector extends walletConnectorCore.WalletConnectorBase {
150
207
  });
151
208
  }
152
209
  getTransport(provider) {
153
- const transport = viemUtils.confirmationTransport({
210
+ const transport = ethereumCore.confirmationTransport({
154
211
  getAccounts: () => _tslib.__awaiter(this, void 0, void 0, function* () { return [provider.account.address]; }),
155
212
  onPersonalSign: (_a) => _tslib.__awaiter(this, [_a], void 0, function* ({ message }) {
156
213
  this._walletUiUtils.disabledConfirmationOnce();
@@ -165,7 +222,7 @@ class ZeroDevConnector extends walletConnectorCore.WalletConnectorBase {
165
222
  const effectiveProvider = this.isGasSponsorshipDisabled
166
223
  ? provider
167
224
  : yield this.getKernelClientWithSponsorshipValidation();
168
- const response = yield effectiveProvider.sendTransaction(viemUtils.unFormatTransaction(transaction));
225
+ const response = yield effectiveProvider.sendTransaction(ethereumCore.unFormatTransaction(transaction));
169
226
  return response;
170
227
  }
171
228
  catch (err) {
@@ -206,7 +263,7 @@ class ZeroDevConnector extends walletConnectorCore.WalletConnectorBase {
206
263
  const address = (_a = provider.account) === null || _a === void 0 ? void 0 : _a.address;
207
264
  const walletClient = viem.createWalletClient({
208
265
  account: address,
209
- chain: chainId ? viemUtils.chainsMap[chainId] : provider.chain,
266
+ chain: chainId ? ethereumCore.chainsMap[chainId] : provider.chain,
210
267
  transport,
211
268
  });
212
269
  return walletClient;
@@ -259,28 +316,22 @@ 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
  }
274
328
  signMessage(messageToSign) {
275
329
  return _tslib.__awaiter(this, void 0, void 0, function* () {
276
- const client = yield this.getSigner();
277
- const account = yield this.getAddress();
278
- if (!account || !client)
279
- return;
280
- return client.signMessage({
281
- account: account,
282
- message: messageToSign,
283
- });
330
+ const client = this === null || this === void 0 ? void 0 : this.kernelClient;
331
+ // https://docs.zerodev.app/sdk/core-api/sign-and-verify#signing-messages
332
+ if (!client)
333
+ throw new Error('Error fetching signer');
334
+ return client.signMessage({ message: messageToSign });
284
335
  });
285
336
  }
286
337
  createUiTransaction(from) {
@@ -290,7 +341,7 @@ class ZeroDevConnector extends walletConnectorCore.WalletConnectorBase {
290
341
  if (!publicClient || !walletClient) {
291
342
  throw new utils.DynamicError('No public client available');
292
343
  }
293
- return viemUtils.createViemUiTransaction({ from, publicClient, walletClient });
344
+ return ethereumCore.createViemUiTransaction({ from, publicClient, walletClient });
294
345
  });
295
346
  }
296
347
  }
@@ -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
- private kernelClientWithSponsorship;
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
- private entryPoint;
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(): KernelAccountClient<EntryPoint> | undefined;
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
  }
@@ -1,10 +1,13 @@
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 { ENTRYPOINT_ADDRESS_V06, ENTRYPOINT_ADDRESS_V07, walletClientToSmartAccountSigner } from 'permissionless/utils';
5
- import { ProviderEntryPointVersionEnum } from '@dynamic-labs/sdk-api-core';
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
- import { confirmationTransport, chainsMap, unFormatTransaction, createViemUiTransaction } from '@dynamic-labs/viem-utils';
10
+ import { confirmationTransport, chainsMap, unFormatTransaction, createViemUiTransaction } from '@dynamic-labs/ethereum-core';
8
11
  import { parseEvmNetworks, DynamicError, DeferredPromise, wrapMethodWithCallback, TransactionGasCannotBeSponsoredError, InsufficientFundsError } from '@dynamic-labs/utils';
9
12
  import { isEthWalletConnector } from '@dynamic-labs/ethereum';
10
13
  import { cachedChainIdKey, fetchChain } from './utils/fetchChain.js';
@@ -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
- ((_b = opts.apiProviders.zerodev) === null || _b === void 0 ? void 0 : _b.entryPointVersion) ===
40
- ProviderEntryPointVersionEnum.V6
41
- ? ENTRYPOINT_ADDRESS_V06
42
- : ENTRYPOINT_ADDRESS_V07;
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,28 +312,22 @@ 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
  }
270
324
  signMessage(messageToSign) {
271
325
  return __awaiter(this, void 0, void 0, function* () {
272
- const client = yield this.getSigner();
273
- const account = yield this.getAddress();
274
- if (!account || !client)
275
- return;
276
- return client.signMessage({
277
- account: account,
278
- message: messageToSign,
279
- });
326
+ const client = this === null || this === void 0 ? void 0 : this.kernelClient;
327
+ // https://docs.zerodev.app/sdk/core-api/sign-and-verify#signing-messages
328
+ if (!client)
329
+ throw new Error('Error fetching signer');
330
+ return client.signMessage({ message: messageToSign });
280
331
  });
281
332
  }
282
333
  createUiTransaction(from) {
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) => {
@@ -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(getZeroDevBundlerRPC(projectId, provider)),
30
+ transport: viem.http(resolvedBundlerRpc),
30
31
  });
31
- const ecdsaValidator$1 = yield ecdsaValidator.signerToEcdsaValidator(publicClient, {
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: ecdsaValidator$1,
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(getZeroDevPaymasterRPC(projectId, provider)),
48
+ transport: viem.http(resolvedPaymasterRpc),
46
49
  });
47
50
  const kernelClient = clients.createKernelAccountClient({
48
51
  account,
49
- bundlerTransport: viem.http(getZeroDevBundlerRPC(projectId, provider)),
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(getZeroDevBundlerRPC(projectId, provider)),
26
+ transport: http(resolvedBundlerRpc),
26
27
  });
27
- const ecdsaValidator = yield signerToEcdsaValidator(publicClient, {
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: ecdsaValidator,
38
+ sudo: validator,
36
39
  },
37
40
  });
38
41
  const zerodevPaymaster = createZeroDevPaymasterClient({
39
42
  chain: chain,
40
43
  entryPoint: entryPointAddress,
41
- transport: http(getZeroDevPaymasterRPC(projectId, provider)),
44
+ transport: http(resolvedPaymasterRpc),
42
45
  });
43
46
  const kernelClient = createKernelAccountClient({
44
47
  account,
45
- bundlerTransport: http(getZeroDevBundlerRPC(projectId, provider)),
48
+ bundlerTransport: http(resolvedBundlerRpc),
46
49
  chain,
47
50
  entryPoint: entryPointAddress,
48
51
  middleware: paymaster !== 'NONE'
@@ -4,7 +4,7 @@
4
4
  Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
6
  var _tslib = require('../../_virtual/_tslib.cjs');
7
- var viemUtils = require('@dynamic-labs/viem-utils');
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';
@@ -12,11 +12,11 @@ const fetchChain = (projectId) => _tslib.__awaiter(void 0, void 0, void 0, funct
12
12
  try {
13
13
  const cachedChainId = localStorage.getItem(cachedChainIdKey);
14
14
  if (cachedChainId) {
15
- return viemUtils.chainsMap[cachedChainId];
15
+ return ethereumCore.chainsMap[cachedChainId];
16
16
  }
17
17
  const response = yield (yield fetch(`https://prod-api.zerodev.app/projects/${projectId}`)).json();
18
18
  localStorage.setItem(cachedChainIdKey, response.chainId);
19
- return viemUtils.chainsMap[response.chainId];
19
+ return ethereumCore.chainsMap[response.chainId];
20
20
  }
21
21
  catch (err) {
22
22
  logger.logger.error('Failed to fetch ZeroDev project settings from ZeroDev API ' +
@@ -1,6 +1,6 @@
1
1
  'use client'
2
2
  import { __awaiter } from '../../_virtual/_tslib.js';
3
- import { chainsMap } from '@dynamic-labs/viem-utils';
3
+ import { chainsMap } from '@dynamic-labs/ethereum-core';
4
4
  import { logger } from './logger.js';
5
5
 
6
6
  const cachedChainIdKey = 'dynamic_zd_chain_id';