@wireio/stake 0.2.5 → 0.3.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.
Files changed (97) hide show
  1. package/lib/stake.browser.js +2461 -2074
  2. package/lib/stake.browser.js.map +1 -1
  3. package/lib/stake.d.ts +29 -55
  4. package/lib/stake.js +2615 -2211
  5. package/lib/stake.js.map +1 -1
  6. package/lib/stake.m.js +2461 -2074
  7. package/lib/stake.m.js.map +1 -1
  8. package/package.json +1 -1
  9. package/src/assets/ethereum/ABI/liqEth/BeaconState.sol/BeaconState.dbg.json +4 -0
  10. package/src/assets/ethereum/ABI/liqEth/BeaconState.sol/BeaconState.json +807 -0
  11. package/src/assets/ethereum/ABI/liqEth/DepositManager.sol/DepositManager.dbg.json +1 -1
  12. package/src/assets/ethereum/ABI/liqEth/DepositManager.sol/DepositManager.json +184 -346
  13. package/src/assets/ethereum/ABI/liqEth/LiqEthAuthority.sol/LiqEthAuthority.dbg.json +4 -0
  14. package/src/assets/ethereum/ABI/liqEth/LiqEthAuthority.sol/LiqEthAuthority.json +1289 -0
  15. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IAccounting.dbg.json +1 -1
  16. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IDepositContract.dbg.json +1 -1
  17. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IDepositManager.dbg.json +1 -1
  18. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/ILiqEthUpgradeable.dbg.json +4 -0
  19. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/ILiqEthUpgradeable.json +29 -0
  20. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IRewardsERC20.dbg.json +1 -1
  21. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IRewardsERC20.json +36 -0
  22. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IRewardsERC20Pausable.dbg.json +4 -0
  23. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IRewardsERC20Pausable.json +263 -0
  24. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IStakingModule.dbg.json +1 -1
  25. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IStakingModule.json +226 -0
  26. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IValidatorBalanceVerifier.dbg.json +1 -1
  27. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IValidatorBalanceVerifier.json +59 -0
  28. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IWithdrawalRecord.dbg.json +1 -1
  29. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IWithdrawalRecord.json +14 -12
  30. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/LiqEthCommon.dbg.json +1 -1
  31. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/LiqEthCommon.json +2 -2
  32. package/src/assets/ethereum/ABI/liqEth/LiqEthManaged.sol/LiqEthManaged.dbg.json +4 -0
  33. package/src/assets/ethereum/ABI/liqEth/LiqEthManaged.sol/LiqEthManaged.json +229 -0
  34. package/src/assets/ethereum/ABI/liqEth/RewardsERC20.sol/RewardsERC20Upgradeable.dbg.json +4 -0
  35. package/src/assets/ethereum/ABI/liqEth/{RewardsERC20Pausable.sol/RewardsERC20Pausable.json → RewardsERC20.sol/RewardsERC20Upgradeable.json} +140 -78
  36. package/src/assets/ethereum/ABI/liqEth/RewardsERC20Pausable.sol/RewardsERC20PausableUpgradeable.dbg.json +4 -0
  37. package/src/assets/ethereum/ABI/liqEth/{RewardsERC20.sol/RewardsERC20.json → RewardsERC20Pausable.sol/RewardsERC20PausableUpgradeable.json} +218 -30
  38. package/src/assets/ethereum/ABI/liqEth/ValidatorBalanceVerifier.sol/BeaconRoots.dbg.json +1 -1
  39. package/src/assets/ethereum/ABI/liqEth/ValidatorBalanceVerifier.sol/BeaconRoots.json +2 -2
  40. package/src/assets/ethereum/ABI/liqEth/ValidatorBalanceVerifier.sol/SSZ.dbg.json +1 -1
  41. package/src/assets/ethereum/ABI/liqEth/ValidatorBalanceVerifier.sol/SSZ.json +2 -2
  42. package/src/assets/ethereum/ABI/liqEth/ValidatorBalanceVerifier.sol/SSZExtras.dbg.json +4 -0
  43. package/src/assets/ethereum/ABI/liqEth/ValidatorBalanceVerifier.sol/SSZExtras.json +10 -0
  44. package/src/assets/ethereum/ABI/liqEth/ValidatorBalanceVerifier.sol/SSZVec48.dbg.json +4 -0
  45. package/src/assets/ethereum/ABI/liqEth/ValidatorBalanceVerifier.sol/SSZVec48.json +10 -0
  46. package/src/assets/ethereum/ABI/liqEth/ValidatorBalanceVerifier.sol/ValidatorBalanceVerifier.dbg.json +1 -1
  47. package/src/assets/ethereum/ABI/liqEth/ValidatorBalanceVerifier.sol/ValidatorBalanceVerifier.json +121 -55
  48. package/src/assets/ethereum/ABI/liqEth/Yield.sol/YieldOracle.dbg.json +1 -1
  49. package/src/assets/ethereum/ABI/liqEth/Yield.sol/YieldOracle.json +836 -273
  50. package/src/assets/ethereum/ABI/liqEth/accounting.sol/Accounting.dbg.json +1 -1
  51. package/src/assets/ethereum/ABI/liqEth/accounting.sol/Accounting.json +150 -168
  52. package/src/assets/ethereum/ABI/liqEth/liqEth.sol/LiqEthToken.dbg.json +1 -1
  53. package/src/assets/ethereum/ABI/liqEth/liqEth.sol/LiqEthToken.json +301 -186
  54. package/src/assets/ethereum/ABI/liqEth/stakingModule.sol/StakingModule.dbg.json +1 -1
  55. package/src/assets/ethereum/ABI/liqEth/stakingModule.sol/StakingModule.json +814 -206
  56. package/src/assets/ethereum/ABI/liqEth/withdrawalQueue.sol/WithdrawalQueue.dbg.json +1 -1
  57. package/src/assets/ethereum/ABI/liqEth/withdrawalQueue.sol/WithdrawalQueue.json +244 -198
  58. package/src/assets/ethereum/ABI/liqEth/withdrawalVault.sol/Uint64BE.dbg.json +1 -1
  59. package/src/assets/ethereum/ABI/liqEth/withdrawalVault.sol/Uint64BE.json +2 -2
  60. package/src/assets/ethereum/ABI/liqEth/withdrawalVault.sol/WithdrawalVault.dbg.json +1 -1
  61. package/src/assets/ethereum/ABI/liqEth/withdrawalVault.sol/WithdrawalVault.json +165 -152
  62. package/src/assets/ethereum/ABI/outpost/Depositor.sol/Depositor.dbg.json +1 -1
  63. package/src/assets/ethereum/ABI/outpost/Depositor.sol/Depositor.json +167 -282
  64. package/src/assets/ethereum/ABI/outpost/EthUsdPriceConsumer.sol/AggregatorV3Interface.dbg.json +1 -1
  65. package/src/assets/ethereum/ABI/outpost/EthUsdPriceConsumer.sol/EthUsdPriceConsumer.dbg.json +1 -1
  66. package/src/assets/ethereum/ABI/outpost/EthUsdPriceConsumer.sol/EthUsdPriceConsumer.json +2 -54
  67. package/src/assets/ethereum/ABI/outpost/OPP.sol/OPP.dbg.json +1 -1
  68. package/src/assets/ethereum/ABI/outpost/OPP.sol/OPP.json +26 -8
  69. package/src/assets/ethereum/ABI/outpost/OPPInbound.sol/OPPInbound.dbg.json +1 -1
  70. package/src/assets/ethereum/ABI/outpost/OPPInbound.sol/OPPInbound.json +2 -2
  71. package/src/assets/ethereum/ABI/outpost/Pretoken.sol/Pretoken.dbg.json +4 -0
  72. package/src/assets/ethereum/ABI/outpost/Pretoken.sol/Pretoken.json +1650 -0
  73. package/src/assets/ethereum/ABI/outpost/ReceiptNFT.sol/ReceiptNFT.dbg.json +1 -1
  74. package/src/assets/ethereum/ABI/outpost/ReceiptNFT.sol/ReceiptNFT.json +2 -22
  75. package/src/assets/ethereum/ABI/outpost/interfaces/IPretoken.sol/IPretoken.dbg.json +4 -0
  76. package/src/assets/ethereum/ABI/outpost/interfaces/IPretoken.sol/IPretoken.json +29 -0
  77. package/src/assets/ethereum/ABI/outpost/interfaces/IWarrant.sol/IWarrant.dbg.json +1 -1
  78. package/src/networks/ethereum/clients/deposit.client.ts +11 -7
  79. package/src/networks/ethereum/clients/liq.client.ts +47 -0
  80. package/src/networks/ethereum/clients/pretoken.client.ts +47 -50
  81. package/src/networks/ethereum/contract.ts +24 -51
  82. package/src/networks/ethereum/ethereum.ts +29 -52
  83. package/src/networks/ethereum/types.ts +7 -6
  84. package/src/networks/ethereum/utils.ts +3 -9
  85. package/src/networks/solana/clients/token.client.ts +0 -1
  86. package/src/networks/solana/solana.ts +44 -146
  87. package/src/networks/solana/types.ts +6 -2
  88. package/src/networks/solana/utils.ts +4 -6
  89. package/src/types.ts +6 -34
  90. package/src/assets/ethereum/ABI/liqEth/RewardsERC20.sol/RewardsERC20.dbg.json +0 -4
  91. package/src/assets/ethereum/ABI/liqEth/RewardsERC20Pausable.sol/RewardsERC20Pausable.dbg.json +0 -4
  92. package/src/assets/ethereum/ABI/liqEth/Yield.sol/BeaconRoots.dbg.json +0 -4
  93. package/src/assets/ethereum/ABI/liqEth/Yield.sol/BeaconRoots.json +0 -10
  94. package/src/assets/ethereum/ABI/liqEth/Yield.sol/SSZ.dbg.json +0 -4
  95. package/src/assets/ethereum/ABI/liqEth/Yield.sol/SSZ.json +0 -10
  96. package/src/assets/ethereum/ABI/outpost/Warrant.sol/Warrant.dbg.json +0 -4
  97. package/src/assets/ethereum/ABI/outpost/Warrant.sol/Warrant.json +0 -1650
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/f26a3bdbd4033af8421132fc6adca199.json"
3
+ "buildInfo": "../../../build-info/b5e46b2b97b85c57c7cd2a26cf972153.json"
4
4
  }
@@ -3,8 +3,8 @@
3
3
  "contractName": "Uint64BE",
4
4
  "sourceName": "contracts/liqEth/withdrawalVault.sol",
5
5
  "abi": [],
6
- "bytecode": "0x60808060405234601757603a9081601d823930815050f35b600080fdfe600080fdfea2646970667358221220a0c1168f8d4e5f795a95ecc1a6c826115674f3342c4a7f015dafa2593a903e2964736f6c63430008190033",
7
- "deployedBytecode": "0x600080fdfea2646970667358221220a0c1168f8d4e5f795a95ecc1a6c826115674f3342c4a7f015dafa2593a903e2964736f6c63430008190033",
6
+ "bytecode": "0x60808060405234601757603a9081601d823930815050f35b600080fdfe600080fdfea2646970667358221220408deed4bd2381477e2ff2974ab8668705ef7c59edbae7f4cbff00eb0f5a099064736f6c63430008190033",
7
+ "deployedBytecode": "0x600080fdfea2646970667358221220408deed4bd2381477e2ff2974ab8668705ef7c59edbae7f4cbff00eb0f5a099064736f6c63430008190033",
8
8
  "linkReferences": {},
9
9
  "deployedLinkReferences": {}
10
10
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/f26a3bdbd4033af8421132fc6adca199.json"
3
+ "buildInfo": "../../../build-info/b5e46b2b97b85c57c7cd2a26cf972153.json"
4
4
  }
@@ -6,38 +6,81 @@
6
6
  {
7
7
  "inputs": [
8
8
  {
9
- "internalType": "contract IDepositManager",
10
- "name": "_dm",
9
+ "internalType": "address",
10
+ "name": "authority",
11
11
  "type": "address"
12
- },
12
+ }
13
+ ],
14
+ "name": "AccessManagedInvalidAuthority",
15
+ "type": "error"
16
+ },
17
+ {
18
+ "inputs": [
13
19
  {
14
20
  "internalType": "address",
15
- "name": "admin",
21
+ "name": "caller",
16
22
  "type": "address"
23
+ },
24
+ {
25
+ "internalType": "uint32",
26
+ "name": "delay",
27
+ "type": "uint32"
17
28
  }
18
29
  ],
19
- "stateMutability": "nonpayable",
20
- "type": "constructor"
30
+ "name": "AccessManagedRequiredDelay",
31
+ "type": "error"
21
32
  },
22
33
  {
23
- "inputs": [],
24
- "name": "AccessControlBadConfirmation",
34
+ "inputs": [
35
+ {
36
+ "internalType": "address",
37
+ "name": "caller",
38
+ "type": "address"
39
+ }
40
+ ],
41
+ "name": "AccessManagedUnauthorized",
25
42
  "type": "error"
26
43
  },
27
44
  {
28
45
  "inputs": [
29
46
  {
30
47
  "internalType": "address",
31
- "name": "account",
48
+ "name": "target",
32
49
  "type": "address"
33
- },
50
+ }
51
+ ],
52
+ "name": "AddressEmptyCode",
53
+ "type": "error"
54
+ },
55
+ {
56
+ "inputs": [
34
57
  {
35
- "internalType": "bytes32",
36
- "name": "neededRole",
37
- "type": "bytes32"
58
+ "internalType": "address",
59
+ "name": "implementation",
60
+ "type": "address"
38
61
  }
39
62
  ],
40
- "name": "AccessControlUnauthorizedAccount",
63
+ "name": "ERC1967InvalidImplementation",
64
+ "type": "error"
65
+ },
66
+ {
67
+ "inputs": [],
68
+ "name": "ERC1967NonPayable",
69
+ "type": "error"
70
+ },
71
+ {
72
+ "inputs": [],
73
+ "name": "FailedCall",
74
+ "type": "error"
75
+ },
76
+ {
77
+ "inputs": [],
78
+ "name": "InvalidInitialization",
79
+ "type": "error"
80
+ },
81
+ {
82
+ "inputs": [],
83
+ "name": "NotInitializing",
41
84
  "type": "error"
42
85
  },
43
86
  {
@@ -45,6 +88,35 @@
45
88
  "name": "ReentrancyGuardReentrantCall",
46
89
  "type": "error"
47
90
  },
91
+ {
92
+ "inputs": [],
93
+ "name": "UUPSUnauthorizedCallContext",
94
+ "type": "error"
95
+ },
96
+ {
97
+ "inputs": [
98
+ {
99
+ "internalType": "bytes32",
100
+ "name": "slot",
101
+ "type": "bytes32"
102
+ }
103
+ ],
104
+ "name": "UUPSUnsupportedProxiableUUID",
105
+ "type": "error"
106
+ },
107
+ {
108
+ "anonymous": false,
109
+ "inputs": [
110
+ {
111
+ "indexed": false,
112
+ "internalType": "address",
113
+ "name": "authority",
114
+ "type": "address"
115
+ }
116
+ ],
117
+ "name": "AuthorityUpdated",
118
+ "type": "event"
119
+ },
48
120
  {
49
121
  "anonymous": false,
50
122
  "inputs": [
@@ -77,6 +149,19 @@
77
149
  "name": "FullExitSent",
78
150
  "type": "event"
79
151
  },
152
+ {
153
+ "anonymous": false,
154
+ "inputs": [
155
+ {
156
+ "indexed": false,
157
+ "internalType": "uint64",
158
+ "name": "version",
159
+ "type": "uint64"
160
+ }
161
+ ],
162
+ "name": "Initialized",
163
+ "type": "event"
164
+ },
80
165
  {
81
166
  "anonymous": false,
82
167
  "inputs": [
@@ -112,81 +197,19 @@
112
197
  {
113
198
  "anonymous": false,
114
199
  "inputs": [
115
- {
116
- "indexed": true,
117
- "internalType": "bytes32",
118
- "name": "role",
119
- "type": "bytes32"
120
- },
121
- {
122
- "indexed": true,
123
- "internalType": "bytes32",
124
- "name": "previousAdminRole",
125
- "type": "bytes32"
126
- },
127
- {
128
- "indexed": true,
129
- "internalType": "bytes32",
130
- "name": "newAdminRole",
131
- "type": "bytes32"
132
- }
133
- ],
134
- "name": "RoleAdminChanged",
135
- "type": "event"
136
- },
137
- {
138
- "anonymous": false,
139
- "inputs": [
140
- {
141
- "indexed": true,
142
- "internalType": "bytes32",
143
- "name": "role",
144
- "type": "bytes32"
145
- },
146
200
  {
147
201
  "indexed": true,
148
202
  "internalType": "address",
149
- "name": "account",
150
- "type": "address"
151
- },
152
- {
153
- "indexed": true,
154
- "internalType": "address",
155
- "name": "sender",
203
+ "name": "implementation",
156
204
  "type": "address"
157
205
  }
158
206
  ],
159
- "name": "RoleGranted",
160
- "type": "event"
161
- },
162
- {
163
- "anonymous": false,
164
- "inputs": [
165
- {
166
- "indexed": true,
167
- "internalType": "bytes32",
168
- "name": "role",
169
- "type": "bytes32"
170
- },
171
- {
172
- "indexed": true,
173
- "internalType": "address",
174
- "name": "account",
175
- "type": "address"
176
- },
177
- {
178
- "indexed": true,
179
- "internalType": "address",
180
- "name": "sender",
181
- "type": "address"
182
- }
183
- ],
184
- "name": "RoleRevoked",
207
+ "name": "Upgraded",
185
208
  "type": "event"
186
209
  },
187
210
  {
188
211
  "inputs": [],
189
- "name": "DEFAULT_ADMIN_ROLE",
212
+ "name": "EXIT_ROLE",
190
213
  "outputs": [
191
214
  {
192
215
  "internalType": "bytes32",
@@ -199,7 +222,7 @@
199
222
  },
200
223
  {
201
224
  "inputs": [],
202
- "name": "EXIT_ROLE",
225
+ "name": "ORACLE_PULLER_ROLE",
203
226
  "outputs": [
204
227
  {
205
228
  "internalType": "bytes32",
@@ -212,12 +235,12 @@
212
235
  },
213
236
  {
214
237
  "inputs": [],
215
- "name": "ORACLE_PULLER_ROLE",
238
+ "name": "UPGRADE_INTERFACE_VERSION",
216
239
  "outputs": [
217
240
  {
218
- "internalType": "bytes32",
241
+ "internalType": "string",
219
242
  "name": "",
220
- "type": "bytes32"
243
+ "type": "string"
221
244
  }
222
245
  ],
223
246
  "stateMutability": "view",
@@ -225,10 +248,10 @@
225
248
  },
226
249
  {
227
250
  "inputs": [],
228
- "name": "dm",
251
+ "name": "authority",
229
252
  "outputs": [
230
253
  {
231
- "internalType": "contract IDepositManager",
254
+ "internalType": "address",
232
255
  "name": "",
233
256
  "type": "address"
234
257
  }
@@ -237,19 +260,13 @@
237
260
  "type": "function"
238
261
  },
239
262
  {
240
- "inputs": [
241
- {
242
- "internalType": "bytes32",
243
- "name": "role",
244
- "type": "bytes32"
245
- }
246
- ],
247
- "name": "getRoleAdmin",
263
+ "inputs": [],
264
+ "name": "dm",
248
265
  "outputs": [
249
266
  {
250
- "internalType": "bytes32",
267
+ "internalType": "contract IDepositManager",
251
268
  "name": "",
252
- "type": "bytes32"
269
+ "type": "address"
253
270
  }
254
271
  ],
255
272
  "stateMutability": "view",
@@ -258,40 +275,29 @@
258
275
  {
259
276
  "inputs": [
260
277
  {
261
- "internalType": "bytes32",
262
- "name": "role",
263
- "type": "bytes32"
278
+ "internalType": "address",
279
+ "name": "manager",
280
+ "type": "address"
264
281
  },
265
282
  {
266
- "internalType": "address",
267
- "name": "account",
283
+ "internalType": "contract IDepositManager",
284
+ "name": "_dm",
268
285
  "type": "address"
269
286
  }
270
287
  ],
271
- "name": "grantRole",
288
+ "name": "initialize",
272
289
  "outputs": [],
273
290
  "stateMutability": "nonpayable",
274
291
  "type": "function"
275
292
  },
276
293
  {
277
- "inputs": [
278
- {
279
- "internalType": "bytes32",
280
- "name": "role",
281
- "type": "bytes32"
282
- },
283
- {
284
- "internalType": "address",
285
- "name": "account",
286
- "type": "address"
287
- }
288
- ],
289
- "name": "hasRole",
294
+ "inputs": [],
295
+ "name": "isConsumingScheduledOp",
290
296
  "outputs": [
291
297
  {
292
- "internalType": "bool",
298
+ "internalType": "bytes4",
293
299
  "name": "",
294
- "type": "bool"
300
+ "type": "bytes4"
295
301
  }
296
302
  ],
297
303
  "stateMutability": "view",
@@ -311,21 +317,16 @@
311
317
  "type": "function"
312
318
  },
313
319
  {
314
- "inputs": [
320
+ "inputs": [],
321
+ "name": "proxiableUUID",
322
+ "outputs": [
315
323
  {
316
324
  "internalType": "bytes32",
317
- "name": "role",
325
+ "name": "",
318
326
  "type": "bytes32"
319
- },
320
- {
321
- "internalType": "address",
322
- "name": "callerConfirmation",
323
- "type": "address"
324
327
  }
325
328
  ],
326
- "name": "renounceRole",
327
- "outputs": [],
328
- "stateMutability": "nonpayable",
329
+ "stateMutability": "view",
329
330
  "type": "function"
330
331
  },
331
332
  {
@@ -362,17 +363,12 @@
362
363
  {
363
364
  "inputs": [
364
365
  {
365
- "internalType": "bytes32",
366
- "name": "role",
367
- "type": "bytes32"
368
- },
369
- {
370
- "internalType": "address",
371
- "name": "account",
372
- "type": "address"
366
+ "internalType": "uint256",
367
+ "name": "ethAmount",
368
+ "type": "uint256"
373
369
  }
374
370
  ],
375
- "name": "revokeRole",
371
+ "name": "sendFullExit",
376
372
  "outputs": [],
377
373
  "stateMutability": "nonpayable",
378
374
  "type": "function"
@@ -385,7 +381,7 @@
385
381
  "type": "uint256"
386
382
  }
387
383
  ],
388
- "name": "sendFullExit",
384
+ "name": "sendRequestedPartialExit",
389
385
  "outputs": [],
390
386
  "stateMutability": "nonpayable",
391
387
  "type": "function"
@@ -393,12 +389,12 @@
393
389
  {
394
390
  "inputs": [
395
391
  {
396
- "internalType": "uint256",
397
- "name": "ethAmount",
398
- "type": "uint256"
392
+ "internalType": "address",
393
+ "name": "newAuthority",
394
+ "type": "address"
399
395
  }
400
396
  ],
401
- "name": "sendRequestedPartialExit",
397
+ "name": "setAuthority",
402
398
  "outputs": [],
403
399
  "stateMutability": "nonpayable",
404
400
  "type": "function"
@@ -409,6 +405,11 @@
409
405
  "internalType": "contract IDepositManager",
410
406
  "name": "_dm",
411
407
  "type": "address"
408
+ },
409
+ {
410
+ "internalType": "contract IStakingModule",
411
+ "name": "_stakingMod",
412
+ "type": "address"
412
413
  }
413
414
  ],
414
415
  "name": "setDepositManager",
@@ -417,31 +418,43 @@
417
418
  "type": "function"
418
419
  },
419
420
  {
420
- "inputs": [
421
- {
422
- "internalType": "bytes4",
423
- "name": "interfaceId",
424
- "type": "bytes4"
425
- }
426
- ],
427
- "name": "supportsInterface",
421
+ "inputs": [],
422
+ "name": "stakingModule",
428
423
  "outputs": [
429
424
  {
430
- "internalType": "bool",
425
+ "internalType": "contract IStakingModule",
431
426
  "name": "",
432
- "type": "bool"
427
+ "type": "address"
433
428
  }
434
429
  ],
435
430
  "stateMutability": "view",
436
431
  "type": "function"
437
432
  },
433
+ {
434
+ "inputs": [
435
+ {
436
+ "internalType": "address",
437
+ "name": "newImplementation",
438
+ "type": "address"
439
+ },
440
+ {
441
+ "internalType": "bytes",
442
+ "name": "data",
443
+ "type": "bytes"
444
+ }
445
+ ],
446
+ "name": "upgradeToAndCall",
447
+ "outputs": [],
448
+ "stateMutability": "payable",
449
+ "type": "function"
450
+ },
438
451
  {
439
452
  "stateMutability": "payable",
440
453
  "type": "receive"
441
454
  }
442
455
  ],
443
- "bytecode": "0x6080346100dd57601f610f3f38819003918201601f19168301916001600160401b038311848410176100e25780849260409485528339810103126100dd5780516001600160a01b0391828216918290036100dd5760200151918216908183036100dd5760018055662386f26fc1000060035580156100b257600280546001600160a01b0319169190911790556100a95750610099336100f8565b50604051610db690816101898239f35b610099906100f8565b606460405162461bcd60e51b81526020600482015260046024820152630646d20360e41b6044820152fd5b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b031660008181527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602052604081205490919060ff1661018457818052816020526040822081835260205260408220600160ff1982541617905533917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b509056fe6080604081815260049182361015610022575b505050361561002057600080fd5b005b600092833560e01c91826301ffc9a7146109a457508163228d71a9146108f7578163248a9ca3146108cd5781632f2ff15d146108af57816336568abe146108745781633a8c874a146108395781636f98b63c146108105781637702d0781461055d57816391d14854146105225781639420d9be14610464578163a217fddf14610449578163b5adf0fa14610375578163b995fa9a1461033a578163c01fb7ce1461013757508063c5bb8758146101195763d547741f146100e25780610012565b346101155760016101119161010c6100f9366109f7565b9390928387528660205286200154610c04565b610ca8565b5080f35b5080fd5b50346101155781600319360112610115576020906003549051908152f35b91905060208060031936011261033657823567ffffffffffffffff8111610332576101659036908501610a1d565b9361016e610b2e565b603085036102ff57710961ef480eb55e80d19ad83579a64c0070026000808080845afa610199610d1d565b90806102f5575b156102bf5784818051810103126102ba57840151803403610288576000918291875190878201918a8884376101e76028828d8101888d820152036008810184520182610a75565b51925af16101f3610d1d565b501561024f575091836000606093827fd2f49628dd3cefc134db0ffae198f928cae0d8f68eb60fefa1dba8191db66e8797968551978689978852870152868601378383018501829052830152601f01601f19168101030190a180f35b835162461bcd60e51b81529081018390526013602482015272195e1a5d081c995c5d595cdd0819985a5b1959606a1b6044820152606490fd5b855162461bcd60e51b8152808401869052600c60248201526b0cccaca40dad2e6dac2e8c6d60a31b6044820152606490fd5b600080fd5b855162461bcd60e51b8152808401869052601060248201526f199959481c5d595c9e4819985a5b195960821b6044820152606490fd5b50848151146101a0565b835162461bcd60e51b8152908101839052600d60248201526c0e0eac4d6caf240d8cadccee8d609b1b6044820152606490fd5b8480fd5b8380fd5b505034610115578160031936011261011557602090517f21940a331d6d9c5ebe51f47ff19e442294f7d6fd7de03ec273da3710ab0751f38152f35b9190503461043b57602036600319011261043b5782823592610395610d5d565b61039d610ba8565b6103a8841515610a97565b6103bf6103b760035486610ace565b471015610af1565b6002546001600160a01b031690813b1561043b57835163cb58db9360e01b81529183918391829088905af1801561043f57610427575b507f01a4c640aa236df14f0ec4214256686300efc72f1c8001736f8e7cfc22beb6146020848451908152a16001805580f35b61043090610a4b565b61043b5782386103f5565b8280fd5b83513d84823e3d90fd5b50503461011557816003193601126101155751908152602090f35b9190503461043b57602036600319011261043b5782823592610484610d5d565b61048c610ba8565b610497841515610a97565b6104a66103b760035486610ace565b6002546001600160a01b031690813b1561043b578351637a389d2d60e01b81529183918391829088905af1801561043f5761050e575b507f6470c70a0bbfee9ece4473fff720dc18cc85babd1aa5977190fc4d6f01f8a4346020848451908152a16001805580f35b61051790610a4b565b61043b5782386104dc565b5050346101155760209181610536366109f7565b92908152808552209060018060a01b0316600052825260ff81600020541690519015158152f35b9180915060031936011261043b5767ffffffffffffffff82358181116103325761058a9036908501610a1d565b60249182359384169384810361080c576105a2610b2e565b84156107ca576030830361079857710961ef480eb55e80d19ad83579a64c00700288808080845afa916105d3610d1d565b928061078d575b15610758578280516020948591810103126107545783015180340361072357918a929183928a51610636602882898101958c8c88378c82019067ffffffffffffffff60c01b9060c01b168b820152036008810184520182610a75565b51925af1610642610d1d565b50156106ec579160607fd2f49628dd3cefc134db0ffae198f928cae0d8f68eb60fefa1dba8191db66e879282878b9897968a519586948c8652818d8701528686013783830185018a9052830152601f01601f19168101030190a16002546001600160a01b031694853b156103365783855196879485936335ef05d760e11b85528401525af19081156106e357506106d7575080f35b6106e090610a4b565b80f35b513d84823e3d90fd5b8660138560649389519362461bcd60e51b855284015282015272195e1a5d081c995c5d595cdd0819985a5b1959606a1b6044820152fd5b885162461bcd60e51b8152808b01859052600c818901526b0cccaca40dad2e6dac2e8c6d60a31b6044820152606490fd5b8a80fd5b875162461bcd60e51b81526020818b01526010818801526f199959481c5d595c9e4819985a5b195960821b6044820152606490fd5b5060208351146105da565b855162461bcd60e51b8152602081890152600d818601526c0e0eac4d6caf240d8cadccee8d609b1b6044820152606490fd5b855162461bcd60e51b81526020818901526018818601527f616d6f756e74203d2030207573652066756c6c206578697400000000000000006044820152606490fd5b8780fd5b50503461011557816003193601126101155760025490516001600160a01b039091168152602090f35b505034610115578160031936011261011557602090517f53545467257dcb9f2fdc3692391ae31a3b795279ab7a4102d7716a43072ee9d48152f35b83833461011557610884366109f7565b91336001600160a01b038416036108a057509061011191610ca8565b5163334bd91960e11b81528490fd5b505034610115576001610111916108c86100f9366109f7565b610c2a565b90503461043b57602036600319011261043b57816020936001923581528085522001549051908152f35b90503461043b57602036600319011261043b5780356001600160a01b0381169290839003610336578380528360205280842033855260205260ff81852054161561098757821561095e5750506bffffffffffffffffffffffff60a01b600254161760025580f35b60649250519062461bcd60e51b82526020818301526024820152630646d20360e41b6044820152fd5b9083604492519163e2517d3f60e01b835233908301526024820152fd5b84913461043b57602036600319011261043b573563ffffffff60e01b811680910361043b5760209250637965db0b60e01b81149081156109e6575b5015158152f35b6301ffc9a760e01b149050836109df565b60409060031901126102ba57600435906024356001600160a01b03811681036102ba5790565b9181601f840112156102ba5782359167ffffffffffffffff83116102ba57602083818601950101116102ba57565b67ffffffffffffffff8111610a5f57604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff821117610a5f57604052565b15610a9e57565b60405162461bcd60e51b81526020600482015260086024820152670416d6f756e7420360c41b6044820152606490fd5b91908201809211610adb57565b634e487b7160e01b600052601160045260246000fd5b15610af857565b60405162461bcd60e51b815260206004820152600e60248201526d139bdd08195b9bdd59da0818985b60921b6044820152606490fd5b3360009081527f13790e8c8380f891734a8f1d6403f0459f5223ef5ea780b5ae951981aeccebe760205260409020547f53545467257dcb9f2fdc3692391ae31a3b795279ab7a4102d7716a43072ee9d49060ff1615610b8a5750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b3360009081527f341a941d9ca0160179362911e5304d4f8904ff31154345b4ea6d8e5f1528592360205260409020547f21940a331d6d9c5ebe51f47ff19e442294f7d6fd7de03ec273da3710ab0751f39060ff1615610b8a5750565b80600052600060205260406000203360005260205260ff6040600020541615610b8a5750565b9060009180835282602052604083209160018060a01b03169182845260205260ff60408420541615600014610ca357808352826020526040832082845260205260408320600160ff198254161790557f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d339380a4600190565b505090565b9060009180835282602052604083209160018060a01b03169182845260205260ff604084205416600014610ca35780835282602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4600190565b3d15610d58573d9067ffffffffffffffff8211610a5f5760405191610d4c601f8201601f191660200184610a75565b82523d6000602084013e565b606090565b600260015414610d6e576002600155565b604051633ee5aeb560e01b8152600490fdfea2646970667358221220b714bdd7ea13073aa08253f2284b5b12b9a997da33aed5562dd0fe658b0d792964736f6c63430008190033",
444
- "deployedBytecode": "0x6080604081815260049182361015610022575b505050361561002057600080fd5b005b600092833560e01c91826301ffc9a7146109a457508163228d71a9146108f7578163248a9ca3146108cd5781632f2ff15d146108af57816336568abe146108745781633a8c874a146108395781636f98b63c146108105781637702d0781461055d57816391d14854146105225781639420d9be14610464578163a217fddf14610449578163b5adf0fa14610375578163b995fa9a1461033a578163c01fb7ce1461013757508063c5bb8758146101195763d547741f146100e25780610012565b346101155760016101119161010c6100f9366109f7565b9390928387528660205286200154610c04565b610ca8565b5080f35b5080fd5b50346101155781600319360112610115576020906003549051908152f35b91905060208060031936011261033657823567ffffffffffffffff8111610332576101659036908501610a1d565b9361016e610b2e565b603085036102ff57710961ef480eb55e80d19ad83579a64c0070026000808080845afa610199610d1d565b90806102f5575b156102bf5784818051810103126102ba57840151803403610288576000918291875190878201918a8884376101e76028828d8101888d820152036008810184520182610a75565b51925af16101f3610d1d565b501561024f575091836000606093827fd2f49628dd3cefc134db0ffae198f928cae0d8f68eb60fefa1dba8191db66e8797968551978689978852870152868601378383018501829052830152601f01601f19168101030190a180f35b835162461bcd60e51b81529081018390526013602482015272195e1a5d081c995c5d595cdd0819985a5b1959606a1b6044820152606490fd5b855162461bcd60e51b8152808401869052600c60248201526b0cccaca40dad2e6dac2e8c6d60a31b6044820152606490fd5b600080fd5b855162461bcd60e51b8152808401869052601060248201526f199959481c5d595c9e4819985a5b195960821b6044820152606490fd5b50848151146101a0565b835162461bcd60e51b8152908101839052600d60248201526c0e0eac4d6caf240d8cadccee8d609b1b6044820152606490fd5b8480fd5b8380fd5b505034610115578160031936011261011557602090517f21940a331d6d9c5ebe51f47ff19e442294f7d6fd7de03ec273da3710ab0751f38152f35b9190503461043b57602036600319011261043b5782823592610395610d5d565b61039d610ba8565b6103a8841515610a97565b6103bf6103b760035486610ace565b471015610af1565b6002546001600160a01b031690813b1561043b57835163cb58db9360e01b81529183918391829088905af1801561043f57610427575b507f01a4c640aa236df14f0ec4214256686300efc72f1c8001736f8e7cfc22beb6146020848451908152a16001805580f35b61043090610a4b565b61043b5782386103f5565b8280fd5b83513d84823e3d90fd5b50503461011557816003193601126101155751908152602090f35b9190503461043b57602036600319011261043b5782823592610484610d5d565b61048c610ba8565b610497841515610a97565b6104a66103b760035486610ace565b6002546001600160a01b031690813b1561043b578351637a389d2d60e01b81529183918391829088905af1801561043f5761050e575b507f6470c70a0bbfee9ece4473fff720dc18cc85babd1aa5977190fc4d6f01f8a4346020848451908152a16001805580f35b61051790610a4b565b61043b5782386104dc565b5050346101155760209181610536366109f7565b92908152808552209060018060a01b0316600052825260ff81600020541690519015158152f35b9180915060031936011261043b5767ffffffffffffffff82358181116103325761058a9036908501610a1d565b60249182359384169384810361080c576105a2610b2e565b84156107ca576030830361079857710961ef480eb55e80d19ad83579a64c00700288808080845afa916105d3610d1d565b928061078d575b15610758578280516020948591810103126107545783015180340361072357918a929183928a51610636602882898101958c8c88378c82019067ffffffffffffffff60c01b9060c01b168b820152036008810184520182610a75565b51925af1610642610d1d565b50156106ec579160607fd2f49628dd3cefc134db0ffae198f928cae0d8f68eb60fefa1dba8191db66e879282878b9897968a519586948c8652818d8701528686013783830185018a9052830152601f01601f19168101030190a16002546001600160a01b031694853b156103365783855196879485936335ef05d760e11b85528401525af19081156106e357506106d7575080f35b6106e090610a4b565b80f35b513d84823e3d90fd5b8660138560649389519362461bcd60e51b855284015282015272195e1a5d081c995c5d595cdd0819985a5b1959606a1b6044820152fd5b885162461bcd60e51b8152808b01859052600c818901526b0cccaca40dad2e6dac2e8c6d60a31b6044820152606490fd5b8a80fd5b875162461bcd60e51b81526020818b01526010818801526f199959481c5d595c9e4819985a5b195960821b6044820152606490fd5b5060208351146105da565b855162461bcd60e51b8152602081890152600d818601526c0e0eac4d6caf240d8cadccee8d609b1b6044820152606490fd5b855162461bcd60e51b81526020818901526018818601527f616d6f756e74203d2030207573652066756c6c206578697400000000000000006044820152606490fd5b8780fd5b50503461011557816003193601126101155760025490516001600160a01b039091168152602090f35b505034610115578160031936011261011557602090517f53545467257dcb9f2fdc3692391ae31a3b795279ab7a4102d7716a43072ee9d48152f35b83833461011557610884366109f7565b91336001600160a01b038416036108a057509061011191610ca8565b5163334bd91960e11b81528490fd5b505034610115576001610111916108c86100f9366109f7565b610c2a565b90503461043b57602036600319011261043b57816020936001923581528085522001549051908152f35b90503461043b57602036600319011261043b5780356001600160a01b0381169290839003610336578380528360205280842033855260205260ff81852054161561098757821561095e5750506bffffffffffffffffffffffff60a01b600254161760025580f35b60649250519062461bcd60e51b82526020818301526024820152630646d20360e41b6044820152fd5b9083604492519163e2517d3f60e01b835233908301526024820152fd5b84913461043b57602036600319011261043b573563ffffffff60e01b811680910361043b5760209250637965db0b60e01b81149081156109e6575b5015158152f35b6301ffc9a760e01b149050836109df565b60409060031901126102ba57600435906024356001600160a01b03811681036102ba5790565b9181601f840112156102ba5782359167ffffffffffffffff83116102ba57602083818601950101116102ba57565b67ffffffffffffffff8111610a5f57604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff821117610a5f57604052565b15610a9e57565b60405162461bcd60e51b81526020600482015260086024820152670416d6f756e7420360c41b6044820152606490fd5b91908201809211610adb57565b634e487b7160e01b600052601160045260246000fd5b15610af857565b60405162461bcd60e51b815260206004820152600e60248201526d139bdd08195b9bdd59da0818985b60921b6044820152606490fd5b3360009081527f13790e8c8380f891734a8f1d6403f0459f5223ef5ea780b5ae951981aeccebe760205260409020547f53545467257dcb9f2fdc3692391ae31a3b795279ab7a4102d7716a43072ee9d49060ff1615610b8a5750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b3360009081527f341a941d9ca0160179362911e5304d4f8904ff31154345b4ea6d8e5f1528592360205260409020547f21940a331d6d9c5ebe51f47ff19e442294f7d6fd7de03ec273da3710ab0751f39060ff1615610b8a5750565b80600052600060205260406000203360005260205260ff6040600020541615610b8a5750565b9060009180835282602052604083209160018060a01b03169182845260205260ff60408420541615600014610ca357808352826020526040832082845260205260408320600160ff198254161790557f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d339380a4600190565b505090565b9060009180835282602052604083209160018060a01b03169182845260205260ff604084205416600014610ca35780835282602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4600190565b3d15610d58573d9067ffffffffffffffff8211610a5f5760405191610d4c601f8201601f191660200184610a75565b82523d6000602084013e565b606090565b600260015414610d6e576002600155565b604051633ee5aeb560e01b8152600490fdfea2646970667358221220b714bdd7ea13073aa08253f2284b5b12b9a997da33aed5562dd0fe658b0d792964736f6c63430008190033",
456
+ "bytecode": "0x60a0806040523460295730608052611521908161002f8239608051818181610b4c01526113d40152f35b600080fdfe6080604081815260049182361015610022575b505050361561002057600080fd5b005b600092833560e01c9182633a8c874a14610f6e57508163485cc95514610db85781634f1ef28614610bd9578163504b82bf14610bb057816352d1902d14610b375781636f98b63c14610b0f5781637702d078146107085781637a9e5e4b1461068b5781638fb36037146106375781639420d9be1461056a578163ad3cb1cc146104c9578163b5adf0fa146103ea578163b995fa9a146103af578163bb80e80714610333578163bf7e214f146102fd578163c01fb7ce1461010e575063c5bb8758146100ed5780610012565b3461010a578160031936011261010a576020906002549051908152f35b5080fd5b83602084366003190182136102f957833567ffffffffffffffff81116102f55761013b9036908601611026565b9290946101483633611153565b603084036102c457710961ef480eb55e80d19ad83579a64c0070026000808080845afa6101736112d0565b90806102ba575b1561028457838180518101031261027f5783015180340361024d57600091829186519086820191898c84376101c16028828c8101888c820152036008810184520182610fe8565b51925af16101cd6112d0565b50156102165750600061020c7fd2f49628dd3cefc134db0ffae198f928cae0d8f68eb60fefa1dba8191db66e8795968451958587968752860191611069565b918301520390a180f35b915162461bcd60e51b8152918201526013602482015272195e1a5d081c995c5d595cdd0819985a5b1959606a1b6044820152606490fd5b845162461bcd60e51b8152808401859052600c60248201526b0cccaca40dad2e6dac2e8c6d60a31b6044820152606490fd5b600080fd5b845162461bcd60e51b8152808401859052601060248201526f199959481c5d595c9e4819985a5b195960821b6044820152606490fd5b508381511461017a565b915162461bcd60e51b815291820152600d60248201526c0e0eac4d6caf240d8cadccee8d609b1b6044820152606490fd5b8380fd5b8280fd5b50503461010a578160031936011261010a576000805160206114ac8339815191525490516001600160a01b039091168152602090f35b50503461010a573660031901126103ac5761034c610fa8565b6001600160a01b0360243581811692908390036102f55761036d3633611153565b16801515806103a3575b61038090611121565b6bffffffffffffffffffffffff60a01b9081845416178355600154161760015580f35b50811515610377565b80fd5b50503461010a578160031936011261010a57602090517f21940a331d6d9c5ebe51f47ff19e442294f7d6fd7de03ec273da3710ab0751f38152f35b919050346102f95760203660031901126102f9578282359261040a611359565b6104143633611153565b61041f84151561108a565b61043661042e600254866110c1565b4710156110e4565b81546001600160a01b031690813b156102f957835163cb58db9360e01b81529183918391829088905af180156104bf576104ab575b507f01a4c640aa236df14f0ec4214256686300efc72f1c8001736f8e7cfc22beb6146020848451908152a160016000805160206114cc8339815191525580f35b6104b490610fbe565b6102f957823861046b565b83513d84823e3d90fd5b9050346102f957826003193601126102f9578151908282019082821067ffffffffffffffff8311176105555750825260058152602090640352e302e360dc1b6020820152825193849260208452825192836020860152825b84811061053f57505050828201840152601f01601f19168101030190f35b8181018301518882018801528795508201610521565b604190634e487b7160e01b6000525260246000fd5b919050346102f95760203660031901126102f9578282359261058a611359565b6105943633611153565b61059f84151561108a565b6105ae61042e600254866110c1565b81546001600160a01b031690813b156102f9578351637a389d2d60e01b81529183918391829088905af180156104bf57610623575b507f6470c70a0bbfee9ece4473fff720dc18cc85babd1aa5977190fc4d6f01f8a4346020848451908152a160016000805160206114cc8339815191525580f35b61062c90610fbe565b6102f95782386105e3565b50503461010a578160031936011261010a5760209160ff6000805160206114ac8339815191525460a01c166000146106855750638fb3603760e01b905b516001600160e01b03199091168152f35b90610674565b9050346102f95760203660031901126102f9576106a6610fa8565b6000805160206114ac8339815191525490926001600160a01b0391821633036106f457833b156106dd57846106da85611300565b80f35b516361798f2f60e11b815292169082015260249150fd5b5162d1953b60e31b81523381840152602490fd5b8391508260031936011261010a5767ffffffffffffffff9281358481116102f5576107369036908401611026565b909460249586359082821691828103610911576107533633611153565b8215610acd5760308503610a9b57710961ef480eb55e80d19ad83579a64c00700288808080845afa916107846112d0565b9280610a90575b15610a5b57828051602094859181010312610a575783015190813403610a265791878b939284936107e960288d5180938a820196808d893782019067ffffffffffffffff60c01b9060c01b168b820152036008810184520182610fe8565b51925af16107f56112d0565b50156109ef577fd2f49628dd3cefc134db0ffae198f928cae0d8f68eb60fefa1dba8191db66e8786518781528061082f8982018987611069565b86858301520390a187546001600160a01b0392908316803b156109af5789858c8b838c5195869485936335ef05d760e11b85528401525af180156109e557908b92916109c9575b5082896108a160c09387600154169a8c519687958695638171c29960e01b8752860152840191611069565b0381895afa9283156109bf5789918a94610943575b50501561091557508697843b1561091157879460449386928851998a97889663e9b8263960e01b885216908601528401525af190811561090857506108f85750f35b61090190610fbe565b6103ac5780f35b513d84823e3d90fd5b8780fd5b86600a8a60649389519362461bcd60e51b8552840152820152694e6f742065786973747360b01b6044820152fd5b9150925060c0813d60c0116109b7575b8161096060c09383610fe8565b810103126109b35780519081151582036109af5761097f838201611054565b936060820151908116036109af57608081015160ff8116036109af5760a06109a79101611054565b508a806108b6565b8980fd5b8880fd5b3d9150610953565b87513d8b823e3d90fd5b896108a160c0939c6109db8794610fbe565b9c93505050610876565b88513d8c823e3d90fd5b8660138a60649389519362461bcd60e51b855284015282015272195e1a5d081c995c5d595cdd0819985a5b1959606a1b6044820152fd5b885162461bcd60e51b8152808b01859052600c818e01526b0cccaca40dad2e6dac2e8c6d60a31b6044820152606490fd5b8a80fd5b875162461bcd60e51b81526020818b01526010818d01526f199959481c5d595c9e4819985a5b195960821b6044820152606490fd5b50602083511461078b565b855162461bcd60e51b8152602081890152600d818b01526c0e0eac4d6caf240d8cadccee8d609b1b6044820152606490fd5b855162461bcd60e51b81526020818901526018818b01527f616d6f756e74203d2030207573652066756c6c206578697400000000000000006044820152606490fd5b50503461010a578160031936011261010a57905490516001600160a01b039091168152602090f35b8284346103ac57806003193601126103ac57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163003610ba357602090517f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8152f35b5163703e46dd60e11b8152fd5b50503461010a578160031936011261010a5760015490516001600160a01b039091168152602090f35b918091506003193601126102f957610bef610fa8565b90602493843567ffffffffffffffff811161010a573660238201121561010a578085013593610c1d8561100a565b610c2985519182610fe8565b85815260209586820193368a8383010111610dad578186928b8a9301873783010152610c536113ca565b610c5d3633611153565b610c656113ca565b84516352d1902d60e01b81526001600160a01b0383169680828a818b5afa9182918793610d84575b5050610ca95750505050505191634c9c8ce360e01b8352820152fd5b86899689927f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90818103610d6f5750853b15610d5a5780546001600160a01b0319168317905551869392917fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8580a2825115610d3e575050610d3a9382915190845af4610d346112d0565b91611448565b5080f35b93509350505034610d4e57505080f35b63b398979f60e01b8152fd5b5051634c9c8ce360e01b815291820152859150fd5b848a91845191632a87526960e21b8352820152fd5b9080929350813d8311610db1575b610d9c8183610fe8565b81010312610dad5751903880610c8d565b8580fd5b503d610d92565b9050346102f957816003193601126102f957610dd2610fa8565b906024356001600160a01b03811690819003610f6a577ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0092835460ff81871c16159367ffffffffffffffff821680159081610f62575b6001149081610f58575b159081610f4f575b50610f41575067ffffffffffffffff1981166001178555610ea4919084610f22575b50610e65611389565b610e6d611389565b610e75611389565b60016000805160206114cc83398151915255610e8f611389565b610e97611389565b610e9f611389565b611300565b610eac611389565b610eb4611389565b610ebf811515611121565b84546001600160a01b031916178455662386f26fc10000600255610ee1578280f35b805468ff00000000000000001916905551600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a138808280f35b68ffffffffffffffffff19166801000000000000000117855538610e5c565b865163f92ee8a960e01b8152fd5b90501538610e3a565b303b159150610e32565b869150610e28565b8480fd5b84903461010a578160031936011261010a57807f53545467257dcb9f2fdc3692391ae31a3b795279ab7a4102d7716a43072ee9d460209252f35b600435906001600160a01b038216820361027f57565b67ffffffffffffffff8111610fd257604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff821117610fd257604052565b67ffffffffffffffff8111610fd257601f01601f191660200190565b9181601f8401121561027f5782359167ffffffffffffffff831161027f576020838186019501011161027f57565b519067ffffffffffffffff8216820361027f57565b908060209392818452848401376000828201840152601f01601f1916010190565b1561109157565b60405162461bcd60e51b81526020600482015260086024820152670416d6f756e7420360c41b6044820152606490fd5b919082018092116110ce57565b634e487b7160e01b600052601160045260246000fd5b156110eb57565b60405162461bcd60e51b815260206004820152600e60248201526d139bdd08195b9bdd59da0818985b60921b6044820152606490fd5b1561112857565b606460405162461bcd60e51b81526020600482015260046024820152630646d20360e41b6044820152fd5b6000805160206114ac8339815191528054909290916001600160a01b03808416926004811061027f57600080604094855194602086019163b700961360e01b8352169485602482015230604482015263ffffffff60e01b84351660648201526064815260a0810181811067ffffffffffffffff8211176112bc5791849188938452828052826020525190895afa6112ab575b156111f4575b50505050505050565b63ffffffff16156112955760ff60a01b19948516600160a01b178655833b1561027f57606493600092838551968780958194634a63ebf760e11b835260048301528860248301528060448301528084848401378181018301849052601f01601f191681010301925af190811561128b575061127c575b508154169055388080808080806111eb565b61128590610fbe565b3861126a565b513d6000823e3d90fd5b50602491519062d1953b60e31b82526004820152fd5b50516020518060201c1502906111e5565b634e487b7160e01b85526041600452602485fd5b3d156112fb573d906112e18261100a565b916112ef6040519384610fe8565b82523d6000602084013e565b606090565b6000805160206114ac83398151915280546001600160a01b0319166001600160a01b0390921691821790556040519081527f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad90602090a1565b6000805160206114cc83398151915260028154146113775760029055565b604051633ee5aeb560e01b8152600490fd5b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c16156113b857565b604051631afcd79f60e31b8152600490fd5b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811630811491821561141a575b505061140857565b60405163703e46dd60e11b8152600490fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5416141590503880611400565b9061146f575080511561145d57602081519101fd5b60405163d6bda27560e01b8152600490fd5b815115806114a2575b611480575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b1561147856fef3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00a2646970667358221220d6bd90045de024810c9157b5600109ceb7230f0d666770781a580dcae5b3ca8364736f6c63430008190033",
457
+ "deployedBytecode": "0x6080604081815260049182361015610022575b505050361561002057600080fd5b005b600092833560e01c9182633a8c874a14610f6e57508163485cc95514610db85781634f1ef28614610bd9578163504b82bf14610bb057816352d1902d14610b375781636f98b63c14610b0f5781637702d078146107085781637a9e5e4b1461068b5781638fb36037146106375781639420d9be1461056a578163ad3cb1cc146104c9578163b5adf0fa146103ea578163b995fa9a146103af578163bb80e80714610333578163bf7e214f146102fd578163c01fb7ce1461010e575063c5bb8758146100ed5780610012565b3461010a578160031936011261010a576020906002549051908152f35b5080fd5b83602084366003190182136102f957833567ffffffffffffffff81116102f55761013b9036908601611026565b9290946101483633611153565b603084036102c457710961ef480eb55e80d19ad83579a64c0070026000808080845afa6101736112d0565b90806102ba575b1561028457838180518101031261027f5783015180340361024d57600091829186519086820191898c84376101c16028828c8101888c820152036008810184520182610fe8565b51925af16101cd6112d0565b50156102165750600061020c7fd2f49628dd3cefc134db0ffae198f928cae0d8f68eb60fefa1dba8191db66e8795968451958587968752860191611069565b918301520390a180f35b915162461bcd60e51b8152918201526013602482015272195e1a5d081c995c5d595cdd0819985a5b1959606a1b6044820152606490fd5b845162461bcd60e51b8152808401859052600c60248201526b0cccaca40dad2e6dac2e8c6d60a31b6044820152606490fd5b600080fd5b845162461bcd60e51b8152808401859052601060248201526f199959481c5d595c9e4819985a5b195960821b6044820152606490fd5b508381511461017a565b915162461bcd60e51b815291820152600d60248201526c0e0eac4d6caf240d8cadccee8d609b1b6044820152606490fd5b8380fd5b8280fd5b50503461010a578160031936011261010a576000805160206114ac8339815191525490516001600160a01b039091168152602090f35b50503461010a573660031901126103ac5761034c610fa8565b6001600160a01b0360243581811692908390036102f55761036d3633611153565b16801515806103a3575b61038090611121565b6bffffffffffffffffffffffff60a01b9081845416178355600154161760015580f35b50811515610377565b80fd5b50503461010a578160031936011261010a57602090517f21940a331d6d9c5ebe51f47ff19e442294f7d6fd7de03ec273da3710ab0751f38152f35b919050346102f95760203660031901126102f9578282359261040a611359565b6104143633611153565b61041f84151561108a565b61043661042e600254866110c1565b4710156110e4565b81546001600160a01b031690813b156102f957835163cb58db9360e01b81529183918391829088905af180156104bf576104ab575b507f01a4c640aa236df14f0ec4214256686300efc72f1c8001736f8e7cfc22beb6146020848451908152a160016000805160206114cc8339815191525580f35b6104b490610fbe565b6102f957823861046b565b83513d84823e3d90fd5b9050346102f957826003193601126102f9578151908282019082821067ffffffffffffffff8311176105555750825260058152602090640352e302e360dc1b6020820152825193849260208452825192836020860152825b84811061053f57505050828201840152601f01601f19168101030190f35b8181018301518882018801528795508201610521565b604190634e487b7160e01b6000525260246000fd5b919050346102f95760203660031901126102f9578282359261058a611359565b6105943633611153565b61059f84151561108a565b6105ae61042e600254866110c1565b81546001600160a01b031690813b156102f9578351637a389d2d60e01b81529183918391829088905af180156104bf57610623575b507f6470c70a0bbfee9ece4473fff720dc18cc85babd1aa5977190fc4d6f01f8a4346020848451908152a160016000805160206114cc8339815191525580f35b61062c90610fbe565b6102f95782386105e3565b50503461010a578160031936011261010a5760209160ff6000805160206114ac8339815191525460a01c166000146106855750638fb3603760e01b905b516001600160e01b03199091168152f35b90610674565b9050346102f95760203660031901126102f9576106a6610fa8565b6000805160206114ac8339815191525490926001600160a01b0391821633036106f457833b156106dd57846106da85611300565b80f35b516361798f2f60e11b815292169082015260249150fd5b5162d1953b60e31b81523381840152602490fd5b8391508260031936011261010a5767ffffffffffffffff9281358481116102f5576107369036908401611026565b909460249586359082821691828103610911576107533633611153565b8215610acd5760308503610a9b57710961ef480eb55e80d19ad83579a64c00700288808080845afa916107846112d0565b9280610a90575b15610a5b57828051602094859181010312610a575783015190813403610a265791878b939284936107e960288d5180938a820196808d893782019067ffffffffffffffff60c01b9060c01b168b820152036008810184520182610fe8565b51925af16107f56112d0565b50156109ef577fd2f49628dd3cefc134db0ffae198f928cae0d8f68eb60fefa1dba8191db66e8786518781528061082f8982018987611069565b86858301520390a187546001600160a01b0392908316803b156109af5789858c8b838c5195869485936335ef05d760e11b85528401525af180156109e557908b92916109c9575b5082896108a160c09387600154169a8c519687958695638171c29960e01b8752860152840191611069565b0381895afa9283156109bf5789918a94610943575b50501561091557508697843b1561091157879460449386928851998a97889663e9b8263960e01b885216908601528401525af190811561090857506108f85750f35b61090190610fbe565b6103ac5780f35b513d84823e3d90fd5b8780fd5b86600a8a60649389519362461bcd60e51b8552840152820152694e6f742065786973747360b01b6044820152fd5b9150925060c0813d60c0116109b7575b8161096060c09383610fe8565b810103126109b35780519081151582036109af5761097f838201611054565b936060820151908116036109af57608081015160ff8116036109af5760a06109a79101611054565b508a806108b6565b8980fd5b8880fd5b3d9150610953565b87513d8b823e3d90fd5b896108a160c0939c6109db8794610fbe565b9c93505050610876565b88513d8c823e3d90fd5b8660138a60649389519362461bcd60e51b855284015282015272195e1a5d081c995c5d595cdd0819985a5b1959606a1b6044820152fd5b885162461bcd60e51b8152808b01859052600c818e01526b0cccaca40dad2e6dac2e8c6d60a31b6044820152606490fd5b8a80fd5b875162461bcd60e51b81526020818b01526010818d01526f199959481c5d595c9e4819985a5b195960821b6044820152606490fd5b50602083511461078b565b855162461bcd60e51b8152602081890152600d818b01526c0e0eac4d6caf240d8cadccee8d609b1b6044820152606490fd5b855162461bcd60e51b81526020818901526018818b01527f616d6f756e74203d2030207573652066756c6c206578697400000000000000006044820152606490fd5b50503461010a578160031936011261010a57905490516001600160a01b039091168152602090f35b8284346103ac57806003193601126103ac57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163003610ba357602090517f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8152f35b5163703e46dd60e11b8152fd5b50503461010a578160031936011261010a5760015490516001600160a01b039091168152602090f35b918091506003193601126102f957610bef610fa8565b90602493843567ffffffffffffffff811161010a573660238201121561010a578085013593610c1d8561100a565b610c2985519182610fe8565b85815260209586820193368a8383010111610dad578186928b8a9301873783010152610c536113ca565b610c5d3633611153565b610c656113ca565b84516352d1902d60e01b81526001600160a01b0383169680828a818b5afa9182918793610d84575b5050610ca95750505050505191634c9c8ce360e01b8352820152fd5b86899689927f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90818103610d6f5750853b15610d5a5780546001600160a01b0319168317905551869392917fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8580a2825115610d3e575050610d3a9382915190845af4610d346112d0565b91611448565b5080f35b93509350505034610d4e57505080f35b63b398979f60e01b8152fd5b5051634c9c8ce360e01b815291820152859150fd5b848a91845191632a87526960e21b8352820152fd5b9080929350813d8311610db1575b610d9c8183610fe8565b81010312610dad5751903880610c8d565b8580fd5b503d610d92565b9050346102f957816003193601126102f957610dd2610fa8565b906024356001600160a01b03811690819003610f6a577ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0092835460ff81871c16159367ffffffffffffffff821680159081610f62575b6001149081610f58575b159081610f4f575b50610f41575067ffffffffffffffff1981166001178555610ea4919084610f22575b50610e65611389565b610e6d611389565b610e75611389565b60016000805160206114cc83398151915255610e8f611389565b610e97611389565b610e9f611389565b611300565b610eac611389565b610eb4611389565b610ebf811515611121565b84546001600160a01b031916178455662386f26fc10000600255610ee1578280f35b805468ff00000000000000001916905551600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a138808280f35b68ffffffffffffffffff19166801000000000000000117855538610e5c565b865163f92ee8a960e01b8152fd5b90501538610e3a565b303b159150610e32565b869150610e28565b8480fd5b84903461010a578160031936011261010a57807f53545467257dcb9f2fdc3692391ae31a3b795279ab7a4102d7716a43072ee9d460209252f35b600435906001600160a01b038216820361027f57565b67ffffffffffffffff8111610fd257604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff821117610fd257604052565b67ffffffffffffffff8111610fd257601f01601f191660200190565b9181601f8401121561027f5782359167ffffffffffffffff831161027f576020838186019501011161027f57565b519067ffffffffffffffff8216820361027f57565b908060209392818452848401376000828201840152601f01601f1916010190565b1561109157565b60405162461bcd60e51b81526020600482015260086024820152670416d6f756e7420360c41b6044820152606490fd5b919082018092116110ce57565b634e487b7160e01b600052601160045260246000fd5b156110eb57565b60405162461bcd60e51b815260206004820152600e60248201526d139bdd08195b9bdd59da0818985b60921b6044820152606490fd5b1561112857565b606460405162461bcd60e51b81526020600482015260046024820152630646d20360e41b6044820152fd5b6000805160206114ac8339815191528054909290916001600160a01b03808416926004811061027f57600080604094855194602086019163b700961360e01b8352169485602482015230604482015263ffffffff60e01b84351660648201526064815260a0810181811067ffffffffffffffff8211176112bc5791849188938452828052826020525190895afa6112ab575b156111f4575b50505050505050565b63ffffffff16156112955760ff60a01b19948516600160a01b178655833b1561027f57606493600092838551968780958194634a63ebf760e11b835260048301528860248301528060448301528084848401378181018301849052601f01601f191681010301925af190811561128b575061127c575b508154169055388080808080806111eb565b61128590610fbe565b3861126a565b513d6000823e3d90fd5b50602491519062d1953b60e31b82526004820152fd5b50516020518060201c1502906111e5565b634e487b7160e01b85526041600452602485fd5b3d156112fb573d906112e18261100a565b916112ef6040519384610fe8565b82523d6000602084013e565b606090565b6000805160206114ac83398151915280546001600160a01b0319166001600160a01b0390921691821790556040519081527f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad90602090a1565b6000805160206114cc83398151915260028154146113775760029055565b604051633ee5aeb560e01b8152600490fd5b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c16156113b857565b604051631afcd79f60e31b8152600490fd5b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811630811491821561141a575b505061140857565b60405163703e46dd60e11b8152600490fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5416141590503880611400565b9061146f575080511561145d57602081519101fd5b60405163d6bda27560e01b8152600490fd5b815115806114a2575b611480575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b1561147856fef3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00a2646970667358221220d6bd90045de024810c9157b5600109ceb7230f0d666770781a580dcae5b3ca8364736f6c63430008190033",
445
458
  "linkReferences": {},
446
459
  "deployedLinkReferences": {}
447
460
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/ed9aaec874c02fdb46b7a115ba311ca3.json"
3
+ "buildInfo": "../../../build-info/cd012055741536d32416d358acb08278.json"
4
4
  }