@dynamic-labs/ethereum 1.1.0-alpha.9 → 1.1.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 +198 -0
- package/_virtual/_tslib.cjs +6 -1
- package/_virtual/_tslib.js +6 -1
- package/package.json +8 -8
- package/src/EthWalletConnector.d.ts +6 -6
- package/src/coinbase/coinbase.cjs +1 -1
- package/src/coinbase/coinbase.d.ts +4 -4
- package/src/coinbase/coinbase.js +2 -2
- package/src/ethProviderHelper.cjs +6 -4
- package/src/ethProviderHelper.d.ts +3 -2
- package/src/ethProviderHelper.js +7 -5
- package/src/index.cjs +1 -0
- package/src/index.js +1 -0
- package/src/injected/InjectedWalletBase.cjs +8 -6
- package/src/injected/InjectedWalletBase.js +9 -7
- package/src/types.d.ts +0 -5
- package/src/walletConnect/walletConnectV2.cjs +23 -8
- package/src/walletConnect/walletConnectV2.d.ts +4 -2
- package/src/walletConnect/walletConnectV2.js +23 -8
- package/src/utils/eventListenerHandlers.cjs +0 -34
- package/src/utils/eventListenerHandlers.d.ts +0 -8
- package/src/utils/eventListenerHandlers.js +0 -30
package/CHANGELOG.md
CHANGED
|
@@ -1,4 +1,202 @@
|
|
|
1
1
|
|
|
2
|
+
## [1.1.0](https://github.com/dynamic-labs/DynamicAuth/compare/v1.1.0-alpha.25...v1.1.0) (2024-02-07)
|
|
3
|
+
|
|
4
|
+
Check out our changelog here: https://docs.dynamic.xyz/changelog/v1-1
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
* add retry when using magic ([#4579](https://github.com/dynamic-labs/DynamicAuth/issues/4579)) ([183561c](https://github.com/dynamic-labs/DynamicAuth/commit/183561cc64f083fd1489c38a8cc8b1c4c51d2924))
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
### Bug Fixes
|
|
13
|
+
|
|
14
|
+
* bug where deprecated fields were still being used in the SDK ([#4604](https://github.com/dynamic-labs/DynamicAuth/issues/4604)) ([4fd15fc](https://github.com/dynamic-labs/DynamicAuth/commit/4fd15fc4daa9c5b7bbc81ce05a3b046c80a6d5b4))
|
|
15
|
+
* log magic RPC error and update magic network error ([#4606](https://github.com/dynamic-labs/DynamicAuth/issues/4606)) ([2206961](https://github.com/dynamic-labs/DynamicAuth/commit/22069618a317bc40b1a17fd521eadf0956983de4))
|
|
16
|
+
* onConnect is properly called for additional connected wallets ([#4607](https://github.com/dynamic-labs/DynamicAuth/issues/4607)) ([23241f4](https://github.com/dynamic-labs/DynamicAuth/commit/23241f4d5dc91ac9ca1251710161efbfce42dc40))
|
|
17
|
+
|
|
18
|
+
## [1.1.0-alpha.25](https://github.com/dynamic-labs/DynamicAuth/compare/v1.1.0-alpha.24...v1.1.0-alpha.25) (2024-02-05)
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
### Features
|
|
22
|
+
|
|
23
|
+
* add signin with coinbase to sdk ([#4581](https://github.com/dynamic-labs/DynamicAuth/issues/4581)) ([08a31ed](https://github.com/dynamic-labs/DynamicAuth/commit/08a31ed3552c48645b398881f184440800af21ec))
|
|
24
|
+
* exposing hook for creating either one-time code or passkeys authenticators ([#4591](https://github.com/dynamic-labs/DynamicAuth/issues/4591)) ([864d755](https://github.com/dynamic-labs/DynamicAuth/commit/864d75576152a10f73f5901bc06e2d66892b63ab))
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
### Bug Fixes
|
|
28
|
+
|
|
29
|
+
* solana wallet sign message with one-time code session ([#4588](https://github.com/dynamic-labs/DynamicAuth/issues/4588)) ([a738d10](https://github.com/dynamic-labs/DynamicAuth/commit/a738d10814dc5058158b9c0c59a399a375c69c10))
|
|
30
|
+
|
|
31
|
+
## [1.1.0-alpha.24](https://github.com/dynamic-labs/DynamicAuth/compare/v1.1.0-alpha.23...v1.1.0-alpha.24) (2024-02-02)
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
### Bug Fixes
|
|
35
|
+
|
|
36
|
+
* remove isFullyConnected when unable to restore wallet ([#4575](https://github.com/dynamic-labs/DynamicAuth/issues/4575)) ([4504ff0](https://github.com/dynamic-labs/DynamicAuth/commit/4504ff03f594cd9a60055e6f52b7ea8001542bbe))
|
|
37
|
+
|
|
38
|
+
## [1.1.0-alpha.23](https://github.com/dynamic-labs/DynamicAuth/compare/v1.1.0-alpha.22...v1.1.0-alpha.23) (2024-02-01)
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
### Features
|
|
42
|
+
|
|
43
|
+
* bitcoin signPsbt ([3c964de](https://github.com/dynamic-labs/DynamicAuth/commit/3c964dea8a55debaf184c5a94f0f5fabdda3c877))
|
|
44
|
+
* embedded wallet email auth flow ([#4353](https://github.com/dynamic-labs/DynamicAuth/issues/4353)) ([4875da3](https://github.com/dynamic-labs/DynamicAuth/commit/4875da32c47c27facef1b1cdbdc214566bbfd171))
|
|
45
|
+
|
|
46
|
+
## [1.1.0-alpha.22](https://github.com/dynamic-labs/DynamicAuth/compare/v1.1.0-alpha.21...v1.1.0-alpha.22) (2024-02-01)
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
### Bug Fixes
|
|
50
|
+
|
|
51
|
+
* onAuthFlowClose not being called ([#4563](https://github.com/dynamic-labs/DynamicAuth/issues/4563)) ([c4b2648](https://github.com/dynamic-labs/DynamicAuth/commit/c4b264885b7dba6e204ef49bf642d25c7d287b04))
|
|
52
|
+
|
|
53
|
+
## [1.1.0-alpha.21](https://github.com/dynamic-labs/DynamicAuth/compare/v1.1.0-alpha.20...v1.1.0-alpha.21) (2024-02-01)
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
### Features
|
|
57
|
+
|
|
58
|
+
* add phantom redirect handling context ([#4479](https://github.com/dynamic-labs/DynamicAuth/issues/4479)) ([e0218ee](https://github.com/dynamic-labs/DynamicAuth/commit/e0218eec1a67787f5c0e7483d542a5f773e911ef))
|
|
59
|
+
* add signPsbt method to bitcoin wallet connectors ([dfdc0fe](https://github.com/dynamic-labs/DynamicAuth/commit/dfdc0fe0e6894c1307b286e89b43a4c58a8808f3))
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
### Bug Fixes
|
|
63
|
+
|
|
64
|
+
* relax passkey feature detection check in sdk to avoid false nega… ([#4556](https://github.com/dynamic-labs/DynamicAuth/issues/4556)) ([4554f7d](https://github.com/dynamic-labs/DynamicAuth/commit/4554f7d7c5339859481cdecca95a9c07fae4ba5c))
|
|
65
|
+
* workaround braavos undefined selectedWallet on chainChange event ([#4552](https://github.com/dynamic-labs/DynamicAuth/issues/4552)) ([aa35df0](https://github.com/dynamic-labs/DynamicAuth/commit/aa35df0e894feafa0606aa1c87bd3d3879ebc594))
|
|
66
|
+
|
|
67
|
+
## [1.1.0-alpha.20](https://github.com/dynamic-labs/DynamicAuth/compare/v1.1.0-alpha.19...v1.1.0-alpha.20) (2024-01-31)
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
### Bug Fixes
|
|
71
|
+
|
|
72
|
+
* return all enabled chains in getSupportedNetworks instead of undefined ([#4547](https://github.com/dynamic-labs/DynamicAuth/issues/4547)) ([08e7889](https://github.com/dynamic-labs/DynamicAuth/commit/08e78896e045f24bbd96e39416a7f58006929da0))
|
|
73
|
+
* show modal for existing social account from other signin provider ([#4535](https://github.com/dynamic-labs/DynamicAuth/issues/4535)) ([282914a](https://github.com/dynamic-labs/DynamicAuth/commit/282914ac94b3ef5bd66e0b2265d9e414203a7406))
|
|
74
|
+
|
|
75
|
+
## [1.1.0-alpha.19](https://github.com/dynamic-labs/DynamicAuth/compare/v1.1.0-alpha.18...v1.1.0-alpha.19) (2024-01-31)
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
### Features
|
|
79
|
+
|
|
80
|
+
* add PhantomRedirect connector ([#4467](https://github.com/dynamic-labs/DynamicAuth/issues/4467)) ([75d6c95](https://github.com/dynamic-labs/DynamicAuth/commit/75d6c95940fcec185a699c2100b3e2d21a8233d5))
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
### Bug Fixes
|
|
84
|
+
|
|
85
|
+
* lock starknet to 5.25.0 since 5.27.0 breaks the build ([#4541](https://github.com/dynamic-labs/DynamicAuth/issues/4541)) ([00b4799](https://github.com/dynamic-labs/DynamicAuth/commit/00b479977f768cb067480e2e565eabf45e1000a2))
|
|
86
|
+
|
|
87
|
+
## [1.1.0-alpha.18](https://github.com/dynamic-labs/DynamicAuth/compare/v1.1.0-alpha.17...v1.1.0-alpha.18) (2024-01-30)
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
### Bug Fixes
|
|
91
|
+
|
|
92
|
+
* catch email_associated_with_different_provider from response ([#4532](https://github.com/dynamic-labs/DynamicAuth/issues/4532)) ([52be1b4](https://github.com/dynamic-labs/DynamicAuth/commit/52be1b45af46c2b70972b99d73387eb4d7161ec6))
|
|
93
|
+
|
|
94
|
+
## [1.1.0-alpha.17](https://github.com/dynamic-labs/DynamicAuth/compare/v1.1.0-alpha.16...v1.1.0-alpha.17) (2024-01-30)
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
### Features
|
|
98
|
+
|
|
99
|
+
* add sendRawTransaction to BitcoinWalletConnector ([2e86c5a](https://github.com/dynamic-labs/DynamicAuth/commit/2e86c5a5245bd0fc29162ef1f7fe2fbd65245fe1))
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
### Bug Fixes
|
|
103
|
+
|
|
104
|
+
* properly handle AccountExistsError for signInOAuth ([#4529](https://github.com/dynamic-labs/DynamicAuth/issues/4529)) ([d37fdc3](https://github.com/dynamic-labs/DynamicAuth/commit/d37fdc310fe4b70f8948fd5ed3d058342afbe08f))
|
|
105
|
+
|
|
106
|
+
## [1.1.0-alpha.16](https://github.com/dynamic-labs/DynamicAuth/compare/v1.1.0-alpha.15...v1.1.0-alpha.16) (2024-01-30)
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
### Bug Fixes
|
|
110
|
+
|
|
111
|
+
* add fallback to getWalletBookWallet for customers still passing in name, add deprecation warn ([#4518](https://github.com/dynamic-labs/DynamicAuth/issues/4518)) ([b233ea1](https://github.com/dynamic-labs/DynamicAuth/commit/b233ea1cd640d8d9d94c52ab230787f3d869151a))
|
|
112
|
+
* handle braavos network change to account which doesn not exist ([#4519](https://github.com/dynamic-labs/DynamicAuth/issues/4519)) ([486020f](https://github.com/dynamic-labs/DynamicAuth/commit/486020fb09a274388ba34c8d1b37ac3a1ff3dba6))
|
|
113
|
+
|
|
114
|
+
## [1.1.0-alpha.15](https://github.com/dynamic-labs/DynamicAuth/compare/v1.1.0-alpha.14...v1.1.0-alpha.15) (2024-01-28)
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
### Features
|
|
118
|
+
|
|
119
|
+
* add wallet group override to wallet book ([#4488](https://github.com/dynamic-labs/DynamicAuth/issues/4488)) ([cb19ad3](https://github.com/dynamic-labs/DynamicAuth/commit/cb19ad3ea82de488752ceceeaf0e1458a388df6e))
|
|
120
|
+
* enable solana embedded wallets ([#4457](https://github.com/dynamic-labs/DynamicAuth/issues/4457)) ([b0c47f4](https://github.com/dynamic-labs/DynamicAuth/commit/b0c47f4475baa12f52076da46ef993c13bd2c243))
|
|
121
|
+
* group ArgentX wallets ([#4495](https://github.com/dynamic-labs/DynamicAuth/issues/4495)) ([b10d79a](https://github.com/dynamic-labs/DynamicAuth/commit/b10d79a668efecedca37ddb358e6adf95319650d))
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
### Bug Fixes
|
|
125
|
+
|
|
126
|
+
* add support for newest backpack extension ([#4468](https://github.com/dynamic-labs/DynamicAuth/issues/4468)) ([a219f32](https://github.com/dynamic-labs/DynamicAuth/commit/a219f325be672599e50b07f6751234a7fc98286e))
|
|
127
|
+
* bump timeout for slower connections ([#4475](https://github.com/dynamic-labs/DynamicAuth/issues/4475)) ([7a07ff5](https://github.com/dynamic-labs/DynamicAuth/commit/7a07ff589eaaf3b28a94d277df3eedabbca60702))
|
|
128
|
+
* change out getWalletBookWallet for findWalletBookWallet to avoid throwing during lookup ([#4477](https://github.com/dynamic-labs/DynamicAuth/issues/4477)) ([4648040](https://github.com/dynamic-labs/DynamicAuth/commit/4648040c166e73dd2c31b0e27897713339436c2f))
|
|
129
|
+
* connect to wallet with wallet connect even if network is not supported ([#4465](https://github.com/dynamic-labs/DynamicAuth/issues/4465)) ([9dbca3e](https://github.com/dynamic-labs/DynamicAuth/commit/9dbca3eb4d4990ee4be642677c1604170b425dc3))
|
|
130
|
+
* pass id to wagmi chain override ([#4512](https://github.com/dynamic-labs/DynamicAuth/issues/4512)) ([2bf2f04](https://github.com/dynamic-labs/DynamicAuth/commit/2bf2f0487f5b1be936dd279107c11fe5d2b42666))
|
|
131
|
+
* switching wallet in extension caused connected flag to be false temporarily ([#4454](https://github.com/dynamic-labs/DynamicAuth/issues/4454)) ([3650f6e](https://github.com/dynamic-labs/DynamicAuth/commit/3650f6ec471a7c779f4d304ab94c9350dd55055b))
|
|
132
|
+
|
|
133
|
+
## [1.1.0-alpha.14](https://github.com/dynamic-labs/DynamicAuth/compare/v1.1.0-alpha.13...v1.1.0-alpha.14) (2024-01-23)
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
### Features
|
|
137
|
+
|
|
138
|
+
* add wallet-book retryable ([#4462](https://github.com/dynamic-labs/DynamicAuth/issues/4462)) ([513b1a6](https://github.com/dynamic-labs/DynamicAuth/commit/513b1a67d6c49624398ad4b0cdca4f5618c9583f))
|
|
139
|
+
|
|
140
|
+
## [1.1.0-alpha.13](https://github.com/dynamic-labs/DynamicAuth/compare/v1.1.0-alpha.12...v1.1.0-alpha.13) (2024-01-23)
|
|
141
|
+
|
|
142
|
+
|
|
143
|
+
### Features
|
|
144
|
+
|
|
145
|
+
* add createWalletClientFromWallet helper function ([#4416](https://github.com/dynamic-labs/DynamicAuth/issues/4416)) ([b384898](https://github.com/dynamic-labs/DynamicAuth/commit/b384898061bb3f9b38b2ed670b6650cfc1d4b429))
|
|
146
|
+
* add hardware wallets to wallet book ([#4445](https://github.com/dynamic-labs/DynamicAuth/issues/4445)) ([66c0f5b](https://github.com/dynamic-labs/DynamicAuth/commit/66c0f5b29a6a700099bb95a6f7622f6178e0bccf))
|
|
147
|
+
* add support for Argent Web and Mobile ([#4328](https://github.com/dynamic-labs/DynamicAuth/issues/4328)) ([bce20b8](https://github.com/dynamic-labs/DynamicAuth/commit/bce20b8f35a8630f2621f53a541a1acb06a38fc0))
|
|
148
|
+
* enable ledger for glow, solflare and backpack ([#4392](https://github.com/dynamic-labs/DynamicAuth/issues/4392)) ([fa7b992](https://github.com/dynamic-labs/DynamicAuth/commit/fa7b992f87ebc43560f87b43ac56f2cd9909b306))
|
|
149
|
+
|
|
150
|
+
|
|
151
|
+
### Bug Fixes
|
|
152
|
+
|
|
153
|
+
* breaking changes script ([#4440](https://github.com/dynamic-labs/DynamicAuth/issues/4440)) ([446173d](https://github.com/dynamic-labs/DynamicAuth/commit/446173d074d652d81856c6412e304b46b1565320))
|
|
154
|
+
* broken help icon in create passkey view ([#4428](https://github.com/dynamic-labs/DynamicAuth/issues/4428)) ([e0ffc02](https://github.com/dynamic-labs/DynamicAuth/commit/e0ffc02ffea34b7ac3198ff6e1baf7f9907acddd))
|
|
155
|
+
* infinite loop when connecting with trust wallet ([#4448](https://github.com/dynamic-labs/DynamicAuth/issues/4448)) ([4e20edf](https://github.com/dynamic-labs/DynamicAuth/commit/4e20edf9abaabf20e5e9f9167b44d7f691e844f1))
|
|
156
|
+
* render wagmi elements based on react version ([#4453](https://github.com/dynamic-labs/DynamicAuth/issues/4453)) ([43c624c](https://github.com/dynamic-labs/DynamicAuth/commit/43c624ca996b0c51de1454910f19fdf908149938))
|
|
157
|
+
|
|
158
|
+
## [1.1.0-alpha.12](https://github.com/dynamic-labs/DynamicAuth/compare/v1.1.0-alpha.11...v1.1.0-alpha.12) (2024-01-18)
|
|
159
|
+
|
|
160
|
+
|
|
161
|
+
### Features
|
|
162
|
+
|
|
163
|
+
* expose setAuthMode method ([#4419](https://github.com/dynamic-labs/DynamicAuth/issues/4419)) ([7d156b3](https://github.com/dynamic-labs/DynamicAuth/commit/7d156b3e0eab9b9a80f70ff1c5201d90693ae755))
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
### Bug Fixes
|
|
167
|
+
|
|
168
|
+
* call onUnlinkSuccess in headless mode too ([#4412](https://github.com/dynamic-labs/DynamicAuth/issues/4412)) ([4c76af9](https://github.com/dynamic-labs/DynamicAuth/commit/4c76af9ac7c7b43883742d1289558dfcb5d612ca))
|
|
169
|
+
* correctly map keplr chain ids from project settings ([#4418](https://github.com/dynamic-labs/DynamicAuth/issues/4418)) ([7046364](https://github.com/dynamic-labs/DynamicAuth/commit/7046364a316f7551f0b995eaae7afea13502eb9b))
|
|
170
|
+
* logging in with an email linked to a third party wallet gets stuck on otp view ([#4407](https://github.com/dynamic-labs/DynamicAuth/issues/4407)) ([35bf142](https://github.com/dynamic-labs/DynamicAuth/commit/35bf142e74efeef866dbd7b8157a049cd36eeccb))
|
|
171
|
+
|
|
172
|
+
## [1.1.0-alpha.11](https://github.com/dynamic-labs/DynamicAuth/compare/v1.1.0-alpha.10...v1.1.0-alpha.11) (2024-01-17)
|
|
173
|
+
|
|
174
|
+
|
|
175
|
+
### Features
|
|
176
|
+
|
|
177
|
+
* add Leather wallet and BtcKit connector ([#4335](https://github.com/dynamic-labs/DynamicAuth/issues/4335)) ([fe3316b](https://github.com/dynamic-labs/DynamicAuth/commit/fe3316b5be9ef17eea885e99cf925ccd0f271da7))
|
|
178
|
+
* add solana injected wallet configuration to walletbook ([#4375](https://github.com/dynamic-labs/DynamicAuth/issues/4375)) ([3677ce5](https://github.com/dynamic-labs/DynamicAuth/commit/3677ce5ff40d0c00bfaf0daa0d5d67bc40706ee0))
|
|
179
|
+
* add support for unisat wallet ([#4355](https://github.com/dynamic-labs/DynamicAuth/issues/4355)) ([5b7d6b0](https://github.com/dynamic-labs/DynamicAuth/commit/5b7d6b0a9ea84811a8252b3cdf30a3a8e410180c))
|
|
180
|
+
* add walletbook configurations for solana injected wallets ([#4360](https://github.com/dynamic-labs/DynamicAuth/issues/4360)) ([cdc8e5f](https://github.com/dynamic-labs/DynamicAuth/commit/cdc8e5f4878cb84e26e5b33299aa8547b84b6667))
|
|
181
|
+
* passkey renaming frontend ([#4331](https://github.com/dynamic-labs/DynamicAuth/issues/4331)) ([4551013](https://github.com/dynamic-labs/DynamicAuth/commit/4551013d577c914cb3aedfe458ab9eaa018aceb4))
|
|
182
|
+
|
|
183
|
+
|
|
184
|
+
### Bug Fixes
|
|
185
|
+
|
|
186
|
+
* correctly update wallets connected flag after wallet switch ([#4397](https://github.com/dynamic-labs/DynamicAuth/issues/4397)) ([543a830](https://github.com/dynamic-labs/DynamicAuth/commit/543a830574f0d5a78fedbb9b18233e8dfbaddd86))
|
|
187
|
+
* export modal header ([#4401](https://github.com/dynamic-labs/DynamicAuth/issues/4401)) ([77cf016](https://github.com/dynamic-labs/DynamicAuth/commit/77cf016fc742458988864647870149a56e991ee4))
|
|
188
|
+
* trigger onAuthSuccess before embedded wallet creation ([4aa341a](https://github.com/dynamic-labs/DynamicAuth/commit/4aa341a1d08332a121daddb7c2dcb09a804a4de7))
|
|
189
|
+
* ui issues on react 17 ([#4373](https://github.com/dynamic-labs/DynamicAuth/issues/4373)) ([93096d6](https://github.com/dynamic-labs/DynamicAuth/commit/93096d6017816a4f0ed299bf618b130d90c81514))
|
|
190
|
+
|
|
191
|
+
## [1.1.0-alpha.10](https://github.com/dynamic-labs/DynamicAuth/compare/v1.1.0-alpha.9...v1.1.0-alpha.10) (2024-01-06)
|
|
192
|
+
|
|
193
|
+
|
|
194
|
+
### Bug Fixes
|
|
195
|
+
|
|
196
|
+
* pass flow network to magic client ([#4322](https://github.com/dynamic-labs/DynamicAuth/issues/4322)) ([f3adccf](https://github.com/dynamic-labs/DynamicAuth/commit/f3adccf9f8d835f6b04e4767acd0fbd2ac238379))
|
|
197
|
+
* prevent error message when mobile wallet app is open ([#4301](https://github.com/dynamic-labs/DynamicAuth/issues/4301)) ([2a66dcf](https://github.com/dynamic-labs/DynamicAuth/commit/2a66dcfaf8100b3d910c559d35d8b731b1cb380e))
|
|
198
|
+
* turnkeyWalletConnector is not an email otp connector and uses dynamic otp ([#4313](https://github.com/dynamic-labs/DynamicAuth/issues/4313)) ([e4ea56f](https://github.com/dynamic-labs/DynamicAuth/commit/e4ea56f40fdf97b3f5440b016ebd95501089cebe))
|
|
199
|
+
|
|
2
200
|
## [1.1.0-alpha.9](https://github.com/dynamic-labs/DynamicAuth/compare/v1.1.0-alpha.8...v1.1.0-alpha.9) (2024-01-04)
|
|
3
201
|
|
|
4
202
|
|
package/_virtual/_tslib.cjs
CHANGED
|
@@ -37,7 +37,12 @@ function __awaiter(thisArg, _arguments, P, generator) {
|
|
|
37
37
|
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
38
38
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
39
39
|
});
|
|
40
|
-
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
|
|
43
|
+
var e = new Error(message);
|
|
44
|
+
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
|
|
45
|
+
};
|
|
41
46
|
|
|
42
47
|
exports.__awaiter = __awaiter;
|
|
43
48
|
exports.__rest = __rest;
|
package/_virtual/_tslib.js
CHANGED
|
@@ -33,6 +33,11 @@ function __awaiter(thisArg, _arguments, P, generator) {
|
|
|
33
33
|
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
34
34
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
35
35
|
});
|
|
36
|
-
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
|
|
39
|
+
var e = new Error(message);
|
|
40
|
+
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
|
|
41
|
+
};
|
|
37
42
|
|
|
38
43
|
export { __awaiter, __rest };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dynamic-labs/ethereum",
|
|
3
|
-
"version": "1.1.0
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "https://github.com/dynamic-labs/DynamicAuth.git",
|
|
@@ -32,15 +32,15 @@
|
|
|
32
32
|
"@walletconnect/universal-provider": "2.10.6",
|
|
33
33
|
"eventemitter3": "5.0.1",
|
|
34
34
|
"buffer": "6.0.3",
|
|
35
|
-
"@dynamic-labs/rpc-providers": "1.1.0
|
|
36
|
-
"@dynamic-labs/turnkey": "1.1.0
|
|
37
|
-
"@dynamic-labs/types": "1.1.0
|
|
38
|
-
"@dynamic-labs/utils": "1.1.0
|
|
39
|
-
"@dynamic-labs/wallet-book": "1.1.0
|
|
40
|
-
"@dynamic-labs/wallet-connector-core": "1.1.0
|
|
35
|
+
"@dynamic-labs/rpc-providers": "1.1.0",
|
|
36
|
+
"@dynamic-labs/turnkey": "1.1.0",
|
|
37
|
+
"@dynamic-labs/types": "1.1.0",
|
|
38
|
+
"@dynamic-labs/utils": "1.1.0",
|
|
39
|
+
"@dynamic-labs/wallet-book": "1.1.0",
|
|
40
|
+
"@dynamic-labs/wallet-connector-core": "1.1.0",
|
|
41
41
|
"stream": "0.0.2"
|
|
42
42
|
},
|
|
43
43
|
"peerDependencies": {
|
|
44
|
-
"viem": "^1.19.13"
|
|
44
|
+
"viem": "^1.19.13 || ^2.2.0"
|
|
45
45
|
}
|
|
46
46
|
}
|
|
@@ -51,10 +51,10 @@ export declare abstract class EthWalletConnector extends WalletConnectorBase {
|
|
|
51
51
|
[x: string]: Record<string, any>;
|
|
52
52
|
eth_accounts: Record<string, any>;
|
|
53
53
|
}) => Promise<import("viem").RequestPermissionsReturnType>;
|
|
54
|
-
sendRawTransaction: (args: import("viem/_types/actions/wallet/sendRawTransaction").SendRawTransactionParameters) => Promise<`0x${string}`>;
|
|
54
|
+
sendRawTransaction: (args: import("node_modules/viem/_types/actions/wallet/sendRawTransaction").SendRawTransactionParameters) => Promise<`0x${string}`>;
|
|
55
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}`>;
|
|
56
56
|
signMessage: (args: import("viem").SignMessageParameters<import("viem").Account | undefined>) => Promise<`0x${string}`>;
|
|
57
|
-
signTransaction: <TChainOverride_3 extends import("viem").Chain | undefined = undefined>(args: import("viem/_types/actions/wallet/signTransaction").SignTransactionParameters<import("viem").Chain | undefined, import("viem").Account | undefined, TChainOverride_3>) => 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}`>;
|
|
58
58
|
signTypedData: <const TTypedData extends {
|
|
59
59
|
[x: string]: readonly import("viem").TypedDataParameter[];
|
|
60
60
|
[x: `string[${string}]`]: undefined;
|
|
@@ -95,11 +95,11 @@ export declare abstract class EthWalletConnector extends WalletConnectorBase {
|
|
|
95
95
|
[x: `bytes4[${string}]`]: undefined;
|
|
96
96
|
[x: `bytes3[${string}]`]: undefined;
|
|
97
97
|
[x: `int[${string}]`]: undefined;
|
|
98
|
+
[x: `int40[${string}]`]: undefined;
|
|
98
99
|
[x: `int32[${string}]`]: undefined;
|
|
99
100
|
[x: `int24[${string}]`]: undefined;
|
|
100
101
|
[x: `int16[${string}]`]: undefined;
|
|
101
102
|
[x: `int8[${string}]`]: undefined;
|
|
102
|
-
[x: `int40[${string}]`]: undefined;
|
|
103
103
|
[x: `int48[${string}]`]: undefined;
|
|
104
104
|
[x: `int56[${string}]`]: undefined;
|
|
105
105
|
[x: `int64[${string}]`]: undefined;
|
|
@@ -128,11 +128,11 @@ export declare abstract class EthWalletConnector extends WalletConnectorBase {
|
|
|
128
128
|
[x: `int248[${string}]`]: undefined;
|
|
129
129
|
[x: `int256[${string}]`]: undefined;
|
|
130
130
|
[x: `uint[${string}]`]: undefined;
|
|
131
|
+
[x: `uint40[${string}]`]: undefined;
|
|
131
132
|
[x: `uint32[${string}]`]: undefined;
|
|
132
133
|
[x: `uint24[${string}]`]: undefined;
|
|
133
134
|
[x: `uint16[${string}]`]: undefined;
|
|
134
135
|
[x: `uint8[${string}]`]: undefined;
|
|
135
|
-
[x: `uint40[${string}]`]: undefined;
|
|
136
136
|
[x: `uint48[${string}]`]: undefined;
|
|
137
137
|
[x: `uint56[${string}]`]: undefined;
|
|
138
138
|
[x: `uint64[${string}]`]: undefined;
|
|
@@ -196,11 +196,11 @@ export declare abstract class EthWalletConnector extends WalletConnectorBase {
|
|
|
196
196
|
bytes5?: undefined;
|
|
197
197
|
bytes4?: undefined;
|
|
198
198
|
bytes3?: undefined;
|
|
199
|
+
int40?: undefined;
|
|
199
200
|
int32?: undefined;
|
|
200
201
|
int24?: undefined;
|
|
201
202
|
int16?: undefined;
|
|
202
203
|
int8?: undefined;
|
|
203
|
-
int40?: undefined;
|
|
204
204
|
int48?: undefined;
|
|
205
205
|
int56?: undefined;
|
|
206
206
|
int64?: undefined;
|
|
@@ -228,11 +228,11 @@ export declare abstract class EthWalletConnector extends WalletConnectorBase {
|
|
|
228
228
|
int240?: undefined;
|
|
229
229
|
int248?: undefined;
|
|
230
230
|
int256?: undefined;
|
|
231
|
+
uint40?: undefined;
|
|
231
232
|
uint32?: undefined;
|
|
232
233
|
uint24?: undefined;
|
|
233
234
|
uint16?: undefined;
|
|
234
235
|
uint8?: undefined;
|
|
235
|
-
uint40?: undefined;
|
|
236
236
|
uint48?: undefined;
|
|
237
237
|
uint56?: undefined;
|
|
238
238
|
uint64?: undefined;
|
|
@@ -40,7 +40,7 @@ class Coinbase extends EthWalletConnector.EthWalletConnector {
|
|
|
40
40
|
if (!provider) {
|
|
41
41
|
return;
|
|
42
42
|
}
|
|
43
|
-
const setupResponse = (_c = (_b = this.ethProviderHelper) === null || _b === void 0 ? void 0 : _b._setupEventListeners) === null || _c === void 0 ? void 0 : _c.call(_b, this
|
|
43
|
+
const setupResponse = (_c = (_b = this.ethProviderHelper) === null || _b === void 0 ? void 0 : _b._setupEventListeners) === null || _c === void 0 ? void 0 : _c.call(_b, this);
|
|
44
44
|
if (!(setupResponse === null || setupResponse === void 0 ? void 0 : setupResponse.tearDownEventListeners))
|
|
45
45
|
return;
|
|
46
46
|
this.teardownEventListeners = setupResponse.tearDownEventListeners;
|
|
@@ -42,10 +42,10 @@ export declare class Coinbase extends EthWalletConnector {
|
|
|
42
42
|
[x: string]: Record<string, any>;
|
|
43
43
|
eth_accounts: Record<string, any>;
|
|
44
44
|
}) => Promise<import("viem").RequestPermissionsReturnType>;
|
|
45
|
-
sendRawTransaction: (args: import("viem/_types/actions/wallet/sendRawTransaction").SendRawTransactionParameters) => Promise<`0x${string}`>;
|
|
45
|
+
sendRawTransaction: (args: import("node_modules/viem/_types/actions/wallet/sendRawTransaction").SendRawTransactionParameters) => Promise<`0x${string}`>;
|
|
46
46
|
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}`>;
|
|
47
47
|
signMessage: (args: import("viem").SignMessageParameters<import("viem").Account | undefined>) => Promise<`0x${string}`>;
|
|
48
|
-
signTransaction: <TChainOverride_3 extends import("viem").Chain | undefined = undefined>(args: import("viem/_types/actions/wallet/signTransaction").SignTransactionParameters<import("viem").Chain | undefined, import("viem").Account | undefined, TChainOverride_3>) => Promise<`0x${string}`>;
|
|
48
|
+
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}`>;
|
|
49
49
|
signTypedData: <const TTypedData extends {
|
|
50
50
|
[x: string]: readonly import("viem").TypedDataParameter[];
|
|
51
51
|
[x: `string[${string}]`]: undefined;
|
|
@@ -299,10 +299,10 @@ export declare class Coinbase extends EthWalletConnector {
|
|
|
299
299
|
[x: string]: Record<string, any>;
|
|
300
300
|
eth_accounts: Record<string, any>;
|
|
301
301
|
}) => Promise<import("viem").RequestPermissionsReturnType>;
|
|
302
|
-
sendRawTransaction: (args: import("viem/_types/actions/wallet/sendRawTransaction").SendRawTransactionParameters) => Promise<`0x${string}`>;
|
|
302
|
+
sendRawTransaction: (args: import("node_modules/viem/_types/actions/wallet/sendRawTransaction").SendRawTransactionParameters) => Promise<`0x${string}`>;
|
|
303
303
|
sendTransaction: <TChainOverride_7 extends import("viem").Chain | undefined = undefined>(args: import("viem").SendTransactionParameters<undefined, undefined, TChainOverride_7>) => Promise<`0x${string}`>;
|
|
304
304
|
signMessage: (args: import("viem").SignMessageParameters<undefined>) => Promise<`0x${string}`>;
|
|
305
|
-
signTransaction: <TChainOverride_8 extends import("viem").Chain | undefined = undefined>(args: import("viem/_types/actions/wallet/signTransaction").SignTransactionParameters<undefined, undefined, TChainOverride_8>) => Promise<`0x${string}`>;
|
|
305
|
+
signTransaction: <TChainOverride_8 extends import("viem").Chain | undefined = undefined>(args: import("node_modules/viem/_types/actions/wallet/signTransaction").SignTransactionParameters<undefined, undefined, TChainOverride_8>) => Promise<`0x${string}`>;
|
|
306
306
|
signTypedData: <const TTypedData_1 extends {
|
|
307
307
|
[x: string]: readonly import("viem").TypedDataParameter[];
|
|
308
308
|
[x: `string[${string}]`]: undefined;
|
package/src/coinbase/coinbase.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { __rest, __awaiter } from '../../_virtual/_tslib.js';
|
|
2
|
-
import {
|
|
2
|
+
import { createWalletClient, custom } from 'viem';
|
|
3
3
|
import { findWalletBookWallet } from '@dynamic-labs/wallet-book';
|
|
4
4
|
import '../polyfills.js';
|
|
5
5
|
import '@dynamic-labs/turnkey';
|
|
@@ -36,7 +36,7 @@ class Coinbase extends EthWalletConnector {
|
|
|
36
36
|
if (!provider) {
|
|
37
37
|
return;
|
|
38
38
|
}
|
|
39
|
-
const setupResponse = (_c = (_b = this.ethProviderHelper) === null || _b === void 0 ? void 0 : _b._setupEventListeners) === null || _c === void 0 ? void 0 : _c.call(_b, this
|
|
39
|
+
const setupResponse = (_c = (_b = this.ethProviderHelper) === null || _b === void 0 ? void 0 : _b._setupEventListeners) === null || _c === void 0 ? void 0 : _c.call(_b, this);
|
|
40
40
|
if (!(setupResponse === null || setupResponse === void 0 ? void 0 : setupResponse.tearDownEventListeners))
|
|
41
41
|
return;
|
|
42
42
|
this.teardownEventListeners = setupResponse.tearDownEventListeners;
|
|
@@ -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 eventListenerHandlers = require('./utils/eventListenerHandlers.cjs');
|
|
10
9
|
var eip6963Provider = require('./eip6963Provider.cjs');
|
|
11
10
|
|
|
12
11
|
class EthProviderHelper {
|
|
@@ -16,7 +15,10 @@ class EthProviderHelper {
|
|
|
16
15
|
getInstalledProvider() {
|
|
17
16
|
const eip6963Config = this.getEip6963Config();
|
|
18
17
|
if (eip6963Config) {
|
|
19
|
-
|
|
18
|
+
const eip6963Provider = this.eip6963ProviderLookup(eip6963Config.rdns);
|
|
19
|
+
if (eip6963Provider) {
|
|
20
|
+
return eip6963Provider;
|
|
21
|
+
}
|
|
20
22
|
}
|
|
21
23
|
const config = this.getInjectedConfig();
|
|
22
24
|
if (!config ||
|
|
@@ -121,14 +123,14 @@ class EthProviderHelper {
|
|
|
121
123
|
return signedMessage;
|
|
122
124
|
});
|
|
123
125
|
}
|
|
124
|
-
_setupEventListeners(walletConnector
|
|
126
|
+
_setupEventListeners(walletConnector) {
|
|
125
127
|
const web3Provider = this.findProvider();
|
|
126
128
|
if (!web3Provider) {
|
|
127
129
|
return {
|
|
128
130
|
tearDownEventListeners: () => { },
|
|
129
131
|
};
|
|
130
132
|
}
|
|
131
|
-
const { handleAccountChange, handleChainChange, handleDisconnect } =
|
|
133
|
+
const { handleAccountChange, handleChainChange, handleDisconnect } = walletConnectorCore.eventListenerHandlers(walletConnector);
|
|
132
134
|
web3Provider.on('accountsChanged', handleAccountChange);
|
|
133
135
|
web3Provider.on('chainChanged', handleChainChange);
|
|
134
136
|
web3Provider.on('disconnect', handleDisconnect);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Hex,
|
|
1
|
+
import { Hex, WalletClient } from 'viem';
|
|
2
2
|
import { ProviderCondition, WalletConnector } from '@dynamic-labs/wallet-connector-core';
|
|
3
3
|
import { WalletSchema } from '@dynamic-labs/wallet-book';
|
|
4
4
|
import { IEthereum, ProviderFlag } from './types';
|
|
@@ -15,6 +15,7 @@ export declare class EthProviderHelper {
|
|
|
15
15
|
value: boolean;
|
|
16
16
|
flag: string;
|
|
17
17
|
}[];
|
|
18
|
+
providerInterface?: string | undefined;
|
|
18
19
|
walletStandard?: {
|
|
19
20
|
features: string[];
|
|
20
21
|
name: string;
|
|
@@ -30,7 +31,7 @@ export declare class EthProviderHelper {
|
|
|
30
31
|
fetchPublicAddress(): Promise<Hex | undefined>;
|
|
31
32
|
fetchPublicAddressWithProvider(client: WalletClient): Promise<Hex | undefined>;
|
|
32
33
|
signMessage(messageToSign: string): Promise<string | undefined>;
|
|
33
|
-
_setupEventListeners(walletConnector: WalletConnector
|
|
34
|
+
_setupEventListeners(walletConnector: WalletConnector): {
|
|
34
35
|
tearDownEventListeners: () => void;
|
|
35
36
|
};
|
|
36
37
|
}
|
package/src/ethProviderHelper.js
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { __awaiter } from '../_virtual/_tslib.js';
|
|
2
2
|
import { createWalletClient, custom, getAddress } from 'viem';
|
|
3
|
-
import { ProviderLookup, logger } from '@dynamic-labs/wallet-connector-core';
|
|
3
|
+
import { ProviderLookup, eventListenerHandlers, logger } from '@dynamic-labs/wallet-connector-core';
|
|
4
4
|
import { getProvidersFromWindow } from '@dynamic-labs/utils';
|
|
5
|
-
import { eventListenerHandlers } from './utils/eventListenerHandlers.js';
|
|
6
5
|
import { Eip6963ProviderSingleton } from './eip6963Provider.js';
|
|
7
6
|
|
|
8
7
|
class EthProviderHelper {
|
|
@@ -12,7 +11,10 @@ class EthProviderHelper {
|
|
|
12
11
|
getInstalledProvider() {
|
|
13
12
|
const eip6963Config = this.getEip6963Config();
|
|
14
13
|
if (eip6963Config) {
|
|
15
|
-
|
|
14
|
+
const eip6963Provider = this.eip6963ProviderLookup(eip6963Config.rdns);
|
|
15
|
+
if (eip6963Provider) {
|
|
16
|
+
return eip6963Provider;
|
|
17
|
+
}
|
|
16
18
|
}
|
|
17
19
|
const config = this.getInjectedConfig();
|
|
18
20
|
if (!config ||
|
|
@@ -117,14 +119,14 @@ class EthProviderHelper {
|
|
|
117
119
|
return signedMessage;
|
|
118
120
|
});
|
|
119
121
|
}
|
|
120
|
-
_setupEventListeners(walletConnector
|
|
122
|
+
_setupEventListeners(walletConnector) {
|
|
121
123
|
const web3Provider = this.findProvider();
|
|
122
124
|
if (!web3Provider) {
|
|
123
125
|
return {
|
|
124
126
|
tearDownEventListeners: () => { },
|
|
125
127
|
};
|
|
126
128
|
}
|
|
127
|
-
const { handleAccountChange, handleChainChange, handleDisconnect } = eventListenerHandlers(walletConnector
|
|
129
|
+
const { handleAccountChange, handleChainChange, handleDisconnect } = eventListenerHandlers(walletConnector);
|
|
128
130
|
web3Provider.on('accountsChanged', handleAccountChange);
|
|
129
131
|
web3Provider.on('chainChanged', handleChainChange);
|
|
130
132
|
web3Provider.on('disconnect', handleDisconnect);
|
package/src/index.cjs
CHANGED
|
@@ -8,6 +8,7 @@ var PhantomEvm = require('./injected/PhantomEvm.cjs');
|
|
|
8
8
|
var ExodusEvm = require('./injected/ExodusEvm.cjs');
|
|
9
9
|
var fetchInjectedWalletConnectors = require('./injected/fetchInjectedWalletConnectors.cjs');
|
|
10
10
|
require('./walletConnect/walletConnectV2.cjs');
|
|
11
|
+
require('../_virtual/_tslib.cjs');
|
|
11
12
|
require('@walletconnect/ethereum-provider');
|
|
12
13
|
require('viem');
|
|
13
14
|
require('@dynamic-labs/wallet-connector-core');
|
package/src/index.js
CHANGED
|
@@ -5,6 +5,7 @@ export { ExodusEvm } from './injected/ExodusEvm.js';
|
|
|
5
5
|
import { injectedWalletOverrides, fetchInjectedWalletConnector } from './injected/fetchInjectedWalletConnectors.js';
|
|
6
6
|
export { fetchInjectedWalletConnector, injectedWalletOverrides } from './injected/fetchInjectedWalletConnectors.js';
|
|
7
7
|
import './walletConnect/walletConnectV2.js';
|
|
8
|
+
import '../_virtual/_tslib.js';
|
|
8
9
|
import '@walletconnect/ethereum-provider';
|
|
9
10
|
import 'viem';
|
|
10
11
|
import '@dynamic-labs/wallet-connector-core';
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var _tslib = require('../../_virtual/_tslib.cjs');
|
|
4
|
-
var viem = require('viem');
|
|
5
4
|
var walletBook = require('@dynamic-labs/wallet-book');
|
|
6
5
|
var ethProviderHelper = require('../ethProviderHelper.cjs');
|
|
7
6
|
var EthWalletConnector = require('../EthWalletConnector.cjs');
|
|
@@ -17,20 +16,23 @@ class InjectedWalletBase extends EthWalletConnector.EthWalletConnector {
|
|
|
17
16
|
}
|
|
18
17
|
getEthProviderHelper() {
|
|
19
18
|
if (!this.wallet) {
|
|
20
|
-
|
|
19
|
+
// changing this to findWalletBookWallet so it returns undefined if not found which
|
|
20
|
+
// allows the getEthProviderHelper to return undefined if the wallet is not installed
|
|
21
|
+
this.wallet = walletBook.findWalletBookWallet(this.walletBook, this.key);
|
|
21
22
|
}
|
|
22
23
|
if (this.wallet && !this.ethProviderHelper) {
|
|
23
24
|
this.ethProviderHelper = new ethProviderHelper.EthProviderHelper(this.wallet);
|
|
24
25
|
}
|
|
26
|
+
// this.ethProviderHelper is undefined if the wallet is not installed or found in walletbook
|
|
25
27
|
return this.ethProviderHelper;
|
|
26
28
|
}
|
|
27
29
|
getMobileOrInstalledWallet() {
|
|
28
|
-
var _a, _b, _c;
|
|
30
|
+
var _a, _b, _c, _d;
|
|
29
31
|
if (this.walletConnectorFallback && !this.isInstalledOnBrowser()) {
|
|
30
32
|
if (!this.wallet)
|
|
31
|
-
this.wallet = walletBook.
|
|
33
|
+
this.wallet = walletBook.findWalletBookWallet(this.walletBook, this.key);
|
|
32
34
|
if (((_a = this.constructorProps) === null || _a === void 0 ? void 0 : _a.isWalletConnectV2Enabled) &&
|
|
33
|
-
((_c = (_b = this.wallet
|
|
35
|
+
((_d = (_c = (_b = this.wallet) === null || _b === void 0 ? void 0 : _b.walletConnect) === null || _c === void 0 ? void 0 : _c.sdks) === null || _d === void 0 ? void 0 : _d.includes('sign_v2'))) {
|
|
34
36
|
return new walletConnectV2.WalletConnectV2(Object.assign(Object.assign({}, this.constructorProps), { walletName: this.name }));
|
|
35
37
|
}
|
|
36
38
|
else {
|
|
@@ -46,7 +48,7 @@ class InjectedWalletBase extends EthWalletConnector.EthWalletConnector {
|
|
|
46
48
|
const ethProviderHelper = this.getEthProviderHelper();
|
|
47
49
|
if (!ethProviderHelper)
|
|
48
50
|
return;
|
|
49
|
-
const { tearDownEventListeners } = ethProviderHelper._setupEventListeners(this
|
|
51
|
+
const { tearDownEventListeners } = ethProviderHelper._setupEventListeners(this);
|
|
50
52
|
this.teardownEventListeners = tearDownEventListeners;
|
|
51
53
|
}
|
|
52
54
|
getWalletClient() {
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { __awaiter } from '../../_virtual/_tslib.js';
|
|
2
|
-
import {
|
|
3
|
-
import { getWalletBookWallet } from '@dynamic-labs/wallet-book';
|
|
2
|
+
import { findWalletBookWallet } from '@dynamic-labs/wallet-book';
|
|
4
3
|
import { EthProviderHelper } from '../ethProviderHelper.js';
|
|
5
4
|
import { EthWalletConnector } from '../EthWalletConnector.js';
|
|
6
5
|
import { WalletConnectV2 } from '../walletConnect/walletConnectV2.js';
|
|
@@ -15,20 +14,23 @@ class InjectedWalletBase extends EthWalletConnector {
|
|
|
15
14
|
}
|
|
16
15
|
getEthProviderHelper() {
|
|
17
16
|
if (!this.wallet) {
|
|
18
|
-
|
|
17
|
+
// changing this to findWalletBookWallet so it returns undefined if not found which
|
|
18
|
+
// allows the getEthProviderHelper to return undefined if the wallet is not installed
|
|
19
|
+
this.wallet = findWalletBookWallet(this.walletBook, this.key);
|
|
19
20
|
}
|
|
20
21
|
if (this.wallet && !this.ethProviderHelper) {
|
|
21
22
|
this.ethProviderHelper = new EthProviderHelper(this.wallet);
|
|
22
23
|
}
|
|
24
|
+
// this.ethProviderHelper is undefined if the wallet is not installed or found in walletbook
|
|
23
25
|
return this.ethProviderHelper;
|
|
24
26
|
}
|
|
25
27
|
getMobileOrInstalledWallet() {
|
|
26
|
-
var _a, _b, _c;
|
|
28
|
+
var _a, _b, _c, _d;
|
|
27
29
|
if (this.walletConnectorFallback && !this.isInstalledOnBrowser()) {
|
|
28
30
|
if (!this.wallet)
|
|
29
|
-
this.wallet =
|
|
31
|
+
this.wallet = findWalletBookWallet(this.walletBook, this.key);
|
|
30
32
|
if (((_a = this.constructorProps) === null || _a === void 0 ? void 0 : _a.isWalletConnectV2Enabled) &&
|
|
31
|
-
((_c = (_b = this.wallet
|
|
33
|
+
((_d = (_c = (_b = this.wallet) === null || _b === void 0 ? void 0 : _b.walletConnect) === null || _c === void 0 ? void 0 : _c.sdks) === null || _d === void 0 ? void 0 : _d.includes('sign_v2'))) {
|
|
32
34
|
return new WalletConnectV2(Object.assign(Object.assign({}, this.constructorProps), { walletName: this.name }));
|
|
33
35
|
}
|
|
34
36
|
else {
|
|
@@ -44,7 +46,7 @@ class InjectedWalletBase extends EthWalletConnector {
|
|
|
44
46
|
const ethProviderHelper = this.getEthProviderHelper();
|
|
45
47
|
if (!ethProviderHelper)
|
|
46
48
|
return;
|
|
47
|
-
const { tearDownEventListeners } = ethProviderHelper._setupEventListeners(this
|
|
49
|
+
const { tearDownEventListeners } = ethProviderHelper._setupEventListeners(this);
|
|
48
50
|
this.teardownEventListeners = tearDownEventListeners;
|
|
49
51
|
}
|
|
50
52
|
getWalletClient() {
|
package/src/types.d.ts
CHANGED
|
@@ -26,11 +26,6 @@ export type IEthereum = {
|
|
|
26
26
|
export type ProviderFlag = 'isDawn' | 'isBraveWallet' | 'isCoinbaseWallet' | 'isFrame' | 'isGamestop' | 'isMetaMask' | 'isExodus' | 'isOpera' | 'isBlocto' | 'isTrustWallet' | 'isZerion' | 'isPhantom' | 'isSuperb' | 'isRabby' | 'isOkxWallet';
|
|
27
27
|
export type EthProviderCondition = ProviderCondition<ProviderFlag>;
|
|
28
28
|
export type Provider = () => PublicClient | undefined;
|
|
29
|
-
export type AccountChangeEventHandler = (accounts: string[]) => Promise<void>;
|
|
30
|
-
export type ChainChangeEventHandler = (chainId: string | number) => Promise<void>;
|
|
31
|
-
export type DisconnectEventHandler = (error?: {
|
|
32
|
-
code: number;
|
|
33
|
-
}) => Promise<void>;
|
|
34
29
|
export type ExternalProviderEventEmitter = PublicClient & {
|
|
35
30
|
on: (event: string, listener: (...args: Array<any>) => unknown) => void;
|
|
36
31
|
removeListener: (event: string, listener: (...args: Array<any>) => unknown) => void;
|
|
@@ -39,9 +39,6 @@ class WalletConnectV2 extends EthWalletConnector.EthWalletConnector {
|
|
|
39
39
|
this.projectId = opts.projectId;
|
|
40
40
|
this.deepLinkPreference = opts.deepLinkPreference || 'native';
|
|
41
41
|
this.preferredChains = opts.walletConnectPreferredChains || [];
|
|
42
|
-
if (!this.preferredChains.includes('eip155:1')) {
|
|
43
|
-
this.preferredChains.push('eip155:1');
|
|
44
|
-
}
|
|
45
42
|
this.hasSwitchedNetwork =
|
|
46
43
|
(_a = Boolean(localStorage.getItem(this.swicthedNetworkKey))) !== null && _a !== void 0 ? _a : false;
|
|
47
44
|
const lsCurrentChain = localStorage.getItem(this.currentChainKey);
|
|
@@ -55,6 +52,16 @@ class WalletConnectV2 extends EthWalletConnector.EthWalletConnector {
|
|
|
55
52
|
.filter((network) => network.chainId !== 11297108109)
|
|
56
53
|
.map((network) => `eip155:${network.chainId}`));
|
|
57
54
|
}
|
|
55
|
+
getMappedChainsByPreferredOrder() {
|
|
56
|
+
// adding Ethereum to avoid an error connecting if none of the evm networks are supported by the wallet
|
|
57
|
+
const allChains = this.getMappedChains();
|
|
58
|
+
if (!allChains.includes('eip155:1')) {
|
|
59
|
+
allChains.push('eip155:1');
|
|
60
|
+
}
|
|
61
|
+
const reorderedChains = this.preferredChains.filter((chain) => allChains.includes(chain));
|
|
62
|
+
const remainingChains = allChains.filter((chain) => !this.preferredChains.includes(chain));
|
|
63
|
+
return [...reorderedChains, ...remainingChains];
|
|
64
|
+
}
|
|
58
65
|
initConnection() {
|
|
59
66
|
return _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
60
67
|
const { provider } = WalletConnectV2;
|
|
@@ -67,7 +74,7 @@ class WalletConnectV2 extends EthWalletConnector.EthWalletConnector {
|
|
|
67
74
|
}
|
|
68
75
|
const optionalNamespaces = {
|
|
69
76
|
eip155: {
|
|
70
|
-
chains: this.
|
|
77
|
+
chains: this.getMappedChainsByPreferredOrder(),
|
|
71
78
|
events: ['chainChanged', 'accountsChanged'],
|
|
72
79
|
methods: [
|
|
73
80
|
'eth_chainId',
|
|
@@ -89,7 +96,7 @@ class WalletConnectV2 extends EthWalletConnector.EthWalletConnector {
|
|
|
89
96
|
})
|
|
90
97
|
.catch((e) => {
|
|
91
98
|
walletConnectorCore.logger.error(e);
|
|
92
|
-
ee.emit('walletconnect_connection_failed');
|
|
99
|
+
ee.emit('walletconnect_connection_failed', e);
|
|
93
100
|
});
|
|
94
101
|
});
|
|
95
102
|
}
|
|
@@ -432,11 +439,17 @@ class WalletConnectV2 extends EthWalletConnector.EthWalletConnector {
|
|
|
432
439
|
return [this.activeAccount];
|
|
433
440
|
});
|
|
434
441
|
}
|
|
442
|
+
isMetaMask() {
|
|
443
|
+
var _a, _b, _c, _d, _e;
|
|
444
|
+
return ((_e = (_d = (_c = (_b = (_a = this.session) === null || _a === void 0 ? void 0 : _a.peer) === null || _b === void 0 ? void 0 : _b.metadata) === null || _c === void 0 ? void 0 : _c.name) === null || _d === void 0 ? void 0 : _d.toLowerCase().startsWith('metamask')) !== null && _e !== void 0 ? _e : false);
|
|
445
|
+
}
|
|
435
446
|
getSupportedNetworks() {
|
|
436
447
|
var _a;
|
|
437
448
|
return _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
438
|
-
if
|
|
439
|
-
|
|
449
|
+
// MM allows you to switch to any network the first time, even if it's not enabled in MM
|
|
450
|
+
// so we should consider all networks as supported if network switching hasn't been triggered yet
|
|
451
|
+
if (this.isMetaMask() && !this.hasSwitchedNetwork) {
|
|
452
|
+
return this.evmNetworks.map((network) => network.chainId.toString());
|
|
440
453
|
}
|
|
441
454
|
yield this.initProvider();
|
|
442
455
|
this.refreshSession();
|
|
@@ -452,7 +465,9 @@ class WalletConnectV2 extends EthWalletConnector.EthWalletConnector {
|
|
|
452
465
|
}
|
|
453
466
|
});
|
|
454
467
|
(_a = this.session.namespaces.eip155) === null || _a === void 0 ? void 0 : _a.accounts.forEach((account) => chains.push(account.split(':')[1]));
|
|
455
|
-
return chains.length
|
|
468
|
+
return chains.length
|
|
469
|
+
? chains
|
|
470
|
+
: this.evmNetworks.map((network) => network.chainId.toString());
|
|
456
471
|
});
|
|
457
472
|
}
|
|
458
473
|
}
|
|
@@ -27,6 +27,7 @@ export declare class WalletConnectV2 extends EthWalletConnector {
|
|
|
27
27
|
private _hasSwitchedNetwork;
|
|
28
28
|
constructor(opts: WalletConnectorV2Opts);
|
|
29
29
|
private getMappedChains;
|
|
30
|
+
private getMappedChainsByPreferredOrder;
|
|
30
31
|
private initConnection;
|
|
31
32
|
private createInitProviderPromise;
|
|
32
33
|
private initProvider;
|
|
@@ -71,10 +72,10 @@ export declare class WalletConnectV2 extends EthWalletConnector {
|
|
|
71
72
|
[x: string]: Record<string, any>;
|
|
72
73
|
eth_accounts: Record<string, any>;
|
|
73
74
|
}) => Promise<import("viem").RequestPermissionsReturnType>;
|
|
74
|
-
sendRawTransaction: (args: import("viem/_types/actions/wallet/sendRawTransaction").SendRawTransactionParameters) => Promise<`0x${string}`>;
|
|
75
|
+
sendRawTransaction: (args: import("node_modules/viem/_types/actions/wallet/sendRawTransaction").SendRawTransactionParameters) => Promise<`0x${string}`>;
|
|
75
76
|
sendTransaction: <TChainOverride_2 extends import("viem").Chain | undefined = undefined>(args: import("viem").SendTransactionParameters<undefined, undefined, TChainOverride_2>) => Promise<`0x${string}`>;
|
|
76
77
|
signMessage: (args: import("viem").SignMessageParameters<undefined>) => Promise<`0x${string}`>;
|
|
77
|
-
signTransaction: <TChainOverride_3 extends import("viem").Chain | undefined = undefined>(args: import("viem/_types/actions/wallet/signTransaction").SignTransactionParameters<undefined, undefined, TChainOverride_3>) => Promise<`0x${string}`>;
|
|
78
|
+
signTransaction: <TChainOverride_3 extends import("viem").Chain | undefined = undefined>(args: import("node_modules/viem/_types/actions/wallet/signTransaction").SignTransactionParameters<undefined, undefined, TChainOverride_3>) => Promise<`0x${string}`>;
|
|
78
79
|
signTypedData: <const TTypedData extends {
|
|
79
80
|
[x: string]: readonly import("viem").TypedDataParameter[];
|
|
80
81
|
[x: `string[${string}]`]: undefined;
|
|
@@ -327,5 +328,6 @@ export declare class WalletConnectV2 extends EthWalletConnector {
|
|
|
327
328
|
provider: WalletClient;
|
|
328
329
|
}): Promise<void>;
|
|
329
330
|
getConnectedAccounts(): Promise<string[]>;
|
|
331
|
+
private isMetaMask;
|
|
330
332
|
getSupportedNetworks(): Promise<string[] | undefined>;
|
|
331
333
|
}
|
|
@@ -30,9 +30,6 @@ class WalletConnectV2 extends EthWalletConnector {
|
|
|
30
30
|
this.projectId = opts.projectId;
|
|
31
31
|
this.deepLinkPreference = opts.deepLinkPreference || 'native';
|
|
32
32
|
this.preferredChains = opts.walletConnectPreferredChains || [];
|
|
33
|
-
if (!this.preferredChains.includes('eip155:1')) {
|
|
34
|
-
this.preferredChains.push('eip155:1');
|
|
35
|
-
}
|
|
36
33
|
this.hasSwitchedNetwork =
|
|
37
34
|
(_a = Boolean(localStorage.getItem(this.swicthedNetworkKey))) !== null && _a !== void 0 ? _a : false;
|
|
38
35
|
const lsCurrentChain = localStorage.getItem(this.currentChainKey);
|
|
@@ -46,6 +43,16 @@ class WalletConnectV2 extends EthWalletConnector {
|
|
|
46
43
|
.filter((network) => network.chainId !== 11297108109)
|
|
47
44
|
.map((network) => `eip155:${network.chainId}`));
|
|
48
45
|
}
|
|
46
|
+
getMappedChainsByPreferredOrder() {
|
|
47
|
+
// adding Ethereum to avoid an error connecting if none of the evm networks are supported by the wallet
|
|
48
|
+
const allChains = this.getMappedChains();
|
|
49
|
+
if (!allChains.includes('eip155:1')) {
|
|
50
|
+
allChains.push('eip155:1');
|
|
51
|
+
}
|
|
52
|
+
const reorderedChains = this.preferredChains.filter((chain) => allChains.includes(chain));
|
|
53
|
+
const remainingChains = allChains.filter((chain) => !this.preferredChains.includes(chain));
|
|
54
|
+
return [...reorderedChains, ...remainingChains];
|
|
55
|
+
}
|
|
49
56
|
initConnection() {
|
|
50
57
|
return __awaiter(this, void 0, void 0, function* () {
|
|
51
58
|
const { provider } = WalletConnectV2;
|
|
@@ -58,7 +65,7 @@ class WalletConnectV2 extends EthWalletConnector {
|
|
|
58
65
|
}
|
|
59
66
|
const optionalNamespaces = {
|
|
60
67
|
eip155: {
|
|
61
|
-
chains: this.
|
|
68
|
+
chains: this.getMappedChainsByPreferredOrder(),
|
|
62
69
|
events: ['chainChanged', 'accountsChanged'],
|
|
63
70
|
methods: [
|
|
64
71
|
'eth_chainId',
|
|
@@ -80,7 +87,7 @@ class WalletConnectV2 extends EthWalletConnector {
|
|
|
80
87
|
})
|
|
81
88
|
.catch((e) => {
|
|
82
89
|
logger.error(e);
|
|
83
|
-
ee.emit('walletconnect_connection_failed');
|
|
90
|
+
ee.emit('walletconnect_connection_failed', e);
|
|
84
91
|
});
|
|
85
92
|
});
|
|
86
93
|
}
|
|
@@ -423,11 +430,17 @@ class WalletConnectV2 extends EthWalletConnector {
|
|
|
423
430
|
return [this.activeAccount];
|
|
424
431
|
});
|
|
425
432
|
}
|
|
433
|
+
isMetaMask() {
|
|
434
|
+
var _a, _b, _c, _d, _e;
|
|
435
|
+
return ((_e = (_d = (_c = (_b = (_a = this.session) === null || _a === void 0 ? void 0 : _a.peer) === null || _b === void 0 ? void 0 : _b.metadata) === null || _c === void 0 ? void 0 : _c.name) === null || _d === void 0 ? void 0 : _d.toLowerCase().startsWith('metamask')) !== null && _e !== void 0 ? _e : false);
|
|
436
|
+
}
|
|
426
437
|
getSupportedNetworks() {
|
|
427
438
|
var _a;
|
|
428
439
|
return __awaiter(this, void 0, void 0, function* () {
|
|
429
|
-
if
|
|
430
|
-
|
|
440
|
+
// MM allows you to switch to any network the first time, even if it's not enabled in MM
|
|
441
|
+
// so we should consider all networks as supported if network switching hasn't been triggered yet
|
|
442
|
+
if (this.isMetaMask() && !this.hasSwitchedNetwork) {
|
|
443
|
+
return this.evmNetworks.map((network) => network.chainId.toString());
|
|
431
444
|
}
|
|
432
445
|
yield this.initProvider();
|
|
433
446
|
this.refreshSession();
|
|
@@ -443,7 +456,9 @@ class WalletConnectV2 extends EthWalletConnector {
|
|
|
443
456
|
}
|
|
444
457
|
});
|
|
445
458
|
(_a = this.session.namespaces.eip155) === null || _a === void 0 ? void 0 : _a.accounts.forEach((account) => chains.push(account.split(':')[1]));
|
|
446
|
-
return chains.length
|
|
459
|
+
return chains.length
|
|
460
|
+
? chains
|
|
461
|
+
: this.evmNetworks.map((network) => network.chainId.toString());
|
|
447
462
|
});
|
|
448
463
|
}
|
|
449
464
|
}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
var _tslib = require('../../_virtual/_tslib.cjs');
|
|
6
|
-
|
|
7
|
-
const eventListenerHandlers = (walletConnector, publicClient) => {
|
|
8
|
-
const handleAccountChange = (accounts) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
9
|
-
if (accounts.length === 0) {
|
|
10
|
-
walletConnector.emit('disconnect');
|
|
11
|
-
return;
|
|
12
|
-
}
|
|
13
|
-
walletConnector.emit('accountChange', { accounts });
|
|
14
|
-
});
|
|
15
|
-
const handleChainChange = () => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
16
|
-
const chainId = yield publicClient.getChainId();
|
|
17
|
-
walletConnector.emit('chainChange', {
|
|
18
|
-
chain: chainId.toString(),
|
|
19
|
-
});
|
|
20
|
-
});
|
|
21
|
-
const handleDisconnect = (error) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
22
|
-
if ((error === null || error === void 0 ? void 0 : error.code) === 1013) {
|
|
23
|
-
return;
|
|
24
|
-
}
|
|
25
|
-
walletConnector.emit('disconnect');
|
|
26
|
-
});
|
|
27
|
-
return {
|
|
28
|
-
handleAccountChange,
|
|
29
|
-
handleChainChange,
|
|
30
|
-
handleDisconnect,
|
|
31
|
-
};
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
exports.eventListenerHandlers = eventListenerHandlers;
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { PublicClient } from 'viem';
|
|
2
|
-
import { WalletConnector } from '@dynamic-labs/wallet-connector-core';
|
|
3
|
-
import { AccountChangeEventHandler, ChainChangeEventHandler, DisconnectEventHandler } from '../types';
|
|
4
|
-
export declare const eventListenerHandlers: (walletConnector: WalletConnector, publicClient: PublicClient) => {
|
|
5
|
-
handleAccountChange: AccountChangeEventHandler;
|
|
6
|
-
handleChainChange: ChainChangeEventHandler;
|
|
7
|
-
handleDisconnect: DisconnectEventHandler;
|
|
8
|
-
};
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { __awaiter } from '../../_virtual/_tslib.js';
|
|
2
|
-
|
|
3
|
-
const eventListenerHandlers = (walletConnector, publicClient) => {
|
|
4
|
-
const handleAccountChange = (accounts) => __awaiter(void 0, void 0, void 0, function* () {
|
|
5
|
-
if (accounts.length === 0) {
|
|
6
|
-
walletConnector.emit('disconnect');
|
|
7
|
-
return;
|
|
8
|
-
}
|
|
9
|
-
walletConnector.emit('accountChange', { accounts });
|
|
10
|
-
});
|
|
11
|
-
const handleChainChange = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
12
|
-
const chainId = yield publicClient.getChainId();
|
|
13
|
-
walletConnector.emit('chainChange', {
|
|
14
|
-
chain: chainId.toString(),
|
|
15
|
-
});
|
|
16
|
-
});
|
|
17
|
-
const handleDisconnect = (error) => __awaiter(void 0, void 0, void 0, function* () {
|
|
18
|
-
if ((error === null || error === void 0 ? void 0 : error.code) === 1013) {
|
|
19
|
-
return;
|
|
20
|
-
}
|
|
21
|
-
walletConnector.emit('disconnect');
|
|
22
|
-
});
|
|
23
|
-
return {
|
|
24
|
-
handleAccountChange,
|
|
25
|
-
handleChainChange,
|
|
26
|
-
handleDisconnect,
|
|
27
|
-
};
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
export { eventListenerHandlers };
|