@dynamic-labs/ethereum 0.18.0-RC.9 → 0.18.0-beta.29

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,276 @@
1
1
 
2
+ ## [0.18.0-beta.29](https://github.com/dynamic-labs/DynamicAuth/compare/v0.18.0-beta.28...v0.18.0-beta.29) (2023-08-03)
3
+
4
+
5
+ ### ⚠ BREAKING CHANGES
6
+
7
+ * remove deprecated multiwallet prop (#2821)
8
+
9
+ ### Bug Fixes
10
+
11
+ * array of dynamicWagmiSettings not being sent, must be turned into object ([#2837](https://github.com/dynamic-labs/DynamicAuth/issues/2837)) ([fc5051d](https://github.com/dynamic-labs/DynamicAuth/commit/fc5051d3ce4c5e28d54a74cc9d74424748b52df9)), closes [#2835](https://github.com/dynamic-labs/DynamicAuth/issues/2835)
12
+ * change network modal doesn't pop on secondary wallet, when primaryWallet was disconnected ([#2831](https://github.com/dynamic-labs/DynamicAuth/issues/2831)) ([4a78cc8](https://github.com/dynamic-labs/DynamicAuth/commit/4a78cc8c9004e6716fa9e35d8572c57bfd8bdc22))
13
+ * connectSuccess callback is not being called when connecting new wallet after unlink ([#2829](https://github.com/dynamic-labs/DynamicAuth/issues/2829)) ([37795e5](https://github.com/dynamic-labs/DynamicAuth/commit/37795e5304d65766968ae6168d329b899c0afdfa))
14
+ * **wcv2:** simulate chain change event in switchNetwork ([#2827](https://github.com/dynamic-labs/DynamicAuth/issues/2827)) ([98cff76](https://github.com/dynamic-labs/DynamicAuth/commit/98cff7687112ddbf2971fa4e42cc959f5be62014)), closes [#2809](https://github.com/dynamic-labs/DynamicAuth/issues/2809)
15
+ * wrong wallet list is showing after disconnecting and network change ([#2832](https://github.com/dynamic-labs/DynamicAuth/issues/2832)) ([b7af548](https://github.com/dynamic-labs/DynamicAuth/commit/b7af5480a0f05b851cf9accb3ab0870fd2836a92))
16
+
17
+
18
+ * remove deprecated multiwallet prop ([#2821](https://github.com/dynamic-labs/DynamicAuth/issues/2821)) ([d95173d](https://github.com/dynamic-labs/DynamicAuth/commit/d95173de890104b1b94b612976682c9d86ec4b17))
19
+
20
+ ## [0.18.0-beta.28](https://github.com/dynamic-labs/DynamicAuth/compare/v0.18.0-RC.27...v0.18.0-beta.28) (2023-08-03)
21
+
22
+
23
+ ### Bug Fixes
24
+
25
+ * gracefully handle walletbook fallbacks ([#2812](https://github.com/dynamic-labs/DynamicAuth/issues/2812)) ([#2822](https://github.com/dynamic-labs/DynamicAuth/issues/2822)) ([8e737d6](https://github.com/dynamic-labs/DynamicAuth/commit/8e737d602d64fa2414ba136799b8878e975a40a2))
26
+
27
+ ## [0.18.0-RC.27](https://github.com/dynamic-labs/DynamicAuth/compare/v0.18.0-RC.26...v0.18.0-RC.27) (2023-08-03)
28
+
29
+ ### Bug Fixes
30
+
31
+ * fixes circular dependency issues on usePromise
32
+
33
+ ## [0.18.0-RC.26](https://github.com/dynamic-labs/DynamicAuth/compare/v0.18.0-RC.24...v0.18.0-RC.26) (2023-08-02)
34
+
35
+
36
+ ### ⚠ BREAKING CHANGES
37
+
38
+ * displayTermsOfService prop set to false breaks message verfication (#2751)
39
+
40
+ ### Features
41
+
42
+ * send wagmi settings from wagmi connector ([#2791](https://github.com/dynamic-labs/DynamicAuth/issues/2791)) ([#2800](https://github.com/dynamic-labs/DynamicAuth/issues/2800)) ([5b65605](https://github.com/dynamic-labs/DynamicAuth/commit/5b656059361a48de57e01ad2dd81de0bc9b2c7e8))
43
+
44
+
45
+ ### Bug Fixes
46
+
47
+ * always call onBeforeConnectSuccess callback when wallet state changes ([#2786](https://github.com/dynamic-labs/DynamicAuth/issues/2786)) ([e2eaef3](https://github.com/dynamic-labs/DynamicAuth/commit/e2eaef3da1f80cdc7dc21e902e9c033e581242d2))
48
+ * displayTermsOfService prop set to false breaks message verfication ([#2751](https://github.com/dynamic-labs/DynamicAuth/issues/2751)) ([6433732](https://github.com/dynamic-labs/DynamicAuth/commit/6433732fac87d641f2475d19ef743ac31130274f))
49
+ * ensure auto-redirect back to dapp after message signing ([#2783](https://github.com/dynamic-labs/DynamicAuth/issues/2783)) ([dba4664](https://github.com/dynamic-labs/DynamicAuth/commit/dba466473ecc2afd808cdae0fd9023d38676b01f))
50
+ * use css.supports only when available ([#2802](https://github.com/dynamic-labs/DynamicAuth/issues/2802)) ([7651898](https://github.com/dynamic-labs/DynamicAuth/commit/76518982a97e728ab65549f37f55b537eed4e890))
51
+
52
+ ## [0.18.0-RC.25](https://github.com/dynamic-labs/DynamicAuth/compare/v0.18.0-RC.24...v0.18.0-RC.25) (2023-08-01)
53
+
54
+
55
+ ### ⚠ BREAKING CHANGES
56
+
57
+ * displayTermsOfService prop set to false breaks message verfication (#2751)
58
+
59
+ ### Bug Fixes
60
+
61
+ * always call onBeforeConnectSuccess callback when wallet state changes ([#2786](https://github.com/dynamic-labs/DynamicAuth/issues/2786)) ([e2eaef3](https://github.com/dynamic-labs/DynamicAuth/commit/e2eaef3da1f80cdc7dc21e902e9c033e581242d2))
62
+ * displayTermsOfService prop set to false breaks message verfication ([#2751](https://github.com/dynamic-labs/DynamicAuth/issues/2751)) ([6433732](https://github.com/dynamic-labs/DynamicAuth/commit/6433732fac87d641f2475d19ef743ac31130274f))
63
+ * ensure auto-redirect back to dapp after message signing ([#2783](https://github.com/dynamic-labs/DynamicAuth/issues/2783)) ([dba4664](https://github.com/dynamic-labs/DynamicAuth/commit/dba466473ecc2afd808cdae0fd9023d38676b01f))
64
+
65
+ ## [0.18.0-RC.24](https://github.com/dynamic-labs/DynamicAuth/compare/v0.18.0-RC.23...v0.18.0-RC.24) (2023-08-01)
66
+
67
+
68
+ ### Features
69
+
70
+ * **QNTM-156:** onBeforeConnectSuccessConfirmation on account change ([#2782](https://github.com/dynamic-labs/DynamicAuth/issues/2782)) ([eeabcd0](https://github.com/dynamic-labs/DynamicAuth/commit/eeabcd07889b7284680dc92a83bfa1b8321fa0f5))
71
+
72
+
73
+ ### Bug Fixes
74
+
75
+ * **bridge:** reordering not mess connected wallets ([#2758](https://github.com/dynamic-labs/DynamicAuth/issues/2758)) ([2cdc240](https://github.com/dynamic-labs/DynamicAuth/commit/2cdc240b1f5b401880d776174646ebc9383506d2))
76
+
77
+ ## [0.18.0-RC.23](https://github.com/dynamic-labs/DynamicAuth/compare/v0.18.0-RC.22...v0.18.0-RC.23) (2023-07-31)
78
+
79
+
80
+ ### Features
81
+
82
+ * add hook to expose link/unlink social account ([#2766](https://github.com/dynamic-labs/DynamicAuth/issues/2766)) ([06366ee](https://github.com/dynamic-labs/DynamicAuth/commit/06366eebd9917f39c0177307616bcd936f023326))
83
+ * show modal for duplicate emails ([#2761](https://github.com/dynamic-labs/DynamicAuth/issues/2761)) ([421235b](https://github.com/dynamic-labs/DynamicAuth/commit/421235b4c41ce682b0cf75093dff8281031121cb))
84
+
85
+
86
+ ### Bug Fixes
87
+
88
+ * missing dependencies and providers for MockContextProvider ([#2779](https://github.com/dynamic-labs/DynamicAuth/issues/2779)) ([15ce9af](https://github.com/dynamic-labs/DynamicAuth/commit/15ce9af40240f50878c2a4f103bdcb98d845b49b))
89
+ * Revert "fix: ensure metamask auto-redirect upon message signing ([#2757](https://github.com/dynamic-labs/DynamicAuth/issues/2757))" ([#2776](https://github.com/dynamic-labs/DynamicAuth/issues/2776)) ([9abe356](https://github.com/dynamic-labs/DynamicAuth/commit/9abe3568a9ba9c70a6e17f03e9746a787feae92e))
90
+
91
+ ## [0.18.0-RC.22](https://github.com/dynamic-labs/DynamicAuth/compare/v0.18.0-RC.21...v0.18.0-RC.22) (2023-07-28)
92
+
93
+ ## [0.18.0-RC.21](https://github.com/dynamic-labs/DynamicAuth/compare/v0.18.0-RC.20...v0.18.0-RC.21) (2023-07-28)
94
+
95
+ ## [0.18.0-RC.20](https://github.com/dynamic-labs/DynamicAuth/compare/v0.18.0-RC.19...v0.18.0-RC.20) (2023-07-27)
96
+
97
+
98
+ ### Features
99
+
100
+ * **QNTM-56:** add onBeforeConnectSuccessConfirmation callback ([#2753](https://github.com/dynamic-labs/DynamicAuth/issues/2753)) ([b174396](https://github.com/dynamic-labs/DynamicAuth/commit/b174396ab341cbcf11c6940e54931c0db3954d0d))
101
+ * **QNTM-72:** add backpack wallet ([#2702](https://github.com/dynamic-labs/DynamicAuth/issues/2702)) ([0d0ce9c](https://github.com/dynamic-labs/DynamicAuth/commit/0d0ce9c0d92118a78b5e40f64c5530246523712a))
102
+
103
+
104
+ ### Bug Fixes
105
+
106
+ * bump sdk version and change sdksettings api ([#2760](https://github.com/dynamic-labs/DynamicAuth/issues/2760)) ([6e3e205](https://github.com/dynamic-labs/DynamicAuth/commit/6e3e2050ed63d2df2d88d9169bc89d5f17870847))
107
+ * check funding enabled based on enabled onramp providers instead of onrampFunding settings ([#2662](https://github.com/dynamic-labs/DynamicAuth/issues/2662)) ([d542a9b](https://github.com/dynamic-labs/DynamicAuth/commit/d542a9b2950640e473afe378c857f4d2dd1926ff))
108
+ * ensure metamask auto-redirect upon message signing ([#2757](https://github.com/dynamic-labs/DynamicAuth/issues/2757)) ([a590f4b](https://github.com/dynamic-labs/DynamicAuth/commit/a590f4b054cd1de7ad400763d769b0daf4fcaad2))
109
+ * **QNTM-123:** use `linkedWallets` after signing the first message ([#2741](https://github.com/dynamic-labs/DynamicAuth/issues/2741)) ([7f26151](https://github.com/dynamic-labs/DynamicAuth/commit/7f26151db69b50102fd4b09ec470c8f19ce7b68f))
110
+
111
+ ## [0.18.0-RC.19](https://github.com/dynamic-labs/DynamicAuth/compare/v0.18.0-RC.18...v0.18.0-RC.19) (2023-07-25)
112
+
113
+
114
+ ### ⚠ BREAKING CHANGES
115
+
116
+ * it updates the variable name isUserConnected to isFullyConnected
117
+ to better reflect its purpose in the codebase. user should be reserved for fully authenticated entities
118
+
119
+ ### Features
120
+
121
+ * Update WalletConnect wallet registry ([#2744](https://github.com/dynamic-labs/DynamicAuth/issues/2744)) ([46285ad](https://github.com/dynamic-labs/DynamicAuth/commit/46285adc77d12cdfe43d0ce1296308f4905fbfb5))
122
+
123
+
124
+ ### Bug Fixes
125
+
126
+ * missing field handling on email verification ([#2740](https://github.com/dynamic-labs/DynamicAuth/issues/2740)) ([3a42804](https://github.com/dynamic-labs/DynamicAuth/commit/3a428049a1f56a263135d636a335e597b3195b51))
127
+
128
+
129
+ * rename isUserConnected to isFullyConnected ([#2739](https://github.com/dynamic-labs/DynamicAuth/issues/2739)) ([951780b](https://github.com/dynamic-labs/DynamicAuth/commit/951780be79acdc5191ffb8a6a525a2701832a2ad))
130
+
131
+ ## [0.18.0-RC.18](https://github.com/dynamic-labs/DynamicAuth/compare/v0.18.0-RC.17...v0.18.0-RC.18) (2023-07-24)
132
+
133
+ ### Bug Fixes
134
+
135
+ * do not call connectSuccess when already connected ([#2705](https://github.com/dynamic-labs/DynamicAuth/issues/2705)) ([12a65fb](https://github.com/dynamic-labs/DynamicAuth/commit/12a65fb5e59a38de0f5fb0e7eab3ce3d558f201f))
136
+ * do not proceed to authSuccess if there are still missing fields ([#2712](https://github.com/dynamic-labs/DynamicAuth/issues/2712)) ([2fb10ed](https://github.com/dynamic-labs/DynamicAuth/commit/2fb10ed7f9c28476d61856887b517bdae10b80f4))
137
+ * add legacy safari detection ([#2733](https://github.com/dynamic-labs/DynamicAuth/issues/2733)) ([1b21c57](https://github.com/dynamic-labs/DynamicAuth/commit/1b21c57c1fd7c458f499cc09ef60364c314b0464))
138
+
139
+ ## [0.18.0-RC.17](https://github.com/dynamic-labs/DynamicAuth/compare/v0.18.0-RC.16...v0.18.0-RC.17) (2023-07-24)
140
+
141
+
142
+ ### Features
143
+
144
+ * add ongoingVerifications object disclaiming which verifications are in progress ([#2633](https://github.com/dynamic-labs/DynamicAuth/issues/2633)) ([948c778](https://github.com/dynamic-labs/DynamicAuth/commit/948c778e5955fcf80e31ac7f368e7605cd7eb7d5))
145
+ * add rabby wallet support ([#2590](https://github.com/dynamic-labs/DynamicAuth/issues/2590)) ([d70c49d](https://github.com/dynamic-labs/DynamicAuth/commit/d70c49d0b348ced3ee5691fdfc19b3eef5ba79db))
146
+ * **DYN-2399:** send dynamicContext props from sdk to api ([#2659](https://github.com/dynamic-labs/DynamicAuth/issues/2659)) ([f06787b](https://github.com/dynamic-labs/DynamicAuth/commit/f06787bf6ec1dc69c53ee6287fd3721d47901ad1))
147
+ * introduce MenuList and Dropdown components to unify previously redundant implementations ([#2675](https://github.com/dynamic-labs/DynamicAuth/issues/2675)) ([dfc63a5](https://github.com/dynamic-labs/DynamicAuth/commit/dfc63a5fef2c00cf0187e7a481dc3267d44f6cc3))
148
+ * **QNTM-101:** add loading state to button ([#2691](https://github.com/dynamic-labs/DynamicAuth/issues/2691)) ([5a7b539](https://github.com/dynamic-labs/DynamicAuth/commit/5a7b5392c4b17cc26ecc621d11afdf37f2f10c65))
149
+ * update blocto version to v2 ([#2651](https://github.com/dynamic-labs/DynamicAuth/issues/2651)) ([441f85e](https://github.com/dynamic-labs/DynamicAuth/commit/441f85efa3921a57b9b282631016162902c8aabb))
150
+ * verify connected wallets network at runtime ([#2667](https://github.com/dynamic-labs/DynamicAuth/issues/2667)) ([8fa8dcc](https://github.com/dynamic-labs/DynamicAuth/commit/8fa8dccdfcb56d9d76d0cd00a153a95e5d52b4dc))
151
+
152
+
153
+ ### Bug Fixes
154
+
155
+ * correctly round balance numbers on widget ([#2625](https://github.com/dynamic-labs/DynamicAuth/issues/2625)) ([7b45483](https://github.com/dynamic-labs/DynamicAuth/commit/7b45483e7bdb458434b7787f9df930ba9acbc8e0))
156
+ * decrease NetworkNotSupported useEffects calls to avoid race condition ([#2731](https://github.com/dynamic-labs/DynamicAuth/issues/2731)) ([6a7baf1](https://github.com/dynamic-labs/DynamicAuth/commit/6a7baf1c63e82b27d03540d670603fe11685348a))
157
+ * **GVTY-58:** do not allow users to submit empty whitespace strings in onboarding form ([#2720](https://github.com/dynamic-labs/DynamicAuth/issues/2720)) ([916f27a](https://github.com/dynamic-labs/DynamicAuth/commit/916f27a5c880281245c71af3f16217cda5317c26))
158
+ * playwright tests were failing due to new cookies popup that overlapped sdk modal ([#2709](https://github.com/dynamic-labs/DynamicAuth/issues/2709)) ([9254777](https://github.com/dynamic-labs/DynamicAuth/commit/92547773047687fcc50ad6b895b1b59176d42af7))
159
+ * **QNTM-111:** call onConnectSuccess with correct wallet connector in… ([#2724](https://github.com/dynamic-labs/DynamicAuth/issues/2724)) ([159e78c](https://github.com/dynamic-labs/DynamicAuth/commit/159e78ce458762f0e2ccbaf2acbc81efde35830a))
160
+ * **QNTM-98:** improve connectedWallets state management and connected wallets events listeners ([#2696](https://github.com/dynamic-labs/DynamicAuth/issues/2696)) ([3a91a37](https://github.com/dynamic-labs/DynamicAuth/commit/3a91a371423f50d28640141d0ca6a643a8dcf25a))
161
+ * update broken safe icon ([#2713](https://github.com/dynamic-labs/DynamicAuth/issues/2713)) ([42943b4](https://github.com/dynamic-labs/DynamicAuth/commit/42943b4684c165ec103fbed0e69e691bee4d305f))
162
+
163
+ ## [0.18.0-RC.16](https://github.com/dynamic-labs/DynamicAuth/compare/v0.18.0-RC.15...v0.18.0-RC.16) (2023-07-18)
164
+
165
+
166
+ ### Features
167
+
168
+ * **QNTM-30:** add spinner to log out button ([#2663](https://github.com/dynamic-labs/DynamicAuth/issues/2663)) ([fceafbb](https://github.com/dynamic-labs/DynamicAuth/commit/fceafbb6fecf323df39ac3a8f518ba8005d4b550))
169
+
170
+
171
+ ### Bug Fixes
172
+
173
+ * handle edge cases for missing projectSettings for PoweredByDynamic ([#2684](https://github.com/dynamic-labs/DynamicAuth/issues/2684)) ([6f5b3d8](https://github.com/dynamic-labs/DynamicAuth/commit/6f5b3d8d1b1d4aed0dd2e73e5423f6e50347ff3d))
174
+ * typo in blocked view ([#2673](https://github.com/dynamic-labs/DynamicAuth/issues/2673)) ([034bdaf](https://github.com/dynamic-labs/DynamicAuth/commit/034bdafb44b767600ea7c0148f39dd026280e3b8))
175
+
176
+ ## [0.18.0-RC.15](https://github.com/dynamic-labs/DynamicAuth/compare/v0.18.0-RC.14...v0.18.0-RC.15) (2023-07-18)
177
+
178
+
179
+ ### Features
180
+
181
+ * add `updateConnectedWalletById` function, add `network` property to connectedWallets ([#2666](https://github.com/dynamic-labs/DynamicAuth/issues/2666)) ([3c50abf](https://github.com/dynamic-labs/DynamicAuth/commit/3c50abf964a2807c6e1af9fceeb1ca259785a21f))
182
+ * add magic to ethereum-all package ([#2576](https://github.com/dynamic-labs/DynamicAuth/issues/2576)) ([7676ef2](https://github.com/dynamic-labs/DynamicAuth/commit/7676ef2883b30adf2c1b521d7c1848248ceadb24))
183
+ * allow switching between multiwallet and single wallet on demo ([#2596](https://github.com/dynamic-labs/DynamicAuth/issues/2596)) ([dae87c1](https://github.com/dynamic-labs/DynamicAuth/commit/dae87c12d2f1be64c2ca1f232ffdf2da998b1c1e))
184
+ * clear values from LS that cannot be parsed ([#2542](https://github.com/dynamic-labs/DynamicAuth/issues/2542)) ([41faf5d](https://github.com/dynamic-labs/DynamicAuth/commit/41faf5dbc07937685b4d89f87ae040021c5fee00))
185
+ * **QNTM-82:** should not go back to "get started" view if one wallet already connected ([#2653](https://github.com/dynamic-labs/DynamicAuth/issues/2653)) ([004db41](https://github.com/dynamic-labs/DynamicAuth/commit/004db410eb11af9ba105058df4958f20633a3002))
186
+
187
+
188
+ ### Bug Fixes
189
+
190
+ * **bridge:** update the wallets to connect when unlinking ([#2604](https://github.com/dynamic-labs/DynamicAuth/issues/2604)) ([4739306](https://github.com/dynamic-labs/DynamicAuth/commit/4739306c2d742e961281747427821af7c36b6cc2))
191
+ * network picker is broken in network switch view ([#2612](https://github.com/dynamic-labs/DynamicAuth/issues/2612)) ([c514ba4](https://github.com/dynamic-labs/DynamicAuth/commit/c514ba4f931c243bdd60329db7ed1691fc36819c))
192
+ * search not found icon in wrong color in dark mode ([#2656](https://github.com/dynamic-labs/DynamicAuth/issues/2656)) ([a4db736](https://github.com/dynamic-labs/DynamicAuth/commit/a4db736b8659567330dd857792cc12b17ce9d851))
193
+ * use dynamicauth.com for api requests ([#2649](https://github.com/dynamic-labs/DynamicAuth/issues/2649)) ([acae0af](https://github.com/dynamic-labs/DynamicAuth/commit/acae0afc2a18c41fa61b2c487ff1ceb46c5d9a1f))
194
+ * wallet should be disconnected when NetworkNotSupported view is ignored in connect-only mode ([#2658](https://github.com/dynamic-labs/DynamicAuth/issues/2658)) ([f3565cf](https://github.com/dynamic-labs/DynamicAuth/commit/f3565cf09a1ddcc671b596bbe23c68d35afc81b5))
195
+
196
+ ## [0.18.0-RC.14](https://github.com/dynamic-labs/DynamicAuth/compare/v0.18.0-RC.13...v0.18.0-RC.14) (2023-07-11)
197
+
198
+
199
+ ### ⚠ BREAKING CHANGES
200
+
201
+ * **QNTM-68:** we currently expose concatenated primary and secondary
202
+ wallets array as connectedWallets, this is wrong and may cause issues with
203
+ understanding our architecture as well as issues for customers that want
204
+ to have access to connectedWallets array.
205
+
206
+ * chore(QNTM-68): expose connectedWallets from DynamicContext
207
+
208
+ since, we renamed connectedWallets to linkedWallets, we now want to expose correct value
209
+ for connectedWallets.
210
+
211
+ * chore(QNTM-68)!: remove connectedWalletsInfo from useDynamicContext
212
+ * **QNTM-68:** since we're exposing connectedWallets and this variable
213
+ has less information there is no need in exposing it from DynamicContext
214
+
215
+ * **QNTM-68:** update connectedWallets property and expose linkedWallets ([#2644](https://github.com/dynamic-labs/DynamicAuth/issues/2644)) ([8b707c3](https://github.com/dynamic-labs/DynamicAuth/commit/8b707c3fb2e14aa25385b35768ffa355ef7117e5))
216
+
217
+ ## [0.18.0-RC.13](https://github.com/dynamic-labs/DynamicAuth/compare/v0.18.0-RC.12...v0.18.0-RC.13) (2023-07-11)
218
+
219
+
220
+ ### Features
221
+
222
+ * **DynamicContextProvider:** expose socialProviderFilter to modify social provider display order ([#2607](https://github.com/dynamic-labs/DynamicAuth/issues/2607)) ([0f03260](https://github.com/dynamic-labs/DynamicAuth/commit/0f03260e739da3e68c32a2a87a2ca629bb1f28b5))
223
+ * **GVTY-21:** Blocto Email provider ([#2524](https://github.com/dynamic-labs/DynamicAuth/issues/2524)) ([434ce59](https://github.com/dynamic-labs/DynamicAuth/commit/434ce598b3bc13841121b61e5ead7547d3c44eea))
224
+ * listen for the network change in network not supported views ([#2611](https://github.com/dynamic-labs/DynamicAuth/issues/2611)) ([957fbce](https://github.com/dynamic-labs/DynamicAuth/commit/957fbce55d7906f9d6b109838035b2c0306a4b85))
225
+
226
+
227
+ ### Bug Fixes
228
+
229
+ * Clean up provider re-initializing after logout ([#2632](https://github.com/dynamic-labs/DynamicAuth/issues/2632)) ([fbc2201](https://github.com/dynamic-labs/DynamicAuth/commit/fbc22013d6784061cb4fdd72e24695c89f0e2fe5))
230
+ * **MagicWalletConnector:** check if user is logged when getting balance ([#2614](https://github.com/dynamic-labs/DynamicAuth/issues/2614)) ([ced9d66](https://github.com/dynamic-labs/DynamicAuth/commit/ced9d66cb335c3033a18642bdd841ee6be6c1e05))
231
+ * **useValidateSessin:** only check for bridge on wallet connect wallets ([#2571](https://github.com/dynamic-labs/DynamicAuth/issues/2571)) ([349b659](https://github.com/dynamic-labs/DynamicAuth/commit/349b65963f1d5392f63aaa138f6498f0d17cd43f))
232
+
233
+ ## [0.18.0-RC.12](https://github.com/dynamic-labs/DynamicAuth/compare/v0.18.0-RC.11...v0.18.0-RC.12) (2023-07-07)
234
+
235
+
236
+ ### Features
237
+
238
+ * add event listeners to connect-only ([#2578](https://github.com/dynamic-labs/DynamicAuth/issues/2578)) ([42fcf09](https://github.com/dynamic-labs/DynamicAuth/commit/42fcf096ac439ec883a79bf5811b27cdc360015a))
239
+ * add message when search finds no wallet ([#2421](https://github.com/dynamic-labs/DynamicAuth/issues/2421)) ([694ecee](https://github.com/dynamic-labs/DynamicAuth/commit/694ecee94d9f6f636364eae4aa95ea48e3ff0e0a))
240
+ * allow adding either ToS or PP and enable customization for both ([#2451](https://github.com/dynamic-labs/DynamicAuth/issues/2451)) ([0dce0fe](https://github.com/dynamic-labs/DynamicAuth/commit/0dce0fe534056298cbfdd9caa694231ede00c3fc))
241
+
242
+
243
+ ### Bug Fixes
244
+
245
+ * **BridgeSummaryView:** handle primary wallet when it is not defined ([#2602](https://github.com/dynamic-labs/DynamicAuth/issues/2602)) ([8a5daa4](https://github.com/dynamic-labs/DynamicAuth/commit/8a5daa4b2ad218460ccfaab0fa68c75d0d5d569f))
246
+ * secondary wallets network change overrides primary wallet network ([#2603](https://github.com/dynamic-labs/DynamicAuth/issues/2603)) ([358fc45](https://github.com/dynamic-labs/DynamicAuth/commit/358fc45ecb73f31294744f7ba4dbba5779a3e1cf))
247
+
248
+ ## [0.18.0-RC.11](https://github.com/dynamic-labs/DynamicAuth/compare/v0.18.0-RC.10...v0.18.0-RC.11) (2023-07-07)
249
+
250
+
251
+ ### Features
252
+
253
+ * **DYN-2384:** expose useDynamicScopes hook ([#2179](https://github.com/dynamic-labs/DynamicAuth/issues/2179)) ([c224749](https://github.com/dynamic-labs/DynamicAuth/commit/c2247493d9c99dab7e41d7d8d156ae7e478973bc))
254
+ * **DynamicBridgeWidget:** add UI inline widget to match designs ([#2587](https://github.com/dynamic-labs/DynamicAuth/issues/2587)) ([d623aec](https://github.com/dynamic-labs/DynamicAuth/commit/d623aecda6388b67e40a3f8dabb03ca03a6f22b6))
255
+ * support starknet networks ([#2579](https://github.com/dynamic-labs/DynamicAuth/issues/2579)) ([a01545e](https://github.com/dynamic-labs/DynamicAuth/commit/a01545e0cf8e4e19a22dc64877d590d78647c579))
256
+
257
+
258
+ ### Bug Fixes
259
+
260
+ * metamask getConnectedAccounts triggering an infinite loop ([#2580](https://github.com/dynamic-labs/DynamicAuth/issues/2580)) ([e025cea](https://github.com/dynamic-labs/DynamicAuth/commit/e025cea33e4a95ea2a03ac11e47a88a73db39848))
261
+
262
+ ## [0.18.0-RC.10](https://github.com/dynamic-labs/DynamicAuth/compare/v0.18.0-RC.9...v0.18.0-RC.10) (2023-07-06)
263
+
264
+
265
+ ### Features
266
+
267
+ * Update handleUnlink to support connected only wallets ([#2573](https://github.com/dynamic-labs/DynamicAuth/issues/2573)) ([07438c9](https://github.com/dynamic-labs/DynamicAuth/commit/07438c9580b830aa68fcc6a06ea4050a3743a501))
268
+
269
+
270
+ ### Bug Fixes
271
+
272
+ * restore connectedWallet clearing function ([#2575](https://github.com/dynamic-labs/DynamicAuth/issues/2575)) ([8d3c41a](https://github.com/dynamic-labs/DynamicAuth/commit/8d3c41a6871037b1003270e724259f23c5f6f370))
273
+
2
274
  ## [0.18.0-RC.9](https://github.com/dynamic-labs/DynamicAuth/compare/v0.18.0-RC.8...v0.18.0-RC.9) (2023-07-04)
3
275
 
4
276
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dynamic-labs/ethereum",
3
- "version": "0.18.0-RC.9",
3
+ "version": "0.18.0-beta.29",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/dynamic-labs/DynamicAuth.git",
@@ -32,11 +32,12 @@
32
32
  "ethers": "5.7.2",
33
33
  "eventemitter3": "5.0.1",
34
34
  "buffer": "6.0.3",
35
- "@dynamic-labs/rpc-providers": "0.18.0-RC.9",
36
- "@dynamic-labs/types": "0.18.0-RC.9",
37
- "@dynamic-labs/utils": "0.18.0-RC.9",
38
- "@dynamic-labs/wallet-book": "0.18.0-RC.9",
39
- "@dynamic-labs/wallet-connector-core": "0.18.0-RC.9"
35
+ "@dynamic-labs/rpc-providers": "0.18.0-beta.29",
36
+ "@dynamic-labs/types": "0.18.0-beta.29",
37
+ "@dynamic-labs/utils": "0.18.0-beta.29",
38
+ "@dynamic-labs/wallet-book": "0.18.0-beta.29",
39
+ "@dynamic-labs/wallet-connector-core": "0.18.0-beta.29",
40
+ "@ethersproject/providers": "5.7.2"
40
41
  },
41
42
  "peerDependencies": {}
42
43
  }
@@ -26,7 +26,7 @@ export declare abstract class EthWalletConnector extends WalletConnectorBase {
26
26
  supportsNetworkSwitching(): boolean;
27
27
  switchNetwork({ networkName, networkChainId, }: SwitchNetworkOps): Promise<void>;
28
28
  getConnectedAccounts(): Promise<string[]>;
29
- protected providerSwitchNetwork({ network, provider, }: {
29
+ providerSwitchNetwork({ network, provider, }: {
30
30
  network: EvmNetwork;
31
31
  provider: ethers.providers.Web3Provider;
32
32
  }): Promise<void>;
@@ -160,6 +160,8 @@ _a.installedProviderLookup([
160
160
  { flag: 'isZerion', value: false },
161
161
  { flag: 'isMetaMask', value: true },
162
162
  { flag: 'isSuperb', value: false },
163
+ { flag: 'isRabby', value: false },
164
+ { flag: 'isBackpack', value: false },
163
165
  ]);
164
166
  EthProviderHelper.BraveProvider = () => _a.installedProviderLookup([{ flag: 'isBraveWallet', value: true }]);
165
167
  EthProviderHelper.DawnProvider = () => _a.installedProviderLookup([{ flag: 'isDawn', value: true }]);
@@ -173,6 +175,8 @@ EthProviderHelper.TrustWalletProvider = () => _a.installedProviderLookup([{ flag
173
175
  EthProviderHelper.PhantomProvider = () => _a.installedProviderLookup([{ flag: 'isPhantom', value: true }]);
174
176
  EthProviderHelper.ZerionProvider = () => _a.installedProviderLookup([{ flag: 'isZerion', value: true }]);
175
177
  EthProviderHelper.SuperbProvider = () => _a.installedProviderLookup([{ flag: 'isSuperb', value: true }]);
178
+ EthProviderHelper.RabbyProvider = () => _a.installedProviderLookup([{ flag: 'isRabby', value: true }]);
179
+ EthProviderHelper.BackpackProvider = () => _a.installedProviderLookup([{ flag: 'isBackpack', value: true }]);
176
180
  EthProviderHelper.UnknownInjectedProvider = () => _a.installedProviderLookup([
177
181
  { flag: 'isMetaMask', value: false },
178
182
  { flag: 'isExodus', value: false },
@@ -186,8 +190,11 @@ EthProviderHelper.UnknownInjectedProvider = () => _a.installedProviderLookup([
186
190
  { flag: 'isPhantom', value: false },
187
191
  { flag: 'isZerion', value: false },
188
192
  { flag: 'isSuperb', value: false },
193
+ { flag: 'isRabby', value: false },
194
+ { flag: 'isBackpack', value: false },
189
195
  ]);
190
196
  EthProviderHelper.providers = {
197
+ backpack: _a.BackpackProvider,
191
198
  bloctoinjected: _a.BloctoProvider,
192
199
  braveevm: _a.BraveProvider,
193
200
  coinbase: _a.CoinbaseProvider,
@@ -199,6 +206,7 @@ EthProviderHelper.providers = {
199
206
  metamask: _a.MetamaskProvider,
200
207
  opera: _a.OperaProvider,
201
208
  phantomevm: _a.PhantomProvider,
209
+ rabby: _a.RabbyProvider,
202
210
  superb: _a.SuperbProvider,
203
211
  trust: _a.TrustWalletProvider,
204
212
  zerion: _a.ZerionProvider,
@@ -16,6 +16,8 @@ export declare class EthProviderHelper {
16
16
  static PhantomProvider: Provider;
17
17
  static ZerionProvider: Provider;
18
18
  static SuperbProvider: Provider;
19
+ static RabbyProvider: Provider;
20
+ static BackpackProvider: Provider;
19
21
  static UnknownInjectedProvider: Provider;
20
22
  static providers: {
21
23
  [wallet: string]: Provider;
@@ -156,6 +156,8 @@ _a.installedProviderLookup([
156
156
  { flag: 'isZerion', value: false },
157
157
  { flag: 'isMetaMask', value: true },
158
158
  { flag: 'isSuperb', value: false },
159
+ { flag: 'isRabby', value: false },
160
+ { flag: 'isBackpack', value: false },
159
161
  ]);
160
162
  EthProviderHelper.BraveProvider = () => _a.installedProviderLookup([{ flag: 'isBraveWallet', value: true }]);
161
163
  EthProviderHelper.DawnProvider = () => _a.installedProviderLookup([{ flag: 'isDawn', value: true }]);
@@ -169,6 +171,8 @@ EthProviderHelper.TrustWalletProvider = () => _a.installedProviderLookup([{ flag
169
171
  EthProviderHelper.PhantomProvider = () => _a.installedProviderLookup([{ flag: 'isPhantom', value: true }]);
170
172
  EthProviderHelper.ZerionProvider = () => _a.installedProviderLookup([{ flag: 'isZerion', value: true }]);
171
173
  EthProviderHelper.SuperbProvider = () => _a.installedProviderLookup([{ flag: 'isSuperb', value: true }]);
174
+ EthProviderHelper.RabbyProvider = () => _a.installedProviderLookup([{ flag: 'isRabby', value: true }]);
175
+ EthProviderHelper.BackpackProvider = () => _a.installedProviderLookup([{ flag: 'isBackpack', value: true }]);
172
176
  EthProviderHelper.UnknownInjectedProvider = () => _a.installedProviderLookup([
173
177
  { flag: 'isMetaMask', value: false },
174
178
  { flag: 'isExodus', value: false },
@@ -182,8 +186,11 @@ EthProviderHelper.UnknownInjectedProvider = () => _a.installedProviderLookup([
182
186
  { flag: 'isPhantom', value: false },
183
187
  { flag: 'isZerion', value: false },
184
188
  { flag: 'isSuperb', value: false },
189
+ { flag: 'isRabby', value: false },
190
+ { flag: 'isBackpack', value: false },
185
191
  ]);
186
192
  EthProviderHelper.providers = {
193
+ backpack: _a.BackpackProvider,
187
194
  bloctoinjected: _a.BloctoProvider,
188
195
  braveevm: _a.BraveProvider,
189
196
  coinbase: _a.CoinbaseProvider,
@@ -195,6 +202,7 @@ EthProviderHelper.providers = {
195
202
  metamask: _a.MetamaskProvider,
196
203
  opera: _a.OperaProvider,
197
204
  phantomevm: _a.PhantomProvider,
205
+ rabby: _a.RabbyProvider,
198
206
  superb: _a.SuperbProvider,
199
207
  trust: _a.TrustWalletProvider,
200
208
  zerion: _a.ZerionProvider,
package/src/index.cjs CHANGED
@@ -27,6 +27,8 @@ var PhantomEvm = require('./injected/PhantomEvm.cjs');
27
27
  var Trust = require('./injected/Trust.cjs');
28
28
  var UnknownInjectedWallet = require('./injected/UnknownInjectedWallet.cjs');
29
29
  var Zerion = require('./injected/Zerion.cjs');
30
+ var Rabby = require('./injected/Rabby.cjs');
31
+ var BackpackEvm = require('./injected/BackpackEvm.cjs');
30
32
 
31
33
  const EthereumWalletConnectors = (props) => [
32
34
  ...index.injectedWallets,
@@ -50,4 +52,6 @@ exports.PhantomEvm = PhantomEvm.PhantomEvm;
50
52
  exports.Trust = Trust.Trust;
51
53
  exports.UnknownInjectedWallet = UnknownInjectedWallet.UnknownInjectedWallet;
52
54
  exports.Zerion = Zerion.Zerion;
55
+ exports.Rabby = Rabby.Rabby;
56
+ exports.BackpackEvm = BackpackEvm.BackpackEvm;
53
57
  exports.EthereumWalletConnectors = EthereumWalletConnectors;
package/src/index.js CHANGED
@@ -24,6 +24,8 @@ export { PhantomEvm } from './injected/PhantomEvm.js';
24
24
  export { Trust } from './injected/Trust.js';
25
25
  export { UnknownInjectedWallet } from './injected/UnknownInjectedWallet.js';
26
26
  export { Zerion } from './injected/Zerion.js';
27
+ export { Rabby } from './injected/Rabby.js';
28
+ export { BackpackEvm } from './injected/BackpackEvm.js';
27
29
 
28
30
  const EthereumWalletConnectors = (props) => [
29
31
  ...injectedWallets,
@@ -0,0 +1,25 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var _tslib = require('../../_virtual/_tslib.cjs');
6
+ var ethProviderHelper = require('../ethProviderHelper.cjs');
7
+ var InjectedWalletBase = require('./InjectedWalletBase.cjs');
8
+
9
+ class BackpackEvm extends InjectedWalletBase {
10
+ constructor() {
11
+ super(...arguments);
12
+ this.name = 'Backpack';
13
+ }
14
+ getConnectedAccounts() {
15
+ var _a;
16
+ return _tslib.__awaiter(this, void 0, void 0, function* () {
17
+ const provider = ethProviderHelper.EthProviderHelper.findProvider(this.name);
18
+ if (!provider)
19
+ return [];
20
+ return (_a = (yield provider.send('eth_requestAccounts', []))) !== null && _a !== void 0 ? _a : [];
21
+ });
22
+ }
23
+ }
24
+
25
+ exports.BackpackEvm = BackpackEvm;
@@ -0,0 +1,5 @@
1
+ import InjectedWalletBase from './InjectedWalletBase';
2
+ export declare class BackpackEvm extends InjectedWalletBase {
3
+ name: string;
4
+ getConnectedAccounts(): Promise<string[]>;
5
+ }
@@ -0,0 +1,21 @@
1
+ import { __awaiter } from '../../_virtual/_tslib.js';
2
+ import { EthProviderHelper } from '../ethProviderHelper.js';
3
+ import InjectedWalletBase from './InjectedWalletBase.js';
4
+
5
+ class BackpackEvm extends InjectedWalletBase {
6
+ constructor() {
7
+ super(...arguments);
8
+ this.name = 'Backpack';
9
+ }
10
+ getConnectedAccounts() {
11
+ var _a;
12
+ return __awaiter(this, void 0, void 0, function* () {
13
+ const provider = EthProviderHelper.findProvider(this.name);
14
+ if (!provider)
15
+ return [];
16
+ return (_a = (yield provider.send('eth_requestAccounts', []))) !== null && _a !== void 0 ? _a : [];
17
+ });
18
+ }
19
+ }
20
+
21
+ export { BackpackEvm };
@@ -0,0 +1,15 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var InjectedWalletBase = require('./InjectedWalletBase.cjs');
6
+
7
+ class Rabby extends InjectedWalletBase {
8
+ constructor() {
9
+ super(...arguments);
10
+ this.name = 'Rabby';
11
+ this.walletConnectorFallback = true;
12
+ }
13
+ }
14
+
15
+ exports.Rabby = Rabby;
@@ -0,0 +1,5 @@
1
+ import InjectedWalletBase from './InjectedWalletBase';
2
+ export declare class Rabby extends InjectedWalletBase {
3
+ name: string;
4
+ walletConnectorFallback: boolean;
5
+ }
@@ -0,0 +1,11 @@
1
+ import InjectedWalletBase from './InjectedWalletBase.js';
2
+
3
+ class Rabby extends InjectedWalletBase {
4
+ constructor() {
5
+ super(...arguments);
6
+ this.name = 'Rabby';
7
+ this.walletConnectorFallback = true;
8
+ }
9
+ }
10
+
11
+ export { Rabby };
@@ -15,6 +15,8 @@ var Trust = require('./Trust.cjs');
15
15
  var UnknownInjectedWallet = require('./UnknownInjectedWallet.cjs');
16
16
  var Zerion = require('./Zerion.cjs');
17
17
  var Superb = require('./Superb.cjs');
18
+ var Rabby = require('./Rabby.cjs');
19
+ var BackpackEvm = require('./BackpackEvm.cjs');
18
20
 
19
21
  const injectedWallets = [
20
22
  BloctoInjected.BloctoInjected,
@@ -30,6 +32,8 @@ const injectedWallets = [
30
32
  UnknownInjectedWallet.UnknownInjectedWallet,
31
33
  Zerion.Zerion,
32
34
  Superb.Superb,
35
+ Rabby.Rabby,
36
+ BackpackEvm.BackpackEvm,
33
37
  ];
34
38
 
35
39
  exports.BloctoInjected = BloctoInjected.BloctoInjected;
@@ -44,4 +48,6 @@ exports.PhantomEvm = PhantomEvm.PhantomEvm;
44
48
  exports.Trust = Trust.Trust;
45
49
  exports.UnknownInjectedWallet = UnknownInjectedWallet.UnknownInjectedWallet;
46
50
  exports.Zerion = Zerion.Zerion;
51
+ exports.Rabby = Rabby.Rabby;
52
+ exports.BackpackEvm = BackpackEvm.BackpackEvm;
47
53
  exports.injectedWallets = injectedWallets;
@@ -11,4 +11,6 @@ export * from './PhantomEvm';
11
11
  export * from './Trust';
12
12
  export * from './UnknownInjectedWallet';
13
13
  export * from './Zerion';
14
+ export * from './Rabby';
15
+ export * from './BackpackEvm';
14
16
  export declare const injectedWallets: WalletConnectorConstructor[];
@@ -23,6 +23,10 @@ export { UnknownInjectedWallet } from './UnknownInjectedWallet.js';
23
23
  import { Zerion } from './Zerion.js';
24
24
  export { Zerion } from './Zerion.js';
25
25
  import { Superb } from './Superb.js';
26
+ import { Rabby } from './Rabby.js';
27
+ export { Rabby } from './Rabby.js';
28
+ import { BackpackEvm } from './BackpackEvm.js';
29
+ export { BackpackEvm } from './BackpackEvm.js';
26
30
 
27
31
  const injectedWallets = [
28
32
  BloctoInjected,
@@ -38,6 +42,8 @@ const injectedWallets = [
38
42
  UnknownInjectedWallet,
39
43
  Zerion,
40
44
  Superb,
45
+ Rabby,
46
+ BackpackEvm,
41
47
  ];
42
48
 
43
49
  export { injectedWallets };
package/src/types.d.ts CHANGED
@@ -19,5 +19,5 @@ export type IEthereum = {
19
19
  method: T;
20
20
  } | object) => Promise<T extends 'eth_requestAccounts' ? [string] : object>;
21
21
  };
22
- export type ProviderFlag = 'isDawn' | 'isBraveWallet' | 'isCoinbaseWallet' | 'isFrame' | 'isGamestop' | 'isMetaMask' | 'isExodus' | 'isOpera' | 'isBlocto' | 'isTrustWallet' | 'isZerion' | 'isPhantom' | 'isSuperb';
22
+ export type ProviderFlag = 'isDawn' | 'isBraveWallet' | 'isCoinbaseWallet' | 'isFrame' | 'isGamestop' | 'isMetaMask' | 'isExodus' | 'isOpera' | 'isBlocto' | 'isTrustWallet' | 'isZerion' | 'isPhantom' | 'isSuperb' | 'isRabby' | 'isBackpack';
23
23
  export type EthProviderCondition = ProviderCondition<ProviderFlag>;
@@ -14,6 +14,8 @@ const filteredWalletConnectWallets = [
14
14
  'lilico',
15
15
  'Keplr',
16
16
  'Zerion',
17
+ 'Rabby',
18
+ 'Backpack',
17
19
  ];
18
20
  const fetchWalletConnectWallets = ({ isWalletConnectV2Enabled, walletBook, }) => {
19
21
  var _a;
@@ -10,6 +10,8 @@ const filteredWalletConnectWallets = [
10
10
  'lilico',
11
11
  'Keplr',
12
12
  'Zerion',
13
+ 'Rabby',
14
+ 'Backpack',
13
15
  ];
14
16
  const fetchWalletConnectWallets = ({ isWalletConnectV2Enabled, walletBook, }) => {
15
17
  var _a;
@@ -28,6 +28,7 @@ class WalletConnectV2 extends EthWalletConnector.EthWalletConnector {
28
28
  this.isInitialized = false;
29
29
  this.canConnectViaQrCode = true;
30
30
  this.isWalletConnect = true;
31
+ this.listeners = {};
31
32
  this.name = opts.walletName;
32
33
  this.projectId = opts.projectId;
33
34
  }
@@ -132,6 +133,7 @@ class WalletConnectV2 extends EthWalletConnector.EthWalletConnector {
132
133
  if (!WalletConnectV2.provider) {
133
134
  return;
134
135
  }
136
+ this.listeners = listeners;
135
137
  WalletConnectV2.provider.client.on('session_event', ({ params }) => {
136
138
  var _a, _b;
137
139
  if (!params || !params.event) {
@@ -171,6 +173,7 @@ class WalletConnectV2 extends EthWalletConnector.EthWalletConnector {
171
173
  if (!WalletConnectV2.provider) {
172
174
  return;
173
175
  }
176
+ this.listeners = {};
174
177
  WalletConnectV2.provider.client.removeAllListeners('session_event');
175
178
  WalletConnectV2.provider.client.removeAllListeners('session_delete');
176
179
  }
@@ -259,8 +262,21 @@ class WalletConnectV2 extends EthWalletConnector.EthWalletConnector {
259
262
  return signedMessageResult.signedMessage;
260
263
  });
261
264
  }
262
- signMessage(messageToSign) {
265
+ getDeepLink() {
263
266
  var _a, _b;
267
+ if (!this.session) {
268
+ return;
269
+ }
270
+ const metadata = walletBook.getWalletBookWallet(this.walletBook, this.name);
271
+ const deepLink = ((_a = metadata['mobile']) === null || _a === void 0 ? void 0 : _a.native) || ((_b = metadata['mobile']) === null || _b === void 0 ? void 0 : _b.universal);
272
+ if (!deepLink) {
273
+ return;
274
+ }
275
+ // we need to include the session topic here because it helps the wallet
276
+ // auto redirect back to the dapp after signing
277
+ return `${deepLink}?sessionTopic=${this.session.topic}`;
278
+ }
279
+ signMessage(messageToSign) {
264
280
  return _tslib.__awaiter(this, void 0, void 0, function* () {
265
281
  if (!this.session) {
266
282
  throw new utils.DynamicError('no session');
@@ -268,9 +284,8 @@ class WalletConnectV2 extends EthWalletConnector.EthWalletConnector {
268
284
  if (!WalletConnectV2.provider) {
269
285
  throw new utils.DynamicError('No WalletConnect provider found to handle signing');
270
286
  }
271
- const metadata = walletBook.getWalletBookWallet(this.walletBook, this.name);
272
- if (utils.isMobile()) {
273
- const deepLink = ((_a = metadata['mobile']) === null || _a === void 0 ? void 0 : _a.native) || ((_b = metadata['mobile']) === null || _b === void 0 ? void 0 : _b.universal) || '';
287
+ const deepLink = this.getDeepLink();
288
+ if (utils.isMobile() && deepLink) {
274
289
  window.location.href = deepLink;
275
290
  }
276
291
  const web3Provider = this.getWeb3Provider();
@@ -316,6 +331,7 @@ class WalletConnectV2 extends EthWalletConnector.EthWalletConnector {
316
331
  // We must unset provider on logout so that a new session can be established
317
332
  // If we don't then the provider will still have the old session and will hang
318
333
  WalletConnectV2.provider = undefined;
334
+ this.initializePromise = undefined; // Needed so we can re-initiliza the provider
319
335
  }
320
336
  catch (e) {
321
337
  walletConnectorCore.logger.debug(e);
@@ -335,6 +351,7 @@ class WalletConnectV2 extends EthWalletConnector.EthWalletConnector {
335
351
  const _super = Object.create(null, {
336
352
  providerSwitchNetwork: { get: () => super.providerSwitchNetwork }
337
353
  });
354
+ var _a, _b;
338
355
  return _tslib.__awaiter(this, void 0, void 0, function* () {
339
356
  const currentNetworkId = yield this.getNetwork();
340
357
  if (currentNetworkId && currentNetworkId === network.chainId) {
@@ -349,7 +366,8 @@ class WalletConnectV2 extends EthWalletConnector.EthWalletConnector {
349
366
  if (!provider) {
350
367
  throw new utils.DynamicError('Provider not found');
351
368
  }
352
- return _super.providerSwitchNetwork.call(this, { network, provider });
369
+ yield _super.providerSwitchNetwork.call(this, { network, provider });
370
+ (_b = (_a = this.listeners).onChainChange) === null || _b === void 0 ? void 0 : _b.call(_a, String(network.chainId));
353
371
  });
354
372
  }
355
373
  getConnectedAccounts() {
@@ -19,6 +19,7 @@ export declare class WalletConnectV2 extends EthWalletConnector {
19
19
  isWalletConnect: boolean;
20
20
  private static provider;
21
21
  private projectId?;
22
+ private listeners;
22
23
  constructor(opts: WalletConnectorV2Opts);
23
24
  private initConnection;
24
25
  private createInitProviderPromise;
@@ -44,6 +45,7 @@ export declare class WalletConnectV2 extends EthWalletConnector {
44
45
  * @returns
45
46
  */
46
47
  protected waitForSignMessage(signMessageFn: (messageToSign: string) => Promise<string | undefined>, messageToSign: string): Promise<string | undefined>;
48
+ getDeepLink(): string | undefined;
47
49
  signMessage(messageToSign: string): Promise<string | undefined>;
48
50
  private clearActiveAccount;
49
51
  private clearSession;
@@ -19,6 +19,7 @@ class WalletConnectV2 extends EthWalletConnector {
19
19
  this.isInitialized = false;
20
20
  this.canConnectViaQrCode = true;
21
21
  this.isWalletConnect = true;
22
+ this.listeners = {};
22
23
  this.name = opts.walletName;
23
24
  this.projectId = opts.projectId;
24
25
  }
@@ -123,6 +124,7 @@ class WalletConnectV2 extends EthWalletConnector {
123
124
  if (!WalletConnectV2.provider) {
124
125
  return;
125
126
  }
127
+ this.listeners = listeners;
126
128
  WalletConnectV2.provider.client.on('session_event', ({ params }) => {
127
129
  var _a, _b;
128
130
  if (!params || !params.event) {
@@ -162,6 +164,7 @@ class WalletConnectV2 extends EthWalletConnector {
162
164
  if (!WalletConnectV2.provider) {
163
165
  return;
164
166
  }
167
+ this.listeners = {};
165
168
  WalletConnectV2.provider.client.removeAllListeners('session_event');
166
169
  WalletConnectV2.provider.client.removeAllListeners('session_delete');
167
170
  }
@@ -250,8 +253,21 @@ class WalletConnectV2 extends EthWalletConnector {
250
253
  return signedMessageResult.signedMessage;
251
254
  });
252
255
  }
253
- signMessage(messageToSign) {
256
+ getDeepLink() {
254
257
  var _a, _b;
258
+ if (!this.session) {
259
+ return;
260
+ }
261
+ const metadata = getWalletBookWallet(this.walletBook, this.name);
262
+ const deepLink = ((_a = metadata['mobile']) === null || _a === void 0 ? void 0 : _a.native) || ((_b = metadata['mobile']) === null || _b === void 0 ? void 0 : _b.universal);
263
+ if (!deepLink) {
264
+ return;
265
+ }
266
+ // we need to include the session topic here because it helps the wallet
267
+ // auto redirect back to the dapp after signing
268
+ return `${deepLink}?sessionTopic=${this.session.topic}`;
269
+ }
270
+ signMessage(messageToSign) {
255
271
  return __awaiter(this, void 0, void 0, function* () {
256
272
  if (!this.session) {
257
273
  throw new DynamicError('no session');
@@ -259,9 +275,8 @@ class WalletConnectV2 extends EthWalletConnector {
259
275
  if (!WalletConnectV2.provider) {
260
276
  throw new DynamicError('No WalletConnect provider found to handle signing');
261
277
  }
262
- const metadata = getWalletBookWallet(this.walletBook, this.name);
263
- if (isMobile()) {
264
- const deepLink = ((_a = metadata['mobile']) === null || _a === void 0 ? void 0 : _a.native) || ((_b = metadata['mobile']) === null || _b === void 0 ? void 0 : _b.universal) || '';
278
+ const deepLink = this.getDeepLink();
279
+ if (isMobile() && deepLink) {
265
280
  window.location.href = deepLink;
266
281
  }
267
282
  const web3Provider = this.getWeb3Provider();
@@ -307,6 +322,7 @@ class WalletConnectV2 extends EthWalletConnector {
307
322
  // We must unset provider on logout so that a new session can be established
308
323
  // If we don't then the provider will still have the old session and will hang
309
324
  WalletConnectV2.provider = undefined;
325
+ this.initializePromise = undefined; // Needed so we can re-initiliza the provider
310
326
  }
311
327
  catch (e) {
312
328
  logger.debug(e);
@@ -326,6 +342,7 @@ class WalletConnectV2 extends EthWalletConnector {
326
342
  const _super = Object.create(null, {
327
343
  providerSwitchNetwork: { get: () => super.providerSwitchNetwork }
328
344
  });
345
+ var _a, _b;
329
346
  return __awaiter(this, void 0, void 0, function* () {
330
347
  const currentNetworkId = yield this.getNetwork();
331
348
  if (currentNetworkId && currentNetworkId === network.chainId) {
@@ -340,7 +357,8 @@ class WalletConnectV2 extends EthWalletConnector {
340
357
  if (!provider) {
341
358
  throw new DynamicError('Provider not found');
342
359
  }
343
- return _super.providerSwitchNetwork.call(this, { network, provider });
360
+ yield _super.providerSwitchNetwork.call(this, { network, provider });
361
+ (_b = (_a = this.listeners).onChainChange) === null || _b === void 0 ? void 0 : _b.call(_a, String(network.chainId));
344
362
  });
345
363
  }
346
364
  getConnectedAccounts() {