@dynamic-labs/ethereum 1.1.0-phantom.0 → 1.2.0-alpha.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 +159 -2
- package/_virtual/_tslib.cjs +6 -1
- package/_virtual/_tslib.js +6 -1
- package/package.json +7 -7
- package/src/EthWalletConnector.d.ts +2 -2
- 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 +2 -3
- package/src/ethProviderHelper.d.ts +2 -2
- package/src/ethProviderHelper.js +3 -4
- 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,18 +1,175 @@
|
|
|
1
1
|
|
|
2
|
-
## [1.
|
|
2
|
+
## [1.2.0-alpha.0](https://github.com/dynamic-labs/DynamicAuth/compare/v1.1.0-alpha.26...v1.2.0-alpha.0) (2024-02-09)
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
|
|
7
|
+
* add retry email otp in headless ([#4639](https://github.com/dynamic-labs/DynamicAuth/issues/4639)) ([70630e2](https://github.com/dynamic-labs/DynamicAuth/commit/70630e28e4b370581add65fc5f69c41c28346cc6))
|
|
8
|
+
* add tabs to wallet list view ([#4619](https://github.com/dynamic-labs/DynamicAuth/issues/4619)) ([c552a8e](https://github.com/dynamic-labs/DynamicAuth/commit/c552a8ec9a484b6015e95e9b3b30cd1cd151a45b))
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
* current wallet being clipped inside a circle ([#4470](https://github.com/dynamic-labs/DynamicAuth/issues/4470)) ([53149c6](https://github.com/dynamic-labs/DynamicAuth/commit/53149c658ccf73b5576f73e8863bab6e9e5f66a7))
|
|
14
|
+
* hydration issues with ShadowDOM ([#4434](https://github.com/dynamic-labs/DynamicAuth/issues/4434)) ([032dae5](https://github.com/dynamic-labs/DynamicAuth/commit/032dae5036bc5b03095b0d3d41f8ab0a8a678dbb))
|
|
15
|
+
* multi wallet disabled shows one chain even if both are enabled ([#4636](https://github.com/dynamic-labs/DynamicAuth/issues/4636)) ([b5baef3](https://github.com/dynamic-labs/DynamicAuth/commit/b5baef38dcceca7927508ef149c2573c9cb02ddf))
|
|
16
|
+
* solana turnkey connector not refreshing account after session expiration ([#4625](https://github.com/dynamic-labs/DynamicAuth/issues/4625)) ([3e6b1f9](https://github.com/dynamic-labs/DynamicAuth/commit/3e6b1f97bb1ca8f70948678748176a77f05f5ef9))
|
|
17
|
+
* use phantom injected when on in-app browser ([#4630](https://github.com/dynamic-labs/DynamicAuth/issues/4630)) ([b4fab5b](https://github.com/dynamic-labs/DynamicAuth/commit/b4fab5b935fc516c864c2e6eb39c946b18c8897f))
|
|
18
|
+
* wait for sdkHasLoaded to process phantom redirect ([#4628](https://github.com/dynamic-labs/DynamicAuth/issues/4628)) ([5f68f65](https://github.com/dynamic-labs/DynamicAuth/commit/5f68f653652c6108bd62d4314974bca18eb683b1))
|
|
19
|
+
|
|
20
|
+
## [1.1.0-alpha.26](https://github.com/dynamic-labs/DynamicAuth/compare/v1.1.0-alpha.25...v1.1.0-alpha.26) (2024-02-07)
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
### Features
|
|
24
|
+
|
|
25
|
+
* add retry when using magic ([#4579](https://github.com/dynamic-labs/DynamicAuth/issues/4579)) ([183561c](https://github.com/dynamic-labs/DynamicAuth/commit/183561cc64f083fd1489c38a8cc8b1c4c51d2924))
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
### Bug Fixes
|
|
29
|
+
|
|
30
|
+
* 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))
|
|
31
|
+
* 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))
|
|
32
|
+
* 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))
|
|
33
|
+
|
|
34
|
+
## [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)
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
### Features
|
|
38
|
+
|
|
39
|
+
* add signin with coinbase to sdk ([#4581](https://github.com/dynamic-labs/DynamicAuth/issues/4581)) ([08a31ed](https://github.com/dynamic-labs/DynamicAuth/commit/08a31ed3552c48645b398881f184440800af21ec))
|
|
40
|
+
* 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))
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
### Bug Fixes
|
|
44
|
+
|
|
45
|
+
* 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))
|
|
46
|
+
|
|
47
|
+
## [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)
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
### Bug Fixes
|
|
51
|
+
|
|
52
|
+
* 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))
|
|
53
|
+
|
|
54
|
+
## [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)
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
### Features
|
|
58
|
+
|
|
59
|
+
* bitcoin signPsbt ([3c964de](https://github.com/dynamic-labs/DynamicAuth/commit/3c964dea8a55debaf184c5a94f0f5fabdda3c877))
|
|
60
|
+
* embedded wallet email auth flow ([#4353](https://github.com/dynamic-labs/DynamicAuth/issues/4353)) ([4875da3](https://github.com/dynamic-labs/DynamicAuth/commit/4875da32c47c27facef1b1cdbdc214566bbfd171))
|
|
61
|
+
|
|
62
|
+
## [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)
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
### Bug Fixes
|
|
66
|
+
|
|
67
|
+
* onAuthFlowClose not being called ([#4563](https://github.com/dynamic-labs/DynamicAuth/issues/4563)) ([c4b2648](https://github.com/dynamic-labs/DynamicAuth/commit/c4b264885b7dba6e204ef49bf642d25c7d287b04))
|
|
68
|
+
|
|
69
|
+
## [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)
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
### Features
|
|
73
|
+
|
|
74
|
+
* add phantom redirect handling context ([#4479](https://github.com/dynamic-labs/DynamicAuth/issues/4479)) ([e0218ee](https://github.com/dynamic-labs/DynamicAuth/commit/e0218eec1a67787f5c0e7483d542a5f773e911ef))
|
|
75
|
+
* add signPsbt method to bitcoin wallet connectors ([dfdc0fe](https://github.com/dynamic-labs/DynamicAuth/commit/dfdc0fe0e6894c1307b286e89b43a4c58a8808f3))
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
### Bug Fixes
|
|
79
|
+
|
|
80
|
+
* 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))
|
|
81
|
+
* 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))
|
|
82
|
+
|
|
83
|
+
## [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)
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
### Bug Fixes
|
|
87
|
+
|
|
88
|
+
* 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))
|
|
89
|
+
* 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))
|
|
90
|
+
|
|
91
|
+
## [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)
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
### Features
|
|
95
|
+
|
|
96
|
+
* add PhantomRedirect connector ([#4467](https://github.com/dynamic-labs/DynamicAuth/issues/4467)) ([75d6c95](https://github.com/dynamic-labs/DynamicAuth/commit/75d6c95940fcec185a699c2100b3e2d21a8233d5))
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
### Bug Fixes
|
|
100
|
+
|
|
101
|
+
* 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))
|
|
102
|
+
|
|
103
|
+
## [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)
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
### Bug Fixes
|
|
107
|
+
|
|
108
|
+
* 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))
|
|
109
|
+
|
|
110
|
+
## [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)
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
### Features
|
|
114
|
+
|
|
115
|
+
* add sendRawTransaction to BitcoinWalletConnector ([2e86c5a](https://github.com/dynamic-labs/DynamicAuth/commit/2e86c5a5245bd0fc29162ef1f7fe2fbd65245fe1))
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
### Bug Fixes
|
|
119
|
+
|
|
120
|
+
* properly handle AccountExistsError for signInOAuth ([#4529](https://github.com/dynamic-labs/DynamicAuth/issues/4529)) ([d37fdc3](https://github.com/dynamic-labs/DynamicAuth/commit/d37fdc310fe4b70f8948fd5ed3d058342afbe08f))
|
|
121
|
+
|
|
122
|
+
## [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)
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
### Bug Fixes
|
|
126
|
+
|
|
127
|
+
* 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))
|
|
128
|
+
* 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))
|
|
129
|
+
|
|
130
|
+
## [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)
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
### Features
|
|
134
|
+
|
|
135
|
+
* 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))
|
|
136
|
+
* enable solana embedded wallets ([#4457](https://github.com/dynamic-labs/DynamicAuth/issues/4457)) ([b0c47f4](https://github.com/dynamic-labs/DynamicAuth/commit/b0c47f4475baa12f52076da46ef993c13bd2c243))
|
|
137
|
+
* group ArgentX wallets ([#4495](https://github.com/dynamic-labs/DynamicAuth/issues/4495)) ([b10d79a](https://github.com/dynamic-labs/DynamicAuth/commit/b10d79a668efecedca37ddb358e6adf95319650d))
|
|
138
|
+
|
|
139
|
+
|
|
140
|
+
### Bug Fixes
|
|
141
|
+
|
|
142
|
+
* add support for newest backpack extension ([#4468](https://github.com/dynamic-labs/DynamicAuth/issues/4468)) ([a219f32](https://github.com/dynamic-labs/DynamicAuth/commit/a219f325be672599e50b07f6751234a7fc98286e))
|
|
143
|
+
* bump timeout for slower connections ([#4475](https://github.com/dynamic-labs/DynamicAuth/issues/4475)) ([7a07ff5](https://github.com/dynamic-labs/DynamicAuth/commit/7a07ff589eaaf3b28a94d277df3eedabbca60702))
|
|
144
|
+
* 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))
|
|
145
|
+
* 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))
|
|
146
|
+
* pass id to wagmi chain override ([#4512](https://github.com/dynamic-labs/DynamicAuth/issues/4512)) ([2bf2f04](https://github.com/dynamic-labs/DynamicAuth/commit/2bf2f0487f5b1be936dd279107c11fe5d2b42666))
|
|
147
|
+
* 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))
|
|
148
|
+
|
|
149
|
+
## [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)
|
|
150
|
+
|
|
151
|
+
|
|
152
|
+
### Features
|
|
153
|
+
|
|
154
|
+
* add wallet-book retryable ([#4462](https://github.com/dynamic-labs/DynamicAuth/issues/4462)) ([513b1a6](https://github.com/dynamic-labs/DynamicAuth/commit/513b1a67d6c49624398ad4b0cdca4f5618c9583f))
|
|
155
|
+
|
|
156
|
+
## [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)
|
|
3
157
|
|
|
4
158
|
|
|
5
159
|
### Features
|
|
6
160
|
|
|
7
161
|
* add createWalletClientFromWallet helper function ([#4416](https://github.com/dynamic-labs/DynamicAuth/issues/4416)) ([b384898](https://github.com/dynamic-labs/DynamicAuth/commit/b384898061bb3f9b38b2ed670b6650cfc1d4b429))
|
|
8
162
|
* add hardware wallets to wallet book ([#4445](https://github.com/dynamic-labs/DynamicAuth/issues/4445)) ([66c0f5b](https://github.com/dynamic-labs/DynamicAuth/commit/66c0f5b29a6a700099bb95a6f7622f6178e0bccf))
|
|
9
|
-
* add
|
|
163
|
+
* 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))
|
|
164
|
+
* 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))
|
|
10
165
|
|
|
11
166
|
|
|
12
167
|
### Bug Fixes
|
|
13
168
|
|
|
14
169
|
* breaking changes script ([#4440](https://github.com/dynamic-labs/DynamicAuth/issues/4440)) ([446173d](https://github.com/dynamic-labs/DynamicAuth/commit/446173d074d652d81856c6412e304b46b1565320))
|
|
15
170
|
* 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))
|
|
171
|
+
* 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))
|
|
172
|
+
* 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))
|
|
16
173
|
|
|
17
174
|
## [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)
|
|
18
175
|
|
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.
|
|
3
|
+
"version": "1.2.0-alpha.0",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "https://github.com/dynamic-labs/DynamicAuth.git",
|
|
@@ -32,12 +32,12 @@
|
|
|
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.
|
|
36
|
-
"@dynamic-labs/turnkey": "1.
|
|
37
|
-
"@dynamic-labs/types": "1.
|
|
38
|
-
"@dynamic-labs/utils": "1.
|
|
39
|
-
"@dynamic-labs/wallet-book": "1.
|
|
40
|
-
"@dynamic-labs/wallet-connector-core": "1.
|
|
35
|
+
"@dynamic-labs/rpc-providers": "1.2.0-alpha.0",
|
|
36
|
+
"@dynamic-labs/turnkey": "1.2.0-alpha.0",
|
|
37
|
+
"@dynamic-labs/types": "1.2.0-alpha.0",
|
|
38
|
+
"@dynamic-labs/utils": "1.2.0-alpha.0",
|
|
39
|
+
"@dynamic-labs/wallet-book": "1.2.0-alpha.0",
|
|
40
|
+
"@dynamic-labs/wallet-connector-core": "1.2.0-alpha.0",
|
|
41
41
|
"stream": "0.0.2"
|
|
42
42
|
},
|
|
43
43
|
"peerDependencies": {
|
|
@@ -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;
|
|
@@ -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 {
|
|
@@ -124,14 +123,14 @@ class EthProviderHelper {
|
|
|
124
123
|
return signedMessage;
|
|
125
124
|
});
|
|
126
125
|
}
|
|
127
|
-
_setupEventListeners(walletConnector
|
|
126
|
+
_setupEventListeners(walletConnector) {
|
|
128
127
|
const web3Provider = this.findProvider();
|
|
129
128
|
if (!web3Provider) {
|
|
130
129
|
return {
|
|
131
130
|
tearDownEventListeners: () => { },
|
|
132
131
|
};
|
|
133
132
|
}
|
|
134
|
-
const { handleAccountChange, handleChainChange, handleDisconnect } =
|
|
133
|
+
const { handleAccountChange, handleChainChange, handleDisconnect } = walletConnectorCore.eventListenerHandlers(walletConnector);
|
|
135
134
|
web3Provider.on('accountsChanged', handleAccountChange);
|
|
136
135
|
web3Provider.on('chainChanged', handleChainChange);
|
|
137
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';
|
|
@@ -31,7 +31,7 @@ export declare class EthProviderHelper {
|
|
|
31
31
|
fetchPublicAddress(): Promise<Hex | undefined>;
|
|
32
32
|
fetchPublicAddressWithProvider(client: WalletClient): Promise<Hex | undefined>;
|
|
33
33
|
signMessage(messageToSign: string): Promise<string | undefined>;
|
|
34
|
-
_setupEventListeners(walletConnector: WalletConnector
|
|
34
|
+
_setupEventListeners(walletConnector: WalletConnector): {
|
|
35
35
|
tearDownEventListeners: () => void;
|
|
36
36
|
};
|
|
37
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 {
|
|
@@ -120,14 +119,14 @@ class EthProviderHelper {
|
|
|
120
119
|
return signedMessage;
|
|
121
120
|
});
|
|
122
121
|
}
|
|
123
|
-
_setupEventListeners(walletConnector
|
|
122
|
+
_setupEventListeners(walletConnector) {
|
|
124
123
|
const web3Provider = this.findProvider();
|
|
125
124
|
if (!web3Provider) {
|
|
126
125
|
return {
|
|
127
126
|
tearDownEventListeners: () => { },
|
|
128
127
|
};
|
|
129
128
|
}
|
|
130
|
-
const { handleAccountChange, handleChainChange, handleDisconnect } = eventListenerHandlers(walletConnector
|
|
129
|
+
const { handleAccountChange, handleChainChange, handleDisconnect } = eventListenerHandlers(walletConnector);
|
|
131
130
|
web3Provider.on('accountsChanged', handleAccountChange);
|
|
132
131
|
web3Provider.on('chainChanged', handleChainChange);
|
|
133
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 };
|