@dynamic-labs/ethereum-aa 4.0.0-alpha.2 → 4.0.0-alpha.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +183 -0
- package/package.cjs +8 -0
- package/package.js +4 -0
- package/package.json +10 -17
- package/src/ZeroDevConnector.cjs +156 -106
- package/src/ZeroDevConnector.d.ts +105 -87
- package/src/ZeroDevConnector.js +159 -109
- package/src/constants.cjs +8 -0
- package/src/constants.d.ts +1 -0
- package/src/constants.js +4 -0
- package/src/index.cjs +13 -0
- package/src/index.d.ts +5 -0
- package/src/index.js +8 -0
- package/src/utils/createEcsdaKernelAccountClient.d.ts +1 -1
- package/src/utils/{fetchChain.cjs → fetchZeroDevChain.cjs} +2 -2
- package/src/utils/{fetchChain.d.ts → fetchZeroDevChain.d.ts} +1 -1
- package/src/utils/{fetchChain.js → fetchZeroDevChain.js} +2 -2
- package/src/utils/getEcdsaValidator.cjs +21 -0
- package/src/utils/getEcdsaValidator.d.ts +3 -0
- package/src/utils/getEcdsaValidator.js +17 -0
- package/src/utils/getEntryPoint.cjs +24 -0
- package/src/utils/getEntryPoint.d.ts +1 -0
- package/src/utils/getEntryPoint.js +20 -0
- package/src/utils/getKernelVersion.cjs +31 -0
- package/src/utils/getKernelVersion.d.ts +4 -0
- package/src/utils/getKernelVersion.js +27 -0
- package/src/utils/index.d.ts +4 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,4 +1,187 @@
|
|
|
1
1
|
|
|
2
|
+
## [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)
|
|
3
|
+
|
|
4
|
+
## [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)
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
### Bug Fixes
|
|
8
|
+
|
|
9
|
+
* 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))
|
|
10
|
+
|
|
11
|
+
## [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)
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
### Bug Fixes
|
|
15
|
+
|
|
16
|
+
* **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))
|
|
17
|
+
|
|
18
|
+
## [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)
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
### Features
|
|
22
|
+
|
|
23
|
+
* add support for eclipse ([#7255](https://github.com/dynamic-labs/dynamic-auth/issues/7255)) ([70e9830](https://github.com/dynamic-labs/dynamic-auth/commit/70e9830c6c801e0298825b914ee825b578350cf0))
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
### Bug Fixes
|
|
27
|
+
|
|
28
|
+
* 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))
|
|
29
|
+
* 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))
|
|
30
|
+
|
|
31
|
+
## [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)
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
### Features
|
|
35
|
+
|
|
36
|
+
* 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))
|
|
37
|
+
* 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))
|
|
38
|
+
* add support for compass and leap wallets ([9738749](https://github.com/dynamic-labs/dynamic-auth/commit/9738749bb5ed8e07a2582df255f683e4d408db93))
|
|
39
|
+
* 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))
|
|
40
|
+
* 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))
|
|
41
|
+
|
|
42
|
+
## [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)
|
|
43
|
+
|
|
44
|
+
## [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)
|
|
45
|
+
|
|
46
|
+
## [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)
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
### Bug Fixes
|
|
50
|
+
|
|
51
|
+
* 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))
|
|
52
|
+
|
|
53
|
+
## [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)
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
### Features
|
|
57
|
+
|
|
58
|
+
* 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))
|
|
59
|
+
* solana embedded signall headless ([#7132](https://github.com/dynamic-labs/dynamic-auth/issues/7132)) ([fe16b71](https://github.com/dynamic-labs/dynamic-auth/commit/fe16b71a4c0ad775f8de87ca899cfdd1071f11d6))
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
### Bug Fixes
|
|
63
|
+
|
|
64
|
+
* 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))
|
|
65
|
+
* 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))
|
|
66
|
+
* 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))
|
|
67
|
+
* 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))
|
|
68
|
+
* 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)
|
|
69
|
+
* 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))
|
|
70
|
+
|
|
71
|
+
## [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)
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
### Bug Fixes
|
|
75
|
+
|
|
76
|
+
* 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))
|
|
77
|
+
|
|
78
|
+
## [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)
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
### Bug Fixes
|
|
82
|
+
|
|
83
|
+
* 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))
|
|
84
|
+
|
|
85
|
+
## [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)
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
### Features
|
|
89
|
+
|
|
90
|
+
* 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))
|
|
91
|
+
* 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))
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
### Bug Fixes
|
|
95
|
+
|
|
96
|
+
* 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))
|
|
97
|
+
|
|
98
|
+
## [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)
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
### Features
|
|
102
|
+
|
|
103
|
+
* 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))
|
|
104
|
+
* 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))
|
|
105
|
+
* 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))
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
### Bug Fixes
|
|
109
|
+
|
|
110
|
+
* 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))
|
|
111
|
+
|
|
112
|
+
## [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)
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
### Features
|
|
116
|
+
|
|
117
|
+
* 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))
|
|
118
|
+
* 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))
|
|
119
|
+
* 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))
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
### Bug Fixes
|
|
123
|
+
|
|
124
|
+
* 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))
|
|
125
|
+
* 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))
|
|
126
|
+
* 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))
|
|
127
|
+
* update version error text ([#7054](https://github.com/dynamic-labs/dynamic-auth/issues/7054)) ([713dacb](https://github.com/dynamic-labs/dynamic-auth/commit/713dacb79c2513323c2e6840d7418716011c2dcd))
|
|
128
|
+
* 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))
|
|
129
|
+
|
|
130
|
+
## [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)
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
### ⚠ BREAKING CHANGES
|
|
134
|
+
|
|
135
|
+
* remove support to magic ([#7033](https://github.com/dynamic-labs/dynamic-auth/issues/7033)) ([0fdc41f](https://github.com/dynamic-labs/dynamic-auth/commit/0fdc41f05f87b32f56b73db068f984f18bdf69a0))
|
|
136
|
+
|
|
137
|
+
### Features
|
|
138
|
+
|
|
139
|
+
* global connectivity disconnect ([#7008](https://github.com/dynamic-labs/dynamic-auth/issues/7008)) ([80d705b](https://github.com/dynamic-labs/dynamic-auth/commit/80d705ba252aa3b01cbf4861507fed00e460215f))
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
### Bug Fixes
|
|
143
|
+
|
|
144
|
+
* 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))
|
|
145
|
+
* add retry to useConnectWithOtp ([#7012](https://github.com/dynamic-labs/dynamic-auth/issues/7012)) ([d551d72](https://github.com/dynamic-labs/dynamic-auth/commit/d551d72a463f8a03964858b30ec174d41985a7b1))
|
|
146
|
+
* 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))
|
|
147
|
+
* 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))
|
|
148
|
+
* 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))
|
|
149
|
+
|
|
150
|
+
|
|
151
|
+
## [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)
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
### Features
|
|
155
|
+
|
|
156
|
+
* 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))
|
|
157
|
+
|
|
158
|
+
|
|
159
|
+
### Bug Fixes
|
|
160
|
+
|
|
161
|
+
* **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))
|
|
162
|
+
* react-native-extension to include esm ([#6965](https://github.com/dynamic-labs/DynamicAuth/issues/6965)) ([336825b](https://github.com/dynamic-labs/DynamicAuth/commit/336825b50142002bbc67c6f8850bd63030bf384b))
|
|
163
|
+
|
|
164
|
+
## [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)
|
|
165
|
+
|
|
166
|
+
|
|
167
|
+
### Bug Fixes
|
|
168
|
+
|
|
169
|
+
* 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))
|
|
170
|
+
* update in memory secure storage ([#6955](https://github.com/dynamic-labs/DynamicAuth/issues/6955)) ([697fc20](https://github.com/dynamic-labs/DynamicAuth/commit/697fc20740b243fa31ecf06e8b2ed9d09932a544))
|
|
171
|
+
|
|
172
|
+
## [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)
|
|
173
|
+
|
|
174
|
+
|
|
175
|
+
### Features
|
|
176
|
+
|
|
177
|
+
* developers provide global connectivity appkit project id ([#6941](https://github.com/dynamic-labs/DynamicAuth/issues/6941)) ([83760ea](https://github.com/dynamic-labs/DynamicAuth/commit/83760ea57591685b12caee945f173f6a7f9312d1))
|
|
178
|
+
|
|
179
|
+
|
|
180
|
+
### Bug Fixes
|
|
181
|
+
|
|
182
|
+
* don't try to set up event listeners if wallet provider doesn't support it ([#6943](https://github.com/dynamic-labs/DynamicAuth/issues/6943)) ([439f1bb](https://github.com/dynamic-labs/DynamicAuth/commit/439f1bbb3c765959756cfc6eeb8429e4018e0379))
|
|
183
|
+
* dont verify all signatures for solana embedded multisig tx ([#6953](https://github.com/dynamic-labs/DynamicAuth/issues/6953)) ([7a7973e](https://github.com/dynamic-labs/DynamicAuth/commit/7a7973e05f0960421b348a55c6a00c9fd873b0b7))
|
|
184
|
+
|
|
2
185
|
## [4.0.0-alpha.2](https://github.com/dynamic-labs/DynamicAuth/compare/v4.0.0-alpha.1...v4.0.0-alpha.2) (2024-09-18)
|
|
3
186
|
|
|
4
187
|
|
package/package.cjs
ADDED
package/package.js
ADDED
package/package.json
CHANGED
|
@@ -1,16 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dynamic-labs/ethereum-aa",
|
|
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-aa"
|
|
8
|
-
},
|
|
3
|
+
"version": "4.0.0-alpha.20",
|
|
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
|
-
"@dynamic-labs/sdk-api-core": "0.0.
|
|
21
|
+
"@dynamic-labs/sdk-api-core": "0.0.559",
|
|
30
22
|
"@zerodev/ecdsa-validator": "5.3.1",
|
|
31
23
|
"@zerodev/multi-chain-validator": "5.3.3",
|
|
32
24
|
"@zerodev/sdk": "5.3.4",
|
|
33
25
|
"permissionless": "^0.1.20",
|
|
34
|
-
"@dynamic-labs/
|
|
35
|
-
"@dynamic-labs/
|
|
36
|
-
"@dynamic-labs/
|
|
37
|
-
"@dynamic-labs/
|
|
38
|
-
"@dynamic-labs/
|
|
39
|
-
"@dynamic-labs/wallet-
|
|
26
|
+
"@dynamic-labs/assert-package-version": "4.0.0-alpha.20",
|
|
27
|
+
"@dynamic-labs/ethereum-core": "4.0.0-alpha.20",
|
|
28
|
+
"@dynamic-labs/logger": "4.0.0-alpha.20",
|
|
29
|
+
"@dynamic-labs/types": "4.0.0-alpha.20",
|
|
30
|
+
"@dynamic-labs/utils": "4.0.0-alpha.20",
|
|
31
|
+
"@dynamic-labs/wallet-book": "4.0.0-alpha.20",
|
|
32
|
+
"@dynamic-labs/wallet-connector-core": "4.0.0-alpha.20"
|
|
40
33
|
},
|
|
41
34
|
"peerDependencies": {
|
|
42
35
|
"viem": "^2.7.6"
|
package/src/ZeroDevConnector.cjs
CHANGED
|
@@ -4,28 +4,33 @@
|
|
|
4
4
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
5
5
|
|
|
6
6
|
var _tslib = require('../_virtual/_tslib.cjs');
|
|
7
|
-
var multiChainValidator = require('@zerodev/multi-chain-validator');
|
|
8
7
|
var viem = require('viem');
|
|
8
|
+
var accounts = require('viem/accounts');
|
|
9
9
|
var utils$1 = require('permissionless/utils');
|
|
10
|
-
var constants = require('@zerodev/sdk/constants');
|
|
11
|
-
var ecdsaValidator = require('@zerodev/ecdsa-validator');
|
|
12
|
-
var sdkApiCore = require('@dynamic-labs/sdk-api-core');
|
|
13
|
-
var walletConnectorCore = require('@dynamic-labs/wallet-connector-core');
|
|
14
10
|
var ethereumCore = require('@dynamic-labs/ethereum-core');
|
|
11
|
+
var walletConnectorCore = require('@dynamic-labs/wallet-connector-core');
|
|
15
12
|
var utils = require('@dynamic-labs/utils');
|
|
16
|
-
var
|
|
13
|
+
var constants = require('./constants.cjs');
|
|
17
14
|
var logger = require('./utils/logger.cjs');
|
|
18
15
|
var createEcsdaKernelAccountClient = require('./utils/createEcsdaKernelAccountClient.cjs');
|
|
16
|
+
var getEcdsaValidator = require('./utils/getEcdsaValidator.cjs');
|
|
17
|
+
var getEntryPoint = require('./utils/getEntryPoint.cjs');
|
|
18
|
+
var getKernelVersion = require('./utils/getKernelVersion.cjs');
|
|
19
19
|
|
|
20
20
|
class ZeroDevConnector extends walletConnectorCore.WalletConnectorBase {
|
|
21
21
|
constructor(opts) {
|
|
22
22
|
var _a, _b, _c, _d;
|
|
23
23
|
super(opts);
|
|
24
|
+
// provider map maintains the kernel clients per chain
|
|
25
|
+
this.providerMap = {};
|
|
26
|
+
// eoa connector map maintains the eoa address and connector for each smart wallet address
|
|
27
|
+
this.eoaConnectorMap = {};
|
|
24
28
|
this.ChainWallet = ethereumCore.EthereumWallet;
|
|
25
29
|
this.connectedChain = 'EVM';
|
|
26
30
|
this.supportedChains = ['ETH', 'EVM'];
|
|
27
31
|
this.isGasSponsorshipDisabled = false;
|
|
28
32
|
this.isEmbeddedWallet = true;
|
|
33
|
+
this.providersFromApi = [];
|
|
29
34
|
this.name = 'ZeroDev';
|
|
30
35
|
this.overrideKey = 'zerodev';
|
|
31
36
|
this.walletFallback = {
|
|
@@ -35,59 +40,64 @@ class ZeroDevConnector extends walletConnectorCore.WalletConnectorBase {
|
|
|
35
40
|
},
|
|
36
41
|
name: 'ZeroDev',
|
|
37
42
|
};
|
|
38
|
-
const zeroDevProjectId = (_a = opts.apiProviders.zerodev) === null || _a === void 0 ? void 0 : _a.clientId;
|
|
39
|
-
if (!zeroDevProjectId) {
|
|
40
|
-
throw new Error('Missing ZeroDev project ID provided. Add your ZeroDev project id to your project configuration via the Dynamic Labs dashboard.');
|
|
41
|
-
}
|
|
42
|
-
this.projectId = zeroDevProjectId;
|
|
43
43
|
this._walletUiUtils = opts.walletUiUtils;
|
|
44
44
|
this.evmNetworks = utils.parseEvmNetworks(opts.evmNetworks);
|
|
45
|
-
this.entryPoint =
|
|
46
|
-
this.kernelVersion =
|
|
45
|
+
this.entryPoint = getEntryPoint.getEntryPoint((_a = opts.apiProviders.zerodev) === null || _a === void 0 ? void 0 : _a.entryPointVersion);
|
|
46
|
+
this.kernelVersion = getKernelVersion.getKernelVersion((_b = opts.apiProviders.zerodev) === null || _b === void 0 ? void 0 : _b.kernelVersion, this.entryPoint);
|
|
47
|
+
// this is the list of providers from the api that are used for multi-chain account abstraction
|
|
48
|
+
this.providersFromApi =
|
|
49
|
+
((_c = opts.apiProviders.zerodev) === null || _c === void 0 ? void 0 : _c.multichainAccountAbstractionProviders) || [];
|
|
50
|
+
const [defaultProvider] = this.providersFromApi;
|
|
51
|
+
this.clientId = defaultProvider === null || defaultProvider === void 0 ? void 0 : defaultProvider.clientId;
|
|
52
|
+
if (!this.clientId) {
|
|
53
|
+
throw new Error('Missing ZeroDev project ID provided. Add your ZeroDev project id to your project configuration via the Dynamic Labs dashboard.');
|
|
54
|
+
}
|
|
55
|
+
this.defaultChainId = defaultProvider === null || defaultProvider === void 0 ? void 0 : defaultProvider.chain;
|
|
47
56
|
this.ecdsaProviderType = (_d = opts.apiProviders.zerodev) === null || _d === void 0 ? void 0 : _d.ecdsaProviderType;
|
|
48
57
|
}
|
|
49
|
-
|
|
50
|
-
if
|
|
51
|
-
|
|
52
|
-
return
|
|
58
|
+
get currentNetworkProvider() {
|
|
59
|
+
// check if the last used chain id is in the provider map
|
|
60
|
+
if (this.providerMap[this.lastUsedChainId]) {
|
|
61
|
+
return this.providerMap[this.lastUsedChainId];
|
|
53
62
|
}
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
else {
|
|
58
|
-
logger.logger.error('Invalid entry point version', entryPoint);
|
|
59
|
-
return utils$1.ENTRYPOINT_ADDRESS_V07;
|
|
63
|
+
// if not, check if the default chain id is in the provider map
|
|
64
|
+
if (this.defaultChainId) {
|
|
65
|
+
return this.providerMap[this.defaultChainId];
|
|
60
66
|
}
|
|
67
|
+
// if no chain id is found, return undefined
|
|
68
|
+
return undefined;
|
|
61
69
|
}
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
}
|
|
68
|
-
else if (kernelVersion === sdkApiCore.ProviderKernelVersionEnum.V30) {
|
|
69
|
-
return constants.KERNEL_V3_0;
|
|
70
|
-
}
|
|
71
|
-
else if (kernelVersion === sdkApiCore.ProviderKernelVersionEnum.V24 ||
|
|
72
|
-
this.entryPoint === utils$1.ENTRYPOINT_ADDRESS_V06 // v0.6 only supports v2.4
|
|
73
|
-
) {
|
|
74
|
-
return constants.KERNEL_V2_4;
|
|
75
|
-
}
|
|
76
|
-
else {
|
|
77
|
-
logger.logger.error('Invalid kernel version', kernelVersion);
|
|
78
|
-
return constants.KERNEL_V3_1;
|
|
79
|
-
}
|
|
70
|
+
get lastUsedChainId() {
|
|
71
|
+
var _a;
|
|
72
|
+
const storedChainId = utils.StorageService.getItem(constants.ZERO_DEV_LAST_USED_CHAIN_ID_KEY);
|
|
73
|
+
// returning string of unknown if no chain id is found to result in undefined provider lookup
|
|
74
|
+
return (_a = storedChainId !== null && storedChainId !== void 0 ? storedChainId : this.defaultChainId) !== null && _a !== void 0 ? _a : 'unknown';
|
|
80
75
|
}
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
76
|
+
get kernelClient() {
|
|
77
|
+
var _a;
|
|
78
|
+
return (_a = this.currentNetworkProvider) === null || _a === void 0 ? void 0 : _a.kernelClient;
|
|
79
|
+
}
|
|
80
|
+
get kernelClientWithSponsorship() {
|
|
81
|
+
var _a;
|
|
82
|
+
return (_a = this.currentNetworkProvider) === null || _a === void 0 ? void 0 : _a.kernelClientWithSponsorship;
|
|
83
|
+
}
|
|
84
|
+
supportsNetworkSwitching() {
|
|
85
|
+
return (Object.keys(this.providerMap).length > 1 && this.evmNetworks.length > 1);
|
|
86
|
+
}
|
|
87
|
+
switchNetwork(_a) {
|
|
88
|
+
return _tslib.__awaiter(this, arguments, void 0, function* ({ networkChainId, }) {
|
|
89
|
+
if (!this.supportsNetworkSwitching())
|
|
90
|
+
return;
|
|
91
|
+
if (!networkChainId)
|
|
92
|
+
return;
|
|
93
|
+
const chainId = networkChainId.toString();
|
|
94
|
+
if (!this.providerMap[chainId]) {
|
|
95
|
+
throw new Error(`No provider found for chainId: ${chainId}`);
|
|
96
|
+
}
|
|
97
|
+
utils.StorageService.setItem(constants.ZERO_DEV_LAST_USED_CHAIN_ID_KEY, chainId);
|
|
98
|
+
const { handleChainChange } = walletConnectorCore.eventListenerHandlers(this);
|
|
99
|
+
handleChainChange(chainId);
|
|
100
|
+
});
|
|
91
101
|
}
|
|
92
102
|
/**
|
|
93
103
|
* @deprecated You should get the EOA connector by passing the SCW to getEOAConnector,
|
|
@@ -104,10 +114,22 @@ class ZeroDevConnector extends walletConnectorCore.WalletConnectorBase {
|
|
|
104
114
|
}
|
|
105
115
|
endSession() {
|
|
106
116
|
return _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
107
|
-
|
|
117
|
+
utils.StorageService.removeItem(constants.ZERO_DEV_LAST_USED_CHAIN_ID_KEY);
|
|
108
118
|
});
|
|
109
119
|
}
|
|
110
|
-
|
|
120
|
+
registerEoa(_a) {
|
|
121
|
+
return _tslib.__awaiter(this, arguments, void 0, function* ({ smartWalletAddress, eoaAddress, eoaConnector, shouldSetEoaConnector = false, }) {
|
|
122
|
+
this.eoaConnectorMap[smartWalletAddress] = {
|
|
123
|
+
eoaAddress,
|
|
124
|
+
eoaConnector,
|
|
125
|
+
};
|
|
126
|
+
// if this is the primary wallet, set the eoa connector and kernel clients
|
|
127
|
+
if (shouldSetEoaConnector && this.eoaAddress !== eoaAddress) {
|
|
128
|
+
yield this.setEoaConnector(eoaAddress, eoaConnector);
|
|
129
|
+
}
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
setEoaConnector(eoaAddress, connector) {
|
|
111
133
|
return _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
112
134
|
if (!connector) {
|
|
113
135
|
logger.logger.error('No EOA connector provided');
|
|
@@ -115,24 +137,72 @@ class ZeroDevConnector extends walletConnectorCore.WalletConnectorBase {
|
|
|
115
137
|
}
|
|
116
138
|
this.kernelClientDeferredPromise = new utils.DeferredPromise();
|
|
117
139
|
this.eoaConnector = connector;
|
|
140
|
+
this.eoaAddress = eoaAddress;
|
|
118
141
|
if (ethereumCore.isEthWalletConnector(this.eoaConnector) &&
|
|
119
142
|
!this.eoaConnector.getActiveAccount()) {
|
|
120
143
|
yield this.eoaConnector.getConnectedAccounts();
|
|
121
144
|
}
|
|
122
145
|
const signer = yield this.eoaConnector.getSigner();
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
146
|
+
signer.account = accounts.toAccount(eoaAddress);
|
|
147
|
+
yield this.generateProviderMap(signer);
|
|
148
|
+
this.evmNetworks = this.evmNetworks.filter((network) => Boolean(this.providerMap[network.chainId]));
|
|
149
|
+
this.kernelClientDeferredPromise.resolve();
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
warnIfProjectChainNotEnabled(chainId) {
|
|
153
|
+
return _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
154
|
+
var _a;
|
|
155
|
+
let chainIdToCheck = chainId;
|
|
156
|
+
if (!chainIdToCheck) {
|
|
157
|
+
const client = yield this.getPublicClient();
|
|
158
|
+
chainIdToCheck = (_a = client === null || client === void 0 ? void 0 : client.chain) === null || _a === void 0 ? void 0 : _a.id;
|
|
159
|
+
}
|
|
160
|
+
const isProjectChainEnabled = this.evmNetworks.some((network) => network.chainId === chainIdToCheck);
|
|
161
|
+
if (!isProjectChainEnabled) {
|
|
162
|
+
logger.logger.error(`Please make sure to enable (${chainIdToCheck}) in the Dynamic dashboard (https://app.dynamic.xyz/dashboard/configurations#evm).`);
|
|
126
163
|
}
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
generateProviderMap(signer) {
|
|
167
|
+
return _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
168
|
+
// reset the chains provider map when eoa connector changes
|
|
169
|
+
this.providerMap = {};
|
|
170
|
+
for (const provider of this.providersFromApi) {
|
|
171
|
+
if (!this.providerMap[provider.chain]) {
|
|
172
|
+
this.providerMap[provider.chain] = {
|
|
173
|
+
kernelClient: yield this.getKernelClientWithoutSponsorshipValidation({
|
|
174
|
+
chainId: provider.chain,
|
|
175
|
+
projectId: provider.clientId,
|
|
176
|
+
signer,
|
|
177
|
+
}),
|
|
178
|
+
kernelClientWithSponsorship: yield this.getKernelClientWithSponsorshipValidation({
|
|
179
|
+
chainId: provider.chain,
|
|
180
|
+
projectId: provider.clientId,
|
|
181
|
+
signer,
|
|
182
|
+
}),
|
|
183
|
+
};
|
|
184
|
+
}
|
|
185
|
+
yield this.warnIfProjectChainNotEnabled(utils.parseChainId(provider.chain));
|
|
186
|
+
}
|
|
187
|
+
});
|
|
188
|
+
}
|
|
189
|
+
getKernelClientWithoutSponsorshipValidation(_a) {
|
|
190
|
+
return _tslib.__awaiter(this, arguments, void 0, function* ({ projectId, signer, chainId, }) {
|
|
191
|
+
if (chainId && this.providerMap[chainId]) {
|
|
192
|
+
return this.providerMap[chainId].kernelClient;
|
|
193
|
+
}
|
|
194
|
+
const { eoaConnector } = this;
|
|
195
|
+
if (!eoaConnector)
|
|
196
|
+
throw new utils.DynamicError('No EOA connector');
|
|
127
197
|
const kernelClient = yield createEcsdaKernelAccountClient.createEcdsaKernelAccountClient({
|
|
128
198
|
bundlerRpc: ZeroDevConnector.bundlerRpc,
|
|
129
|
-
chain:
|
|
130
|
-
ecdsaValidator:
|
|
199
|
+
chain: ethereumCore.chainsMap[chainId],
|
|
200
|
+
ecdsaValidator: getEcdsaValidator.getEcdsaValidator(this.ecdsaProviderType),
|
|
131
201
|
entryPointAddress: this.entryPoint,
|
|
132
202
|
kernelVersion: this.kernelVersion,
|
|
133
203
|
paymaster: 'NONE',
|
|
134
204
|
paymasterRpc: ZeroDevConnector.paymasterRpc,
|
|
135
|
-
projectId
|
|
205
|
+
projectId,
|
|
136
206
|
provider: ZeroDevConnector.bundlerProvider,
|
|
137
207
|
signer: utils$1.walletClientToSmartAccountSigner(signer),
|
|
138
208
|
});
|
|
@@ -140,51 +210,34 @@ class ZeroDevConnector extends walletConnectorCore.WalletConnectorBase {
|
|
|
140
210
|
this._walletUiUtils.disabledConfirmationOnce();
|
|
141
211
|
return original(...args);
|
|
142
212
|
});
|
|
143
|
-
|
|
144
|
-
// set the provider with sponsorship enabled
|
|
145
|
-
yield this.getKernelClientWithSponsorshipValidation();
|
|
146
|
-
yield this.checkIsProjectChainEnabled();
|
|
147
|
-
this.kernelClientDeferredPromise.resolve();
|
|
148
|
-
});
|
|
149
|
-
}
|
|
150
|
-
checkIsProjectChainEnabled() {
|
|
151
|
-
return _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
152
|
-
var _a, _b;
|
|
153
|
-
const client = yield this.getPublicClient();
|
|
154
|
-
const chainName = (_a = client === null || client === void 0 ? void 0 : client.chain) === null || _a === void 0 ? void 0 : _a.name;
|
|
155
|
-
const chainId = (_b = client === null || client === void 0 ? void 0 : client.chain) === null || _b === void 0 ? void 0 : _b.id;
|
|
156
|
-
const isProjectChainEnabled = this.evmNetworks.some((network) => network.chainId === chainId);
|
|
157
|
-
if (!isProjectChainEnabled) {
|
|
158
|
-
logger.logger.error(`Please make sure to enable ${chainName} (${chainId}) in the Dynamic dashboard (https://app.dynamic.xyz/dashboard/configurations#evm).`);
|
|
159
|
-
}
|
|
213
|
+
return kernelClient;
|
|
160
214
|
});
|
|
161
215
|
}
|
|
162
|
-
getKernelClientWithSponsorshipValidation() {
|
|
163
|
-
return _tslib.__awaiter(this,
|
|
164
|
-
if (this.
|
|
165
|
-
return this.kernelClientWithSponsorship;
|
|
216
|
+
getKernelClientWithSponsorshipValidation(_a) {
|
|
217
|
+
return _tslib.__awaiter(this, arguments, void 0, function* ({ projectId, signer, chainId, }) {
|
|
218
|
+
if (chainId && this.providerMap[chainId]) {
|
|
219
|
+
return this.providerMap[chainId].kernelClientWithSponsorship;
|
|
166
220
|
}
|
|
167
221
|
const { eoaConnector } = this;
|
|
168
222
|
if (!eoaConnector)
|
|
169
223
|
throw new utils.DynamicError('No EOA connector');
|
|
170
|
-
const
|
|
171
|
-
this.kernelClientWithSponsorship = yield createEcsdaKernelAccountClient.createEcdsaKernelAccountClient({
|
|
224
|
+
const kernelClientWithSponsorship = yield createEcsdaKernelAccountClient.createEcdsaKernelAccountClient({
|
|
172
225
|
bundlerRpc: ZeroDevConnector.bundlerRpc,
|
|
173
|
-
chain:
|
|
174
|
-
ecdsaValidator:
|
|
226
|
+
chain: ethereumCore.chainsMap[chainId],
|
|
227
|
+
ecdsaValidator: getEcdsaValidator.getEcdsaValidator(this.ecdsaProviderType),
|
|
175
228
|
entryPointAddress: this.entryPoint,
|
|
176
229
|
kernelVersion: this.kernelVersion,
|
|
177
230
|
paymaster: 'SPONSOR',
|
|
178
231
|
paymasterRpc: ZeroDevConnector.paymasterRpc,
|
|
179
|
-
projectId
|
|
232
|
+
projectId,
|
|
180
233
|
provider: ZeroDevConnector.bundlerProvider,
|
|
181
234
|
signer: utils$1.walletClientToSmartAccountSigner(signer),
|
|
182
235
|
});
|
|
183
|
-
utils.wrapMethodWithCallback(
|
|
236
|
+
utils.wrapMethodWithCallback(kernelClientWithSponsorship, 'sendUserOperation', (original, ...args) => {
|
|
184
237
|
this._walletUiUtils.disabledConfirmationOnce();
|
|
185
238
|
return original(...args);
|
|
186
239
|
});
|
|
187
|
-
return
|
|
240
|
+
return kernelClientWithSponsorship;
|
|
188
241
|
});
|
|
189
242
|
}
|
|
190
243
|
getAddress() {
|
|
@@ -225,7 +278,10 @@ class ZeroDevConnector extends walletConnectorCore.WalletConnectorBase {
|
|
|
225
278
|
this._walletUiUtils.disabledConfirmationOnce();
|
|
226
279
|
const effectiveProvider = this.isGasSponsorshipDisabled
|
|
227
280
|
? provider
|
|
228
|
-
:
|
|
281
|
+
: this.kernelClientWithSponsorship;
|
|
282
|
+
if (!effectiveProvider) {
|
|
283
|
+
throw new utils.DynamicError('No provider');
|
|
284
|
+
}
|
|
229
285
|
const response = yield effectiveProvider.sendTransaction(ethereumCore.unFormatTransaction(transaction));
|
|
230
286
|
return response;
|
|
231
287
|
}
|
|
@@ -263,7 +319,7 @@ class ZeroDevConnector extends walletConnectorCore.WalletConnectorBase {
|
|
|
263
319
|
var _a;
|
|
264
320
|
const provider = this.kernelClient;
|
|
265
321
|
if (!provider)
|
|
266
|
-
|
|
322
|
+
return undefined;
|
|
267
323
|
const transport = this.getTransport(provider);
|
|
268
324
|
const address = (_a = provider.account) === null || _a === void 0 ? void 0 : _a.address;
|
|
269
325
|
const walletClient = viem.createWalletClient({
|
|
@@ -278,7 +334,7 @@ class ZeroDevConnector extends walletConnectorCore.WalletConnectorBase {
|
|
|
278
334
|
var _a;
|
|
279
335
|
const provider = (_a = this.kernelClient) === null || _a === void 0 ? void 0 : _a.extend(viem.publicActions);
|
|
280
336
|
if (!provider)
|
|
281
|
-
|
|
337
|
+
return undefined;
|
|
282
338
|
return provider;
|
|
283
339
|
});
|
|
284
340
|
}
|
|
@@ -290,7 +346,10 @@ class ZeroDevConnector extends walletConnectorCore.WalletConnectorBase {
|
|
|
290
346
|
canSponsorTransactionGas(transaction) {
|
|
291
347
|
return _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
292
348
|
try {
|
|
293
|
-
const kernelClientWithSponsorship =
|
|
349
|
+
const { kernelClientWithSponsorship } = this;
|
|
350
|
+
if (!kernelClientWithSponsorship) {
|
|
351
|
+
throw new utils.DynamicError('No kernel client with sponsorship found');
|
|
352
|
+
}
|
|
294
353
|
const userOperation = {
|
|
295
354
|
callData: yield kernelClientWithSponsorship.account.encodeCallData({
|
|
296
355
|
data: transaction.data ? transaction.data : '0x',
|
|
@@ -351,23 +410,14 @@ class ZeroDevConnector extends walletConnectorCore.WalletConnectorBase {
|
|
|
351
410
|
});
|
|
352
411
|
}
|
|
353
412
|
validateActiveWallet(expectedAddress) {
|
|
354
|
-
const _super = Object.create(null, {
|
|
355
|
-
validateActiveWallet: { get: () => super.validateActiveWallet }
|
|
356
|
-
});
|
|
357
413
|
return _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
const verifiedCredentials = eoaConnector === null || eoaConnector === void 0 ? void 0 : eoaConnector.verifiedCredentials;
|
|
362
|
-
const expectedEoaAddress = (_a = verifiedCredentials === null || verifiedCredentials === void 0 ? void 0 : verifiedCredentials.find((vc) => vc.smartWalletRefAddress === expectedAddress)) === null || _a === void 0 ? void 0 : _a.address;
|
|
363
|
-
if (!expectedEoaAddress) {
|
|
364
|
-
throw new utils.DynamicError('No EOA connector');
|
|
365
|
-
}
|
|
366
|
-
yield (eoaConnector === null || eoaConnector === void 0 ? void 0 : eoaConnector.validateActiveWallet(expectedEoaAddress));
|
|
367
|
-
}
|
|
368
|
-
else {
|
|
369
|
-
yield _super.validateActiveWallet.call(this, expectedAddress);
|
|
414
|
+
const eoa = this.eoaConnectorMap[expectedAddress];
|
|
415
|
+
if (!eoa) {
|
|
416
|
+
throw new utils.DynamicError('No EOA connector');
|
|
370
417
|
}
|
|
418
|
+
const { eoaAddress, eoaConnector } = eoa;
|
|
419
|
+
yield eoaConnector.validateActiveWallet(eoaAddress);
|
|
420
|
+
yield this.setEoaConnector(eoaAddress, eoaConnector);
|
|
371
421
|
});
|
|
372
422
|
}
|
|
373
423
|
}
|