Skip to content

Commit 3888d71

Browse files
authored
feat: lens testnet (#850)
* feat: lens testnet Signed-off-by: bennett <[email protected]> --------- Signed-off-by: bennett <[email protected]>
1 parent 86f17ee commit 3888d71

18 files changed

+14570
-6
lines changed

.upgradable/lens-sepolia.json

Lines changed: 336 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,336 @@
1+
{
2+
"manifestVersion": "3.2",
3+
"proxies": [
4+
{
5+
"address": "0xE0B015E54d54fc84a6cB9B666099c46adE9335FF",
6+
"txHash": "0xf4115a1fd0ae79bf6f1ad34fc5162cf609a046cf4d220d8f71eacdde3a65f031",
7+
"kind": "uups"
8+
}
9+
],
10+
"impls": {
11+
"72fd4ba347d38782f3aa43abc43f9ec33f536d899812b5ea7aa147598a748f7d": {
12+
"address": "0x21aa92c23BC2A0E2DaB0335F5f864757FE68c0A7",
13+
"txHash": "0x87f01f870b3d0618a5e4ac8ea07ff5b193dd3c140e1d43780d9946c7256f36e7",
14+
"layout": {
15+
"solcVersion": "0.8.23",
16+
"storage": [
17+
{
18+
"label": "_initialized",
19+
"offset": 0,
20+
"slot": "0",
21+
"type": "t_uint8",
22+
"contract": "Initializable",
23+
"src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:63",
24+
"retypedFrom": "bool"
25+
},
26+
{
27+
"label": "_initializing",
28+
"offset": 1,
29+
"slot": "0",
30+
"type": "t_bool",
31+
"contract": "Initializable",
32+
"src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:68"
33+
},
34+
{
35+
"label": "__gap",
36+
"offset": 0,
37+
"slot": "1",
38+
"type": "t_array(t_uint256)50_storage",
39+
"contract": "ERC1967UpgradeUpgradeable",
40+
"src": "@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:169"
41+
},
42+
{
43+
"label": "__gap",
44+
"offset": 0,
45+
"slot": "51",
46+
"type": "t_array(t_uint256)50_storage",
47+
"contract": "UUPSUpgradeable",
48+
"src": "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol:111"
49+
},
50+
{
51+
"label": "_status",
52+
"offset": 0,
53+
"slot": "101",
54+
"type": "t_uint256",
55+
"contract": "ReentrancyGuardUpgradeable",
56+
"src": "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol:38"
57+
},
58+
{
59+
"label": "__gap",
60+
"offset": 0,
61+
"slot": "102",
62+
"type": "t_array(t_uint256)49_storage",
63+
"contract": "ReentrancyGuardUpgradeable",
64+
"src": "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol:88"
65+
},
66+
{
67+
"label": "__gap",
68+
"offset": 0,
69+
"slot": "151",
70+
"type": "t_array(t_uint256)1000_storage",
71+
"contract": "MultiCallerUpgradeable",
72+
"src": "contracts/upgradeable/MultiCallerUpgradeable.sol:77"
73+
},
74+
{
75+
"label": "_HASHED_NAME",
76+
"offset": 0,
77+
"slot": "1151",
78+
"type": "t_bytes32",
79+
"contract": "EIP712CrossChainUpgradeable",
80+
"src": "contracts/upgradeable/EIP712CrossChainUpgradeable.sol:21"
81+
},
82+
{
83+
"label": "_HASHED_VERSION",
84+
"offset": 0,
85+
"slot": "1152",
86+
"type": "t_bytes32",
87+
"contract": "EIP712CrossChainUpgradeable",
88+
"src": "contracts/upgradeable/EIP712CrossChainUpgradeable.sol:22"
89+
},
90+
{
91+
"label": "__gap",
92+
"offset": 0,
93+
"slot": "1153",
94+
"type": "t_array(t_uint256)1000_storage",
95+
"contract": "EIP712CrossChainUpgradeable",
96+
"src": "contracts/upgradeable/EIP712CrossChainUpgradeable.sol:85"
97+
},
98+
{
99+
"label": "crossDomainAdmin",
100+
"offset": 0,
101+
"slot": "2153",
102+
"type": "t_address",
103+
"contract": "SpokePool",
104+
"src": "contracts/SpokePool.sol:46"
105+
},
106+
{
107+
"label": "withdrawalRecipient",
108+
"offset": 0,
109+
"slot": "2154",
110+
"type": "t_address",
111+
"contract": "SpokePool",
112+
"src": "contracts/SpokePool.sol:50"
113+
},
114+
{
115+
"label": "DEPRECATED_wrappedNativeToken",
116+
"offset": 0,
117+
"slot": "2155",
118+
"type": "t_contract(WETH9Interface)32714",
119+
"contract": "SpokePool",
120+
"src": "contracts/SpokePool.sol:57"
121+
},
122+
{
123+
"label": "DEPRECATED_depositQuoteTimeBuffer",
124+
"offset": 20,
125+
"slot": "2155",
126+
"type": "t_uint32",
127+
"contract": "SpokePool",
128+
"src": "contracts/SpokePool.sol:58"
129+
},
130+
{
131+
"label": "numberOfDeposits",
132+
"offset": 24,
133+
"slot": "2155",
134+
"type": "t_uint32",
135+
"contract": "SpokePool",
136+
"src": "contracts/SpokePool.sol:61"
137+
},
138+
{
139+
"label": "pausedFills",
140+
"offset": 28,
141+
"slot": "2155",
142+
"type": "t_bool",
143+
"contract": "SpokePool",
144+
"src": "contracts/SpokePool.sol:64"
145+
},
146+
{
147+
"label": "pausedDeposits",
148+
"offset": 29,
149+
"slot": "2155",
150+
"type": "t_bool",
151+
"contract": "SpokePool",
152+
"src": "contracts/SpokePool.sol:65"
153+
},
154+
{
155+
"label": "rootBundles",
156+
"offset": 0,
157+
"slot": "2156",
158+
"type": "t_array(t_struct(RootBundle)33486_storage)dyn_storage",
159+
"contract": "SpokePool",
160+
"src": "contracts/SpokePool.sol:68"
161+
},
162+
{
163+
"label": "enabledDepositRoutes",
164+
"offset": 0,
165+
"slot": "2157",
166+
"type": "t_mapping(t_address,t_mapping(t_uint256,t_bool))",
167+
"contract": "SpokePool",
168+
"src": "contracts/SpokePool.sol:71"
169+
},
170+
{
171+
"label": "DEPRECATED_relayFills",
172+
"offset": 0,
173+
"slot": "2158",
174+
"type": "t_mapping(t_bytes32,t_uint256)",
175+
"contract": "SpokePool",
176+
"src": "contracts/SpokePool.sol:76"
177+
},
178+
{
179+
"label": "DEPRECATED_fillCounter",
180+
"offset": 0,
181+
"slot": "2159",
182+
"type": "t_mapping(t_address,t_uint256)",
183+
"contract": "SpokePool",
184+
"src": "contracts/SpokePool.sol:88"
185+
},
186+
{
187+
"label": "DEPRECATED_depositCounter",
188+
"offset": 0,
189+
"slot": "2160",
190+
"type": "t_mapping(t_address,t_uint256)",
191+
"contract": "SpokePool",
192+
"src": "contracts/SpokePool.sol:92"
193+
},
194+
{
195+
"label": "DEPRECATED_refundsRequested",
196+
"offset": 0,
197+
"slot": "2161",
198+
"type": "t_mapping(t_bytes32,t_uint256)",
199+
"contract": "SpokePool",
200+
"src": "contracts/SpokePool.sol:97"
201+
},
202+
{
203+
"label": "fillStatuses",
204+
"offset": 0,
205+
"slot": "2162",
206+
"type": "t_mapping(t_bytes32,t_uint256)",
207+
"contract": "SpokePool",
208+
"src": "contracts/SpokePool.sol:101"
209+
},
210+
{
211+
"label": "__gap",
212+
"offset": 0,
213+
"slot": "2163",
214+
"type": "t_array(t_uint256)999_storage",
215+
"contract": "SpokePool",
216+
"src": "contracts/SpokePool.sol:1445"
217+
},
218+
{
219+
"label": "l2Eth",
220+
"offset": 0,
221+
"slot": "3162",
222+
"type": "t_address",
223+
"contract": "ZkSync_SpokePool",
224+
"src": "contracts/ZkSync_SpokePool.sol:32"
225+
},
226+
{
227+
"label": "zkErc20Bridge",
228+
"offset": 0,
229+
"slot": "3163",
230+
"type": "t_contract(ZkBridgeLike)23367",
231+
"contract": "ZkSync_SpokePool",
232+
"src": "contracts/ZkSync_SpokePool.sol:35"
233+
}
234+
],
235+
"types": {
236+
"t_address": {
237+
"label": "address",
238+
"numberOfBytes": "20"
239+
},
240+
"t_array(t_struct(RootBundle)33486_storage)dyn_storage": {
241+
"label": "struct SpokePoolInterface.RootBundle[]",
242+
"numberOfBytes": "32"
243+
},
244+
"t_array(t_uint256)1000_storage": {
245+
"label": "uint256[1000]",
246+
"numberOfBytes": "32000"
247+
},
248+
"t_array(t_uint256)49_storage": {
249+
"label": "uint256[49]",
250+
"numberOfBytes": "1568"
251+
},
252+
"t_array(t_uint256)50_storage": {
253+
"label": "uint256[50]",
254+
"numberOfBytes": "1600"
255+
},
256+
"t_array(t_uint256)999_storage": {
257+
"label": "uint256[999]",
258+
"numberOfBytes": "31968"
259+
},
260+
"t_bool": {
261+
"label": "bool",
262+
"numberOfBytes": "1"
263+
},
264+
"t_bytes32": {
265+
"label": "bytes32",
266+
"numberOfBytes": "32"
267+
},
268+
"t_contract(WETH9Interface)32714": {
269+
"label": "contract WETH9Interface",
270+
"numberOfBytes": "20"
271+
},
272+
"t_contract(ZkBridgeLike)23367": {
273+
"label": "contract ZkBridgeLike",
274+
"numberOfBytes": "20"
275+
},
276+
"t_mapping(t_address,t_mapping(t_uint256,t_bool))": {
277+
"label": "mapping(address => mapping(uint256 => bool))",
278+
"numberOfBytes": "32"
279+
},
280+
"t_mapping(t_address,t_uint256)": {
281+
"label": "mapping(address => uint256)",
282+
"numberOfBytes": "32"
283+
},
284+
"t_mapping(t_bytes32,t_uint256)": {
285+
"label": "mapping(bytes32 => uint256)",
286+
"numberOfBytes": "32"
287+
},
288+
"t_mapping(t_uint256,t_bool)": {
289+
"label": "mapping(uint256 => bool)",
290+
"numberOfBytes": "32"
291+
},
292+
"t_mapping(t_uint256,t_uint256)": {
293+
"label": "mapping(uint256 => uint256)",
294+
"numberOfBytes": "32"
295+
},
296+
"t_struct(RootBundle)33486_storage": {
297+
"label": "struct SpokePoolInterface.RootBundle",
298+
"members": [
299+
{
300+
"label": "slowRelayRoot",
301+
"type": "t_bytes32",
302+
"offset": 0,
303+
"slot": "0"
304+
},
305+
{
306+
"label": "relayerRefundRoot",
307+
"type": "t_bytes32",
308+
"offset": 0,
309+
"slot": "1"
310+
},
311+
{
312+
"label": "claimedBitmap",
313+
"type": "t_mapping(t_uint256,t_uint256)",
314+
"offset": 0,
315+
"slot": "2"
316+
}
317+
],
318+
"numberOfBytes": "96"
319+
},
320+
"t_uint256": {
321+
"label": "uint256",
322+
"numberOfBytes": "32"
323+
},
324+
"t_uint32": {
325+
"label": "uint32",
326+
"numberOfBytes": "4"
327+
},
328+
"t_uint8": {
329+
"label": "uint8",
330+
"numberOfBytes": "1"
331+
}
332+
}
333+
}
334+
}
335+
}
336+
}

contracts/Lens_SpokePool.sol

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
// SPDX-License-Identifier: BUSL-1.1
2+
pragma solidity ^0.8.0;
3+
4+
import "./ZkSync_SpokePool.sol";
5+
6+
/**
7+
* @notice Lens specific SpokePool. Wrapper around the ZkSync_SpokePool contract.
8+
* @dev Resources for compiling and deploying contracts with hardhat: https://era.zksync.io/docs/tools/hardhat/hardhat-zksync-solc.html
9+
* @custom:security-contact [email protected]
10+
*/
11+
contract Lens_SpokePool is ZkSync_SpokePool {
12+
/// @custom:oz-upgrades-unsafe-allow constructor
13+
constructor(
14+
address _wrappedNativeTokenAddress,
15+
uint32 _depositQuoteTimeBuffer,
16+
uint32 _fillDeadlineBuffer
17+
) ZkSync_SpokePool(_wrappedNativeTokenAddress, _depositQuoteTimeBuffer, _fillDeadlineBuffer) {} // solhint-disable-line no-empty-blocks
18+
}

0 commit comments

Comments
 (0)