@dynamic-labs/ethereum 2.0.0-alpha.2 → 2.0.0-alpha.20

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.
Files changed (42) hide show
  1. package/CHANGELOG.md +223 -0
  2. package/package.json +10 -11
  3. package/src/EthWalletConnector.cjs +1 -20
  4. package/src/EthWalletConnector.d.ts +9 -10
  5. package/src/EthWalletConnector.js +3 -22
  6. package/src/coinbase/client/client.cjs +2 -2
  7. package/src/coinbase/client/client.d.ts +2 -2
  8. package/src/coinbase/client/client.js +2 -2
  9. package/src/coinbase/coinbase.cjs +30 -9
  10. package/src/coinbase/coinbase.d.ts +19 -17
  11. package/src/coinbase/coinbase.js +31 -10
  12. package/src/ethProviderHelper.cjs +10 -5
  13. package/src/ethProviderHelper.d.ts +4 -3
  14. package/src/ethProviderHelper.js +10 -5
  15. package/src/index.cjs +7 -13
  16. package/src/index.d.ts +1 -0
  17. package/src/index.js +7 -13
  18. package/src/injected/ExodusEvm.cjs +1 -0
  19. package/src/injected/ExodusEvm.d.ts +1 -0
  20. package/src/injected/ExodusEvm.js +1 -0
  21. package/src/injected/InjectedWalletBase.cjs +6 -14
  22. package/src/injected/InjectedWalletBase.d.ts +2 -2
  23. package/src/injected/InjectedWalletBase.js +6 -14
  24. package/src/injected/PhantomEvm.cjs +4 -3
  25. package/src/injected/PhantomEvm.d.ts +2 -1
  26. package/src/injected/PhantomEvm.js +4 -3
  27. package/src/injected/fetchInjectedWalletConnectors.d.ts +0 -1
  28. package/src/walletConnect/fetchWalletConnectWallets.cjs +14 -33
  29. package/src/walletConnect/fetchWalletConnectWallets.d.ts +2 -5
  30. package/src/walletConnect/fetchWalletConnectWallets.js +14 -33
  31. package/src/walletConnect/index.d.ts +1 -2
  32. package/src/walletConnect/walletConnect.cjs +418 -79
  33. package/src/walletConnect/walletConnect.d.ts +309 -28
  34. package/src/walletConnect/walletConnect.js +417 -79
  35. package/src/walletConnect/client/client.cjs +0 -201
  36. package/src/walletConnect/client/client.d.ts +0 -17
  37. package/src/walletConnect/client/client.js +0 -187
  38. package/src/walletConnect/client/index.d.ts +0 -1
  39. package/src/walletConnect/client/types.d.ts +0 -4
  40. package/src/walletConnect/walletConnectV2.cjs +0 -475
  41. package/src/walletConnect/walletConnectV2.d.ts +0 -333
  42. package/src/walletConnect/walletConnectV2.js +0 -466
package/CHANGELOG.md CHANGED
@@ -1,4 +1,227 @@
1
1
 
2
+ ## [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)
3
+
4
+
5
+ ### Bug Fixes
6
+
7
+ * 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))
8
+ * 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))
9
+ * 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))
10
+
11
+ ## [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)
12
+
13
+
14
+ ### Bug Fixes
15
+
16
+ * add localization to email form ([#5009](https://github.com/dynamic-labs/DynamicAuth/issues/5009)) ([f3c100c](https://github.com/dynamic-labs/DynamicAuth/commit/f3c100cb0b815880d11c6b619d94bfaa7330a115))
17
+ * 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))
18
+ * 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))
19
+
20
+ ## [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)
21
+
22
+ ## [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)
23
+
24
+
25
+ ### ⚠ BREAKING CHANGES
26
+
27
+ * rename prop canConnectViaEmail to requiresNonDynamicEmailOtp (#4991)
28
+
29
+ ### Features
30
+
31
+ * 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))
32
+
33
+
34
+ * rename prop canConnectViaEmail to requiresNonDynamicEmailOtp ([#4991](https://github.com/dynamic-labs/DynamicAuth/issues/4991)) ([e83a365](https://github.com/dynamic-labs/DynamicAuth/commit/e83a3658d4f5cf0630fc8f15be66f2d3db84ab98))
35
+
36
+ ## [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)
37
+
38
+
39
+ ### Features
40
+
41
+ * 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))
42
+
43
+ ## [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)
44
+
45
+
46
+ ### Features
47
+
48
+ * Add support for mobile farcaster signin ([#4973](https://github.com/dynamic-labs/DynamicAuth/issues/4973)) ([98261a4](https://github.com/dynamic-labs/DynamicAuth/commit/98261a47bd319cd93b36f5cdd6a9be0064887686))
49
+
50
+ ## [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)
51
+
52
+
53
+ ### Bug Fixes
54
+
55
+ * 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))
56
+ * omit wallet connect on mobile ([#4954](https://github.com/dynamic-labs/DynamicAuth/issues/4954)) ([6ac29a8](https://github.com/dynamic-labs/DynamicAuth/commit/6ac29a8961dc010688425fb67a4fb621ca9f80b2))
57
+
58
+ ## [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)
59
+
60
+ ## [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)
61
+
62
+
63
+ ### Features
64
+
65
+ * add sign-in with farcaster ([#4947](https://github.com/dynamic-labs/DynamicAuth/issues/4947)) ([3927d24](https://github.com/dynamic-labs/DynamicAuth/commit/3927d24392a8944997ca05431c6ab54757be62d9))
66
+
67
+
68
+ ### Bug Fixes
69
+
70
+ * wallet connect links with query params ([#4948](https://github.com/dynamic-labs/DynamicAuth/issues/4948)) ([0738130](https://github.com/dynamic-labs/DynamicAuth/commit/0738130f82473a197e035b8dd74d996bdbb24c11))
71
+
72
+ ## [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)
73
+
74
+
75
+ ### ⚠ BREAKING CHANGES
76
+
77
+ * rename FetchPublicAddressOpts to GetAddressOpts (#4910)
78
+ * remove use effect in useWalletEventListeners (#4843)
79
+ * rename fetchPublicAddress to getAddress (#4851)
80
+
81
+ ### Features
82
+
83
+ * Add farcaster to iconic ([#4925](https://github.com/dynamic-labs/DynamicAuth/issues/4925)) ([ab282dc](https://github.com/dynamic-labs/DynamicAuth/commit/ab282dc9cdcc0fe11f014d002b056ef4d3b34234))
84
+ * 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))
85
+
86
+
87
+ ### Bug Fixes
88
+
89
+ * add back connect button css variables ([#4922](https://github.com/dynamic-labs/DynamicAuth/issues/4922)) ([1119d62](https://github.com/dynamic-labs/DynamicAuth/commit/1119d62c2db6504952393060930524c3823e4a00))
90
+ * keep adaptive wallet list height ([#4916](https://github.com/dynamic-labs/DynamicAuth/issues/4916)) ([62aa54e](https://github.com/dynamic-labs/DynamicAuth/commit/62aa54e81d563082f7aa519f2ff2b5132e7dd83d))
91
+ * pass account and chain to walletClient ([#4865](https://github.com/dynamic-labs/DynamicAuth/issues/4865)) ([17a143f](https://github.com/dynamic-labs/DynamicAuth/commit/17a143f87a77e56227b2517038c20cf67f8e08bf))
92
+ * 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))
93
+
94
+
95
+ * remove use effect in useWalletEventListeners ([#4843](https://github.com/dynamic-labs/DynamicAuth/issues/4843)) ([2e948bb](https://github.com/dynamic-labs/DynamicAuth/commit/2e948bbca0dbdceab7460a844d0988eacd47f581))
96
+ * rename fetchPublicAddress to getAddress ([#4851](https://github.com/dynamic-labs/DynamicAuth/issues/4851)) ([668e7dd](https://github.com/dynamic-labs/DynamicAuth/commit/668e7dd62e1f323dbe64209b5c59c2cd0ee45d61))
97
+ * rename FetchPublicAddressOpts to GetAddressOpts ([#4910](https://github.com/dynamic-labs/DynamicAuth/issues/4910)) ([e5e4b1b](https://github.com/dynamic-labs/DynamicAuth/commit/e5e4b1b08a4e010afa44f8abb0bf6af7f236a86a))
98
+
99
+ ## [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)
100
+
101
+
102
+ ### ⚠ BREAKING CHANGES
103
+
104
+ * rename hideEmbeddedWalletUIs prop to hideEmbeddedWalletTra… (#4892)
105
+ * refactor send transaction for multi chain (#4831)
106
+
107
+ ### Features
108
+
109
+ * add sandbox indicator to sdk ([62fd821](https://github.com/dynamic-labs/DynamicAuth/commit/62fd821a895bb54cec4cae3d153aa0056a7e6638))
110
+
111
+
112
+ ### Bug Fixes
113
+
114
+ * 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))
115
+ * fix server side rendering ([#4811](https://github.com/dynamic-labs/DynamicAuth/issues/4811)) ([063dfae](https://github.com/dynamic-labs/DynamicAuth/commit/063dfae8b6750875d2f35dd9709a1f675495f4fb))
116
+ * hide network ([#4885](https://github.com/dynamic-labs/DynamicAuth/issues/4885)) ([ec10c58](https://github.com/dynamic-labs/DynamicAuth/commit/ec10c588218f067e991d5830fc06ec081e4e1d18))
117
+ * network picker on mobile ([#4887](https://github.com/dynamic-labs/DynamicAuth/issues/4887)) ([6e0ab1b](https://github.com/dynamic-labs/DynamicAuth/commit/6e0ab1bc7d138b73373741960a501ff7cf20e3f9))
118
+
119
+
120
+ * refactor send transaction for multi chain ([#4831](https://github.com/dynamic-labs/DynamicAuth/issues/4831)) ([c98444b](https://github.com/dynamic-labs/DynamicAuth/commit/c98444be7935420dda3d8216d03946f5893eb82f))
121
+ * rename hideEmbeddedWalletUIs prop to hideEmbeddedWalletTra… ([#4892](https://github.com/dynamic-labs/DynamicAuth/issues/4892)) ([7cdf519](https://github.com/dynamic-labs/DynamicAuth/commit/7cdf5196b1cd8516de2d456163fe9071956d40d3))
122
+
123
+ ## [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)
124
+
125
+
126
+ ### Features
127
+
128
+ * solana connector new sendTransaction method ([#4842](https://github.com/dynamic-labs/DynamicAuth/issues/4842)) ([0b198e3](https://github.com/dynamic-labs/DynamicAuth/commit/0b198e30d83fbbc8d506654d87cbfad403fda289))
129
+ * specify solana network when using phantom redirect deeplinking ([#4863](https://github.com/dynamic-labs/DynamicAuth/issues/4863)) ([fb4ee7c](https://github.com/dynamic-labs/DynamicAuth/commit/fb4ee7cfc0493c9c85b6ccb31954842556c58aa4))
130
+
131
+
132
+ ### Bug Fixes
133
+
134
+ * isLoggedIn should return true even when there is no primary wallet ([#4875](https://github.com/dynamic-labs/DynamicAuth/issues/4875)) ([f396e22](https://github.com/dynamic-labs/DynamicAuth/commit/f396e22b9d809b05ac52194ffa4346f3591d17fe))
135
+ * update btckit network conversion for signPsbt ([a6009e1](https://github.com/dynamic-labs/DynamicAuth/commit/a6009e18c453b4e65545455fea0e52ed7a983b4d))
136
+ * user getting logged out when signing in with email linked to a unavailable wallet ([#4858](https://github.com/dynamic-labs/DynamicAuth/issues/4858)) ([8653e13](https://github.com/dynamic-labs/DynamicAuth/commit/8653e13d2067dd0161e660b4374c08a9fe0bc203))
137
+
138
+ ## [2.0.0-alpha.8](https://github.com/dynamic-labs/DynamicAuth/compare/v2.0.0-alpha.7...v2.0.0-alpha.8) (2024-03-04)
139
+
140
+ ## [2.0.0-alpha.7](https://github.com/dynamic-labs/DynamicAuth/compare/v2.0.0-alpha.6...v2.0.0-alpha.7) (2024-02-28)
141
+
142
+
143
+ ### ⚠ BREAKING CHANGES
144
+
145
+ * add networkValidationMode and remove enableForcedNetworkValidation (#4778)
146
+
147
+ ### Features
148
+
149
+ * add bitget and okx wallets ([51fab41](https://github.com/dynamic-labs/DynamicAuth/commit/51fab413096fd89ce99c6c617cf4f3f5db9bf44d))
150
+ * add networkValidationMode and remove enableForcedNetworkValidation ([#4778](https://github.com/dynamic-labs/DynamicAuth/issues/4778)) ([ccb9576](https://github.com/dynamic-labs/DynamicAuth/commit/ccb9576c81b2c570185f5126d6d1fcfcbb5ac9e3))
151
+
152
+
153
+ ### Bug Fixes
154
+
155
+ * **GVTY-1243:** non evm onramp urls ([#4791](https://github.com/dynamic-labs/DynamicAuth/issues/4791)) ([fea602e](https://github.com/dynamic-labs/DynamicAuth/commit/fea602e2835b4bb9bc096b96375fa97297bf35f1))
156
+ * revert use enableForcedNetworkValidation on connect-only ([#4750](https://github.com/dynamic-labs/DynamicAuth/issues/4750)) ([#4772](https://github.com/dynamic-labs/DynamicAuth/issues/4772)) ([b871c22](https://github.com/dynamic-labs/DynamicAuth/commit/b871c2295f39230bc34ae1fca5f8817cd9251a17))
157
+ * use correct chromeId for okx and bitget wallets and remove group from coin98 ([#4795](https://github.com/dynamic-labs/DynamicAuth/issues/4795)) ([e63bad7](https://github.com/dynamic-labs/DynamicAuth/commit/e63bad76ed06636151212c915a102359a03b4218))
158
+
159
+ ## [2.0.0-alpha.6](https://github.com/dynamic-labs/DynamicAuth/compare/v2.0.0-alpha.5...v2.0.0-alpha.6) (2024-02-26)
160
+
161
+
162
+ ### ⚠ BREAKING CHANGES
163
+
164
+ * setShowAuthFlow opens dynamic profile in non-multi-wallet states
165
+
166
+ ### Features
167
+
168
+ * allow passing prop to hide embedded wallet action confirmation UIs ([#4775](https://github.com/dynamic-labs/DynamicAuth/issues/4775)) ([d7c6a46](https://github.com/dynamic-labs/DynamicAuth/commit/d7c6a4699e41f6a62d31880c3bd0346ebfa0e3ba))
169
+ * make sms mobile keyboard numeric ([#4755](https://github.com/dynamic-labs/DynamicAuth/issues/4755)) ([f36844a](https://github.com/dynamic-labs/DynamicAuth/commit/f36844aeaae240c520181b3242492db8ffc64a50))
170
+ * setShowAuthFlow opens dynamic profile in non-multi-wallet states ([42dbbc0](https://github.com/dynamic-labs/DynamicAuth/commit/42dbbc00a5cebe937dca5a80397cdd3c577f6a45))
171
+
172
+
173
+ ### Bug Fixes
174
+
175
+ * demo one-time codes for solana wallets fix ([#4760](https://github.com/dynamic-labs/DynamicAuth/issues/4760)) ([a5ab2a8](https://github.com/dynamic-labs/DynamicAuth/commit/a5ab2a8bc348a35a898e03db0900bfab88184c17))
176
+ * only store passcode in backend when auto-generated by dynamic ([#4764](https://github.com/dynamic-labs/DynamicAuth/issues/4764)) ([528bedc](https://github.com/dynamic-labs/DynamicAuth/commit/528bedce5cbd3022ddafe4242954a04f5b70ae74))
177
+ * use enableForcedNetworkValidation on connect-only ([#4750](https://github.com/dynamic-labs/DynamicAuth/issues/4750)) ([6299f7c](https://github.com/dynamic-labs/DynamicAuth/commit/6299f7c3ce705ddb19714f6b7a3a488851ed8dde))
178
+
179
+ ## [2.0.0-alpha.5](https://github.com/dynamic-labs/DynamicAuth/compare/v2.0.0-alpha.4...v2.0.0-alpha.5) (2024-02-22)
180
+
181
+
182
+ ### ⚠ BREAKING CHANGES
183
+
184
+ * wagmi v2 (#4660)
185
+
186
+ ### Features
187
+
188
+ * wagmi v2 ([#4660](https://github.com/dynamic-labs/DynamicAuth/issues/4660)) ([d8894e6](https://github.com/dynamic-labs/DynamicAuth/commit/d8894e61393b90ccf44904c33394b54286f0f9e9))
189
+
190
+ ## [2.0.0-alpha.4](https://github.com/dynamic-labs/DynamicAuth/compare/v2.0.0-alpha.3...v2.0.0-alpha.4) (2024-02-22)
191
+
192
+
193
+ ### ⚠ BREAKING CHANGES
194
+
195
+ * remove wallet connector from callback types (#4730)
196
+ * drop support for walletconnect v1 (#4666)
197
+
198
+ ### Features
199
+
200
+ * add coin98 evm ([1d64f5f](https://github.com/dynamic-labs/DynamicAuth/commit/1d64f5f00885ff671358651fd0251b77a2e05739))
201
+ * add support for solana versioned transactions ([#4721](https://github.com/dynamic-labs/DynamicAuth/issues/4721)) ([25b1643](https://github.com/dynamic-labs/DynamicAuth/commit/25b1643f8addbada09fff5d22e988bdf22038170))
202
+
203
+
204
+ ### Bug Fixes
205
+
206
+ * allow rpc-providers package to use exports based on usage ([#4539](https://github.com/dynamic-labs/DynamicAuth/issues/4539)) ([abdc196](https://github.com/dynamic-labs/DynamicAuth/commit/abdc19641580cbcfe8f9e357c645f8291bc9ed66))
207
+ * coinbasesocial should display coinbase in profile linking section ([#4680](https://github.com/dynamic-labs/DynamicAuth/issues/4680)) ([21cbe2e](https://github.com/dynamic-labs/DynamicAuth/commit/21cbe2e24345a33bc927428c01cc7b5c724e40e5))
208
+ * improve on transaction confirmation step ([#4704](https://github.com/dynamic-labs/DynamicAuth/issues/4704)) ([f2b27cf](https://github.com/dynamic-labs/DynamicAuth/commit/f2b27cfd94452be2eb7e88a298f61ef56985931f))
209
+ * prevent the DynamicMultiWalletPromptsWidget from opening if useris not logged in ([#4701](https://github.com/dynamic-labs/DynamicAuth/issues/4701)) ([2bb35fd](https://github.com/dynamic-labs/DynamicAuth/commit/2bb35fd29b60677e893390f7d47857cd76c73adc))
210
+ * reduce isPreauthorized calls when starknet wallet is connected ([#4710](https://github.com/dynamic-labs/DynamicAuth/issues/4710)) ([ca6a630](https://github.com/dynamic-labs/DynamicAuth/commit/ca6a630dd47a1c116afcd63fe7256ffc745532ab))
211
+ * update sepolia currency symbol ([#4728](https://github.com/dynamic-labs/DynamicAuth/issues/4728)) ([3c228a0](https://github.com/dynamic-labs/DynamicAuth/commit/3c228a03ccc962374ad1dac3ab45af92732ba61a))
212
+ * use overflow clip when available, use hidden by default ([#4696](https://github.com/dynamic-labs/DynamicAuth/issues/4696)) ([29fb2a1](https://github.com/dynamic-labs/DynamicAuth/commit/29fb2a1e48b010c6c1d525403fbdcf7ded068466))
213
+
214
+
215
+ * drop support for walletconnect v1 ([#4666](https://github.com/dynamic-labs/DynamicAuth/issues/4666)) ([4af93e4](https://github.com/dynamic-labs/DynamicAuth/commit/4af93e4f9b95fa4c49bbfda0c1144da1a4a43991))
216
+ * remove wallet connector from callback types ([#4730](https://github.com/dynamic-labs/DynamicAuth/issues/4730)) ([08cb200](https://github.com/dynamic-labs/DynamicAuth/commit/08cb200a09c0fd78d2093d1a60b17089b3b2c2b1))
217
+
218
+ ## [2.0.0-alpha.3](https://github.com/dynamic-labs/DynamicAuth/compare/v2.0.0-alpha.2...v2.0.0-alpha.3) (2024-02-13)
219
+
220
+
221
+ ### Bug Fixes
222
+
223
+ * allow any icon to be used in wallet list tabs ([#4678](https://github.com/dynamic-labs/DynamicAuth/issues/4678)) ([eb03603](https://github.com/dynamic-labs/DynamicAuth/commit/eb036031725a91cb28c144b3bdcb5b20b3314038))
224
+
2
225
  ## [2.0.0-alpha.2](https://github.com/dynamic-labs/DynamicAuth/compare/v2.0.0-alpha.1...v2.0.0-alpha.2) (2024-02-13)
3
226
 
4
227
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dynamic-labs/ethereum",
3
- "version": "2.0.0-alpha.2",
3
+ "version": "2.0.0-alpha.20",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/dynamic-labs/DynamicAuth.git",
@@ -26,21 +26,20 @@
26
26
  "./package.json": "./package.json"
27
27
  },
28
28
  "dependencies": {
29
- "@coinbase/wallet-sdk": "3.9.1",
30
- "@walletconnect/client": "1.8.0",
31
- "@walletconnect/ethereum-provider": "1.8.0",
29
+ "@coinbase/wallet-sdk": "3.9.2",
32
30
  "@walletconnect/universal-provider": "2.10.6",
33
31
  "eventemitter3": "5.0.1",
34
32
  "buffer": "6.0.3",
35
- "@dynamic-labs/rpc-providers": "2.0.0-alpha.2",
36
- "@dynamic-labs/turnkey": "2.0.0-alpha.2",
37
- "@dynamic-labs/types": "2.0.0-alpha.2",
38
- "@dynamic-labs/utils": "2.0.0-alpha.2",
39
- "@dynamic-labs/wallet-book": "2.0.0-alpha.2",
40
- "@dynamic-labs/wallet-connector-core": "2.0.0-alpha.2",
33
+ "@dynamic-labs/rpc-provider-ethereum": "2.0.0-alpha.20",
34
+ "@dynamic-labs/turnkey": "2.0.0-alpha.20",
35
+ "@dynamic-labs/types": "2.0.0-alpha.20",
36
+ "@dynamic-labs/utils": "2.0.0-alpha.20",
37
+ "@dynamic-labs/viem-utils": "2.0.0-alpha.20",
38
+ "@dynamic-labs/wallet-book": "2.0.0-alpha.20",
39
+ "@dynamic-labs/wallet-connector-core": "2.0.0-alpha.20",
41
40
  "stream": "0.0.2"
42
41
  },
43
42
  "peerDependencies": {
44
- "viem": "^1.19.13 || ^2.2.0"
43
+ "viem": "^2.7.6"
45
44
  }
46
45
  }
@@ -6,7 +6,6 @@ var _tslib = require('../_virtual/_tslib.cjs');
6
6
  var viem = require('viem');
7
7
  var walletConnectorCore = require('@dynamic-labs/wallet-connector-core');
8
8
  var utils = require('@dynamic-labs/utils');
9
- var rpcProviders = require('@dynamic-labs/rpc-providers');
10
9
  var findEvmNetwork = require('./utils/findEvmNetwork.cjs');
11
10
 
12
11
  class EthWalletConnector extends walletConnectorCore.WalletConnectorBase {
@@ -38,25 +37,7 @@ class EthWalletConnector extends walletConnectorCore.WalletConnectorBase {
38
37
  }, {});
39
38
  this.evmNetworks = utils.parseEvmNetworks(props.evmNetworks);
40
39
  this.chainRpcProviders = props.chainRpcProviders;
41
- (_a = this.chainRpcProviders) === null || _a === void 0 ? void 0 : _a.registerChainProviders(rpcProviders.ProviderChain.EVM, (config) => {
42
- const rpcProviders = {};
43
- if (config === null || config === void 0 ? void 0 : config.evm) {
44
- rpcProviders.evm = utils.parseEvmNetworks(config.evm).map((network) => {
45
- var _a;
46
- const rpcUrl = ((_a = network.privateCustomerRpcUrls) === null || _a === void 0 ? void 0 : _a[0]) || network.rpcUrls[0];
47
- const provider = viem.createPublicClient({
48
- chain: utils.getOrMapViemChain(network),
49
- transport: viem.http(rpcUrl),
50
- });
51
- return {
52
- chainId: network.chainId,
53
- chainName: network.name,
54
- provider,
55
- };
56
- });
57
- }
58
- return rpcProviders.evm;
59
- });
40
+ (_a = this.chainRpcProviders) === null || _a === void 0 ? void 0 : _a.registerEvmProviders();
60
41
  }
61
42
  getNetwork() {
62
43
  return _tslib.__awaiter(this, void 0, void 0, function* () {
@@ -1,7 +1,7 @@
1
1
  import { WalletClient, PublicClient } from 'viem';
2
2
  import { NameServiceData, WalletConnectorBase } from '@dynamic-labs/wallet-connector-core';
3
3
  import { EvmNetwork, GenericNetwork } from '@dynamic-labs/types';
4
- import { ChainRpcProviders } from '@dynamic-labs/rpc-providers';
4
+ import { IChainRpcProviders } from '@dynamic-labs/rpc-provider-ethereum';
5
5
  import { WalletBookSchema } from '@dynamic-labs/wallet-book';
6
6
  export type SwitchNetworkOps = {
7
7
  networkChainId?: number;
@@ -11,9 +11,8 @@ type EvmRpcMap = {
11
11
  [chainId: number]: string;
12
12
  };
13
13
  export type EthWalletConnectorOpts = {
14
- chainRpcProviders: typeof ChainRpcProviders;
14
+ chainRpcProviders: IChainRpcProviders;
15
15
  evmNetworks: GenericNetwork[];
16
- isWalletConnectV2Enabled?: boolean;
17
16
  walletBook: WalletBookSchema;
18
17
  };
19
18
  export declare abstract class EthWalletConnector extends WalletConnectorBase {
@@ -41,20 +40,20 @@ export declare abstract class EthWalletConnector extends WalletConnectorBase {
41
40
  type: string;
42
41
  uid: string;
43
42
  addChain: (args: import("viem").AddChainParameters) => Promise<void>;
44
- deployContract: <const TAbi extends import("viem").Abi | readonly unknown[], TChainOverride extends import("viem").Chain | undefined = undefined>(args: import("viem").DeployContractParameters<TAbi, import("viem").Chain | undefined, import("viem").Account | undefined, TChainOverride>) => Promise<`0x${string}`>;
43
+ deployContract: <const abi extends import("viem").Abi | readonly unknown[], chainOverride extends import("viem").Chain | undefined>(args: import("viem").DeployContractParameters<abi, import("viem").Chain | undefined, import("viem").Account | undefined, chainOverride>) => Promise<`0x${string}`>;
45
44
  getAddresses: () => Promise<import("viem").GetAddressesReturnType>;
46
45
  getChainId: () => Promise<number>;
47
46
  getPermissions: () => Promise<import("viem").GetPermissionsReturnType>;
48
- prepareTransactionRequest: <TChainOverride_1 extends import("viem").Chain | undefined = undefined>(args: import("viem").PrepareTransactionRequestParameters<import("viem").Chain | undefined, import("viem").Account | undefined, TChainOverride_1>) => Promise<import("viem").PrepareTransactionRequestReturnType>;
47
+ prepareTransactionRequest: <TParameterType extends import("viem").PrepareTransactionRequestParameterType, TChainOverride extends import("viem").Chain | undefined = undefined, TAccountOverride extends `0x${string}` | import("viem").Account | undefined = undefined>(args: import("viem").PrepareTransactionRequestParameters<import("viem").Chain | undefined, import("viem").Account | undefined, TChainOverride, TAccountOverride, TParameterType>) => Promise<import("viem").PrepareTransactionRequestReturnType<import("viem").Chain, import("viem").Account | undefined, TChainOverride, TAccountOverride, TParameterType>>;
49
48
  requestAddresses: () => Promise<import("viem").RequestAddressesReturnType>;
50
49
  requestPermissions: (args: {
51
50
  [x: string]: Record<string, any>;
52
51
  eth_accounts: Record<string, any>;
53
52
  }) => Promise<import("viem").RequestPermissionsReturnType>;
54
- sendRawTransaction: (args: import("node_modules/viem/_types/actions/wallet/sendRawTransaction").SendRawTransactionParameters) => Promise<`0x${string}`>;
55
- sendTransaction: <TChainOverride_2 extends import("viem").Chain | undefined = undefined>(args: import("viem").SendTransactionParameters<import("viem").Chain | undefined, import("viem").Account | undefined, TChainOverride_2>) => Promise<`0x${string}`>;
53
+ sendRawTransaction: (args: import("viem").SendRawTransactionParameters) => Promise<`0x${string}`>;
54
+ sendTransaction: <TChainOverride_1 extends import("viem").Chain | undefined = undefined>(args: import("viem").SendTransactionParameters<import("viem").Chain | undefined, import("viem").Account | undefined, TChainOverride_1>) => Promise<`0x${string}`>;
56
55
  signMessage: (args: import("viem").SignMessageParameters<import("viem").Account | undefined>) => Promise<`0x${string}`>;
57
- signTransaction: <TChainOverride_3 extends import("viem").Chain | undefined = undefined>(args: import("node_modules/viem/_types/actions/wallet/signTransaction").SignTransactionParameters<import("viem").Chain | undefined, import("viem").Account | undefined, TChainOverride_3>) => Promise<`0x${string}`>;
56
+ signTransaction: <TChainOverride_2 extends import("viem").Chain | undefined>(args: import("viem").SignTransactionParameters<import("viem").Chain | undefined, import("viem").Account | undefined, TChainOverride_2>) => Promise<`0x${string}`>;
58
57
  signTypedData: <const TTypedData extends {
59
58
  [x: string]: readonly import("viem").TypedDataParameter[];
60
59
  [x: `string[${string}]`]: undefined;
@@ -265,7 +264,7 @@ export declare abstract class EthWalletConnector extends WalletConnectorBase {
265
264
  }, TPrimaryType extends string>(args: import("viem").SignTypedDataParameters<TTypedData, TPrimaryType, import("viem").Account | undefined>) => Promise<`0x${string}`>;
266
265
  switchChain: (args: import("viem").SwitchChainParameters) => Promise<void>;
267
266
  watchAsset: (args: import("viem").WatchAssetParams) => Promise<boolean>;
268
- writeContract: <const TAbi_1 extends import("viem").Abi | readonly unknown[], TFunctionName extends string, TChainOverride_4 extends import("viem").Chain | undefined = undefined>(args: import("viem").WriteContractParameters<TAbi_1, TFunctionName, import("viem").Chain | undefined, import("viem").Account | undefined, TChainOverride_4>) => Promise<`0x${string}`>;
267
+ writeContract: <const abi_1 extends import("viem").Abi | readonly unknown[], functionName extends import("viem").ContractFunctionName<abi_1, "nonpayable" | "payable">, args extends import("viem").ContractFunctionArgs<abi_1, "pure" | "view", functionName>, TChainOverride_3 extends import("viem").Chain | undefined = undefined>(args: import("viem").WriteContractParameters<abi_1, functionName, args, import("viem").Chain | undefined, import("viem").Account | undefined, TChainOverride_3>) => Promise<`0x${string}`>;
269
268
  extend: <const client extends {
270
269
  [x: string]: unknown;
271
270
  account?: undefined;
@@ -279,7 +278,7 @@ export declare abstract class EthWalletConnector extends WalletConnectorBase {
279
278
  transport?: undefined;
280
279
  type?: undefined;
281
280
  uid?: undefined;
282
- } & Partial<Pick<import("viem").PublicActions, "call" | "createContractEventFilter" | "createEventFilter" | "estimateContractGas" | "estimateGas" | "getBlock" | "getBlockNumber" | "getChainId" | "getContractEvents" | "getEnsText" | "getFilterChanges" | "getGasPrice" | "getLogs" | "getTransaction" | "getTransactionCount" | "getTransactionReceipt" | "prepareTransactionRequest" | "readContract" | "sendRawTransaction" | "simulateContract" | "uninstallFilter" | "watchBlockNumber" | "watchContractEvent"> & Pick<import("viem").WalletActions, "sendTransaction" | "writeContract">>>(fn: (client: import("viem").Client<import("viem").Transport, import("viem").Chain | undefined, import("viem").Account | undefined, import("viem").WalletRpcSchema, import("viem").WalletActions<import("viem").Chain | undefined, import("viem").Account | undefined>>) => client) => import("viem").Client<import("viem").Transport, import("viem").Chain | undefined, import("viem").Account | undefined, import("viem").WalletRpcSchema, { [K in keyof client]: client[K]; } & import("viem").WalletActions<import("viem").Chain | undefined, import("viem").Account | undefined>>;
281
+ } & Partial<Pick<import("viem").PublicActions<import("viem").Transport, import("viem").Chain | undefined, import("viem").Account | undefined>, "call" | "createContractEventFilter" | "createEventFilter" | "estimateContractGas" | "estimateGas" | "getBlock" | "getBlockNumber" | "getChainId" | "getContractEvents" | "getEnsText" | "getFilterChanges" | "getGasPrice" | "getLogs" | "getTransaction" | "getTransactionCount" | "getTransactionReceipt" | "prepareTransactionRequest" | "readContract" | "sendRawTransaction" | "simulateContract" | "uninstallFilter" | "watchBlockNumber" | "watchContractEvent"> & Pick<import("viem").WalletActions<import("viem").Chain | undefined, import("viem").Account | undefined>, "sendTransaction" | "writeContract">>>(fn: (client: import("viem").Client<import("viem").Transport, import("viem").Chain | undefined, import("viem").Account | undefined, import("viem").WalletRpcSchema, import("viem").WalletActions<import("viem").Chain | undefined, import("viem").Account | undefined>>) => client) => import("viem").Client<import("viem").Transport, import("viem").Chain | undefined, import("viem").Account | undefined, import("viem").WalletRpcSchema, { [K in keyof client]: client[K]; } & import("viem").WalletActions<import("viem").Chain | undefined, import("viem").Account | undefined>>;
283
282
  } | undefined>;
284
283
  getBalance(): Promise<string | undefined>;
285
284
  supportsNetworkSwitching(): boolean;
@@ -1,8 +1,7 @@
1
1
  import { __awaiter } from '../_virtual/_tslib.js';
2
- import { createPublicClient, http, formatEther } from 'viem';
2
+ import { formatEther } from 'viem';
3
3
  import { WalletConnectorBase } from '@dynamic-labs/wallet-connector-core';
4
- import { parseEvmNetworks, getOrMapViemChain, retryableFn, FALLBACK_UNDEFINED, DynamicError } from '@dynamic-labs/utils';
5
- import { ProviderChain } from '@dynamic-labs/rpc-providers';
4
+ import { parseEvmNetworks, retryableFn, FALLBACK_UNDEFINED, DynamicError, getOrMapViemChain } from '@dynamic-labs/utils';
6
5
  import { findEvmNetwork } from './utils/findEvmNetwork.js';
7
6
 
8
7
  class EthWalletConnector extends WalletConnectorBase {
@@ -34,25 +33,7 @@ class EthWalletConnector extends WalletConnectorBase {
34
33
  }, {});
35
34
  this.evmNetworks = parseEvmNetworks(props.evmNetworks);
36
35
  this.chainRpcProviders = props.chainRpcProviders;
37
- (_a = this.chainRpcProviders) === null || _a === void 0 ? void 0 : _a.registerChainProviders(ProviderChain.EVM, (config) => {
38
- const rpcProviders = {};
39
- if (config === null || config === void 0 ? void 0 : config.evm) {
40
- rpcProviders.evm = parseEvmNetworks(config.evm).map((network) => {
41
- var _a;
42
- const rpcUrl = ((_a = network.privateCustomerRpcUrls) === null || _a === void 0 ? void 0 : _a[0]) || network.rpcUrls[0];
43
- const provider = createPublicClient({
44
- chain: getOrMapViemChain(network),
45
- transport: http(rpcUrl),
46
- });
47
- return {
48
- chainId: network.chainId,
49
- chainName: network.name,
50
- provider,
51
- };
52
- });
53
- }
54
- return rpcProviders.evm;
55
- });
36
+ (_a = this.chainRpcProviders) === null || _a === void 0 ? void 0 : _a.registerEvmProviders();
56
37
  }
57
38
  getNetwork() {
58
39
  return __awaiter(this, void 0, void 0, function* () {
@@ -36,7 +36,7 @@ const killCoinbaseSession = () => _tslib.__awaiter(void 0, void 0, void 0, funct
36
36
  // were set in the SDK reset, and they need to be initialized again.
37
37
  coinbaseProvider = undefined;
38
38
  });
39
- const fetchPublicAddress = (coinbaseProviderOpts, opts) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
39
+ const getAddress = (coinbaseProviderOpts, opts) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
40
40
  var _a;
41
41
  const provider = getCoinbaseProvider({ opts: coinbaseProviderOpts });
42
42
  const { qrUrl } = provider;
@@ -66,7 +66,7 @@ const signMessage = (coinbaseProviderOpts, messageToSign) => _tslib.__awaiter(vo
66
66
  }
67
67
  });
68
68
 
69
- exports.fetchPublicAddress = fetchPublicAddress;
69
+ exports.getAddress = getAddress;
70
70
  exports.getCoinbaseProvider = getCoinbaseProvider;
71
71
  exports.killCoinbaseSession = killCoinbaseSession;
72
72
  exports.signMessage = signMessage;
@@ -1,6 +1,6 @@
1
- import { FetchPublicAddressOpts } from '@dynamic-labs/wallet-connector-core';
1
+ import { GetAddressOpts } from '@dynamic-labs/wallet-connector-core';
2
2
  import { GetCoinbaseProvider, GetCoinbaseProviderOpts } from './types';
3
3
  export declare const getCoinbaseProvider: GetCoinbaseProvider;
4
4
  export declare const killCoinbaseSession: () => Promise<void>;
5
- export declare const fetchPublicAddress: (coinbaseProviderOpts: GetCoinbaseProviderOpts, opts?: FetchPublicAddressOpts) => Promise<string | undefined>;
5
+ export declare const getAddress: (coinbaseProviderOpts: GetCoinbaseProviderOpts, opts?: GetAddressOpts) => Promise<string | undefined>;
6
6
  export declare const signMessage: (coinbaseProviderOpts: GetCoinbaseProviderOpts, messageToSign: string) => Promise<string | undefined>;
@@ -32,7 +32,7 @@ const killCoinbaseSession = () => __awaiter(void 0, void 0, void 0, function* ()
32
32
  // were set in the SDK reset, and they need to be initialized again.
33
33
  coinbaseProvider = undefined;
34
34
  });
35
- const fetchPublicAddress = (coinbaseProviderOpts, opts) => __awaiter(void 0, void 0, void 0, function* () {
35
+ const getAddress = (coinbaseProviderOpts, opts) => __awaiter(void 0, void 0, void 0, function* () {
36
36
  var _a;
37
37
  const provider = getCoinbaseProvider({ opts: coinbaseProviderOpts });
38
38
  const { qrUrl } = provider;
@@ -62,4 +62,4 @@ const signMessage = (coinbaseProviderOpts, messageToSign) => __awaiter(void 0, v
62
62
  }
63
63
  });
64
64
 
65
- export { fetchPublicAddress, getCoinbaseProvider, killCoinbaseSession, signMessage };
65
+ export { getAddress, getCoinbaseProvider, killCoinbaseSession, signMessage };
@@ -5,22 +5,22 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var _tslib = require('../../_virtual/_tslib.cjs');
6
6
  var viem = require('viem');
7
7
  var walletBook = require('@dynamic-labs/wallet-book');
8
+ var walletConnectorCore = require('@dynamic-labs/wallet-connector-core');
8
9
  require('../polyfills.cjs');
9
10
  require('@dynamic-labs/turnkey');
10
11
  require('@dynamic-labs/utils');
11
12
  var ethProviderHelper = require('../ethProviderHelper.cjs');
12
13
  var EthWalletConnector = require('../EthWalletConnector.cjs');
13
- require('../walletConnect/walletConnectV2.cjs');
14
- require('@walletconnect/ethereum-provider');
15
- require('@dynamic-labs/wallet-connector-core');
16
- require('@walletconnect/client');
14
+ require('../walletConnect/walletConnect.cjs');
17
15
  var client = require('./client/client.cjs');
16
+ require('@dynamic-labs/rpc-provider-ethereum');
18
17
 
19
18
  class Coinbase extends EthWalletConnector.EthWalletConnector {
20
19
  constructor(_a) {
21
20
  var { appName, appLogoUrl, evmNetworks } = _a, props = _tslib.__rest(_a, ["appName", "appLogoUrl", "evmNetworks"]);
22
21
  super(Object.assign({ evmNetworks }, props));
23
22
  this.name = 'Coinbase';
23
+ this.overrideKey = 'coinbase';
24
24
  this.supportedChains = ['EVM', 'ETH'];
25
25
  this.connectedChain = 'EVM';
26
26
  this.canConnectViaQrCode = true;
@@ -36,6 +36,10 @@ class Coinbase extends EthWalletConnector.EthWalletConnector {
36
36
  }
37
37
  setupEventListeners() {
38
38
  var _a, _b, _c;
39
+ if (!this.isInstalledOnBrowser()) {
40
+ this.setupCoinbaseProviderEventListeners();
41
+ return;
42
+ }
39
43
  const provider = (_a = this.ethProviderHelper) === null || _a === void 0 ? void 0 : _a.findProvider();
40
44
  if (!provider) {
41
45
  return;
@@ -45,10 +49,10 @@ class Coinbase extends EthWalletConnector.EthWalletConnector {
45
49
  return;
46
50
  this.teardownEventListeners = setupResponse.tearDownEventListeners;
47
51
  }
48
- getWalletClient() {
52
+ getWalletClient(chainId) {
49
53
  var _a;
50
54
  if (this.isInstalledOnBrowser()) {
51
- return (_a = this.ethProviderHelper) === null || _a === void 0 ? void 0 : _a.findWalletClient();
55
+ return (_a = this.ethProviderHelper) === null || _a === void 0 ? void 0 : _a.findWalletClient(chainId);
52
56
  }
53
57
  return viem.createWalletClient({
54
58
  transport: viem.custom(client.getCoinbaseProvider({
@@ -60,13 +64,13 @@ class Coinbase extends EthWalletConnector.EthWalletConnector {
60
64
  var _a;
61
65
  return ((_a = this.ethProviderHelper) === null || _a === void 0 ? void 0 : _a.findProvider()) !== undefined;
62
66
  }
63
- fetchPublicAddress(opts) {
67
+ getAddress(opts) {
64
68
  var _a;
65
69
  return _tslib.__awaiter(this, void 0, void 0, function* () {
66
70
  if (this.isInstalledOnBrowser()) {
67
- return (_a = this.ethProviderHelper) === null || _a === void 0 ? void 0 : _a.fetchPublicAddress();
71
+ return (_a = this.ethProviderHelper) === null || _a === void 0 ? void 0 : _a.getAddress();
68
72
  }
69
- return client.fetchPublicAddress(this.coinbaseProviderOpts, opts);
73
+ return client.getAddress(this.coinbaseProviderOpts, opts);
70
74
  });
71
75
  }
72
76
  signMessage(messageToSign) {
@@ -85,6 +89,23 @@ class Coinbase extends EthWalletConnector.EthWalletConnector {
85
89
  client.killCoinbaseSession();
86
90
  });
87
91
  }
92
+ setupCoinbaseProviderEventListeners() {
93
+ const provider = client.getCoinbaseProvider({
94
+ opts: this.coinbaseProviderOpts,
95
+ });
96
+ if (!provider) {
97
+ return;
98
+ }
99
+ const { handleAccountChange, handleChainChange, handleDisconnect } = walletConnectorCore.eventListenerHandlers(this);
100
+ provider.on('accountsChanged', handleAccountChange);
101
+ provider.on('chainChanged', handleChainChange);
102
+ provider.on('disconnect', handleDisconnect);
103
+ this.teardownEventListeners = () => {
104
+ provider.removeListener('accountsChanged', handleAccountChange);
105
+ provider.removeListener('chainChanged', handleChainChange);
106
+ provider.removeListener('disconnect', handleDisconnect);
107
+ };
108
+ }
88
109
  }
89
110
 
90
111
  exports.Coinbase = Coinbase;