@dynamic-labs/ethereum 4.0.0-alpha.3 → 4.0.0-alpha.30
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 +254 -0
- package/package.cjs +8 -0
- package/package.js +4 -0
- package/package.json +10 -17
- package/src/coinbase/coinbase.cjs +1 -3
- package/src/coinbase/coinbase.d.ts +2 -5
- package/src/coinbase/coinbase.js +2 -4
- package/src/coinbase/types.d.ts +2 -2
- package/src/ethProviderHelper.cjs +44 -38
- package/src/ethProviderHelper.d.ts +5 -6
- package/src/ethProviderHelper.js +45 -39
- package/src/index.cjs +9 -0
- package/src/index.d.ts +1 -1
- package/src/index.js +5 -1
- package/src/injected/ExodusEvm.cjs +1 -1
- package/src/injected/ExodusEvm.d.ts +3 -3
- package/src/injected/ExodusEvm.js +1 -1
- package/src/injected/FallbackEvmConnector.cjs +1 -1
- package/src/injected/FallbackEvmConnector.d.ts +3 -3
- package/src/injected/FallbackEvmConnector.js +1 -1
- package/src/injected/InjectedWalletBase.cjs +12 -6
- package/src/injected/InjectedWalletBase.d.ts +4 -6
- package/src/injected/InjectedWalletBase.js +11 -7
- package/src/injected/PhantomEvm.cjs +1 -1
- package/src/injected/PhantomEvm.d.ts +3 -3
- package/src/injected/PhantomEvm.js +1 -1
- package/src/injected/UnknownInjected.cjs +1 -1
- package/src/injected/UnknownInjected.d.ts +3 -3
- package/src/injected/UnknownInjected.js +1 -1
- package/src/injected/fetchInjectedWalletConnectors.cjs +3 -2
- package/src/injected/fetchInjectedWalletConnectors.js +3 -2
- package/src/injected/index.d.ts +1 -0
- package/src/types.d.ts +1 -3
- package/src/walletConnect/walletConnect.cjs +1 -3
- package/src/walletConnect/walletConnect.d.ts +4 -6
- package/src/walletConnect/walletConnect.js +2 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,4 +1,258 @@
|
|
|
1
1
|
|
|
2
|
+
## [4.0.0-alpha.30](https://github.com/dynamic-labs/dynamic-auth/compare/v4.0.0-alpha.29...v4.0.0-alpha.30) (2024-11-13)
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
### ⚠ BREAKING CHANGES
|
|
6
|
+
|
|
7
|
+
* check wallet limitations from metadata (#7413)
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* confirmation ui disabled for solana signall and signTransaction ([#7403](https://github.com/dynamic-labs/dynamic-auth/issues/7403)) ([98a352a](https://github.com/dynamic-labs/dynamic-auth/commit/98a352a826202abad734f00df1b3d19080ecf1e2))
|
|
12
|
+
* get starknet wallets directly from window ([#7421](https://github.com/dynamic-labs/dynamic-auth/issues/7421)) ([13e24f7](https://github.com/dynamic-labs/dynamic-auth/commit/13e24f70accf7747f5137fc3f2b05c00939c3af3))
|
|
13
|
+
* issue with SollanaWalletConnectorWithConfig embedded wallets ([#7405](https://github.com/dynamic-labs/dynamic-auth/issues/7405)) ([f08ecd6](https://github.com/dynamic-labs/dynamic-auth/commit/f08ecd6955faf191177bb9833b7a594637a6c4cc))
|
|
14
|
+
* set override key in starknet injected connector ([#7420](https://github.com/dynamic-labs/dynamic-auth/issues/7420)) ([74b2887](https://github.com/dynamic-labs/dynamic-auth/commit/74b28874661b3bad1e0a0f92aa9d3c987dc71225))
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
* check wallet limitations from metadata ([#7413](https://github.com/dynamic-labs/dynamic-auth/issues/7413)) ([a419de6](https://github.com/dynamic-labs/dynamic-auth/commit/a419de643ea4ff240a27825c10670ba92589b71b))
|
|
18
|
+
|
|
19
|
+
## [4.0.0-alpha.29](https://github.com/dynamic-labs/dynamic-auth/compare/v4.0.0-alpha.28...v4.0.0-alpha.29) (2024-11-07)
|
|
20
|
+
|
|
21
|
+
## [4.0.0-alpha.28](https://github.com/dynamic-labs/dynamic-auth/compare/v4.0.0-alpha.27...v4.0.0-alpha.28) (2024-11-07)
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
### ⚠ BREAKING CHANGES
|
|
25
|
+
|
|
26
|
+
* upgrade to starknet v6
|
|
27
|
+
See this guide for more details: https://starknetjs.com/docs/guides/migrate/
|
|
28
|
+
There are no code changes required on the Dynamic SDK side, however if you have installed the `starknet` package, you will need to upgrade to >= v6.11.0.
|
|
29
|
+
|
|
30
|
+
### Features
|
|
31
|
+
|
|
32
|
+
* new transaction modal and ui for sign/signAll ([#7296](https://github.com/dynamic-labs/dynamic-auth/issues/7296)) ([05a8af1](https://github.com/dynamic-labs/dynamic-auth/commit/05a8af1eb772b2b8087ed96a54caf4b6ae8b79d2)), closes [#7297](https://github.com/dynamic-labs/dynamic-auth/issues/7297) [#7298](https://github.com/dynamic-labs/dynamic-auth/issues/7298)
|
|
33
|
+
* upgrade to starknet v6 ([#7189](https://github.com/dynamic-labs/dynamic-auth/issues/7189)) ([2a6e24e](https://github.com/dynamic-labs/dynamic-auth/commit/2a6e24e4178fcee671b381c28f6a681f4ce52c62))
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
### Bug Fixes
|
|
37
|
+
|
|
38
|
+
* transaction confirmation modal popup ([#7368](https://github.com/dynamic-labs/dynamic-auth/issues/7368)) ([3c48658](https://github.com/dynamic-labs/dynamic-auth/commit/3c48658a62874d908bba8f06fb092ff5983ede16))
|
|
39
|
+
|
|
40
|
+
## [4.0.0-alpha.27](https://github.com/dynamic-labs/dynamic-auth/compare/v4.0.0-alpha.26...v4.0.0-alpha.27) (2024-11-06)
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
### Features
|
|
44
|
+
|
|
45
|
+
* allows adding connection configuration for solana connectors ([#7354](https://github.com/dynamic-labs/dynamic-auth/issues/7354)) ([01e35ee](https://github.com/dynamic-labs/dynamic-auth/commit/01e35ee5bfe4605df48e4188a753111efe483048))
|
|
46
|
+
* allows passing solana connection config to dynamic client ([#7357](https://github.com/dynamic-labs/dynamic-auth/issues/7357)) ([6da14ce](https://github.com/dynamic-labs/dynamic-auth/commit/6da14ceb481147aea31d192fe268be43a8af80e9))
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
### Bug Fixes
|
|
50
|
+
|
|
51
|
+
* check legacy vs eip1599 tx in global connectivity ([#7341](https://github.com/dynamic-labs/dynamic-auth/issues/7341)) ([b223ea7](https://github.com/dynamic-labs/dynamic-auth/commit/b223ea7a5ed5637e11da1040c631c48bc23ba76d))
|
|
52
|
+
* global connectivity multiple transactions in a row ([#7342](https://github.com/dynamic-labs/dynamic-auth/issues/7342)) ([d13c1af](https://github.com/dynamic-labs/dynamic-auth/commit/d13c1afec6b3680961621d8317f55549b3ed428f))
|
|
53
|
+
|
|
54
|
+
## [4.0.0-alpha.26](https://github.com/dynamic-labs/dynamic-auth/compare/v4.0.0-alpha.25...v4.0.0-alpha.26) (2024-11-04)
|
|
55
|
+
|
|
56
|
+
## [4.0.0-alpha.25](https://github.com/dynamic-labs/dynamic-auth/compare/v4.0.0-alpha.24...v4.0.0-alpha.25) (2024-11-01)
|
|
57
|
+
|
|
58
|
+
## [4.0.0-alpha.24](https://github.com/dynamic-labs/dynamic-auth/compare/v4.0.0-alpha.23...v4.0.0-alpha.24) (2024-10-31)
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
### Bug Fixes
|
|
62
|
+
|
|
63
|
+
* prevent use-wallet-options from reading empty wallet-book ([#7319](https://github.com/dynamic-labs/dynamic-auth/issues/7319)) ([fc1269e](https://github.com/dynamic-labs/dynamic-auth/commit/fc1269ed2b59ee17fc528d24a4d34936eb20c02f))
|
|
64
|
+
|
|
65
|
+
## [4.0.0-alpha.23](https://github.com/dynamic-labs/dynamic-auth/compare/v4.0.0-alpha.22...v4.0.0-alpha.23) (2024-10-31)
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
### Features
|
|
69
|
+
|
|
70
|
+
* allow deletion of embedded wallets ([#7170](https://github.com/dynamic-labs/dynamic-auth/issues/7170)) ([40c5478](https://github.com/dynamic-labs/dynamic-auth/commit/40c54789594ba265a63b24f936da4e72b5b1c5b9))
|
|
71
|
+
|
|
72
|
+
## [4.0.0-alpha.22](https://github.com/dynamic-labs/dynamic-auth/compare/v4.0.0-alpha.21...v4.0.0-alpha.22) (2024-10-30)
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
### Features
|
|
76
|
+
|
|
77
|
+
* **QNTM-522:** add wallet details card ([#7239](https://github.com/dynamic-labs/dynamic-auth/issues/7239)) ([0181c87](https://github.com/dynamic-labs/dynamic-auth/commit/0181c8727af575620525b8ea47b196945c347846))
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
### Bug Fixes
|
|
81
|
+
|
|
82
|
+
* update check for wallet provider event listeners support ([#7303](https://github.com/dynamic-labs/dynamic-auth/issues/7303)) ([c5f3766](https://github.com/dynamic-labs/dynamic-auth/commit/c5f376691c87a0999991e477f9acd07eed4774aa))
|
|
83
|
+
|
|
84
|
+
## [4.0.0-alpha.21](https://github.com/dynamic-labs/dynamic-auth/compare/v4.0.0-alpha.20...v4.0.0-alpha.21) (2024-10-30)
|
|
85
|
+
|
|
86
|
+
## [4.0.0-alpha.20](https://github.com/dynamic-labs/dynamic-auth/compare/v4.0.0-alpha.19...v4.0.0-alpha.20) (2024-10-30)
|
|
87
|
+
|
|
88
|
+
## [4.0.0-alpha.19](https://github.com/dynamic-labs/dynamic-auth/compare/v4.0.0-alpha.18...v4.0.0-alpha.19) (2024-10-29)
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
### Bug Fixes
|
|
92
|
+
|
|
93
|
+
* ensure the client js will emit a change event after the value update ([#7284](https://github.com/dynamic-labs/dynamic-auth/issues/7284)) ([930d2e9](https://github.com/dynamic-labs/dynamic-auth/commit/930d2e9fdc75fd4a38da8ef6efc9d3e29152285b))
|
|
94
|
+
|
|
95
|
+
## [4.0.0-alpha.18](https://github.com/dynamic-labs/dynamic-auth/compare/v4.0.0-alpha.17...v4.0.0-alpha.18) (2024-10-29)
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
### Bug Fixes
|
|
99
|
+
|
|
100
|
+
* **web-extension:** add color scheme style to prevent broken style ([#7247](https://github.com/dynamic-labs/dynamic-auth/issues/7247)) ([c525c50](https://github.com/dynamic-labs/dynamic-auth/commit/c525c50ac02997f3baf220fd2e67c6c4b3d10903))
|
|
101
|
+
|
|
102
|
+
## [4.0.0-alpha.17](https://github.com/dynamic-labs/dynamic-auth/compare/v4.0.0-alpha.16...v4.0.0-alpha.17) (2024-10-28)
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
### Features
|
|
106
|
+
|
|
107
|
+
* add support for eclipse ([#7255](https://github.com/dynamic-labs/dynamic-auth/issues/7255)) ([70e9830](https://github.com/dynamic-labs/dynamic-auth/commit/70e9830c6c801e0298825b914ee825b578350cf0))
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
### Bug Fixes
|
|
111
|
+
|
|
112
|
+
* adds missing packages to zerodev-extension package ([#7187](https://github.com/dynamic-labs/dynamic-auth/issues/7187)) ([052a7e7](https://github.com/dynamic-labs/dynamic-auth/commit/052a7e7c08d458996d1be56f7697448ad5a9a1c9))
|
|
113
|
+
* unpin reactivity package for vue projects ([#7246](https://github.com/dynamic-labs/dynamic-auth/issues/7246)) ([18013e0](https://github.com/dynamic-labs/dynamic-auth/commit/18013e00d6855f8b371c9edb97594a08764c3868))
|
|
114
|
+
|
|
115
|
+
## [4.0.0-alpha.16](https://github.com/dynamic-labs/dynamic-auth/compare/v4.0.0-alpha.15...v4.0.0-alpha.16) (2024-10-27)
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
### Features
|
|
119
|
+
|
|
120
|
+
* add passkey to web-extension ([#7096](https://github.com/dynamic-labs/dynamic-auth/issues/7096)) ([a4b4643](https://github.com/dynamic-labs/dynamic-auth/commit/a4b4643e5307358425c878067bae095090f322ca))
|
|
121
|
+
* add social to web extension ([#7106](https://github.com/dynamic-labs/dynamic-auth/issues/7106)) ([422bc8e](https://github.com/dynamic-labs/dynamic-auth/commit/422bc8e2d276d960a7a76ad55a7b244c3fd83173))
|
|
122
|
+
* add support for compass and leap wallets ([9738749](https://github.com/dynamic-labs/dynamic-auth/commit/9738749bb5ed8e07a2582df255f683e4d408db93))
|
|
123
|
+
* add support for epicgames social ([#7220](https://github.com/dynamic-labs/dynamic-auth/issues/7220)) ([cb5bc30](https://github.com/dynamic-labs/dynamic-auth/commit/cb5bc30bc17d063bdaa9b427a9358b30124c4589))
|
|
124
|
+
* add web-extension to client ([#7180](https://github.com/dynamic-labs/dynamic-auth/issues/7180)) ([e2ccbb7](https://github.com/dynamic-labs/dynamic-auth/commit/e2ccbb77bdd0250d000a6cc4d89a2e5d7d2f4bb2))
|
|
125
|
+
|
|
126
|
+
## [4.0.0-alpha.15](https://github.com/dynamic-labs/dynamic-auth/compare/v4.0.0-alpha.14...v4.0.0-alpha.15) (2024-10-19)
|
|
127
|
+
|
|
128
|
+
## [4.0.0-alpha.14](https://github.com/dynamic-labs/dynamic-auth/compare/v4.0.0-alpha.13...v4.0.0-alpha.14) (2024-10-18)
|
|
129
|
+
|
|
130
|
+
## [4.0.0-alpha.13](https://github.com/dynamic-labs/dynamic-auth/compare/v4.0.0-alpha.12...v4.0.0-alpha.13) (2024-10-18)
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
### Bug Fixes
|
|
134
|
+
|
|
135
|
+
* improve displayed chain name in network switcher ([#7153](https://github.com/dynamic-labs/dynamic-auth/issues/7153)) ([55d2e5a](https://github.com/dynamic-labs/dynamic-auth/commit/55d2e5a9954bf0255b5caf7aba7a6f1f2e215967))
|
|
136
|
+
|
|
137
|
+
## [4.0.0-alpha.12](https://github.com/dynamic-labs/dynamic-auth/compare/v4.0.0-alpha.11...v4.0.0-alpha.12) (2024-10-18)
|
|
138
|
+
|
|
139
|
+
|
|
140
|
+
### Features
|
|
141
|
+
|
|
142
|
+
* add support for xverse account change event ([#7114](https://github.com/dynamic-labs/dynamic-auth/issues/7114)) ([79df047](https://github.com/dynamic-labs/dynamic-auth/commit/79df04775edb297a339e2d74adcc873584a6d8af))
|
|
143
|
+
* solana embedded signall headless ([#7132](https://github.com/dynamic-labs/dynamic-auth/issues/7132)) ([fe16b71](https://github.com/dynamic-labs/dynamic-auth/commit/fe16b71a4c0ad775f8de87ca899cfdd1071f11d6))
|
|
144
|
+
|
|
145
|
+
|
|
146
|
+
### Bug Fixes
|
|
147
|
+
|
|
148
|
+
* bug where embeddedWalletCreated event was fired before listener … ([#7151](https://github.com/dynamic-labs/dynamic-auth/issues/7151)) ([ae9da56](https://github.com/dynamic-labs/dynamic-auth/commit/ae9da56850130491384a2d5f47c1617815dcce5b))
|
|
149
|
+
* edge case where wallet book fails to load ([#7148](https://github.com/dynamic-labs/dynamic-auth/issues/7148)) ([805dc6d](https://github.com/dynamic-labs/dynamic-auth/commit/805dc6d7cc4cdf0b23748d82b3bd8216d88d55b5))
|
|
150
|
+
* issues where native currency icons were incorrect ([#7126](https://github.com/dynamic-labs/dynamic-auth/issues/7126)) ([8b8891a](https://github.com/dynamic-labs/dynamic-auth/commit/8b8891a52397e17cc127ea3a09ade14c4b70a8ee))
|
|
151
|
+
* remove now-unused sessionTimeout from useSocial ([#7123](https://github.com/dynamic-labs/dynamic-auth/issues/7123)) ([7959a8a](https://github.com/dynamic-labs/dynamic-auth/commit/7959a8a4c8ceb76c5c4f1ae91af204bf9c5cae7b))
|
|
152
|
+
* Revert: Update Exodus extension version " ([#7130](https://github.com/dynamic-labs/dynamic-auth/issues/7130)) ([f2274ae](https://github.com/dynamic-labs/dynamic-auth/commit/f2274aefd29bb9f3fb6de8493e4a5f73946a5600)), closes [#7129](https://github.com/dynamic-labs/dynamic-auth/issues/7129)
|
|
153
|
+
* use embedded primaryChain when passing undefined chains list to createTurnkeyWallet ([#7149](https://github.com/dynamic-labs/dynamic-auth/issues/7149)) ([c73a3ae](https://github.com/dynamic-labs/dynamic-auth/commit/c73a3aeeda8045b936d218f7078ad79967c321ef))
|
|
154
|
+
|
|
155
|
+
## [4.0.0-alpha.11](https://github.com/dynamic-labs/dynamic-auth/compare/v4.0.0-alpha.10...v4.0.0-alpha.11) (2024-10-15)
|
|
156
|
+
|
|
157
|
+
|
|
158
|
+
### Bug Fixes
|
|
159
|
+
|
|
160
|
+
* missing null check in property accessor ([#7122](https://github.com/dynamic-labs/dynamic-auth/issues/7122)) ([bbb5e76](https://github.com/dynamic-labs/dynamic-auth/commit/bbb5e76c1284edad2829605444dda24971027a57))
|
|
161
|
+
|
|
162
|
+
## [4.0.0-alpha.10](https://github.com/dynamic-labs/dynamic-auth/compare/v4.0.0-alpha.9...v4.0.0-alpha.10) (2024-10-15)
|
|
163
|
+
|
|
164
|
+
|
|
165
|
+
### Bug Fixes
|
|
166
|
+
|
|
167
|
+
* epicgames key name without dash ([#7119](https://github.com/dynamic-labs/dynamic-auth/issues/7119)) ([7388d6c](https://github.com/dynamic-labs/dynamic-auth/commit/7388d6cf98f6ee92e12003549dfd1ad81951119e))
|
|
168
|
+
|
|
169
|
+
## [4.0.0-alpha.9](https://github.com/dynamic-labs/dynamic-auth/compare/v4.0.0-alpha.8...v4.0.0-alpha.9) (2024-10-11)
|
|
170
|
+
|
|
171
|
+
|
|
172
|
+
### Features
|
|
173
|
+
|
|
174
|
+
* add support for fordefi wallet ([#7109](https://github.com/dynamic-labs/dynamic-auth/issues/7109)) ([1adb6b1](https://github.com/dynamic-labs/dynamic-auth/commit/1adb6b15b7f8e9156207ac7addf4368d27c1e371))
|
|
175
|
+
* support ability to define additional oauth scopes ([#7105](https://github.com/dynamic-labs/dynamic-auth/issues/7105)) ([b303203](https://github.com/dynamic-labs/dynamic-auth/commit/b303203e8041c0cbf5f8968df0d3cde04ed1b22a))
|
|
176
|
+
|
|
177
|
+
|
|
178
|
+
### Bug Fixes
|
|
179
|
+
|
|
180
|
+
* add eip6963 for exodus evm ([#7094](https://github.com/dynamic-labs/dynamic-auth/issues/7094)) ([c1ec5ef](https://github.com/dynamic-labs/dynamic-auth/commit/c1ec5ef4b6a531c563be4b690aa5f2bd4e7e6a16))
|
|
181
|
+
|
|
182
|
+
## [4.0.0-alpha.8](https://github.com/dynamic-labs/dynamic-auth/compare/v4.0.0-alpha.7...v4.0.0-alpha.8) (2024-10-07)
|
|
183
|
+
|
|
184
|
+
|
|
185
|
+
### Features
|
|
186
|
+
|
|
187
|
+
* add support for dynamic event callbacks in rn ([#6997](https://github.com/dynamic-labs/dynamic-auth/issues/6997)) ([f9ac402](https://github.com/dynamic-labs/dynamic-auth/commit/f9ac40259d9168dfe69dafd5fd44478ba0e69505))
|
|
188
|
+
* add support for dynamic handlers in rn ([#7032](https://github.com/dynamic-labs/dynamic-auth/issues/7032)) ([f61f926](https://github.com/dynamic-labs/dynamic-auth/commit/f61f92666b6df8483dde2c47304fd4fb02690f7d))
|
|
189
|
+
* Support for multi-chain AA ([#6829](https://github.com/dynamic-labs/dynamic-auth/issues/6829)) ([b4a0c0a](https://github.com/dynamic-labs/dynamic-auth/commit/b4a0c0a4de48231a3748826600407c25abf6894d))
|
|
190
|
+
|
|
191
|
+
|
|
192
|
+
### Bug Fixes
|
|
193
|
+
|
|
194
|
+
* persist isHardwareWalletEnabled on wallet connector ([#7025](https://github.com/dynamic-labs/dynamic-auth/issues/7025)) ([#7034](https://github.com/dynamic-labs/dynamic-auth/issues/7034)) ([4bfc301](https://github.com/dynamic-labs/dynamic-auth/commit/4bfc301d891f10db8c0bd31e5164c489a882c5c3))
|
|
195
|
+
|
|
196
|
+
## [4.0.0-alpha.7](https://github.com/dynamic-labs/dynamic-auth/compare/v4.0.0-alpha.6...v4.0.0-alpha.7) (2024-10-03)
|
|
197
|
+
|
|
198
|
+
|
|
199
|
+
### Features
|
|
200
|
+
|
|
201
|
+
* add account abstraction module to client ([#7002](https://github.com/dynamic-labs/dynamic-auth/issues/7002)) ([2f06975](https://github.com/dynamic-labs/dynamic-auth/commit/2f06975083dfa9d40537ef4a99b414eda1a68e01))
|
|
202
|
+
* add support for wallet events in rn ([#7061](https://github.com/dynamic-labs/dynamic-auth/issues/7061)) ([c7c4ce5](https://github.com/dynamic-labs/dynamic-auth/commit/c7c4ce51f27a2b84a1710c120d7006a00920c1e7))
|
|
203
|
+
* add zerodev extension for react native ([#7028](https://github.com/dynamic-labs/dynamic-auth/issues/7028)) ([858b8a8](https://github.com/dynamic-labs/dynamic-auth/commit/858b8a851cfa0cddc8e4559541b03992cf5ccdfc))
|
|
204
|
+
|
|
205
|
+
|
|
206
|
+
### Bug Fixes
|
|
207
|
+
|
|
208
|
+
* do not modify sol tx blockhash as tx could have been signed already ([#7050](https://github.com/dynamic-labs/dynamic-auth/issues/7050)) ([770edb4](https://github.com/dynamic-labs/dynamic-auth/commit/770edb49ddc231b75fb45a9f6d563f22e5185df2))
|
|
209
|
+
* ensure the correct auth mode is used on social redirect ([#7047](https://github.com/dynamic-labs/dynamic-auth/issues/7047)) ([7c27172](https://github.com/dynamic-labs/dynamic-auth/commit/7c271721d5ddf19e3fd1bf56ddb1d49e0e2bca07))
|
|
210
|
+
* prevent react native message timeout before sdk is ready ([#7051](https://github.com/dynamic-labs/dynamic-auth/issues/7051)) ([6421237](https://github.com/dynamic-labs/dynamic-auth/commit/6421237d677d788b824d53432c1a75b9d571aa78))
|
|
211
|
+
* update version error text ([#7054](https://github.com/dynamic-labs/dynamic-auth/issues/7054)) ([713dacb](https://github.com/dynamic-labs/dynamic-auth/commit/713dacb79c2513323c2e6840d7418716011c2dcd))
|
|
212
|
+
* use project settings sdk network for send flow ([#7011](https://github.com/dynamic-labs/dynamic-auth/issues/7011)) ([983e796](https://github.com/dynamic-labs/dynamic-auth/commit/983e79632762f71ee0502c92057a32ea985ae19c))
|
|
213
|
+
|
|
214
|
+
## [4.0.0-alpha.6](https://github.com/dynamic-labs/dynamic-auth/compare/v4.0.0-alpha.5...v4.0.0-alpha.6) (2024-10-01)
|
|
215
|
+
|
|
216
|
+
|
|
217
|
+
### ⚠ BREAKING CHANGES
|
|
218
|
+
|
|
219
|
+
* remove support to magic ([#7033](https://github.com/dynamic-labs/dynamic-auth/issues/7033)) ([0fdc41f](https://github.com/dynamic-labs/dynamic-auth/commit/0fdc41f05f87b32f56b73db068f984f18bdf69a0))
|
|
220
|
+
|
|
221
|
+
### Features
|
|
222
|
+
|
|
223
|
+
* global connectivity disconnect ([#7008](https://github.com/dynamic-labs/dynamic-auth/issues/7008)) ([80d705b](https://github.com/dynamic-labs/dynamic-auth/commit/80d705ba252aa3b01cbf4861507fed00e460215f))
|
|
224
|
+
|
|
225
|
+
|
|
226
|
+
### Bug Fixes
|
|
227
|
+
|
|
228
|
+
* add popper context to send balance ([#7016](https://github.com/dynamic-labs/dynamic-auth/issues/7016)) ([73aa6f1](https://github.com/dynamic-labs/dynamic-auth/commit/73aa6f122afe0db660ebb654f3e018ae7bf445c5))
|
|
229
|
+
* add retry to useConnectWithOtp ([#7012](https://github.com/dynamic-labs/dynamic-auth/issues/7012)) ([d551d72](https://github.com/dynamic-labs/dynamic-auth/commit/d551d72a463f8a03964858b30ec174d41985a7b1))
|
|
230
|
+
* don't re-fetch wallet address on network change ([#7019](https://github.com/dynamic-labs/dynamic-auth/issues/7019)) ([4e7900c](https://github.com/dynamic-labs/dynamic-auth/commit/4e7900cc24b3abda736bc81466eda7512cf7fc61))
|
|
231
|
+
* fix sign message with solana wallet standard provider ([#7014](https://github.com/dynamic-labs/dynamic-auth/issues/7014)) ([ffaf972](https://github.com/dynamic-labs/dynamic-auth/commit/ffaf972e8b190b0b8cd0103e0ef67bfdee6c8f7c))
|
|
232
|
+
* update wallet reference when user switches wallet in connect-only ([#7030](https://github.com/dynamic-labs/dynamic-auth/issues/7030)) ([75d9aa6](https://github.com/dynamic-labs/dynamic-auth/commit/75d9aa66f63fc5536caeff12d8b860c0ba86106f))
|
|
233
|
+
|
|
234
|
+
|
|
235
|
+
## [4.0.0-alpha.5](https://github.com/dynamic-labs/DynamicAuth/compare/v4.0.0-alpha.4...v4.0.0-alpha.5) (2024-09-25)
|
|
236
|
+
|
|
237
|
+
|
|
238
|
+
### Features
|
|
239
|
+
|
|
240
|
+
* add isInstalledOnBrowser prop to wallet options in useWalletOptions ([#6976](https://github.com/dynamic-labs/DynamicAuth/issues/6976)) ([0fda409](https://github.com/dynamic-labs/DynamicAuth/commit/0fda409b293c83d73869d791c3d38ac421dcdecb))
|
|
241
|
+
|
|
242
|
+
|
|
243
|
+
### Bug Fixes
|
|
244
|
+
|
|
245
|
+
* **client:** return user profile when using sign in with external jwt ([#7004](https://github.com/dynamic-labs/DynamicAuth/issues/7004)) ([927cfb6](https://github.com/dynamic-labs/DynamicAuth/commit/927cfb69f3dd7f8b00e3f0f975277a84c99c830b))
|
|
246
|
+
* react-native-extension to include esm ([#6965](https://github.com/dynamic-labs/DynamicAuth/issues/6965)) ([336825b](https://github.com/dynamic-labs/DynamicAuth/commit/336825b50142002bbc67c6f8850bd63030bf384b))
|
|
247
|
+
|
|
248
|
+
## [4.0.0-alpha.4](https://github.com/dynamic-labs/DynamicAuth/compare/v4.0.0-alpha.3...v4.0.0-alpha.4) (2024-09-23)
|
|
249
|
+
|
|
250
|
+
|
|
251
|
+
### Bug Fixes
|
|
252
|
+
|
|
253
|
+
* issue where builtin stream module was a dependency ([#6968](https://github.com/dynamic-labs/DynamicAuth/issues/6968)) ([0661129](https://github.com/dynamic-labs/DynamicAuth/commit/0661129920ba70ebbcd4d17ee5aa988c51d1b477))
|
|
254
|
+
* update in memory secure storage ([#6955](https://github.com/dynamic-labs/DynamicAuth/issues/6955)) ([697fc20](https://github.com/dynamic-labs/DynamicAuth/commit/697fc20740b243fa31ecf06e8b2ed9d09932a544))
|
|
255
|
+
|
|
2
256
|
## [4.0.0-alpha.3](https://github.com/dynamic-labs/DynamicAuth/compare/v4.0.0-alpha.2...v4.0.0-alpha.3) (2024-09-20)
|
|
3
257
|
|
|
4
258
|
|
package/package.cjs
ADDED
package/package.js
ADDED
package/package.json
CHANGED
|
@@ -1,16 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dynamic-labs/ethereum",
|
|
3
|
-
"version": "4.0.0-alpha.
|
|
4
|
-
"repository": {
|
|
5
|
-
"type": "git",
|
|
6
|
-
"url": "git+https://github.com/dynamic-labs/dynamic-auth.git",
|
|
7
|
-
"directory": "packages/ethereum"
|
|
8
|
-
},
|
|
3
|
+
"version": "4.0.0-alpha.30",
|
|
9
4
|
"description": "A React SDK for implementing wallet web3 authentication and authorization to your website.",
|
|
10
|
-
"bugs": {
|
|
11
|
-
"url": "https://github.com/dynamic-labs/DynamicAuth/issues"
|
|
12
|
-
},
|
|
13
|
-
"homepage": "https://github.com/dynamic-labs/DynamicAuth#readme",
|
|
14
5
|
"author": "Dynamic Labs, Inc.",
|
|
15
6
|
"license": "MIT",
|
|
16
7
|
"main": "./src/index.cjs",
|
|
@@ -25,18 +16,20 @@
|
|
|
25
16
|
},
|
|
26
17
|
"./package.json": "./package.json"
|
|
27
18
|
},
|
|
19
|
+
"homepage": "https://www.dynamic.xyz/",
|
|
28
20
|
"dependencies": {
|
|
29
21
|
"@coinbase/wallet-sdk": "4.0.4",
|
|
30
22
|
"@walletconnect/ethereum-provider": "2.11.2",
|
|
23
|
+
"@walletconnect/types": "2.10.6",
|
|
31
24
|
"eventemitter3": "5.0.1",
|
|
32
25
|
"buffer": "6.0.3",
|
|
33
|
-
"@dynamic-labs/
|
|
34
|
-
"@dynamic-labs/
|
|
35
|
-
"@dynamic-labs/
|
|
36
|
-
"@dynamic-labs/
|
|
37
|
-
"@dynamic-labs/
|
|
38
|
-
"@dynamic-labs/wallet-
|
|
39
|
-
"
|
|
26
|
+
"@dynamic-labs/assert-package-version": "4.0.0-alpha.30",
|
|
27
|
+
"@dynamic-labs/embedded-wallet-evm": "4.0.0-alpha.30",
|
|
28
|
+
"@dynamic-labs/ethereum-core": "4.0.0-alpha.30",
|
|
29
|
+
"@dynamic-labs/types": "4.0.0-alpha.30",
|
|
30
|
+
"@dynamic-labs/utils": "4.0.0-alpha.30",
|
|
31
|
+
"@dynamic-labs/wallet-book": "4.0.0-alpha.30",
|
|
32
|
+
"@dynamic-labs/wallet-connector-core": "4.0.0-alpha.30"
|
|
40
33
|
},
|
|
41
34
|
"peerDependencies": {
|
|
42
35
|
"viem": "^2.7.6"
|
|
@@ -9,14 +9,12 @@ var ethereumCore = require('@dynamic-labs/ethereum-core');
|
|
|
9
9
|
var walletConnectorCore = require('@dynamic-labs/wallet-connector-core');
|
|
10
10
|
var helpers = require('./helpers.cjs');
|
|
11
11
|
|
|
12
|
-
class Coinbase extends ethereumCore.
|
|
12
|
+
class Coinbase extends ethereumCore.EthereumWalletConnector {
|
|
13
13
|
constructor(_a) {
|
|
14
14
|
var { appName, appLogoUrl, evmNetworks, coinbaseWalletPreference } = _a, props = _tslib.__rest(_a, ["appName", "appLogoUrl", "evmNetworks", "coinbaseWalletPreference"]);
|
|
15
15
|
super(Object.assign({ evmNetworks }, props));
|
|
16
16
|
this.name = 'Coinbase';
|
|
17
17
|
this.overrideKey = 'coinbase';
|
|
18
|
-
this.supportedChains = ['EVM', 'ETH'];
|
|
19
|
-
this.connectedChain = 'EVM';
|
|
20
18
|
this.canConnectViaQrCode = false;
|
|
21
19
|
this.canConnectViaCustodialService = !this.isInstalledOnBrowser();
|
|
22
20
|
this.coinbaseProviderOpts = {
|
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
import { WalletClient, Account, Transport, Chain as ViemChain } from 'viem';
|
|
2
2
|
import { ProviderInterface } from '@coinbase/wallet-sdk';
|
|
3
|
-
import {
|
|
4
|
-
import { Chain } from '@dynamic-labs/wallet-connector-core';
|
|
3
|
+
import { EthereumWalletConnector } from '@dynamic-labs/ethereum-core';
|
|
5
4
|
import { CoinbaseOpts, GetCoinbaseProviderOpts } from './types';
|
|
6
|
-
export declare class Coinbase extends
|
|
5
|
+
export declare class Coinbase extends EthereumWalletConnector {
|
|
7
6
|
name: string;
|
|
8
7
|
overrideKey: string;
|
|
9
|
-
supportedChains: Chain[];
|
|
10
|
-
connectedChain: Chain;
|
|
11
8
|
canConnectViaQrCode: boolean;
|
|
12
9
|
coinbaseProviderOpts: GetCoinbaseProviderOpts;
|
|
13
10
|
constructor({ appName, appLogoUrl, evmNetworks, coinbaseWalletPreference, ...props }: CoinbaseOpts);
|
package/src/coinbase/coinbase.js
CHANGED
|
@@ -1,18 +1,16 @@
|
|
|
1
1
|
'use client'
|
|
2
2
|
import { __rest, __awaiter } from '../../_virtual/_tslib.js';
|
|
3
3
|
import { toHex, toBytes, createWalletClient, custom } from 'viem';
|
|
4
|
-
import {
|
|
4
|
+
import { EthereumWalletConnector, chainsMap } from '@dynamic-labs/ethereum-core';
|
|
5
5
|
import { eventListenerHandlers } from '@dynamic-labs/wallet-connector-core';
|
|
6
6
|
import { getCoinbaseProvider } from './helpers.js';
|
|
7
7
|
|
|
8
|
-
class Coinbase extends
|
|
8
|
+
class Coinbase extends EthereumWalletConnector {
|
|
9
9
|
constructor(_a) {
|
|
10
10
|
var { appName, appLogoUrl, evmNetworks, coinbaseWalletPreference } = _a, props = __rest(_a, ["appName", "appLogoUrl", "evmNetworks", "coinbaseWalletPreference"]);
|
|
11
11
|
super(Object.assign({ evmNetworks }, props));
|
|
12
12
|
this.name = 'Coinbase';
|
|
13
13
|
this.overrideKey = 'coinbase';
|
|
14
|
-
this.supportedChains = ['EVM', 'ETH'];
|
|
15
|
-
this.connectedChain = 'EVM';
|
|
16
14
|
this.canConnectViaQrCode = false;
|
|
17
15
|
this.canConnectViaCustodialService = !this.isInstalledOnBrowser();
|
|
18
16
|
this.coinbaseProviderOpts = {
|
package/src/coinbase/types.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type ProviderInterface } from '@coinbase/wallet-sdk';
|
|
2
2
|
import { type CoinbaseWalletPreference, type GenericNetwork } from '@dynamic-labs/types';
|
|
3
|
-
import { type
|
|
3
|
+
import { type EthereumWalletConnectorOpts } from '@dynamic-labs/ethereum-core';
|
|
4
4
|
export type GetCoinbaseProviderOpts = {
|
|
5
5
|
appLogoUrl?: string;
|
|
6
6
|
appName?: string;
|
|
@@ -11,7 +11,7 @@ export type CoinbaseProviderHandlerOpts = {
|
|
|
11
11
|
onDisconnect(): Promise<void>;
|
|
12
12
|
};
|
|
13
13
|
export type GetCoinbaseProvider = (opts?: GetCoinbaseProviderOpts) => ProviderInterface;
|
|
14
|
-
export type CoinbaseOpts =
|
|
14
|
+
export type CoinbaseOpts = EthereumWalletConnectorOpts & {
|
|
15
15
|
appLogoUrl?: string;
|
|
16
16
|
appName?: string;
|
|
17
17
|
coinbaseWalletPreference?: CoinbaseWalletPreference;
|
|
@@ -12,15 +12,18 @@ var ethereumCore = require('@dynamic-labs/ethereum-core');
|
|
|
12
12
|
class EthProviderHelper {
|
|
13
13
|
constructor(wallet, connector) {
|
|
14
14
|
this.wallet = wallet;
|
|
15
|
-
this.
|
|
15
|
+
this._connector = connector;
|
|
16
|
+
}
|
|
17
|
+
get connector() {
|
|
18
|
+
if (!this._connector) {
|
|
19
|
+
throw new Error('Connect not provided to EthProviderHelper');
|
|
20
|
+
}
|
|
21
|
+
return this._connector;
|
|
16
22
|
}
|
|
17
23
|
getInstalledProvider() {
|
|
18
|
-
const
|
|
19
|
-
if (
|
|
20
|
-
|
|
21
|
-
if (eip6963Provider) {
|
|
22
|
-
return eip6963Provider;
|
|
23
|
-
}
|
|
24
|
+
const eip6963Provider = this.getEip6963Provider();
|
|
25
|
+
if (eip6963Provider) {
|
|
26
|
+
return eip6963Provider;
|
|
24
27
|
}
|
|
25
28
|
const config = this.getInjectedConfig();
|
|
26
29
|
if (!config ||
|
|
@@ -29,10 +32,12 @@ class EthProviderHelper {
|
|
|
29
32
|
return undefined;
|
|
30
33
|
return this.installedProviderLookup(config.extensionLocators);
|
|
31
34
|
}
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
35
|
+
getEip6963Provider() {
|
|
36
|
+
const { rdns } = this.connector.metadata;
|
|
37
|
+
if (!rdns) {
|
|
38
|
+
return undefined;
|
|
39
|
+
}
|
|
40
|
+
return this.eip6963ProviderLookup(rdns);
|
|
36
41
|
}
|
|
37
42
|
getInjectedConfig() {
|
|
38
43
|
if (!this.wallet || !this.wallet.injectedConfig)
|
|
@@ -75,7 +80,7 @@ class EthProviderHelper {
|
|
|
75
80
|
return this.findProvider() !== undefined;
|
|
76
81
|
}
|
|
77
82
|
findProvider() {
|
|
78
|
-
return this.
|
|
83
|
+
return this.connector.findProvider();
|
|
79
84
|
}
|
|
80
85
|
findWalletClient(chainId) {
|
|
81
86
|
const provider = this.findProvider();
|
|
@@ -130,43 +135,44 @@ class EthProviderHelper {
|
|
|
130
135
|
}
|
|
131
136
|
_setupEventListeners(walletConnector) {
|
|
132
137
|
const web3Provider = this.findProvider();
|
|
133
|
-
if (web3Provider && 'on' in web3Provider) {
|
|
134
|
-
const { handleAccountChange, handleChainChange, handleDisconnect } = walletConnectorCore.eventListenerHandlers(walletConnector);
|
|
135
|
-
web3Provider.on('accountsChanged', handleAccountChange);
|
|
136
|
-
web3Provider.on('chainChanged', handleChainChange);
|
|
137
|
-
web3Provider.on('disconnect', handleDisconnect);
|
|
138
|
-
const tearDownEventListeners = () => {
|
|
139
|
-
const web3Provider = this.findProvider();
|
|
140
|
-
if (!web3Provider) {
|
|
141
|
-
return;
|
|
142
|
-
}
|
|
143
|
-
if (handleAccountChange) {
|
|
144
|
-
web3Provider.removeListener('accountsChanged', handleAccountChange);
|
|
145
|
-
}
|
|
146
|
-
if (handleChainChange) {
|
|
147
|
-
web3Provider.removeListener('chainChanged', handleChainChange);
|
|
148
|
-
}
|
|
149
|
-
if (handleDisconnect) {
|
|
150
|
-
web3Provider.removeListener('disconnect', handleDisconnect);
|
|
151
|
-
}
|
|
152
|
-
};
|
|
153
|
-
return {
|
|
154
|
-
tearDownEventListeners,
|
|
155
|
-
};
|
|
156
|
-
}
|
|
157
138
|
if (!web3Provider) {
|
|
158
139
|
walletConnectorCore.logger.warn('Provider not found', {
|
|
159
140
|
connector: walletConnector,
|
|
160
141
|
});
|
|
142
|
+
return {
|
|
143
|
+
tearDownEventListeners: () => { },
|
|
144
|
+
};
|
|
161
145
|
}
|
|
162
|
-
|
|
146
|
+
if (!web3Provider.on) {
|
|
163
147
|
walletConnectorCore.logger.warn('Provider does not support event listeners', {
|
|
164
148
|
connector: walletConnector,
|
|
165
149
|
provider: web3Provider,
|
|
166
150
|
});
|
|
151
|
+
return {
|
|
152
|
+
tearDownEventListeners: () => { },
|
|
153
|
+
};
|
|
167
154
|
}
|
|
155
|
+
const { handleAccountChange, handleChainChange, handleDisconnect } = walletConnectorCore.eventListenerHandlers(walletConnector);
|
|
156
|
+
web3Provider.on('accountsChanged', handleAccountChange);
|
|
157
|
+
web3Provider.on('chainChanged', handleChainChange);
|
|
158
|
+
web3Provider.on('disconnect', handleDisconnect);
|
|
159
|
+
const tearDownEventListeners = () => {
|
|
160
|
+
const web3Provider = this.findProvider();
|
|
161
|
+
if (!web3Provider) {
|
|
162
|
+
return;
|
|
163
|
+
}
|
|
164
|
+
if (handleAccountChange) {
|
|
165
|
+
web3Provider.removeListener('accountsChanged', handleAccountChange);
|
|
166
|
+
}
|
|
167
|
+
if (handleChainChange) {
|
|
168
|
+
web3Provider.removeListener('chainChanged', handleChainChange);
|
|
169
|
+
}
|
|
170
|
+
if (handleDisconnect) {
|
|
171
|
+
web3Provider.removeListener('disconnect', handleDisconnect);
|
|
172
|
+
}
|
|
173
|
+
};
|
|
168
174
|
return {
|
|
169
|
-
tearDownEventListeners
|
|
175
|
+
tearDownEventListeners,
|
|
170
176
|
};
|
|
171
177
|
}
|
|
172
178
|
}
|
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
import { Hex, WalletClient, Account, Transport, Chain as ViemChain } from 'viem';
|
|
2
2
|
import { ProviderCondition, WalletConnector } from '@dynamic-labs/wallet-connector-core';
|
|
3
3
|
import { WalletSchema } from '@dynamic-labs/wallet-book';
|
|
4
|
-
import { EthWalletConnector } from '@dynamic-labs/ethereum-core';
|
|
5
4
|
import { IEthereum, ExtensionLocator } from './types';
|
|
5
|
+
import { InjectedWalletBase } from './injected/InjectedWalletBase';
|
|
6
6
|
export declare class EthProviderHelper {
|
|
7
7
|
private wallet;
|
|
8
|
-
private
|
|
9
|
-
constructor(wallet: WalletSchema, connector
|
|
8
|
+
private _connector;
|
|
9
|
+
constructor(wallet: WalletSchema, connector?: InjectedWalletBase);
|
|
10
|
+
private get connector();
|
|
10
11
|
getInstalledProvider(): IEthereum | undefined;
|
|
11
|
-
|
|
12
|
-
rdns: string;
|
|
13
|
-
} | undefined;
|
|
12
|
+
getEip6963Provider(): IEthereum | undefined;
|
|
14
13
|
getInjectedConfig(): {
|
|
15
14
|
chain: string;
|
|
16
15
|
extensionLocators: {
|
package/src/ethProviderHelper.js
CHANGED
|
@@ -1,22 +1,25 @@
|
|
|
1
1
|
'use client'
|
|
2
2
|
import { __awaiter } from '../_virtual/_tslib.js';
|
|
3
3
|
import { createWalletClient, custom, getAddress } from 'viem';
|
|
4
|
-
import { ProviderLookup,
|
|
4
|
+
import { ProviderLookup, logger, eventListenerHandlers } from '@dynamic-labs/wallet-connector-core';
|
|
5
5
|
import { getProvidersFromWindow, Eip6963ProviderSingleton } from '@dynamic-labs/utils';
|
|
6
6
|
import { chainsMap } from '@dynamic-labs/ethereum-core';
|
|
7
7
|
|
|
8
8
|
class EthProviderHelper {
|
|
9
9
|
constructor(wallet, connector) {
|
|
10
10
|
this.wallet = wallet;
|
|
11
|
-
this.
|
|
11
|
+
this._connector = connector;
|
|
12
|
+
}
|
|
13
|
+
get connector() {
|
|
14
|
+
if (!this._connector) {
|
|
15
|
+
throw new Error('Connect not provided to EthProviderHelper');
|
|
16
|
+
}
|
|
17
|
+
return this._connector;
|
|
12
18
|
}
|
|
13
19
|
getInstalledProvider() {
|
|
14
|
-
const
|
|
15
|
-
if (
|
|
16
|
-
|
|
17
|
-
if (eip6963Provider) {
|
|
18
|
-
return eip6963Provider;
|
|
19
|
-
}
|
|
20
|
+
const eip6963Provider = this.getEip6963Provider();
|
|
21
|
+
if (eip6963Provider) {
|
|
22
|
+
return eip6963Provider;
|
|
20
23
|
}
|
|
21
24
|
const config = this.getInjectedConfig();
|
|
22
25
|
if (!config ||
|
|
@@ -25,10 +28,12 @@ class EthProviderHelper {
|
|
|
25
28
|
return undefined;
|
|
26
29
|
return this.installedProviderLookup(config.extensionLocators);
|
|
27
30
|
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
31
|
+
getEip6963Provider() {
|
|
32
|
+
const { rdns } = this.connector.metadata;
|
|
33
|
+
if (!rdns) {
|
|
34
|
+
return undefined;
|
|
35
|
+
}
|
|
36
|
+
return this.eip6963ProviderLookup(rdns);
|
|
32
37
|
}
|
|
33
38
|
getInjectedConfig() {
|
|
34
39
|
if (!this.wallet || !this.wallet.injectedConfig)
|
|
@@ -71,7 +76,7 @@ class EthProviderHelper {
|
|
|
71
76
|
return this.findProvider() !== undefined;
|
|
72
77
|
}
|
|
73
78
|
findProvider() {
|
|
74
|
-
return this.
|
|
79
|
+
return this.connector.findProvider();
|
|
75
80
|
}
|
|
76
81
|
findWalletClient(chainId) {
|
|
77
82
|
const provider = this.findProvider();
|
|
@@ -126,43 +131,44 @@ class EthProviderHelper {
|
|
|
126
131
|
}
|
|
127
132
|
_setupEventListeners(walletConnector) {
|
|
128
133
|
const web3Provider = this.findProvider();
|
|
129
|
-
if (web3Provider && 'on' in web3Provider) {
|
|
130
|
-
const { handleAccountChange, handleChainChange, handleDisconnect } = eventListenerHandlers(walletConnector);
|
|
131
|
-
web3Provider.on('accountsChanged', handleAccountChange);
|
|
132
|
-
web3Provider.on('chainChanged', handleChainChange);
|
|
133
|
-
web3Provider.on('disconnect', handleDisconnect);
|
|
134
|
-
const tearDownEventListeners = () => {
|
|
135
|
-
const web3Provider = this.findProvider();
|
|
136
|
-
if (!web3Provider) {
|
|
137
|
-
return;
|
|
138
|
-
}
|
|
139
|
-
if (handleAccountChange) {
|
|
140
|
-
web3Provider.removeListener('accountsChanged', handleAccountChange);
|
|
141
|
-
}
|
|
142
|
-
if (handleChainChange) {
|
|
143
|
-
web3Provider.removeListener('chainChanged', handleChainChange);
|
|
144
|
-
}
|
|
145
|
-
if (handleDisconnect) {
|
|
146
|
-
web3Provider.removeListener('disconnect', handleDisconnect);
|
|
147
|
-
}
|
|
148
|
-
};
|
|
149
|
-
return {
|
|
150
|
-
tearDownEventListeners,
|
|
151
|
-
};
|
|
152
|
-
}
|
|
153
134
|
if (!web3Provider) {
|
|
154
135
|
logger.warn('Provider not found', {
|
|
155
136
|
connector: walletConnector,
|
|
156
137
|
});
|
|
138
|
+
return {
|
|
139
|
+
tearDownEventListeners: () => { },
|
|
140
|
+
};
|
|
157
141
|
}
|
|
158
|
-
|
|
142
|
+
if (!web3Provider.on) {
|
|
159
143
|
logger.warn('Provider does not support event listeners', {
|
|
160
144
|
connector: walletConnector,
|
|
161
145
|
provider: web3Provider,
|
|
162
146
|
});
|
|
147
|
+
return {
|
|
148
|
+
tearDownEventListeners: () => { },
|
|
149
|
+
};
|
|
163
150
|
}
|
|
151
|
+
const { handleAccountChange, handleChainChange, handleDisconnect } = eventListenerHandlers(walletConnector);
|
|
152
|
+
web3Provider.on('accountsChanged', handleAccountChange);
|
|
153
|
+
web3Provider.on('chainChanged', handleChainChange);
|
|
154
|
+
web3Provider.on('disconnect', handleDisconnect);
|
|
155
|
+
const tearDownEventListeners = () => {
|
|
156
|
+
const web3Provider = this.findProvider();
|
|
157
|
+
if (!web3Provider) {
|
|
158
|
+
return;
|
|
159
|
+
}
|
|
160
|
+
if (handleAccountChange) {
|
|
161
|
+
web3Provider.removeListener('accountsChanged', handleAccountChange);
|
|
162
|
+
}
|
|
163
|
+
if (handleChainChange) {
|
|
164
|
+
web3Provider.removeListener('chainChanged', handleChainChange);
|
|
165
|
+
}
|
|
166
|
+
if (handleDisconnect) {
|
|
167
|
+
web3Provider.removeListener('disconnect', handleDisconnect);
|
|
168
|
+
}
|
|
169
|
+
};
|
|
164
170
|
return {
|
|
165
|
-
tearDownEventListeners
|
|
171
|
+
tearDownEventListeners,
|
|
166
172
|
};
|
|
167
173
|
}
|
|
168
174
|
}
|
package/src/index.cjs
CHANGED
|
@@ -5,11 +5,14 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
|
|
6
6
|
require('./polyfills.cjs');
|
|
7
7
|
var embeddedWalletEvm = require('@dynamic-labs/embedded-wallet-evm');
|
|
8
|
+
var assertPackageVersion = require('@dynamic-labs/assert-package-version');
|
|
9
|
+
var _package = require('../package.cjs');
|
|
8
10
|
var PhantomEvm = require('./injected/PhantomEvm.cjs');
|
|
9
11
|
var ExodusEvm = require('./injected/ExodusEvm.cjs');
|
|
10
12
|
var UnknownInjected = require('./injected/UnknownInjected.cjs');
|
|
11
13
|
var FallbackEvmConnector = require('./injected/FallbackEvmConnector.cjs');
|
|
12
14
|
var fetchInjectedWalletConnectors = require('./injected/fetchInjectedWalletConnectors.cjs');
|
|
15
|
+
var InjectedWalletBase = require('./injected/InjectedWalletBase.cjs');
|
|
13
16
|
require('./walletConnect/walletConnect.cjs');
|
|
14
17
|
var fetchWalletConnectWallets = require('./walletConnect/fetchWalletConnectWallets.cjs');
|
|
15
18
|
var coinbase = require('./coinbase/coinbase.cjs');
|
|
@@ -17,6 +20,7 @@ var ethereumCore = require('@dynamic-labs/ethereum-core');
|
|
|
17
20
|
var ethProviderHelper = require('./ethProviderHelper.cjs');
|
|
18
21
|
var constants = require('./constants.cjs');
|
|
19
22
|
|
|
23
|
+
assertPackageVersion.assertPackageVersion('@dynamic-labs/ethereum', _package.version);
|
|
20
24
|
const EthereumWalletConnectors = (props) => [
|
|
21
25
|
...fetchInjectedWalletConnectors.injectedWalletOverrides,
|
|
22
26
|
...fetchInjectedWalletConnectors.fetchInjectedWalletConnector(props),
|
|
@@ -34,6 +38,11 @@ exports.UnknownInjected = UnknownInjected.UnknownInjected;
|
|
|
34
38
|
exports.FallbackEvmConnector = FallbackEvmConnector.FallbackEvmConnector;
|
|
35
39
|
exports.fetchInjectedWalletConnector = fetchInjectedWalletConnectors.fetchInjectedWalletConnector;
|
|
36
40
|
exports.injectedWalletOverrides = fetchInjectedWalletConnectors.injectedWalletOverrides;
|
|
41
|
+
exports.EthereumInjectedConnector = InjectedWalletBase.InjectedWalletBase;
|
|
42
|
+
Object.defineProperty(exports, 'EthereumWalletConnector', {
|
|
43
|
+
enumerable: true,
|
|
44
|
+
get: function () { return ethereumCore.EthereumWalletConnector; }
|
|
45
|
+
});
|
|
37
46
|
Object.defineProperty(exports, 'isEthereumWallet', {
|
|
38
47
|
enumerable: true,
|
|
39
48
|
get: function () { return ethereumCore.isEthereumWallet; }
|
package/src/index.d.ts
CHANGED
|
@@ -6,4 +6,4 @@ export * from './ethProviderHelper';
|
|
|
6
6
|
export * from './constants';
|
|
7
7
|
export * from './types';
|
|
8
8
|
export declare const EthereumWalletConnectors: (props: any) => WalletConnectorConstructor[];
|
|
9
|
-
export { isEthereumWallet } from '@dynamic-labs/ethereum-core';
|
|
9
|
+
export { isEthereumWallet, EthereumWalletConnector, } from '@dynamic-labs/ethereum-core';
|
package/src/index.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
'use client'
|
|
2
2
|
import './polyfills.js';
|
|
3
3
|
import { TurnkeyEVMWalletConnectors } from '@dynamic-labs/embedded-wallet-evm';
|
|
4
|
+
import { assertPackageVersion } from '@dynamic-labs/assert-package-version';
|
|
5
|
+
import { version } from '../package.js';
|
|
4
6
|
export { PhantomEvm } from './injected/PhantomEvm.js';
|
|
5
7
|
export { ExodusEvm } from './injected/ExodusEvm.js';
|
|
6
8
|
import { UnknownInjected } from './injected/UnknownInjected.js';
|
|
@@ -9,13 +11,15 @@ import { FallbackEvmConnector } from './injected/FallbackEvmConnector.js';
|
|
|
9
11
|
export { FallbackEvmConnector } from './injected/FallbackEvmConnector.js';
|
|
10
12
|
import { injectedWalletOverrides, fetchInjectedWalletConnector } from './injected/fetchInjectedWalletConnectors.js';
|
|
11
13
|
export { fetchInjectedWalletConnector, injectedWalletOverrides } from './injected/fetchInjectedWalletConnectors.js';
|
|
14
|
+
export { InjectedWalletBase as EthereumInjectedConnector } from './injected/InjectedWalletBase.js';
|
|
12
15
|
import './walletConnect/walletConnect.js';
|
|
13
16
|
import { fetchWalletConnectWallets, getWalletConnectConnector } from './walletConnect/fetchWalletConnectWallets.js';
|
|
14
17
|
import { Coinbase } from './coinbase/coinbase.js';
|
|
15
|
-
export { isEthereumWallet } from '@dynamic-labs/ethereum-core';
|
|
18
|
+
export { EthereumWalletConnector, isEthereumWallet } from '@dynamic-labs/ethereum-core';
|
|
16
19
|
export { EthProviderHelper } from './ethProviderHelper.js';
|
|
17
20
|
export { INFURA_ID } from './constants.js';
|
|
18
21
|
|
|
22
|
+
assertPackageVersion('@dynamic-labs/ethereum', version);
|
|
19
23
|
const EthereumWalletConnectors = (props) => [
|
|
20
24
|
...injectedWalletOverrides,
|
|
21
25
|
...fetchInjectedWalletConnector(props),
|
|
@@ -7,7 +7,7 @@ var walletBook = require('@dynamic-labs/wallet-book');
|
|
|
7
7
|
var InjectedWalletBase = require('./InjectedWalletBase.cjs');
|
|
8
8
|
|
|
9
9
|
// leaving ExodusEvm in here due to a backwards compatibility issue with this one wallet and v18
|
|
10
|
-
class ExodusEvm extends InjectedWalletBase {
|
|
10
|
+
class ExodusEvm extends InjectedWalletBase.InjectedWalletBase {
|
|
11
11
|
constructor(props) {
|
|
12
12
|
super(props);
|
|
13
13
|
this.name = 'ExodusEvm';
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import InjectedWalletBase from './InjectedWalletBase';
|
|
1
|
+
import { EthereumWalletConnectorOpts } from '@dynamic-labs/ethereum-core';
|
|
2
|
+
import { InjectedWalletBase } from './InjectedWalletBase';
|
|
3
3
|
export declare class ExodusEvm extends InjectedWalletBase {
|
|
4
4
|
name: string;
|
|
5
5
|
overrideKey: string;
|
|
6
6
|
walletConnectorFallback: boolean;
|
|
7
|
-
constructor(props:
|
|
7
|
+
constructor(props: EthereumWalletConnectorOpts);
|
|
8
8
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use client'
|
|
2
2
|
import { findWalletBookWallet } from '@dynamic-labs/wallet-book';
|
|
3
|
-
import InjectedWalletBase from './InjectedWalletBase.js';
|
|
3
|
+
import { InjectedWalletBase } from './InjectedWalletBase.js';
|
|
4
4
|
|
|
5
5
|
// leaving ExodusEvm in here due to a backwards compatibility issue with this one wallet and v18
|
|
6
6
|
class ExodusEvm extends InjectedWalletBase {
|
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
6
6
|
var walletBook = require('@dynamic-labs/wallet-book');
|
|
7
7
|
var InjectedWalletBase = require('./InjectedWalletBase.cjs');
|
|
8
8
|
|
|
9
|
-
class FallbackEvmConnector extends InjectedWalletBase {
|
|
9
|
+
class FallbackEvmConnector extends InjectedWalletBase.InjectedWalletBase {
|
|
10
10
|
constructor(props) {
|
|
11
11
|
super(props);
|
|
12
12
|
this.name = 'Fallback Connector';
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import InjectedWalletBase from './InjectedWalletBase';
|
|
1
|
+
import { EthereumWalletConnectorOpts } from '@dynamic-labs/ethereum-core';
|
|
2
|
+
import { InjectedWalletBase } from './InjectedWalletBase';
|
|
3
3
|
export declare class FallbackEvmConnector extends InjectedWalletBase {
|
|
4
4
|
name: string;
|
|
5
5
|
overrideKey: string;
|
|
6
6
|
isAvailable: boolean;
|
|
7
|
-
constructor(props:
|
|
7
|
+
constructor(props: EthereumWalletConnectorOpts);
|
|
8
8
|
isInstalledOnBrowser(): boolean;
|
|
9
9
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use client'
|
|
2
2
|
import { findWalletBookWallet } from '@dynamic-labs/wallet-book';
|
|
3
|
-
import InjectedWalletBase from './InjectedWalletBase.js';
|
|
3
|
+
import { InjectedWalletBase } from './InjectedWalletBase.js';
|
|
4
4
|
|
|
5
5
|
class FallbackEvmConnector extends InjectedWalletBase {
|
|
6
6
|
constructor(props) {
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
'use client'
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
5
|
+
|
|
4
6
|
var _tslib = require('../../_virtual/_tslib.cjs');
|
|
5
7
|
var walletBook = require('@dynamic-labs/wallet-book');
|
|
6
8
|
var utils = require('@dynamic-labs/utils');
|
|
@@ -8,11 +10,9 @@ var ethereumCore = require('@dynamic-labs/ethereum-core');
|
|
|
8
10
|
var ethProviderHelper = require('../ethProviderHelper.cjs');
|
|
9
11
|
var walletConnect = require('../walletConnect/walletConnect.cjs');
|
|
10
12
|
|
|
11
|
-
class InjectedWalletBase extends ethereumCore.
|
|
13
|
+
class InjectedWalletBase extends ethereumCore.EthereumWalletConnector {
|
|
12
14
|
constructor() {
|
|
13
15
|
super(...arguments);
|
|
14
|
-
this.supportedChains = ['ETH', 'EVM'];
|
|
15
|
-
this.connectedChain = 'EVM';
|
|
16
16
|
this.walletConnectorFallback = false;
|
|
17
17
|
}
|
|
18
18
|
getEthProviderHelper() {
|
|
@@ -28,7 +28,7 @@ class InjectedWalletBase extends ethereumCore.EthWalletConnector {
|
|
|
28
28
|
return this.ethProviderHelper;
|
|
29
29
|
}
|
|
30
30
|
getMobileOrInstalledWallet() {
|
|
31
|
-
var _a
|
|
31
|
+
var _a;
|
|
32
32
|
if (!this.wallet) {
|
|
33
33
|
this.wallet = walletBook.findWalletBookWallet(this.walletBook, this.key);
|
|
34
34
|
}
|
|
@@ -38,7 +38,7 @@ class InjectedWalletBase extends ethereumCore.EthWalletConnector {
|
|
|
38
38
|
// this is to handle the case where the user is in a webview.
|
|
39
39
|
// when the user is in a webview, customers should set the deepLinkPreference prop to universal,
|
|
40
40
|
// in which case this condition will be false, and the SDK will use WalletConnect (if available)
|
|
41
|
-
if (((
|
|
41
|
+
if (((_a = this.metadata) === null || _a === void 0 ? void 0 : _a.inAppBrowserUrl) &&
|
|
42
42
|
this.mobileExperience === 'in-app-browser' &&
|
|
43
43
|
utils.isMobile()) {
|
|
44
44
|
return this;
|
|
@@ -51,6 +51,12 @@ class InjectedWalletBase extends ethereumCore.EthWalletConnector {
|
|
|
51
51
|
}
|
|
52
52
|
return new walletConnect.WalletConnect(Object.assign(Object.assign({}, this.constructorProps), { walletName: this.name }));
|
|
53
53
|
}
|
|
54
|
+
findProvider() {
|
|
55
|
+
const ethProviderHelper = this.getEthProviderHelper();
|
|
56
|
+
if (!ethProviderHelper)
|
|
57
|
+
return;
|
|
58
|
+
return ethProviderHelper.getInstalledProvider();
|
|
59
|
+
}
|
|
54
60
|
setupEventListeners() {
|
|
55
61
|
const provider = this.getWalletClient();
|
|
56
62
|
if (!provider)
|
|
@@ -108,4 +114,4 @@ class InjectedWalletBase extends ethereumCore.EthWalletConnector {
|
|
|
108
114
|
}
|
|
109
115
|
}
|
|
110
116
|
|
|
111
|
-
|
|
117
|
+
exports.InjectedWalletBase = InjectedWalletBase;
|
|
@@ -1,18 +1,17 @@
|
|
|
1
1
|
import { WalletClient, Transport, Account, Chain as ViemChain } from 'viem';
|
|
2
|
-
import { Chain } from '@dynamic-labs/wallet-connector-core';
|
|
3
2
|
import { EvmNetwork } from '@dynamic-labs/types';
|
|
4
3
|
import { WalletSchema } from '@dynamic-labs/wallet-book';
|
|
5
|
-
import {
|
|
4
|
+
import { EthereumWalletConnector } from '@dynamic-labs/ethereum-core';
|
|
6
5
|
import { EthProviderHelper } from '../ethProviderHelper';
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
connectedChain: Chain;
|
|
6
|
+
import { IEthereum } from '../types';
|
|
7
|
+
export declare abstract class InjectedWalletBase extends EthereumWalletConnector {
|
|
10
8
|
publicAddress: string | undefined;
|
|
11
9
|
walletConnectorFallback: boolean;
|
|
12
10
|
ethProviderHelper: EthProviderHelper | undefined;
|
|
13
11
|
wallet: WalletSchema | undefined;
|
|
14
12
|
getEthProviderHelper(): EthProviderHelper | undefined;
|
|
15
13
|
getMobileOrInstalledWallet(): InjectedWalletBase;
|
|
14
|
+
findProvider(): IEthereum | undefined;
|
|
16
15
|
setupEventListeners(): void;
|
|
17
16
|
getWalletClient(chainId?: string): WalletClient<Transport, ViemChain, Account> | undefined;
|
|
18
17
|
isInstalledOnBrowser(): boolean;
|
|
@@ -26,4 +25,3 @@ declare abstract class InjectedWalletBase extends EthWalletConnector {
|
|
|
26
25
|
provider: WalletClient;
|
|
27
26
|
}): Promise<void>;
|
|
28
27
|
}
|
|
29
|
-
export default InjectedWalletBase;
|
|
@@ -2,15 +2,13 @@
|
|
|
2
2
|
import { __awaiter } from '../../_virtual/_tslib.js';
|
|
3
3
|
import { findWalletBookWallet } from '@dynamic-labs/wallet-book';
|
|
4
4
|
import { isMobile } from '@dynamic-labs/utils';
|
|
5
|
-
import {
|
|
5
|
+
import { EthereumWalletConnector } from '@dynamic-labs/ethereum-core';
|
|
6
6
|
import { EthProviderHelper } from '../ethProviderHelper.js';
|
|
7
7
|
import { WalletConnect } from '../walletConnect/walletConnect.js';
|
|
8
8
|
|
|
9
|
-
class InjectedWalletBase extends
|
|
9
|
+
class InjectedWalletBase extends EthereumWalletConnector {
|
|
10
10
|
constructor() {
|
|
11
11
|
super(...arguments);
|
|
12
|
-
this.supportedChains = ['ETH', 'EVM'];
|
|
13
|
-
this.connectedChain = 'EVM';
|
|
14
12
|
this.walletConnectorFallback = false;
|
|
15
13
|
}
|
|
16
14
|
getEthProviderHelper() {
|
|
@@ -26,7 +24,7 @@ class InjectedWalletBase extends EthWalletConnector {
|
|
|
26
24
|
return this.ethProviderHelper;
|
|
27
25
|
}
|
|
28
26
|
getMobileOrInstalledWallet() {
|
|
29
|
-
var _a
|
|
27
|
+
var _a;
|
|
30
28
|
if (!this.wallet) {
|
|
31
29
|
this.wallet = findWalletBookWallet(this.walletBook, this.key);
|
|
32
30
|
}
|
|
@@ -36,7 +34,7 @@ class InjectedWalletBase extends EthWalletConnector {
|
|
|
36
34
|
// this is to handle the case where the user is in a webview.
|
|
37
35
|
// when the user is in a webview, customers should set the deepLinkPreference prop to universal,
|
|
38
36
|
// in which case this condition will be false, and the SDK will use WalletConnect (if available)
|
|
39
|
-
if (((
|
|
37
|
+
if (((_a = this.metadata) === null || _a === void 0 ? void 0 : _a.inAppBrowserUrl) &&
|
|
40
38
|
this.mobileExperience === 'in-app-browser' &&
|
|
41
39
|
isMobile()) {
|
|
42
40
|
return this;
|
|
@@ -49,6 +47,12 @@ class InjectedWalletBase extends EthWalletConnector {
|
|
|
49
47
|
}
|
|
50
48
|
return new WalletConnect(Object.assign(Object.assign({}, this.constructorProps), { walletName: this.name }));
|
|
51
49
|
}
|
|
50
|
+
findProvider() {
|
|
51
|
+
const ethProviderHelper = this.getEthProviderHelper();
|
|
52
|
+
if (!ethProviderHelper)
|
|
53
|
+
return;
|
|
54
|
+
return ethProviderHelper.getInstalledProvider();
|
|
55
|
+
}
|
|
52
56
|
setupEventListeners() {
|
|
53
57
|
const provider = this.getWalletClient();
|
|
54
58
|
if (!provider)
|
|
@@ -106,4 +110,4 @@ class InjectedWalletBase extends EthWalletConnector {
|
|
|
106
110
|
}
|
|
107
111
|
}
|
|
108
112
|
|
|
109
|
-
export { InjectedWalletBase
|
|
113
|
+
export { InjectedWalletBase };
|
|
@@ -8,7 +8,7 @@ var utils = require('@dynamic-labs/utils');
|
|
|
8
8
|
var walletBook = require('@dynamic-labs/wallet-book');
|
|
9
9
|
var InjectedWalletBase = require('./InjectedWalletBase.cjs');
|
|
10
10
|
|
|
11
|
-
class PhantomEvm extends InjectedWalletBase {
|
|
11
|
+
class PhantomEvm extends InjectedWalletBase.InjectedWalletBase {
|
|
12
12
|
constructor(props) {
|
|
13
13
|
super(props);
|
|
14
14
|
this.name = 'Phantom';
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import InjectedWalletBase from './InjectedWalletBase';
|
|
1
|
+
import { EthereumWalletConnectorOpts } from '@dynamic-labs/ethereum-core';
|
|
2
|
+
import { InjectedWalletBase } from './InjectedWalletBase';
|
|
3
3
|
export declare class PhantomEvm extends InjectedWalletBase {
|
|
4
4
|
name: string;
|
|
5
5
|
overrideKey: string;
|
|
6
|
-
constructor(props:
|
|
6
|
+
constructor(props: EthereumWalletConnectorOpts);
|
|
7
7
|
getAddress(): Promise<string | undefined>;
|
|
8
8
|
canGetChainAddress(): boolean;
|
|
9
9
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { __awaiter } from '../../_virtual/_tslib.js';
|
|
3
3
|
import { isMobile, handleMobileWalletRedirect } from '@dynamic-labs/utils';
|
|
4
4
|
import { findWalletBookWallet } from '@dynamic-labs/wallet-book';
|
|
5
|
-
import InjectedWalletBase from './InjectedWalletBase.js';
|
|
5
|
+
import { InjectedWalletBase } from './InjectedWalletBase.js';
|
|
6
6
|
|
|
7
7
|
class PhantomEvm extends InjectedWalletBase {
|
|
8
8
|
constructor(props) {
|
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
6
6
|
var walletBook = require('@dynamic-labs/wallet-book');
|
|
7
7
|
var InjectedWalletBase = require('./InjectedWalletBase.cjs');
|
|
8
8
|
|
|
9
|
-
class UnknownInjected extends InjectedWalletBase {
|
|
9
|
+
class UnknownInjected extends InjectedWalletBase.InjectedWalletBase {
|
|
10
10
|
constructor(props) {
|
|
11
11
|
super(props);
|
|
12
12
|
this.name = 'Unknown';
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import InjectedWalletBase from './InjectedWalletBase';
|
|
1
|
+
import { EthereumWalletConnectorOpts } from '@dynamic-labs/ethereum-core';
|
|
2
|
+
import { InjectedWalletBase } from './InjectedWalletBase';
|
|
3
3
|
export declare class UnknownInjected extends InjectedWalletBase {
|
|
4
4
|
name: string;
|
|
5
5
|
overrideKey: string;
|
|
6
|
-
constructor(props:
|
|
6
|
+
constructor(props: EthereumWalletConnectorOpts);
|
|
7
7
|
isInstalledOnBrowser(): boolean;
|
|
8
8
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use client'
|
|
2
2
|
import { findWalletBookWallet } from '@dynamic-labs/wallet-book';
|
|
3
|
-
import InjectedWalletBase from './InjectedWalletBase.js';
|
|
3
|
+
import { InjectedWalletBase } from './InjectedWalletBase.js';
|
|
4
4
|
|
|
5
5
|
class UnknownInjected extends InjectedWalletBase {
|
|
6
6
|
constructor(props) {
|
|
@@ -17,6 +17,7 @@ const filteredInjectedWalletKeysOverrides = [
|
|
|
17
17
|
'phantomevm',
|
|
18
18
|
'coinbase',
|
|
19
19
|
'exodusevm',
|
|
20
|
+
'abstract',
|
|
20
21
|
];
|
|
21
22
|
const fetchInjectedWalletConnector = ({ walletBook, }) => {
|
|
22
23
|
var _a;
|
|
@@ -30,7 +31,7 @@ const fetchInjectedWalletConnector = ({ walletBook, }) => {
|
|
|
30
31
|
const { shortName } = wallet;
|
|
31
32
|
const name = shortName || wallet.name;
|
|
32
33
|
const walletConnectorFallback = Boolean(wallet.walletConnect);
|
|
33
|
-
return class extends InjectedWalletBase {
|
|
34
|
+
return class extends InjectedWalletBase.InjectedWalletBase {
|
|
34
35
|
constructor(props) {
|
|
35
36
|
super(Object.assign({}, props));
|
|
36
37
|
this.name = name;
|
|
@@ -48,7 +49,7 @@ const fetchInjectedWalletConnector = ({ walletBook, }) => {
|
|
|
48
49
|
if (this.isInstalledOnBrowser()) {
|
|
49
50
|
return _super.getAddress.call(this);
|
|
50
51
|
}
|
|
51
|
-
const inAppBrowserBase = (_a = this.
|
|
52
|
+
const inAppBrowserBase = (_a = this.metadata) === null || _a === void 0 ? void 0 : _a.inAppBrowserUrl;
|
|
52
53
|
if (!inAppBrowserBase) {
|
|
53
54
|
const error = new Error(`No inAppBrowserBase found for ${this.name}.`);
|
|
54
55
|
walletConnectorCore.logger.error(error.message);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use client'
|
|
2
2
|
import { __awaiter } from '../../_virtual/_tslib.js';
|
|
3
3
|
import { logger } from '@dynamic-labs/wallet-connector-core';
|
|
4
|
-
import InjectedWalletBase from './InjectedWalletBase.js';
|
|
4
|
+
import { InjectedWalletBase } from './InjectedWalletBase.js';
|
|
5
5
|
import { PhantomEvm } from './PhantomEvm.js';
|
|
6
6
|
import { ExodusEvm } from './ExodusEvm.js';
|
|
7
7
|
|
|
@@ -13,6 +13,7 @@ const filteredInjectedWalletKeysOverrides = [
|
|
|
13
13
|
'phantomevm',
|
|
14
14
|
'coinbase',
|
|
15
15
|
'exodusevm',
|
|
16
|
+
'abstract',
|
|
16
17
|
];
|
|
17
18
|
const fetchInjectedWalletConnector = ({ walletBook, }) => {
|
|
18
19
|
var _a;
|
|
@@ -44,7 +45,7 @@ const fetchInjectedWalletConnector = ({ walletBook, }) => {
|
|
|
44
45
|
if (this.isInstalledOnBrowser()) {
|
|
45
46
|
return _super.getAddress.call(this);
|
|
46
47
|
}
|
|
47
|
-
const inAppBrowserBase = (_a = this.
|
|
48
|
+
const inAppBrowserBase = (_a = this.metadata) === null || _a === void 0 ? void 0 : _a.inAppBrowserUrl;
|
|
48
49
|
if (!inAppBrowserBase) {
|
|
49
50
|
const error = new Error(`No inAppBrowserBase found for ${this.name}.`);
|
|
50
51
|
logger.error(error.message);
|
package/src/injected/index.d.ts
CHANGED
package/src/types.d.ts
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
/// <reference types="node" />
|
|
3
|
-
import { EventEmitter } from 'stream';
|
|
1
|
+
import { type EventEmitter } from 'eventemitter3';
|
|
4
2
|
import { PublicClient } from 'viem';
|
|
5
3
|
import { ProviderCondition } from '@dynamic-labs/wallet-connector-core';
|
|
6
4
|
declare global {
|
|
@@ -23,12 +23,10 @@ const sessionTopicKey = (walletName) => `dynamic-wc2-session-topic-${walletName}
|
|
|
23
23
|
const swicthedNetworkKey = (walletName) => `dynamic-wc2-switched-network-${walletName}`;
|
|
24
24
|
const currentChainKey = (walletName) => `dynamic-wc2-current-chain-${walletName}`;
|
|
25
25
|
const ee = new EventEmitter__default["default"]();
|
|
26
|
-
class WalletConnect extends ethereumCore.
|
|
26
|
+
class WalletConnect extends ethereumCore.EthereumWalletConnector {
|
|
27
27
|
constructor(opts) {
|
|
28
28
|
var _a;
|
|
29
29
|
super(opts);
|
|
30
|
-
this.supportedChains = ['EVM', 'ETH'];
|
|
31
|
-
this.connectedChain = 'EVM';
|
|
32
30
|
this.isInitialized = false;
|
|
33
31
|
this.canConnectViaQrCode = true;
|
|
34
32
|
this.isWalletConnect = true;
|
|
@@ -1,17 +1,15 @@
|
|
|
1
1
|
import type { SessionTypes } from '@walletconnect/types';
|
|
2
2
|
import { WalletClient, Account, Transport, Chain as ViemChain } from 'viem';
|
|
3
|
-
import {
|
|
3
|
+
import { GetAddressOpts, DeepLinkVariant, IWalletConnectConnector } from '@dynamic-labs/wallet-connector-core';
|
|
4
4
|
import { EvmNetwork } from '@dynamic-labs/types';
|
|
5
|
-
import {
|
|
6
|
-
export type WalletConnectOpts =
|
|
5
|
+
import { EthereumWalletConnector, EthereumWalletConnectorOpts } from '@dynamic-labs/ethereum-core';
|
|
6
|
+
export type WalletConnectOpts = EthereumWalletConnectorOpts & {
|
|
7
7
|
projectId?: string;
|
|
8
8
|
walletName: string;
|
|
9
9
|
deepLinkPreference?: DeepLinkVariant;
|
|
10
10
|
walletConnectPreferredChains?: `eip155:${number}`[];
|
|
11
11
|
};
|
|
12
|
-
export declare class WalletConnect extends
|
|
13
|
-
supportedChains: Chain[];
|
|
14
|
-
connectedChain: Chain;
|
|
12
|
+
export declare class WalletConnect extends EthereumWalletConnector implements IWalletConnectConnector {
|
|
15
13
|
name: string;
|
|
16
14
|
session: SessionTypes.Struct | undefined;
|
|
17
15
|
isInitialized: boolean;
|
|
@@ -6,7 +6,7 @@ import { createWalletClient, custom } from 'viem';
|
|
|
6
6
|
import { logger, performPlatformSpecificConnectionMethod, getDeepLink } from '@dynamic-labs/wallet-connector-core';
|
|
7
7
|
import { getWalletBookWallet } from '@dynamic-labs/wallet-book';
|
|
8
8
|
import { DynamicError, sleep, isMobile } from '@dynamic-labs/utils';
|
|
9
|
-
import {
|
|
9
|
+
import { EthereumWalletConnector, chainsMap } from '@dynamic-labs/ethereum-core';
|
|
10
10
|
import { parseIntSafe } from '../utils/parseIntSafe.js';
|
|
11
11
|
|
|
12
12
|
const activeAccountKey = (walletName) => `dynamic-wc2-active-account-${walletName}`;
|
|
@@ -14,12 +14,10 @@ const sessionTopicKey = (walletName) => `dynamic-wc2-session-topic-${walletName}
|
|
|
14
14
|
const swicthedNetworkKey = (walletName) => `dynamic-wc2-switched-network-${walletName}`;
|
|
15
15
|
const currentChainKey = (walletName) => `dynamic-wc2-current-chain-${walletName}`;
|
|
16
16
|
const ee = new EventEmitter();
|
|
17
|
-
class WalletConnect extends
|
|
17
|
+
class WalletConnect extends EthereumWalletConnector {
|
|
18
18
|
constructor(opts) {
|
|
19
19
|
var _a;
|
|
20
20
|
super(opts);
|
|
21
|
-
this.supportedChains = ['EVM', 'ETH'];
|
|
22
|
-
this.connectedChain = 'EVM';
|
|
23
21
|
this.isInitialized = false;
|
|
24
22
|
this.canConnectViaQrCode = true;
|
|
25
23
|
this.isWalletConnect = true;
|