@dynamic-labs/wagmi-connector 2.0.0-alpha.9 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,4 +1,318 @@
1
1
 
2
+ ## [2.0.0-alpha.32](https://github.com/dynamic-labs/DynamicAuth/compare/v2.0.0-alpha.31...v2.0.0-alpha.32) (2024-04-15)
3
+
4
+ ## [2.0.0-alpha.31](https://github.com/dynamic-labs/DynamicAuth/compare/v2.0.0-alpha.30...v2.0.0-alpha.31) (2024-04-11)
5
+
6
+
7
+ ### Features
8
+
9
+ * support adding email for recovery to existing embedded wallet ([#5128](https://github.com/dynamic-labs/DynamicAuth/issues/5128)) ([477fd81](https://github.com/dynamic-labs/DynamicAuth/commit/477fd81ac00864284d9d2183c0b8c078a0a23a2b))
10
+
11
+
12
+ ### Bug Fixes
13
+
14
+ * issue where customer also tries to use i18n.init ([#5267](https://github.com/dynamic-labs/DynamicAuth/issues/5267)) ([7f81f1e](https://github.com/dynamic-labs/DynamicAuth/commit/7f81f1e010fbc6408f6a5d6a37608235e947befa))
15
+ * smart wallet not loading correctly upon refresh when using non-embedded eoa wallet ([#5301](https://github.com/dynamic-labs/DynamicAuth/issues/5301)) ([e957317](https://github.com/dynamic-labs/DynamicAuth/commit/e9573173f6209773a0be5f4af37323f2be8d7906))
16
+
17
+ ## [2.0.0-alpha.30](https://github.com/dynamic-labs/DynamicAuth/compare/v2.0.0-alpha.29...v2.0.0-alpha.30) (2024-04-11)
18
+
19
+
20
+ ### ⚠ BREAKING CHANGES
21
+
22
+ * add headless sms sign-in (#5274)
23
+
24
+ ### Features
25
+
26
+ * add headless sms sign-in ([#5274](https://github.com/dynamic-labs/DynamicAuth/issues/5274)) ([fffc293](https://github.com/dynamic-labs/DynamicAuth/commit/fffc293f85447a784e8c728d1586f3555ab1fbfa))
27
+
28
+ ## [2.0.0-alpha.29](https://github.com/dynamic-labs/DynamicAuth/compare/v2.0.0-alpha.28...v2.0.0-alpha.29) (2024-04-10)
29
+
30
+
31
+ ### ⚠ BREAKING CHANGES
32
+
33
+ * replace sdk-api with sdk-api-core (#5280)
34
+
35
+ ### Features
36
+
37
+ * add dynamic client context ([#5250](https://github.com/dynamic-labs/DynamicAuth/issues/5250)) ([778ebe6](https://github.com/dynamic-labs/DynamicAuth/commit/778ebe6313e0bf3c9876feb6eff5bf152c15c55e))
38
+ * **webview-controller:** fetch manifest and render Dynamic SDK ([#5287](https://github.com/dynamic-labs/DynamicAuth/issues/5287)) ([00e84ac](https://github.com/dynamic-labs/DynamicAuth/commit/00e84acc4bdda92bad91108788f8d7882d0790d6))
39
+
40
+
41
+ ### Bug Fixes
42
+
43
+ * don't render modal header component if there's no content ([#5269](https://github.com/dynamic-labs/DynamicAuth/issues/5269)) ([f4d7266](https://github.com/dynamic-labs/DynamicAuth/commit/f4d72668a5243108649774c6581733655f385cab))
44
+ * don't show get extension button when there are no download links ([#5276](https://github.com/dynamic-labs/DynamicAuth/issues/5276)) ([e8cf660](https://github.com/dynamic-labs/DynamicAuth/commit/e8cf66076a9914881a8edda69feb2fb192ac63a3))
45
+
46
+
47
+ * replace sdk-api with sdk-api-core ([#5280](https://github.com/dynamic-labs/DynamicAuth/issues/5280)) ([da4b695](https://github.com/dynamic-labs/DynamicAuth/commit/da4b6955a81d6bfb5c994cd62e21e9ae11a4f454))
48
+
49
+ ## [2.0.0-alpha.28](https://github.com/dynamic-labs/DynamicAuth/compare/v2.0.0-alpha.27...v2.0.0-alpha.28) (2024-04-10)
50
+
51
+
52
+ ### Bug Fixes
53
+
54
+ * improve bridge connect experience on mobile ([#5283](https://github.com/dynamic-labs/DynamicAuth/issues/5283)) ([155e4a9](https://github.com/dynamic-labs/DynamicAuth/commit/155e4a99e2cf5f78a1a5e91e774acbf170d6b083))
55
+
56
+ ## [2.0.0-alpha.27](https://github.com/dynamic-labs/DynamicAuth/compare/v2.0.0-alpha.26...v2.0.0-alpha.27) (2024-04-09)
57
+
58
+
59
+ ### Bug Fixes
60
+
61
+ * coinbase improvements ([#5268](https://github.com/dynamic-labs/DynamicAuth/issues/5268)) ([c10a6de](https://github.com/dynamic-labs/DynamicAuth/commit/c10a6debcacff6cd97f2436fbde387f85faa5682))
62
+ * show qr code for metamask on desktop when not installed ([#5262](https://github.com/dynamic-labs/DynamicAuth/issues/5262)) ([1dcb4d9](https://github.com/dynamic-labs/DynamicAuth/commit/1dcb4d98de8a95f6b11d7bad90b9059110087385))
63
+ * update title of hardware wallet select screen ([#5270](https://github.com/dynamic-labs/DynamicAuth/issues/5270)) ([6e8fe17](https://github.com/dynamic-labs/DynamicAuth/commit/6e8fe17306677786ccf528b97ab673b9ae6b57b9))
64
+
65
+ ## [2.0.0-alpha.26](https://github.com/dynamic-labs/DynamicAuth/compare/v2.0.0-alpha.25...v2.0.0-alpha.26) (2024-04-08)
66
+
67
+
68
+ ### ⚠ BREAKING CHANGES
69
+
70
+ * add onWalletAdded/onWalletRemoved callbacks and removed onConnect/onDisconnect/onLinkSuccess/onUnlinkSuccess (#5194)
71
+ * note:
72
+ - use "events" in favour of "eventsCallbacks"
73
+ - use "handlers.handleConnectedWallet" in favour of "eventsCallbacks.onBeforeConnectSuccessConfirmation"
74
+
75
+ ### Bug Fixes
76
+
77
+ * coinbase wallet settings ([#5233](https://github.com/dynamic-labs/DynamicAuth/issues/5233)) ([1b04411](https://github.com/dynamic-labs/DynamicAuth/commit/1b04411eb90db438f3eacf622d9c28db4c7cf532))
78
+ * remove local storage settings on logout ([#5212](https://github.com/dynamic-labs/DynamicAuth/issues/5212)) ([e686628](https://github.com/dynamic-labs/DynamicAuth/commit/e686628f602a44cd13083e7bb9afb4f50304390e))
79
+ * show app name or logo in sign message modal ([#5225](https://github.com/dynamic-labs/DynamicAuth/issues/5225)) ([a77b6ba](https://github.com/dynamic-labs/DynamicAuth/commit/a77b6ba9b5646b400ebf933949dabe06a35d1c81))
80
+ * user wallets not being cleared immediately when logout is called ([#5211](https://github.com/dynamic-labs/DynamicAuth/issues/5211)) ([a649c46](https://github.com/dynamic-labs/DynamicAuth/commit/a649c462d171cf6f8d67159df9f5f2144f315e5c))
81
+
82
+
83
+ * add onWalletAdded/onWalletRemoved callbacks and removed onConnect/onDisconnect/onLinkSuccess/onUnlinkSuccess ([#5194](https://github.com/dynamic-labs/DynamicAuth/issues/5194)) ([fdec78c](https://github.com/dynamic-labs/DynamicAuth/commit/fdec78c1c32c58c8f7dc7ffd9b877320aa4d90e0))
84
+ * rename eventsCallbacks to events ([#5196](https://github.com/dynamic-labs/DynamicAuth/issues/5196)) ([5797185](https://github.com/dynamic-labs/DynamicAuth/commit/5797185c18fa091032ef27043b63a1d5201b5e23))
85
+
86
+ ## [2.0.0-alpha.25](https://github.com/dynamic-labs/DynamicAuth/compare/v2.0.0-alpha.24...v2.0.0-alpha.25) (2024-04-04)
87
+
88
+
89
+ ### Features
90
+
91
+ * add in-app browser deeplink for metamask ([#5176](https://github.com/dynamic-labs/DynamicAuth/issues/5176)) ([02ce607](https://github.com/dynamic-labs/DynamicAuth/commit/02ce6077ed0deeaefc7a62ee91ff72f5bce2b327)), closes [#5123](https://github.com/dynamic-labs/DynamicAuth/issues/5123)
92
+
93
+ ## [2.0.0-alpha.24](https://github.com/dynamic-labs/DynamicAuth/compare/v2.0.0-alpha.23...v2.0.0-alpha.24) (2024-04-03)
94
+
95
+
96
+ ### ⚠ BREAKING CHANGES
97
+
98
+ * rename otp verification callbacks (#5180)
99
+ * remove deprecated isVerificationInProgress flag and setter (#5089)
100
+
101
+ ### Features
102
+
103
+ * allow creating embedded wallets even if user signs in with a wallet ([#5093](https://github.com/dynamic-labs/DynamicAuth/issues/5093)) ([ba2dd62](https://github.com/dynamic-labs/DynamicAuth/commit/ba2dd625e0a7bf35018cf8aac8e80bd23b4e3b0f))
104
+
105
+
106
+ ### Bug Fixes
107
+
108
+ * api unit test by removing api and sdk versions for assertion ([#5168](https://github.com/dynamic-labs/DynamicAuth/issues/5168)) ([6d3b8ad](https://github.com/dynamic-labs/DynamicAuth/commit/6d3b8adebe62a4f2a7878630384348b2c491d779))
109
+ * bug when phone input is empty ([#5139](https://github.com/dynamic-labs/DynamicAuth/issues/5139)) ([7155b63](https://github.com/dynamic-labs/DynamicAuth/commit/7155b63518d00ba807bc321c6740b341d0a8b82f))
110
+ * clear error message on otp resend for sms ([#5182](https://github.com/dynamic-labs/DynamicAuth/issues/5182)) ([f40b48c](https://github.com/dynamic-labs/DynamicAuth/commit/f40b48c7f58c8e3dfe73fb124d642c3b8f193cee))
111
+ * link farcaster account ([#5170](https://github.com/dynamic-labs/DynamicAuth/issues/5170)) ([10fe272](https://github.com/dynamic-labs/DynamicAuth/commit/10fe272247605b5f09385f063231e2c881399cc8))
112
+ * show correct otp message for sms verification failure ([#5177](https://github.com/dynamic-labs/DynamicAuth/issues/5177)) ([b3bcd76](https://github.com/dynamic-labs/DynamicAuth/commit/b3bcd7694047dac55ce37babb71684a418633f95))
113
+ * update wagmi connector id when wallet connector changes ([#5185](https://github.com/dynamic-labs/DynamicAuth/issues/5185)) ([14fb83a](https://github.com/dynamic-labs/DynamicAuth/commit/14fb83a22c8e39095b79cc9951cae3f00f4fca2f))
114
+
115
+
116
+ * remove deprecated isVerificationInProgress flag and setter ([#5089](https://github.com/dynamic-labs/DynamicAuth/issues/5089)) ([060fef7](https://github.com/dynamic-labs/DynamicAuth/commit/060fef70df0c497e7a9b6e67ad0bfafef52c2bbb))
117
+ * rename otp verification callbacks ([#5180](https://github.com/dynamic-labs/DynamicAuth/issues/5180)) ([a580eec](https://github.com/dynamic-labs/DynamicAuth/commit/a580eec02d15b46a25c01d5473e4db2db89937e2))
118
+
119
+ ## [2.0.0-alpha.23](https://github.com/dynamic-labs/DynamicAuth/compare/v2.0.0-alpha.22...v2.0.0-alpha.23) (2024-04-01)
120
+
121
+
122
+ ### ⚠ BREAKING CHANGES
123
+
124
+ * implement proper solana embedded wallet signer (#5092)
125
+ * prevent adding temporary wallet connection to userWallets (#5104)
126
+
127
+ ### Bug Fixes
128
+
129
+ * Multiple WC bug fixes ([#5142](https://github.com/dynamic-labs/DynamicAuth/issues/5142)) ([92236e6](https://github.com/dynamic-labs/DynamicAuth/commit/92236e6d74c28516403f6df79c539406ece3d6d0)) ([#5132](https://github.com/dynamic-labs/DynamicAuth/issues/5132)) ([99f564a](https://github.com/dynamic-labs/DynamicAuth/commit/99f564a39e35e28af0be2a03617f12aa19cbeb7f))
130
+
131
+ * Better handling of empty callback queue([#5147](https://github.com/dynamic-labs/DynamicAuth/issues/5147)) ([e2d6bf2](https://github.com/dynamic-labs/DynamicAuth/commit/e2d6bf2444ca01199796ead4136f34b81b6c9b61))
132
+
133
+ * multiple improvements to the wallet list ([#5112](https://github.com/dynamic-labs/DynamicAuth/issues/5112)) ([00eec5f](https://github.com/dynamic-labs/DynamicAuth/commit/00eec5fde70548c3d771260f3d86e5365e73878d))
134
+
135
+ * Improved scroll experience on ios ([#5152](https://github.com/dynamic-labs/DynamicAuth/issues/5152)) ([341704f](https://github.com/dynamic-labs/DynamicAuth/commit/341704f99cb6e06f253309f3a8afb1684bb8ae2a))
136
+
137
+ * better handling of multiwallet state([#5146](https://github.com/dynamic-labs/DynamicAuth/issues/5146)) ([403267b](https://github.com/dynamic-labs/DynamicAuth/commit/403267b3c268d648aba155e0b6fea31d7fdc1b56))
138
+
139
+ * show correct OTP error message ([#5135](https://github.com/dynamic-labs/DynamicAuth/issues/5135)) ([e7494ce](https://github.com/dynamic-labs/DynamicAuth/commit/e7494cee4a1b5132af91058cbcb2dae0b7eac44b))
140
+
141
+ * implement proper solana embedded wallet signer ([#5092](https://github.com/dynamic-labs/DynamicAuth/issues/5092)) ([7749b97](https://github.com/dynamic-labs/DynamicAuth/commit/7749b97db49fb9af8ae0668172f478e1f0c29665))
142
+
143
+ * prevent adding temporary wallet connection to userWallets ([#5104](https://github.com/dynamic-labs/DynamicAuth/issues/5104)) ([3c02b78](https://github.com/dynamic-labs/DynamicAuth/commit/3c02b781c997c63ff11a7f1c255b92d10962327f))
144
+
145
+
146
+ ## [2.0.0-alpha.22](https://github.com/dynamic-labs/DynamicAuth/compare/v2.0.0-alpha.21...v2.0.0-alpha.22) (2024-03-27)
147
+
148
+
149
+ ### ⚠ BREAKING CHANGES
150
+
151
+ * remove isFullyConnected (#5066)
152
+ * remove and deprecated exported methods (#5065)
153
+ * remove emailOnly provider
154
+
155
+ ### Features
156
+
157
+ * add method property to track which phantom connector function was called ([#5044](https://github.com/dynamic-labs/DynamicAuth/issues/5044)) ([f820cd4](https://github.com/dynamic-labs/DynamicAuth/commit/f820cd4c7e047fd5181115b4d388e54df682e5c8))
158
+ * add signAndSendTransaction to phantom redirect connector ([#5054](https://github.com/dynamic-labs/DynamicAuth/issues/5054)) ([694a300](https://github.com/dynamic-labs/DynamicAuth/commit/694a3003c8765098878a5c95174be5eba4509fc2))
159
+ * implement remaining signer methods on phantom redirect connector ([#5060](https://github.com/dynamic-labs/DynamicAuth/issues/5060)) ([29db446](https://github.com/dynamic-labs/DynamicAuth/commit/29db4464de6eea11c92a8080fed1eb3e7588b2b8))
160
+
161
+
162
+ ### Bug Fixes
163
+
164
+ * add recommended wallet tags to the WalletSimpleSignIn component ([#5041](https://github.com/dynamic-labs/DynamicAuth/issues/5041)) ([aefde4d](https://github.com/dynamic-labs/DynamicAuth/commit/aefde4d927427c131dce4402eb3c705527c64e8f))
165
+ * display invalid phone number error ([#5103](https://github.com/dynamic-labs/DynamicAuth/issues/5103)) ([842c0ba](https://github.com/dynamic-labs/DynamicAuth/commit/842c0ba3cfe1120c166f12410efbc346d8e30ed0))
166
+ * ensure the user field modals uses the base widget context ([#5105](https://github.com/dynamic-labs/DynamicAuth/issues/5105)) ([aa2a545](https://github.com/dynamic-labs/DynamicAuth/commit/aa2a545bdbf6f38f4131ccdde61142389dbf5480))
167
+ * force aspect ratio for social icon pfps ([#5072](https://github.com/dynamic-labs/DynamicAuth/issues/5072)) ([6f611a7](https://github.com/dynamic-labs/DynamicAuth/commit/6f611a7cbe41d66796449b28af919bc93a7bae42))
168
+ * handle too many email verifications error ([#5051](https://github.com/dynamic-labs/DynamicAuth/issues/5051)) ([7af96df](https://github.com/dynamic-labs/DynamicAuth/commit/7af96dfb85cdc68577fdb8cc880e2fd09bcff5af))
169
+ * hardcode zerion provider and update walletbook to prevent showing up as metamask when not installed ([#5071](https://github.com/dynamic-labs/DynamicAuth/issues/5071)) ([3ab6c37](https://github.com/dynamic-labs/DynamicAuth/commit/3ab6c3772efe2c2e3259ca7a9dbb92e924314029))
170
+ * issue where ethereum is tree shaken ([#5028](https://github.com/dynamic-labs/DynamicAuth/issues/5028)) ([fda542d](https://github.com/dynamic-labs/DynamicAuth/commit/fda542db2b65a437004fe809a0ea9f90fde47b13))
171
+ * not clearing the loading when creating an embedded wallet ([323086f](https://github.com/dynamic-labs/DynamicAuth/commit/323086f673fb8a2108b8262181511987d0bc1d09))
172
+ * solflare double connection on page refresh ([#5083](https://github.com/dynamic-labs/DynamicAuth/issues/5083)) ([ef76005](https://github.com/dynamic-labs/DynamicAuth/commit/ef7600564b646cf45396287a0d6b6f1420473b04))
173
+ * swap out findProvider for getSigner on solflare ([#5057](https://github.com/dynamic-labs/DynamicAuth/issues/5057)) ([b78827f](https://github.com/dynamic-labs/DynamicAuth/commit/b78827f8fd87a594114908d890f58b8771123383))
174
+ * validate user session whenever user is connected/authenticated ([#5082](https://github.com/dynamic-labs/DynamicAuth/issues/5082)) ([432faa0](https://github.com/dynamic-labs/DynamicAuth/commit/432faa0a69b43cb7324a252a2450db3cbd3b4b12))
175
+ * walletconnect improvements and fixes ([#5085](https://github.com/dynamic-labs/DynamicAuth/issues/5085)) ([bb42566](https://github.com/dynamic-labs/DynamicAuth/commit/bb425666aef5071b7827ef0aa167a328493f1ae7))
176
+
177
+
178
+ * remove and deprecated exported methods ([#5065](https://github.com/dynamic-labs/DynamicAuth/issues/5065)) ([63af7ea](https://github.com/dynamic-labs/DynamicAuth/commit/63af7ea691b2112032de332f2b3558ac6260a38d))
179
+ * remove emailOnly provider ([60a30bc](https://github.com/dynamic-labs/DynamicAuth/commit/60a30bc2f242de19d9c6167279fc44b7f9395ac8))
180
+ * remove isFullyConnected ([#5066](https://github.com/dynamic-labs/DynamicAuth/issues/5066)) ([0a662d9](https://github.com/dynamic-labs/DynamicAuth/commit/0a662d9eda19045f13c21ad1b5238ca11594fde5))
181
+
182
+ ## [2.0.0-alpha.21](https://github.com/dynamic-labs/DynamicAuth/compare/v2.0.0-alpha.20...v2.0.0-alpha.21) (2024-03-20)
183
+
184
+
185
+ ### Features
186
+
187
+ * implement barebones signer in PhantomRedirect connector ([#5043](https://github.com/dynamic-labs/DynamicAuth/issues/5043)) ([4d7ff79](https://github.com/dynamic-labs/DynamicAuth/commit/4d7ff79acfe554d651791139b5e1d23ebafe712c))
188
+
189
+
190
+ ### Bug Fixes
191
+
192
+ * find embedded wallets when no chain is specified ([#5036](https://github.com/dynamic-labs/DynamicAuth/issues/5036)) ([ac50742](https://github.com/dynamic-labs/DynamicAuth/commit/ac50742c6002f48aae7b60c9ec094eb12df8dcca))
193
+ * ignore walletconnect chainChange event when it's the same chain ([#5029](https://github.com/dynamic-labs/DynamicAuth/issues/5029)) ([115311a](https://github.com/dynamic-labs/DynamicAuth/commit/115311a4a64ae35317b8864f93c38203566714fc))
194
+
195
+ ## [2.0.0-alpha.20](https://github.com/dynamic-labs/DynamicAuth/compare/v2.0.0-alpha.19...v2.0.0-alpha.20) (2024-03-19)
196
+
197
+
198
+ ### Bug Fixes
199
+
200
+ * prevent solflare connect popping up on page refresh when connected ([#5032](https://github.com/dynamic-labs/DynamicAuth/issues/5032)) ([28175a9](https://github.com/dynamic-labs/DynamicAuth/commit/28175a9af43f3e7f2cab30148563eaf5573477d1))
201
+ * show correct user identifier in onboarding view ([#5021](https://github.com/dynamic-labs/DynamicAuth/issues/5021)) ([c84747f](https://github.com/dynamic-labs/DynamicAuth/commit/c84747f01eb2a0a827ca48e62f03739d4e6df136))
202
+ * use address as the wallet client account ([#5037](https://github.com/dynamic-labs/DynamicAuth/issues/5037)) ([287631e](https://github.com/dynamic-labs/DynamicAuth/commit/287631e9a027e3a39ee2ad6b45ca404febd03929))
203
+
204
+ ## [2.0.0-alpha.19](https://github.com/dynamic-labs/DynamicAuth/compare/v2.0.0-alpha.18...v2.0.0-alpha.19) (2024-03-19)
205
+
206
+
207
+ ### Bug Fixes
208
+
209
+ * add localization to email form ([#5009](https://github.com/dynamic-labs/DynamicAuth/issues/5009)) ([f3c100c](https://github.com/dynamic-labs/DynamicAuth/commit/f3c100cb0b815880d11c6b619d94bfaa7330a115))
210
+ * include domain on signTypedData for ZeroDev connector ([#5017](https://github.com/dynamic-labs/DynamicAuth/issues/5017)) ([71c9131](https://github.com/dynamic-labs/DynamicAuth/commit/71c91311a75309810bc497c8f82981553ddc57fd))
211
+ * Remove Copy Address button if there is no wallet ([#4994](https://github.com/dynamic-labs/DynamicAuth/issues/4994)) ([fe1e641](https://github.com/dynamic-labs/DynamicAuth/commit/fe1e6417be2299e65ba4bcbc3347dfc27f021853))
212
+
213
+ ## [2.0.0-alpha.18](https://github.com/dynamic-labs/DynamicAuth/compare/v2.0.0-alpha.17...v2.0.0-alpha.18) (2024-03-15)
214
+
215
+ ## [2.0.0-alpha.17](https://github.com/dynamic-labs/DynamicAuth/compare/v2.0.0-alpha.16...v2.0.0-alpha.17) (2024-03-15)
216
+
217
+
218
+ ### ⚠ BREAKING CHANGES
219
+
220
+ * rename prop canConnectViaEmail to requiresNonDynamicEmailOtp (#4991)
221
+
222
+ ### Features
223
+
224
+ * allow creating embedded wallet with phone number without email ([#4953](https://github.com/dynamic-labs/DynamicAuth/issues/4953)) ([39d31cb](https://github.com/dynamic-labs/DynamicAuth/commit/39d31cbc969fff7acf53c0b6c5e5093ff846f3ea))
225
+
226
+
227
+ * rename prop canConnectViaEmail to requiresNonDynamicEmailOtp ([#4991](https://github.com/dynamic-labs/DynamicAuth/issues/4991)) ([e83a365](https://github.com/dynamic-labs/DynamicAuth/commit/e83a3658d4f5cf0630fc8f15be66f2d3db84ab98))
228
+
229
+ ## [2.0.0-alpha.16](https://github.com/dynamic-labs/DynamicAuth/compare/v2.0.0-alpha.15...v2.0.0-alpha.16) (2024-03-15)
230
+
231
+
232
+ ### Features
233
+
234
+ * add bundlerProvider prop to allow AA customers to select a provider ([#4975](https://github.com/dynamic-labs/DynamicAuth/issues/4975)) ([1870cef](https://github.com/dynamic-labs/DynamicAuth/commit/1870cef4f50944a86226d10f09ef7bf6595f3c95))
235
+
236
+ ## [2.0.0-alpha.15](https://github.com/dynamic-labs/DynamicAuth/compare/v2.0.0-alpha.14...v2.0.0-alpha.15) (2024-03-15)
237
+
238
+
239
+ ### Features
240
+
241
+ * Add support for mobile farcaster signin ([#4973](https://github.com/dynamic-labs/DynamicAuth/issues/4973)) ([98261a4](https://github.com/dynamic-labs/DynamicAuth/commit/98261a47bd319cd93b36f5cdd6a9be0064887686))
242
+
243
+ ## [2.0.0-alpha.14](https://github.com/dynamic-labs/DynamicAuth/compare/v2.0.0-alpha.13...v2.0.0-alpha.14) (2024-03-14)
244
+
245
+
246
+ ### Bug Fixes
247
+
248
+ * convert empty value when checking for gas sponsorship ([#4970](https://github.com/dynamic-labs/DynamicAuth/issues/4970)) ([8439a20](https://github.com/dynamic-labs/DynamicAuth/commit/8439a2035729150f33507b22c2678b16ae47976b))
249
+ * omit wallet connect on mobile ([#4954](https://github.com/dynamic-labs/DynamicAuth/issues/4954)) ([6ac29a8](https://github.com/dynamic-labs/DynamicAuth/commit/6ac29a8961dc010688425fb67a4fb621ca9f80b2))
250
+
251
+ ## [2.0.0-alpha.13](https://github.com/dynamic-labs/DynamicAuth/compare/v2.0.0-alpha.12...v2.0.0-alpha.13) (2024-03-14)
252
+
253
+ ## [2.0.0-alpha.12](https://github.com/dynamic-labs/DynamicAuth/compare/v2.0.0-alpha.11...v2.0.0-alpha.12) (2024-03-13)
254
+
255
+
256
+ ### Features
257
+
258
+ * add sign-in with farcaster ([#4947](https://github.com/dynamic-labs/DynamicAuth/issues/4947)) ([3927d24](https://github.com/dynamic-labs/DynamicAuth/commit/3927d24392a8944997ca05431c6ab54757be62d9))
259
+
260
+
261
+ ### Bug Fixes
262
+
263
+ * wallet connect links with query params ([#4948](https://github.com/dynamic-labs/DynamicAuth/issues/4948)) ([0738130](https://github.com/dynamic-labs/DynamicAuth/commit/0738130f82473a197e035b8dd74d996bdbb24c11))
264
+
265
+ ## [2.0.0-alpha.11](https://github.com/dynamic-labs/DynamicAuth/compare/v2.0.0-alpha.10...v2.0.0-alpha.11) (2024-03-12)
266
+
267
+
268
+ ### ⚠ BREAKING CHANGES
269
+
270
+ * rename FetchPublicAddressOpts to GetAddressOpts (#4910)
271
+ * remove use effect in useWalletEventListeners (#4843)
272
+ * rename fetchPublicAddress to getAddress (#4851)
273
+
274
+ ### Features
275
+
276
+ * Add farcaster to iconic ([#4925](https://github.com/dynamic-labs/DynamicAuth/issues/4925)) ([ab282dc](https://github.com/dynamic-labs/DynamicAuth/commit/ab282dc9cdcc0fe11f014d002b056ef4d3b34234))
277
+ * use transaction confirmation ui on signAndSendTransaction for solana embedded wallets ([#4909](https://github.com/dynamic-labs/DynamicAuth/issues/4909)) ([d77e89e](https://github.com/dynamic-labs/DynamicAuth/commit/d77e89ecff9dfc67ed48537f541a9995b2662e1e))
278
+
279
+
280
+ ### Bug Fixes
281
+
282
+ * add back connect button css variables ([#4922](https://github.com/dynamic-labs/DynamicAuth/issues/4922)) ([1119d62](https://github.com/dynamic-labs/DynamicAuth/commit/1119d62c2db6504952393060930524c3823e4a00))
283
+ * keep adaptive wallet list height ([#4916](https://github.com/dynamic-labs/DynamicAuth/issues/4916)) ([62aa54e](https://github.com/dynamic-labs/DynamicAuth/commit/62aa54e81d563082f7aa519f2ff2b5132e7dd83d))
284
+ * pass account and chain to walletClient ([#4865](https://github.com/dynamic-labs/DynamicAuth/issues/4865)) ([17a143f](https://github.com/dynamic-labs/DynamicAuth/commit/17a143f87a77e56227b2517038c20cf67f8e08bf))
285
+ * update walletbook to fix zerion in-app browser detection issue ([#4917](https://github.com/dynamic-labs/DynamicAuth/issues/4917)) ([48b05d7](https://github.com/dynamic-labs/DynamicAuth/commit/48b05d78e4f7add09787b64505723d4eca34d3e0))
286
+
287
+
288
+ * remove use effect in useWalletEventListeners ([#4843](https://github.com/dynamic-labs/DynamicAuth/issues/4843)) ([2e948bb](https://github.com/dynamic-labs/DynamicAuth/commit/2e948bbca0dbdceab7460a844d0988eacd47f581))
289
+ * rename fetchPublicAddress to getAddress ([#4851](https://github.com/dynamic-labs/DynamicAuth/issues/4851)) ([668e7dd](https://github.com/dynamic-labs/DynamicAuth/commit/668e7dd62e1f323dbe64209b5c59c2cd0ee45d61))
290
+ * rename FetchPublicAddressOpts to GetAddressOpts ([#4910](https://github.com/dynamic-labs/DynamicAuth/issues/4910)) ([e5e4b1b](https://github.com/dynamic-labs/DynamicAuth/commit/e5e4b1b08a4e010afa44f8abb0bf6af7f236a86a))
291
+
292
+ ## [2.0.0-alpha.10](https://github.com/dynamic-labs/DynamicAuth/compare/v2.0.0-alpha.9...v2.0.0-alpha.10) (2024-03-08)
293
+
294
+
295
+ ### ⚠ BREAKING CHANGES
296
+
297
+ * rename hideEmbeddedWalletUIs prop to hideEmbeddedWalletTra… (#4892)
298
+ * refactor send transaction for multi chain (#4831)
299
+
300
+ ### Features
301
+
302
+ * add sandbox indicator to sdk ([62fd821](https://github.com/dynamic-labs/DynamicAuth/commit/62fd821a895bb54cec4cae3d153aa0056a7e6638))
303
+
304
+
305
+ ### Bug Fixes
306
+
307
+ * coinbase connector and auth fetcher no being set properly ([#4891](https://github.com/dynamic-labs/DynamicAuth/issues/4891)) ([328566f](https://github.com/dynamic-labs/DynamicAuth/commit/328566ff39c38d5b5761ddc655de3a5d08bb567a))
308
+ * fix server side rendering ([#4811](https://github.com/dynamic-labs/DynamicAuth/issues/4811)) ([063dfae](https://github.com/dynamic-labs/DynamicAuth/commit/063dfae8b6750875d2f35dd9709a1f675495f4fb))
309
+ * hide network ([#4885](https://github.com/dynamic-labs/DynamicAuth/issues/4885)) ([ec10c58](https://github.com/dynamic-labs/DynamicAuth/commit/ec10c588218f067e991d5830fc06ec081e4e1d18))
310
+ * network picker on mobile ([#4887](https://github.com/dynamic-labs/DynamicAuth/issues/4887)) ([6e0ab1b](https://github.com/dynamic-labs/DynamicAuth/commit/6e0ab1bc7d138b73373741960a501ff7cf20e3f9))
311
+
312
+
313
+ * refactor send transaction for multi chain ([#4831](https://github.com/dynamic-labs/DynamicAuth/issues/4831)) ([c98444b](https://github.com/dynamic-labs/DynamicAuth/commit/c98444be7935420dda3d8216d03946f5893eb82f))
314
+ * rename hideEmbeddedWalletUIs prop to hideEmbeddedWalletTra… ([#4892](https://github.com/dynamic-labs/DynamicAuth/issues/4892)) ([7cdf519](https://github.com/dynamic-labs/DynamicAuth/commit/7cdf5196b1cd8516de2d456163fe9071956d40d3))
315
+
2
316
  ## [2.0.0-alpha.9](https://github.com/dynamic-labs/DynamicAuth/compare/v2.0.0-alpha.8...v2.0.0-alpha.9) (2024-03-06)
3
317
 
4
318
 
package/package.json CHANGED
@@ -1,24 +1,25 @@
1
1
  {
2
2
  "name": "@dynamic-labs/wagmi-connector",
3
- "version": "2.0.0-alpha.9",
3
+ "version": "2.0.0",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/dynamic-labs/DynamicAuth.git",
7
7
  "directory": "packages/wagmi-connector"
8
8
  },
9
9
  "peerDependencies": {
10
- "@wagmi/core": "2.6.4",
10
+ "@wagmi/core": "^2.6.4",
11
11
  "react": "^18.0.0",
12
- "viem": "2.7.6",
13
- "wagmi": "2.5.7",
14
- "@dynamic-labs/rpc-providers": "2.0.0-alpha.9",
15
- "@dynamic-labs/sdk-react-core": "2.0.0-alpha.9",
16
- "@dynamic-labs/types": "2.0.0-alpha.9",
17
- "@dynamic-labs/wallet-connector-core": "2.0.0-alpha.9",
12
+ "viem": "^2.7.6",
13
+ "wagmi": "^2.5.7",
14
+ "@dynamic-labs/logger": "2.0.0",
15
+ "@dynamic-labs/rpc-providers": "2.0.0",
16
+ "@dynamic-labs/sdk-react-core": "2.0.0",
17
+ "@dynamic-labs/types": "2.0.0",
18
+ "@dynamic-labs/wallet-connector-core": "2.0.0",
18
19
  "eventemitter3": "5.0.1"
19
20
  },
20
21
  "license": "MIT",
21
- "main": "./src/index.cjs",
22
+ "main": "./src/index.js",
22
23
  "module": "./src/index.js",
23
24
  "types": "./src/index.d.ts",
24
25
  "type": "module",
@@ -26,7 +27,7 @@
26
27
  ".": {
27
28
  "types": "./src/index.d.ts",
28
29
  "import": "./src/index.js",
29
- "require": "./src/index.cjs"
30
+ "require": "./src/index.js"
30
31
  },
31
32
  "./package.json": "./package.json"
32
33
  }
@@ -1,8 +1,8 @@
1
1
  import { MutableRefObject } from 'react';
2
- import { Connector } from 'wagmi';
3
2
  import { Account, Transport, Chain } from 'viem';
4
- import { Wallet, WalletConnector } from '@dynamic-labs/sdk-react-core';
3
+ import { WalletConnector } from '@dynamic-labs/sdk-react-core';
5
4
  export type ConnectorParameters = {
5
+ connectorId: string;
6
6
  handleLogOut: () => Promise<void>;
7
7
  walletConnector: WalletConnector;
8
8
  preventWagmiSyncFromCallingLogout: MutableRefObject<boolean>;
@@ -58,8 +58,8 @@ export declare const getCreateConnectorFn: (parameters: ConnectorParameters) =>
58
58
  [x: `address[${string}]`]: undefined;
59
59
  [x: `bool[${string}]`]: undefined;
60
60
  [x: `bytes[${string}]`]: undefined;
61
- [x: `bytes1[${string}]`]: undefined;
62
61
  [x: `bytes16[${string}]`]: undefined;
62
+ [x: `bytes1[${string}]`]: undefined;
63
63
  [x: `bytes2[${string}]`]: undefined;
64
64
  [x: `bytes3[${string}]`]: undefined;
65
65
  [x: `bytes4[${string}]`]: undefined;
@@ -160,8 +160,8 @@ export declare const getCreateConnectorFn: (parameters: ConnectorParameters) =>
160
160
  address?: undefined;
161
161
  bool?: undefined;
162
162
  bytes?: undefined;
163
- bytes1?: undefined;
164
163
  bytes16?: undefined;
164
+ bytes1?: undefined;
165
165
  bytes2?: undefined;
166
166
  bytes3?: undefined;
167
167
  bytes4?: undefined;
@@ -336,8 +336,8 @@ export declare const getCreateConnectorFn: (parameters: ConnectorParameters) =>
336
336
  [x: `address[${string}]`]: undefined;
337
337
  [x: `bool[${string}]`]: undefined;
338
338
  [x: `bytes[${string}]`]: undefined;
339
- [x: `bytes1[${string}]`]: undefined;
340
339
  [x: `bytes16[${string}]`]: undefined;
340
+ [x: `bytes1[${string}]`]: undefined;
341
341
  [x: `bytes2[${string}]`]: undefined;
342
342
  [x: `bytes3[${string}]`]: undefined;
343
343
  [x: `bytes4[${string}]`]: undefined;
@@ -438,8 +438,8 @@ export declare const getCreateConnectorFn: (parameters: ConnectorParameters) =>
438
438
  address?: undefined;
439
439
  bool?: undefined;
440
440
  bytes?: undefined;
441
- bytes1?: undefined;
442
441
  bytes16?: undefined;
442
+ bytes1?: undefined;
443
443
  bytes2?: undefined;
444
444
  bytes3?: undefined;
445
445
  bytes4?: undefined;
@@ -618,8 +618,8 @@ export declare const getCreateConnectorFn: (parameters: ConnectorParameters) =>
618
618
  [x: `address[${string}]`]: undefined;
619
619
  [x: `bool[${string}]`]: undefined;
620
620
  [x: `bytes[${string}]`]: undefined;
621
- [x: `bytes1[${string}]`]: undefined;
622
621
  [x: `bytes16[${string}]`]: undefined;
622
+ [x: `bytes1[${string}]`]: undefined;
623
623
  [x: `bytes2[${string}]`]: undefined;
624
624
  [x: `bytes3[${string}]`]: undefined;
625
625
  [x: `bytes4[${string}]`]: undefined;
@@ -720,8 +720,8 @@ export declare const getCreateConnectorFn: (parameters: ConnectorParameters) =>
720
720
  address?: undefined;
721
721
  bool?: undefined;
722
722
  bytes?: undefined;
723
- bytes1?: undefined;
724
723
  bytes16?: undefined;
724
+ bytes1?: undefined;
725
725
  bytes2?: undefined;
726
726
  bytes3?: undefined;
727
727
  bytes4?: undefined;
@@ -835,7 +835,7 @@ export declare const getCreateConnectorFn: (parameters: ConnectorParameters) =>
835
835
  uid?: undefined;
836
836
  } & Partial<Pick<import("viem").PublicActions<Transport, Chain, Account>, "getChainId" | "prepareTransactionRequest" | "sendRawTransaction" | "call" | "createContractEventFilter" | "createEventFilter" | "estimateContractGas" | "estimateGas" | "getBlock" | "getBlockNumber" | "getContractEvents" | "getEnsText" | "getFilterChanges" | "getGasPrice" | "getLogs" | "getTransaction" | "getTransactionCount" | "getTransactionReceipt" | "readContract" | "simulateContract" | "uninstallFilter" | "watchBlockNumber" | "watchContractEvent"> & Pick<import("viem").WalletActions<Chain, Account>, "sendTransaction" | "writeContract">>>(fn: (client: import("viem").Client<Transport, Chain, Account, import("viem").WalletRpcSchema, import("viem").WalletActions<Chain, Account>>) => client) => import("viem").Client<Transport, Chain, Account, import("viem").WalletRpcSchema, { [K in keyof client]: client[K]; } & import("viem").WalletActions<Chain, Account>>;
837
837
  }>;
838
- id: `dynamic-${string}`;
838
+ id: string;
839
839
  isAuthorized: () => Promise<boolean>;
840
840
  name: "Dynamic";
841
841
  onAccountsChanged: (accounts: string[]) => void;
@@ -846,4 +846,3 @@ export declare const getCreateConnectorFn: (parameters: ConnectorParameters) =>
846
846
  }) => Promise<Chain>;
847
847
  type: "dynamic";
848
848
  }, {}>;
849
- export declare const createConnectorForFirstConnectedEvmWallet: (wallets: Wallet[], createConnector: (wallet: Wallet) => Connector) => Connector | undefined;
@@ -42,7 +42,7 @@ const getCreateConnectorFn = (parameters) => createConnector((config) => ({
42
42
  getAccounts() {
43
43
  var _a;
44
44
  return __awaiter(this, void 0, void 0, function* () {
45
- const address = yield ((_a = parameters.walletConnector) === null || _a === void 0 ? void 0 : _a.fetchPublicAddress());
45
+ const address = yield ((_a = parameters.walletConnector) === null || _a === void 0 ? void 0 : _a.getAddress());
46
46
  if (!address) {
47
47
  throw new Error('Not connected');
48
48
  }
@@ -82,7 +82,7 @@ const getCreateConnectorFn = (parameters) => createConnector((config) => ({
82
82
  return (_a = parameters.walletConnector) === null || _a === void 0 ? void 0 : _a.getWalletClient();
83
83
  });
84
84
  },
85
- id: `dynamic-${parameters.walletConnector.key}`,
85
+ id: parameters.connectorId,
86
86
  isAuthorized() {
87
87
  var _a, _b;
88
88
  return __awaiter(this, void 0, void 0, function* () {
@@ -117,12 +117,5 @@ const getCreateConnectorFn = (parameters) => createConnector((config) => ({
117
117
  },
118
118
  type: 'dynamic',
119
119
  }));
120
- const createConnectorForFirstConnectedEvmWallet = (wallets, createConnector) => {
121
- for (const wallet of wallets) {
122
- if (wallet.connected && wallet.connector.connectedChain === 'EVM') {
123
- return createConnector(wallet);
124
- }
125
- }
126
- };
127
120
 
128
- export { createConnectorForFirstConnectedEvmWallet, getCreateConnectorFn };
121
+ export { getCreateConnectorFn };
@@ -1,6 +1,7 @@
1
1
  import React, { ReactNode } from 'react';
2
2
  type DynamicWagmiConnectorProps = {
3
3
  children: ReactNode;
4
+ suppressChainMismatchError?: boolean;
4
5
  };
5
6
  export declare const DynamicWagmiConnector: React.FC<DynamicWagmiConnectorProps>;
6
7
  export {};
@@ -2,29 +2,36 @@ import { jsx } from 'react/jsx-runtime';
2
2
  import { useRef, useMemo, useEffect } from 'react';
3
3
  import { useConfig } from 'wagmi';
4
4
  import { useDynamicContext, useUserWallets } from '@dynamic-labs/sdk-react-core';
5
- import { findAndOrderEvmWallets } from './utils/findAndOrderEvmWallets/findAndOrderEvmWallets.js';
6
- import { createConnectorForFirstConnectedEvmWallet, getCreateConnectorFn } from './Connector.js';
5
+ import { getCreateConnectorFn } from './Connector.js';
7
6
  import { SyncDynamicWagmi } from './SyncDynamicWagmi.js';
7
+ import { useChainMismatchLogger } from './useChainMismatchLogger.js';
8
+ import { useFindEvmWallet } from './hooks/useFindEvmWallet/useFindEvmWallet.js';
9
+ import { useConnectorId } from './hooks/useConnectorId/useConnectorId.js';
8
10
 
9
- const DynamicWagmiConnector = ({ children, }) => {
11
+ const DynamicWagmiConnector = ({ suppressChainMismatchError = false, children, }) => {
10
12
  const config = useConfig();
11
13
  const { handleLogOut, primaryWallet } = useDynamicContext();
14
+ const wallets = useUserWallets();
15
+ useChainMismatchLogger({ throwOnMismatch: !suppressChainMismatchError });
16
+ const evmWallet = useFindEvmWallet(primaryWallet, wallets);
17
+ const getConnectorId = useConnectorId();
12
18
  /**
13
19
  * This will prevent the wagmi Connector from calling handleLogOut when we are the ones calling disconnect
14
20
  * as a result of a handleLogOut call (see SyncDynamicWagmi), but will preserve the existing behavior for customers.
15
21
  */
16
22
  const preventWagmiSyncFromCallingLogout = useRef(false);
17
- // Sort places the primary wallet as the first wallet to attempt to connect with
18
- const wallets = useUserWallets().sort((wallet) => wallet.address === (primaryWallet === null || primaryWallet === void 0 ? void 0 : primaryWallet.address) ? -1 : 1);
19
- const evmWallets = useMemo(() => findAndOrderEvmWallets(primaryWallet, wallets), [primaryWallet, wallets]);
20
- const connector = useMemo(() => createConnectorForFirstConnectedEvmWallet(evmWallets, (wallet) => {
21
- const connector = config._internal.connectors.setup(getCreateConnectorFn({
23
+ const connector = useMemo(() => {
24
+ if (!evmWallet) {
25
+ return;
26
+ }
27
+ const connectorId = getConnectorId(evmWallet.connector);
28
+ return config._internal.connectors.setup(getCreateConnectorFn({
29
+ connectorId,
22
30
  handleLogOut,
23
31
  preventWagmiSyncFromCallingLogout,
24
- walletConnector: wallet.connector,
32
+ walletConnector: evmWallet.connector,
25
33
  }));
26
- return connector;
27
- }), [config._internal.connectors, evmWallets, handleLogOut]);
34
+ }, [config._internal.connectors, getConnectorId, handleLogOut, evmWallet]);
28
35
  /**
29
36
  * Updating the wagmi config must be done in a useEffect because
30
37
  * when setting the public client and connectors, wagmi will fire
@@ -0,0 +1 @@
1
+ export { useConnectorId } from './useConnectorId';
@@ -0,0 +1,7 @@
1
+ import { WalletConnector } from '@dynamic-labs/wallet-connector-core';
2
+ /**
3
+ * This hook is used to generate a unique ID for a given WalletConnector.
4
+ * This is used to ensure the wagmi connector id will change if the wallet connector
5
+ * instance changes between rerenders.
6
+ */
7
+ export declare const useConnectorId: () => (walletConnector: WalletConnector) => string;
@@ -0,0 +1,23 @@
1
+ import { useRef, useCallback } from 'react';
2
+
3
+ /**
4
+ * This hook is used to generate a unique ID for a given WalletConnector.
5
+ * This is used to ensure the wagmi connector id will change if the wallet connector
6
+ * instance changes between rerenders.
7
+ */
8
+ const useConnectorId = () => {
9
+ const lastSeenWalletConnector = useRef(undefined);
10
+ const lastConnectorKey = useRef(0);
11
+ /**
12
+ * This function will generate a unique ID for a given WalletConnector.
13
+ */
14
+ return useCallback((walletConnector) => {
15
+ if (walletConnector !== lastSeenWalletConnector.current) {
16
+ lastSeenWalletConnector.current = walletConnector;
17
+ lastConnectorKey.current += 1;
18
+ }
19
+ return `dynamic-${walletConnector.key}-${lastConnectorKey.current}`;
20
+ }, []);
21
+ };
22
+
23
+ export { useConnectorId };
@@ -0,0 +1 @@
1
+ export { useFindEvmWallet } from './useFindEvmWallet';
@@ -0,0 +1,2 @@
1
+ import { Wallet } from '@dynamic-labs/sdk-react-core';
2
+ export declare const useFindEvmWallet: (primaryWallet: Wallet | null, wallets: Wallet[]) => Wallet | undefined;
@@ -0,0 +1,21 @@
1
+ const isEvmWallet = (wallet) => wallet.connector.connectedChain === 'EVM';
2
+ const isWalletConnected = (wallet) => wallet.connected;
3
+ const useFindEvmWallet = (primaryWallet, wallets) => {
4
+ /**
5
+ * If the primary wallet is an EVM wallet and is connected, return it.
6
+ */
7
+ if (primaryWallet &&
8
+ isEvmWallet(primaryWallet) &&
9
+ isWalletConnected(primaryWallet)) {
10
+ return primaryWallet;
11
+ }
12
+ /**
13
+ * If the primary wallet is not connected, find the first connected EVM wallet.
14
+ */
15
+ const connectedEvmWallets = wallets
16
+ .filter(isEvmWallet)
17
+ .filter(isWalletConnected);
18
+ return connectedEvmWallets[0];
19
+ };
20
+
21
+ export { useFindEvmWallet };
@@ -0,0 +1,3 @@
1
+ export declare const useChainMismatchLogger: ({ throwOnMismatch, }?: {
2
+ throwOnMismatch: boolean;
3
+ }) => void;
@@ -0,0 +1,44 @@
1
+ import { useEffect } from 'react';
2
+ import { useConfig } from 'wagmi';
3
+ import { Logger } from '@dynamic-labs/logger';
4
+ import { useDynamicContext } from '@dynamic-labs/sdk-react-core';
5
+
6
+ const logger = new Logger('DynamicWagmiConnector');
7
+ const useChainMismatchLogger = ({ throwOnMismatch, } = { throwOnMismatch: true }) => {
8
+ const config = useConfig();
9
+ const { networkConfigurations } = useDynamicContext();
10
+ useEffect(() => {
11
+ if (!(networkConfigurations === null || networkConfigurations === void 0 ? void 0 : networkConfigurations.evm))
12
+ return;
13
+ const wagmiChains = config.chains;
14
+ const wagmiChainIds = wagmiChains.map((chain) => chain.id);
15
+ const dynamicChains = networkConfigurations.evm;
16
+ const dynamicChainIds = dynamicChains.map((chain) => chain.chainId);
17
+ wagmiChains.forEach((chain) => {
18
+ if (!dynamicChainIds.includes(chain.id)) {
19
+ const message = `Chain (id: ${chain.id} name: ${chain.name}) is present in the Wagmi config, but is not present in the Dynamic configuration.` +
20
+ ' Please make sure to enable the chain in your Dynamic Dashboard, or add it to the evmNetworks prop on DynamicContextProvider.' +
21
+ ' For more information, see: https://docs.dynamic.xyz/guides/frameworks/wagmi-v2#chain-configuration';
22
+ if (throwOnMismatch) {
23
+ throw new Error(message +
24
+ ' \n\nTo suppress this error, pass `suppressChainMismatchError` to `DynamicWagmiConnector`: `<DynamicWagmiConnector suppressChainMismatchError>`');
25
+ }
26
+ logger.warn(message);
27
+ }
28
+ });
29
+ dynamicChains.forEach((chain) => {
30
+ if (!wagmiChainIds.includes(Number(chain.chainId))) {
31
+ const message = `Chain (id: ${chain.chainId} name: ${chain.name}) is present in the Dynamic config, but is not present in the Wagmi configuration.` +
32
+ ' Please make sure to add the chain to the chains prop on the Wagmi createConfig function.' +
33
+ ' For more information, see: https://docs.dynamic.xyz/guides/frameworks/wagmi-v2#chain-configuration';
34
+ if (throwOnMismatch) {
35
+ throw new Error(message +
36
+ ' \n\nTo suppress this error, pass `suppressChainMismatchError` to `DynamicWagmiConnector`: `<DynamicWagmiConnector suppressChainMismatchError>`');
37
+ }
38
+ logger.warn(message);
39
+ }
40
+ });
41
+ }, [config.chains, networkConfigurations, throwOnMismatch]);
42
+ };
43
+
44
+ export { useChainMismatchLogger };
@@ -1,2 +0,0 @@
1
- import { Wallet } from '@dynamic-labs/sdk-react-core';
2
- export declare const findAndOrderEvmWallets: (primaryWallet: Wallet | null, wallets: Wallet[]) => Wallet[];
@@ -1,13 +0,0 @@
1
- const evmWalletsFilter = (wallet) => wallet.connector.connectedChain === 'EVM';
2
- const findAndOrderEvmWallets = (primaryWallet, wallets) => {
3
- const isPrimaryWalletEvm = (primaryWallet === null || primaryWallet === void 0 ? void 0 : primaryWallet.connector.connectedChain) === 'EVM';
4
- if (isPrimaryWalletEvm) {
5
- const secondaryEvmWallets = wallets
6
- .filter(evmWalletsFilter)
7
- .filter((wallet) => wallet.address !== primaryWallet.address);
8
- return [primaryWallet, ...secondaryEvmWallets];
9
- }
10
- return wallets.filter(evmWalletsFilter);
11
- };
12
-
13
- export { findAndOrderEvmWallets };
@@ -1 +0,0 @@
1
- export { findAndOrderEvmWallets } from './findAndOrderEvmWallets';
@@ -1 +0,0 @@
1
- export * from './findAndOrderEvmWallets';