@mainsail/evm-contracts 0.0.1-evm.5 → 0.0.1-evm.50
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/README.md +4 -4
- package/distribution/abis/ConsensusV1.json +1074 -0
- package/distribution/abis/ERC1967Proxy.json +181 -0
- package/distribution/abis/MultiPaymentV1.json +428 -0
- package/distribution/abis/UsernamesV1.json +545 -0
- package/distribution/function-sigs.d.ts +10 -0
- package/distribution/function-sigs.d.ts.map +1 -0
- package/distribution/function-sigs.js +10 -0
- package/distribution/function-sigs.js.map +1 -0
- package/distribution/index.d.ts +6 -2
- package/distribution/index.d.ts.map +1 -1
- package/distribution/index.js +6 -2
- package/distribution/index.js.map +1 -1
- package/distribution/transaction-error.d.ts +3 -0
- package/distribution/transaction-error.d.ts.map +1 -0
- package/distribution/transaction-error.js +72 -0
- package/distribution/transaction-error.js.map +1 -0
- package/package.json +17 -5
- package/distribution/abis/Consensus.json +0 -457
- package/distribution/abis/DirectTransfer.json +0 -96
|
@@ -0,0 +1,1074 @@
|
|
|
1
|
+
{
|
|
2
|
+
"abi": [
|
|
3
|
+
{
|
|
4
|
+
"type": "function",
|
|
5
|
+
"name": "UPGRADE_INTERFACE_VERSION",
|
|
6
|
+
"inputs": [],
|
|
7
|
+
"outputs": [{ "name": "", "type": "string", "internalType": "string" }],
|
|
8
|
+
"stateMutability": "view"
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
"type": "function",
|
|
12
|
+
"name": "activeValidatorsCount",
|
|
13
|
+
"inputs": [],
|
|
14
|
+
"outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
|
|
15
|
+
"stateMutability": "view"
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"type": "function",
|
|
19
|
+
"name": "addValidator",
|
|
20
|
+
"inputs": [
|
|
21
|
+
{ "name": "addr", "type": "address", "internalType": "address" },
|
|
22
|
+
{ "name": "blsPublicKey", "type": "bytes", "internalType": "bytes" },
|
|
23
|
+
{ "name": "isResigned", "type": "bool", "internalType": "bool" }
|
|
24
|
+
],
|
|
25
|
+
"outputs": [],
|
|
26
|
+
"stateMutability": "nonpayable"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"type": "function",
|
|
30
|
+
"name": "addVotes",
|
|
31
|
+
"inputs": [
|
|
32
|
+
{ "name": "voters", "type": "address[]", "internalType": "address[]" },
|
|
33
|
+
{ "name": "validators", "type": "address[]", "internalType": "address[]" }
|
|
34
|
+
],
|
|
35
|
+
"outputs": [],
|
|
36
|
+
"stateMutability": "nonpayable"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"type": "function",
|
|
40
|
+
"name": "calculateRoundValidators",
|
|
41
|
+
"inputs": [{ "name": "n", "type": "uint8", "internalType": "uint8" }],
|
|
42
|
+
"outputs": [],
|
|
43
|
+
"stateMutability": "nonpayable"
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"type": "function",
|
|
47
|
+
"name": "fee",
|
|
48
|
+
"inputs": [],
|
|
49
|
+
"outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
|
|
50
|
+
"stateMutability": "view"
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"type": "function",
|
|
54
|
+
"name": "getAllValidators",
|
|
55
|
+
"inputs": [],
|
|
56
|
+
"outputs": [
|
|
57
|
+
{
|
|
58
|
+
"name": "",
|
|
59
|
+
"type": "tuple[]",
|
|
60
|
+
"internalType": "struct ConsensusV1.Validator[]",
|
|
61
|
+
"components": [
|
|
62
|
+
{ "name": "addr", "type": "address", "internalType": "address" },
|
|
63
|
+
{
|
|
64
|
+
"name": "data",
|
|
65
|
+
"type": "tuple",
|
|
66
|
+
"internalType": "struct ConsensusV1.ValidatorData",
|
|
67
|
+
"components": [
|
|
68
|
+
{ "name": "voteBalance", "type": "uint256", "internalType": "uint256" },
|
|
69
|
+
{ "name": "fee", "type": "uint128", "internalType": "uint128" },
|
|
70
|
+
{ "name": "votersCount", "type": "uint64", "internalType": "uint64" },
|
|
71
|
+
{ "name": "isResigned", "type": "bool", "internalType": "bool" },
|
|
72
|
+
{ "name": "blsPublicKey", "type": "bytes", "internalType": "bytes" }
|
|
73
|
+
]
|
|
74
|
+
}
|
|
75
|
+
]
|
|
76
|
+
}
|
|
77
|
+
],
|
|
78
|
+
"stateMutability": "view"
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"type": "function",
|
|
82
|
+
"name": "getRoundValidators",
|
|
83
|
+
"inputs": [],
|
|
84
|
+
"outputs": [
|
|
85
|
+
{
|
|
86
|
+
"name": "",
|
|
87
|
+
"type": "tuple[]",
|
|
88
|
+
"internalType": "struct ConsensusV1.Validator[]",
|
|
89
|
+
"components": [
|
|
90
|
+
{ "name": "addr", "type": "address", "internalType": "address" },
|
|
91
|
+
{
|
|
92
|
+
"name": "data",
|
|
93
|
+
"type": "tuple",
|
|
94
|
+
"internalType": "struct ConsensusV1.ValidatorData",
|
|
95
|
+
"components": [
|
|
96
|
+
{ "name": "voteBalance", "type": "uint256", "internalType": "uint256" },
|
|
97
|
+
{ "name": "fee", "type": "uint128", "internalType": "uint128" },
|
|
98
|
+
{ "name": "votersCount", "type": "uint64", "internalType": "uint64" },
|
|
99
|
+
{ "name": "isResigned", "type": "bool", "internalType": "bool" },
|
|
100
|
+
{ "name": "blsPublicKey", "type": "bytes", "internalType": "bytes" }
|
|
101
|
+
]
|
|
102
|
+
}
|
|
103
|
+
]
|
|
104
|
+
}
|
|
105
|
+
],
|
|
106
|
+
"stateMutability": "view"
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
"type": "function",
|
|
110
|
+
"name": "getRounds",
|
|
111
|
+
"inputs": [
|
|
112
|
+
{ "name": "offset", "type": "uint256", "internalType": "uint256" },
|
|
113
|
+
{ "name": "count", "type": "uint256", "internalType": "uint256" }
|
|
114
|
+
],
|
|
115
|
+
"outputs": [
|
|
116
|
+
{
|
|
117
|
+
"name": "",
|
|
118
|
+
"type": "tuple[]",
|
|
119
|
+
"internalType": "struct ConsensusV1.Round[]",
|
|
120
|
+
"components": [
|
|
121
|
+
{ "name": "round", "type": "uint256", "internalType": "uint256" },
|
|
122
|
+
{
|
|
123
|
+
"name": "validators",
|
|
124
|
+
"type": "tuple[]",
|
|
125
|
+
"internalType": "struct ConsensusV1.RoundValidator[]",
|
|
126
|
+
"components": [
|
|
127
|
+
{ "name": "addr", "type": "address", "internalType": "address" },
|
|
128
|
+
{ "name": "voteBalance", "type": "uint256", "internalType": "uint256" }
|
|
129
|
+
]
|
|
130
|
+
}
|
|
131
|
+
]
|
|
132
|
+
}
|
|
133
|
+
],
|
|
134
|
+
"stateMutability": "view"
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
"type": "function",
|
|
138
|
+
"name": "getRoundsCount",
|
|
139
|
+
"inputs": [],
|
|
140
|
+
"outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
|
|
141
|
+
"stateMutability": "view"
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
"type": "function",
|
|
145
|
+
"name": "getValidator",
|
|
146
|
+
"inputs": [{ "name": "addr", "type": "address", "internalType": "address" }],
|
|
147
|
+
"outputs": [
|
|
148
|
+
{
|
|
149
|
+
"name": "",
|
|
150
|
+
"type": "tuple",
|
|
151
|
+
"internalType": "struct ConsensusV1.Validator",
|
|
152
|
+
"components": [
|
|
153
|
+
{ "name": "addr", "type": "address", "internalType": "address" },
|
|
154
|
+
{
|
|
155
|
+
"name": "data",
|
|
156
|
+
"type": "tuple",
|
|
157
|
+
"internalType": "struct ConsensusV1.ValidatorData",
|
|
158
|
+
"components": [
|
|
159
|
+
{ "name": "voteBalance", "type": "uint256", "internalType": "uint256" },
|
|
160
|
+
{ "name": "fee", "type": "uint128", "internalType": "uint128" },
|
|
161
|
+
{ "name": "votersCount", "type": "uint64", "internalType": "uint64" },
|
|
162
|
+
{ "name": "isResigned", "type": "bool", "internalType": "bool" },
|
|
163
|
+
{ "name": "blsPublicKey", "type": "bytes", "internalType": "bytes" }
|
|
164
|
+
]
|
|
165
|
+
}
|
|
166
|
+
]
|
|
167
|
+
}
|
|
168
|
+
],
|
|
169
|
+
"stateMutability": "view"
|
|
170
|
+
},
|
|
171
|
+
{
|
|
172
|
+
"type": "function",
|
|
173
|
+
"name": "getVotes",
|
|
174
|
+
"inputs": [
|
|
175
|
+
{ "name": "addr", "type": "address", "internalType": "address" },
|
|
176
|
+
{ "name": "count", "type": "uint256", "internalType": "uint256" }
|
|
177
|
+
],
|
|
178
|
+
"outputs": [
|
|
179
|
+
{
|
|
180
|
+
"name": "",
|
|
181
|
+
"type": "tuple[]",
|
|
182
|
+
"internalType": "struct ConsensusV1.VoteResult[]",
|
|
183
|
+
"components": [
|
|
184
|
+
{ "name": "voter", "type": "address", "internalType": "address" },
|
|
185
|
+
{ "name": "validator", "type": "address", "internalType": "address" }
|
|
186
|
+
]
|
|
187
|
+
}
|
|
188
|
+
],
|
|
189
|
+
"stateMutability": "view"
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
"type": "function",
|
|
193
|
+
"name": "getVotesCount",
|
|
194
|
+
"inputs": [],
|
|
195
|
+
"outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
|
|
196
|
+
"stateMutability": "view"
|
|
197
|
+
},
|
|
198
|
+
{
|
|
199
|
+
"type": "function",
|
|
200
|
+
"name": "initialize",
|
|
201
|
+
"inputs": [{ "name": "registrationFee", "type": "uint128", "internalType": "uint128" }],
|
|
202
|
+
"outputs": [],
|
|
203
|
+
"stateMutability": "nonpayable"
|
|
204
|
+
},
|
|
205
|
+
{
|
|
206
|
+
"type": "function",
|
|
207
|
+
"name": "isValidatorRegistered",
|
|
208
|
+
"inputs": [{ "name": "addr", "type": "address", "internalType": "address" }],
|
|
209
|
+
"outputs": [{ "name": "", "type": "bool", "internalType": "bool" }],
|
|
210
|
+
"stateMutability": "view"
|
|
211
|
+
},
|
|
212
|
+
{
|
|
213
|
+
"type": "function",
|
|
214
|
+
"name": "owner",
|
|
215
|
+
"inputs": [],
|
|
216
|
+
"outputs": [{ "name": "", "type": "address", "internalType": "address" }],
|
|
217
|
+
"stateMutability": "view"
|
|
218
|
+
},
|
|
219
|
+
{
|
|
220
|
+
"type": "function",
|
|
221
|
+
"name": "proxiableUUID",
|
|
222
|
+
"inputs": [],
|
|
223
|
+
"outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }],
|
|
224
|
+
"stateMutability": "view"
|
|
225
|
+
},
|
|
226
|
+
{
|
|
227
|
+
"type": "function",
|
|
228
|
+
"name": "registerValidator",
|
|
229
|
+
"inputs": [
|
|
230
|
+
{ "name": "blsPublicKey", "type": "bytes", "internalType": "bytes" },
|
|
231
|
+
{ "name": "proofOfPossession", "type": "bytes", "internalType": "bytes" }
|
|
232
|
+
],
|
|
233
|
+
"outputs": [],
|
|
234
|
+
"stateMutability": "payable"
|
|
235
|
+
},
|
|
236
|
+
{
|
|
237
|
+
"type": "function",
|
|
238
|
+
"name": "renounceOwnership",
|
|
239
|
+
"inputs": [],
|
|
240
|
+
"outputs": [],
|
|
241
|
+
"stateMutability": "nonpayable"
|
|
242
|
+
},
|
|
243
|
+
{ "type": "function", "name": "resignValidator", "inputs": [], "outputs": [], "stateMutability": "nonpayable" },
|
|
244
|
+
{
|
|
245
|
+
"type": "function",
|
|
246
|
+
"name": "resignedValidatorsCount",
|
|
247
|
+
"inputs": [],
|
|
248
|
+
"outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
|
|
249
|
+
"stateMutability": "view"
|
|
250
|
+
},
|
|
251
|
+
{
|
|
252
|
+
"type": "function",
|
|
253
|
+
"name": "roundValidatorsCount",
|
|
254
|
+
"inputs": [],
|
|
255
|
+
"outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
|
|
256
|
+
"stateMutability": "view"
|
|
257
|
+
},
|
|
258
|
+
{
|
|
259
|
+
"type": "function",
|
|
260
|
+
"name": "setFee",
|
|
261
|
+
"inputs": [{ "name": "registrationFee", "type": "uint128", "internalType": "uint128" }],
|
|
262
|
+
"outputs": [],
|
|
263
|
+
"stateMutability": "nonpayable"
|
|
264
|
+
},
|
|
265
|
+
{
|
|
266
|
+
"type": "function",
|
|
267
|
+
"name": "transferOwnership",
|
|
268
|
+
"inputs": [{ "name": "newOwner", "type": "address", "internalType": "address" }],
|
|
269
|
+
"outputs": [],
|
|
270
|
+
"stateMutability": "nonpayable"
|
|
271
|
+
},
|
|
272
|
+
{ "type": "function", "name": "unvote", "inputs": [], "outputs": [], "stateMutability": "nonpayable" },
|
|
273
|
+
{
|
|
274
|
+
"type": "function",
|
|
275
|
+
"name": "updateValidator",
|
|
276
|
+
"inputs": [
|
|
277
|
+
{ "name": "blsPublicKey", "type": "bytes", "internalType": "bytes" },
|
|
278
|
+
{ "name": "proofOfPossession", "type": "bytes", "internalType": "bytes" }
|
|
279
|
+
],
|
|
280
|
+
"outputs": [],
|
|
281
|
+
"stateMutability": "nonpayable"
|
|
282
|
+
},
|
|
283
|
+
{
|
|
284
|
+
"type": "function",
|
|
285
|
+
"name": "updateVoters",
|
|
286
|
+
"inputs": [{ "name": "voters", "type": "address[]", "internalType": "address[]" }],
|
|
287
|
+
"outputs": [],
|
|
288
|
+
"stateMutability": "nonpayable"
|
|
289
|
+
},
|
|
290
|
+
{
|
|
291
|
+
"type": "function",
|
|
292
|
+
"name": "upgradeToAndCall",
|
|
293
|
+
"inputs": [
|
|
294
|
+
{ "name": "newImplementation", "type": "address", "internalType": "address" },
|
|
295
|
+
{ "name": "data", "type": "bytes", "internalType": "bytes" }
|
|
296
|
+
],
|
|
297
|
+
"outputs": [],
|
|
298
|
+
"stateMutability": "payable"
|
|
299
|
+
},
|
|
300
|
+
{
|
|
301
|
+
"type": "function",
|
|
302
|
+
"name": "validatorsCount",
|
|
303
|
+
"inputs": [],
|
|
304
|
+
"outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
|
|
305
|
+
"stateMutability": "view"
|
|
306
|
+
},
|
|
307
|
+
{
|
|
308
|
+
"type": "function",
|
|
309
|
+
"name": "version",
|
|
310
|
+
"inputs": [],
|
|
311
|
+
"outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
|
|
312
|
+
"stateMutability": "pure"
|
|
313
|
+
},
|
|
314
|
+
{
|
|
315
|
+
"type": "function",
|
|
316
|
+
"name": "vote",
|
|
317
|
+
"inputs": [{ "name": "addr", "type": "address", "internalType": "address" }],
|
|
318
|
+
"outputs": [],
|
|
319
|
+
"stateMutability": "nonpayable"
|
|
320
|
+
},
|
|
321
|
+
{
|
|
322
|
+
"type": "event",
|
|
323
|
+
"name": "FeeUpdated",
|
|
324
|
+
"inputs": [{ "name": "fee", "type": "uint256", "indexed": false, "internalType": "uint256" }],
|
|
325
|
+
"anonymous": false
|
|
326
|
+
},
|
|
327
|
+
{
|
|
328
|
+
"type": "event",
|
|
329
|
+
"name": "Initialized",
|
|
330
|
+
"inputs": [{ "name": "version", "type": "uint64", "indexed": false, "internalType": "uint64" }],
|
|
331
|
+
"anonymous": false
|
|
332
|
+
},
|
|
333
|
+
{
|
|
334
|
+
"type": "event",
|
|
335
|
+
"name": "OwnershipTransferred",
|
|
336
|
+
"inputs": [
|
|
337
|
+
{ "name": "previousOwner", "type": "address", "indexed": true, "internalType": "address" },
|
|
338
|
+
{ "name": "newOwner", "type": "address", "indexed": true, "internalType": "address" }
|
|
339
|
+
],
|
|
340
|
+
"anonymous": false
|
|
341
|
+
},
|
|
342
|
+
{
|
|
343
|
+
"type": "event",
|
|
344
|
+
"name": "Unvoted",
|
|
345
|
+
"inputs": [
|
|
346
|
+
{ "name": "voter", "type": "address", "indexed": false, "internalType": "address" },
|
|
347
|
+
{ "name": "validator", "type": "address", "indexed": false, "internalType": "address" }
|
|
348
|
+
],
|
|
349
|
+
"anonymous": false
|
|
350
|
+
},
|
|
351
|
+
{
|
|
352
|
+
"type": "event",
|
|
353
|
+
"name": "Upgraded",
|
|
354
|
+
"inputs": [{ "name": "implementation", "type": "address", "indexed": true, "internalType": "address" }],
|
|
355
|
+
"anonymous": false
|
|
356
|
+
},
|
|
357
|
+
{
|
|
358
|
+
"type": "event",
|
|
359
|
+
"name": "ValidatorRegistered",
|
|
360
|
+
"inputs": [
|
|
361
|
+
{ "name": "addr", "type": "address", "indexed": false, "internalType": "address" },
|
|
362
|
+
{ "name": "blsPublicKey", "type": "bytes", "indexed": false, "internalType": "bytes" }
|
|
363
|
+
],
|
|
364
|
+
"anonymous": false
|
|
365
|
+
},
|
|
366
|
+
{
|
|
367
|
+
"type": "event",
|
|
368
|
+
"name": "ValidatorResigned",
|
|
369
|
+
"inputs": [{ "name": "addr", "type": "address", "indexed": false, "internalType": "address" }],
|
|
370
|
+
"anonymous": false
|
|
371
|
+
},
|
|
372
|
+
{
|
|
373
|
+
"type": "event",
|
|
374
|
+
"name": "ValidatorUpdated",
|
|
375
|
+
"inputs": [
|
|
376
|
+
{ "name": "addr", "type": "address", "indexed": false, "internalType": "address" },
|
|
377
|
+
{ "name": "blsPublicKey", "type": "bytes", "indexed": false, "internalType": "bytes" }
|
|
378
|
+
],
|
|
379
|
+
"anonymous": false
|
|
380
|
+
},
|
|
381
|
+
{
|
|
382
|
+
"type": "event",
|
|
383
|
+
"name": "Voted",
|
|
384
|
+
"inputs": [
|
|
385
|
+
{ "name": "voter", "type": "address", "indexed": false, "internalType": "address" },
|
|
386
|
+
{ "name": "validator", "type": "address", "indexed": false, "internalType": "address" }
|
|
387
|
+
],
|
|
388
|
+
"anonymous": false
|
|
389
|
+
},
|
|
390
|
+
{
|
|
391
|
+
"type": "error",
|
|
392
|
+
"name": "AddressEmptyCode",
|
|
393
|
+
"inputs": [{ "name": "target", "type": "address", "internalType": "address" }]
|
|
394
|
+
},
|
|
395
|
+
{ "type": "error", "name": "AlreadyVoted", "inputs": [] },
|
|
396
|
+
{ "type": "error", "name": "BellowMinValidators", "inputs": [] },
|
|
397
|
+
{ "type": "error", "name": "BlsKeyAlreadyRegistered", "inputs": [] },
|
|
398
|
+
{ "type": "error", "name": "BlsKeyIsInvalid", "inputs": [] },
|
|
399
|
+
{ "type": "error", "name": "CallerIsNotValidator", "inputs": [] },
|
|
400
|
+
{
|
|
401
|
+
"type": "error",
|
|
402
|
+
"name": "ERC1967InvalidImplementation",
|
|
403
|
+
"inputs": [{ "name": "implementation", "type": "address", "internalType": "address" }]
|
|
404
|
+
},
|
|
405
|
+
{ "type": "error", "name": "ERC1967NonPayable", "inputs": [] },
|
|
406
|
+
{ "type": "error", "name": "FailedCall", "inputs": [] },
|
|
407
|
+
{ "type": "error", "name": "ImportIsNotAllowed", "inputs": [] },
|
|
408
|
+
{ "type": "error", "name": "InvalidFee", "inputs": [] },
|
|
409
|
+
{ "type": "error", "name": "InvalidInitialization", "inputs": [] },
|
|
410
|
+
{ "type": "error", "name": "InvalidInputLength", "inputs": [] },
|
|
411
|
+
{ "type": "error", "name": "InvalidParameters", "inputs": [] },
|
|
412
|
+
{ "type": "error", "name": "InvalidProofOfPossession", "inputs": [] },
|
|
413
|
+
{
|
|
414
|
+
"type": "error",
|
|
415
|
+
"name": "InvalidRange",
|
|
416
|
+
"inputs": [
|
|
417
|
+
{ "name": "min", "type": "uint256", "internalType": "uint256" },
|
|
418
|
+
{ "name": "max", "type": "uint256", "internalType": "uint256" }
|
|
419
|
+
]
|
|
420
|
+
},
|
|
421
|
+
{ "type": "error", "name": "MissingVote", "inputs": [] },
|
|
422
|
+
{ "type": "error", "name": "NoActiveValidators", "inputs": [] },
|
|
423
|
+
{ "type": "error", "name": "NotInitializing", "inputs": [] },
|
|
424
|
+
{
|
|
425
|
+
"type": "error",
|
|
426
|
+
"name": "OwnableInvalidOwner",
|
|
427
|
+
"inputs": [{ "name": "owner", "type": "address", "internalType": "address" }]
|
|
428
|
+
},
|
|
429
|
+
{
|
|
430
|
+
"type": "error",
|
|
431
|
+
"name": "OwnableUnauthorizedAccount",
|
|
432
|
+
"inputs": [{ "name": "account", "type": "address", "internalType": "address" }]
|
|
433
|
+
},
|
|
434
|
+
{ "type": "error", "name": "PrecompileCallFailed", "inputs": [] },
|
|
435
|
+
{ "type": "error", "name": "RefundFailed", "inputs": [] },
|
|
436
|
+
{ "type": "error", "name": "UUPSUnauthorizedCallContext", "inputs": [] },
|
|
437
|
+
{
|
|
438
|
+
"type": "error",
|
|
439
|
+
"name": "UUPSUnsupportedProxiableUUID",
|
|
440
|
+
"inputs": [{ "name": "slot", "type": "bytes32", "internalType": "bytes32" }]
|
|
441
|
+
},
|
|
442
|
+
{ "type": "error", "name": "ValidatorAlreadyRegistered", "inputs": [] },
|
|
443
|
+
{ "type": "error", "name": "ValidatorAlreadyResigned", "inputs": [] },
|
|
444
|
+
{ "type": "error", "name": "ValidatorNotRegistered", "inputs": [] },
|
|
445
|
+
{ "type": "error", "name": "VoteResignedValidator", "inputs": [] },
|
|
446
|
+
{ "type": "error", "name": "VoteSameValidator", "inputs": [] },
|
|
447
|
+
{ "type": "error", "name": "VoteValidatorWithoutBlsPublicKey", "inputs": [] }
|
|
448
|
+
],
|
|
449
|
+
"bytecode": {
|
|
450
|
+
"object": "0x60a0604052306080523480156012575f5ffd5b5060805161424b6100395f395f81816126630152818161268c01526127cb015261424b5ff3fe6080604052600436106101d0575f3560e01c80637c8a92c3116100fd578063c5a7444911610092578063eb9019d411610062578063eb9019d414610512578063ed612f8c1461053e578063f2fde38b14610552578063f3513a3714610571575f5ffd5b8063c5a7444914610488578063d04a68c7146104a7578063ddca3f43146104d6578063e9257dc8146104f3575f5ffd5b8063a250eaf1116100cd578063a250eaf114610402578063ad3cb1cc14610423578063b84d356e14610460578063b85f5da214610474575f5ffd5b80637c8a92c31461036a5780638da5cb5b146103895780638f062626146103cf578063a09686c4146103ee575f5ffd5b80633687f24a1161017357806354fd4d501161014357806354fd4d501461030557806356db9ef1146103185780636dd7d8ea14610337578063715018a614610356575f5ffd5b80633687f24a1461029357806340f74f47146102b25780634f1ef286146102de57806352d1902d146102f1575f5ffd5b80631b605b86116101ae5780631b605b8614610237578063226f26451461024b5780632bdf6d43146102605780633174b6891461027f575f5ffd5b80630777cbef146101d45780630d2bd909146101f75780631904bb2e1461020b575b5f5ffd5b3480156101df575f5ffd5b506006545b6040519081526020015b60405180910390f35b348015610202575f5ffd5b506004546101e4565b348015610216575f5ffd5b5061022a6102253660046138a3565b610585565b6040516101ee919061397e565b348015610242575f5ffd5b50600a546101e4565b61025e6102593660046139d4565b6106c2565b005b34801561026b575f5ffd5b5061025e61027a366004613a7e565b6108ec565b34801561028a575f5ffd5b5061025e61093a565b34801561029e575f5ffd5b5061025e6102ad366004613abc565b610989565b3480156102bd575f5ffd5b506102d16102cc366004613ae2565b6109e6565b6040516101ee9190613b02565b61025e6102ec366004613bcf565b610b79565b3480156102fc575f5ffd5b506101e4610b98565b348015610310575f5ffd5b5060016101e4565b348015610323575f5ffd5b5061025e610332366004613abc565b610bb3565b348015610342575f5ffd5b5061025e6103513660046138a3565b610cca565b348015610361575f5ffd5b5061025e610f7d565b348015610375575f5ffd5b5061025e610384366004613c90565b610f90565b348015610394575f5ffd5b507f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546040516001600160a01b0390911681526020016101ee565b3480156103da575f5ffd5b5061025e6103e93660046139d4565b611214565b3480156103f9575f5ffd5b506011546101e4565b34801561040d575f5ffd5b506104166112f4565b6040516101ee9190613cf5565b34801561042e575f5ffd5b50610453604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516101ee9190613d4c565b34801561046b575f5ffd5b50600e546101e4565b34801561047f575f5ffd5b5061025e6114b7565b348015610493575f5ffd5b5061025e6104a2366004613d5e565b61162c565b3480156104b2575f5ffd5b506104c66104c13660046138a3565b611bfa565b60405190151581526020016101ee565b3480156104e1575f5ffd5b506010546001600160801b03166101e4565b3480156104fe575f5ffd5b5061025e61050d366004613d7e565b611c17565b34801561051d575f5ffd5b5061053161052c366004613ddc565b611cda565b6040516101ee9190613e04565b348015610549575f5ffd5b506003546101e4565b34801561055d575f5ffd5b5061025e61056c3660046138a3565b611edb565b34801561057c575f5ffd5b50610416611f18565b61058d613795565b61059682611bfa565b6105b35760405163510b8aad60e11b815260040160405180910390fd5b6040805180820182526001600160a01b0384168082525f908152602081815290839020835160a0810185528154815260018201546001600160801b03811682850152600160801b81046001600160401b031695820195909552600160c01b90940460ff161515606085015260028101805493949285019360808401919061063990613e5e565b80601f016020809104026020016040519081016040528092919081815260200182805461066590613e5e565b80156106b05780601f10610687576101008083540402835291602001916106b0565b820191905f5260205f20905b81548152906001019060200180831161069357829003601f168201915b50505091909252505050905292915050565b6010546001600160801b031634146106ed576040516358d620b360e01b815260040160405180910390fd5b335f9081526001602052604090205460ff161561071d5760405163132e7efb60e31b815260040160405180910390fd5b610729848484846120d5565b610746576040516392536faf60e01b815260040160405180910390fd5b61075084846121e6565b5f6040518060a001604052805f8152602001346001600160801b031681526020015f6001600160401b031681526020015f1515815260200186868080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920182905250939094525050338152600160208181526040808420805460ff19168417905583825292839020855181559085015191810180549386015160608701511515600160c01b0260ff60c01b196001600160401b03909216600160801b026001600160c01b03199096166001600160801b039095169490941794909417939093169190911790915560808301519293508392909150600282019061085a9082613ed4565b5050600380546001810182555f919091527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0180546001600160a01b031916339081179091556108aa915061225a565b7f61809fa303a3a57f4d70552f533f3e0b003173d424590cd4bb22a2afe000990c3386866040516108dd93929190613f8e565b60405180910390a15050505050565b6108f46122cd565b5f5b818110156109355761092d83838381811061091357610913613fcd565b905060200201602081019061092891906138a3565b612328565b6001016108f6565b505050565b7f6572af8bf9a0a86efb88dcc30011626a15c9c4603503aa4466a3f87a1867deef33610964612402565b604080516001600160a01b0393841681529290911660208301520160405180910390a1565b6109916122cd565b601080546001600160801b0319166001600160801b0383169081179091556040519081527f8c4d35e54a3f2ef1134138fd8ea3daee6a3c89e10d2665996babdf70261e2c76906020015b60405180910390a150565b60606109f06122cd565b60115482908410610a0257505f610a26565b601154610a0f8486613ff5565b1115610a2657601154610a23908590614008565b90505b5f816001600160401b03811115610a3f57610a3f613bbb565b604051908082528060200260200182016040528015610a8457816020015b604080518082019091525f815260606020820152815260200190600190039081610a5d5790505b5090505f5b82811015610b6e5760405180604001604052808288610aa89190613ff5565b610ab3906001613ff5565b81526020016011610ac4848a613ff5565b81548110610ad457610ad4613fcd565b905f5260205f2001805480602002602001604051908101604052809291908181526020015f905b82821015610b42575f848152602090819020604080518082019091526002850290910180546001600160a01b03168252600190810154828401529083529092019101610afb565b50505050815250828281518110610b5b57610b5b613fcd565b6020908102919091010152600101610a89565b509150505b92915050565b610b81612658565b610b8a826126fc565b610b948282612704565b5050565b5f610ba16127c0565b505f5160206141f65f395f51905f5290565b5f610bbc612809565b805490915060ff600160401b82041615906001600160401b03165f81158015610be25750825b90505f826001600160401b03166001148015610bfd5750303b155b905081158015610c0b575080155b15610c295760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff191660011785558315610c5357845460ff60401b1916600160401b1785555b610c5c33612831565b6001600f55601080546001600160801b0319166001600160801b0388161790558315610cc257845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050565b610cd381611bfa565b610cf05760405163510b8aad60e11b815260040160405180910390fd5b6001600160a01b0381165f9081526020819052604090206001810154600160c01b900460ff1615610d345760405163510ae2bd60e11b815260040160405180910390fd5b806002018054610d4390613e5e565b90505f03610d645760405163970c784d60e01b815260040160405180910390fd5b335f90815260076020526040902080546001600160a01b03848116911603610d9f57604051630d41c52760e01b815260040160405180910390fd5b80546001600160a01b031615610db957610db7612402565b505b604080516080810182526001600160a01b03808616825233803160208085019182525f85870181815260608701828152948252600790925295909520935184549084166001600160a01b03199182161785559051600185015593516002840180549184169186169190911790555160039092018054928216929093169190911790915560085416610e6b5760088054336001600160a01b03199182168117909255600980549091169091179055610ec2565b600980546001600160a01b039081165f9081526007602052604080822060030180546001600160a01b0319908116339081179092558554828552929093206002018054841692909416919091179092558254161790555b600a8054905f610ed18361401b565b9091555050815433319083905f90610eea908490613ff5565b909155505060018281018054601090610f14908490600160801b90046001600160401b0316614033565b82546001600160401b039182166101009390930a928302919092021990911617905550604080513381526001600160a01b03851660208201527fce0c7a2a940807f7dc2ce7a615c2532e915e6c0ac9a08bc4ed9d515a710a53e2910160405180910390a1505050565b610f856122cd565b610f8e5f612842565b565b610f986122cd565b60115415610fb9576040516349625b3b60e01b815260040160405180910390fd5b6001600160a01b0384165f9081526001602052604090205460ff1615610ff25760405163132e7efb60e31b815260040160405180910390fd5b60025f8484604051611005929190614052565b604080519182900390912082526020820192909252015f205460ff161561103f57604051637e4c066f60e01b815260040160405180910390fd5b811561104f5761104f83836121e6565b5f6040518060a001604052805f81526020015f6001600160801b031681526020015f6001600160401b03168152602001831515815260200185858080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201829052509390945250506001600160a01b0388168152600160208181526040808420805460ff19168417905583825292839020855181559085015191810180549386015160608701511515600160c01b0260ff60c01b196001600160401b03909216600160801b026001600160c01b03199096166001600160801b03909516949094179490941793909316919091179091556080830151929350839290915060028201906111629082613ed4565b5050600380546001810182555f919091527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0180546001600160a01b0319166001600160a01b0388161790555081156111ca5760068054905f6111c48361401b565b91905055505b6111d3856128b2565b156111e1576111e18561225a565b7f61809fa303a3a57f4d70552f533f3e0b003173d424590cd4bb22a2afe000990c8585856040516108dd93929190613f8e565b61121d33611bfa565b61123a5760405163510b8aad60e11b815260040160405180910390fd5b611246848484846120d5565b611263576040516392536faf60e01b815260040160405180910390fd5b61126d84846121e6565b335f908152602081905260409020600201611289848683614061565b50611293336128b2565b80156112a557506112a3336128fb565b155b156112b3576112b33361225a565b7f4af0b5984c9f88659d661fb64dcb63a5b946809cf1c78a8c6e0f6ef93c9170323385856040516112e693929190613f8e565b60405180910390a150505050565b600c546060905f906001600160401b0381111561131357611313613bbb565b60405190808252806020026020018201604052801561134c57816020015b611339613795565b8152602001906001900390816113315790505b5090505f5b600c548110156114b1575f600c828154811061136f5761136f613fcd565b5f918252602080832091909101546001600160a01b031680835282825260409283902083518085018552828152845160a0810186528254815260018301546001600160801b03811682870152600160801b81046001600160401b031696820196909652600160c01b90950460ff1615156060860152600282018054939650919490938401929091859160808401919061140790613e5e565b80601f016020809104026020016040519081016040528092919081815260200182805461143390613e5e565b801561147e5780601f106114555761010080835404028352916020019161147e565b820191905f5260205f20905b81548152906001019060200180831161146157829003601f168201915b50505050508152505081525084848151811061149c5761149c613fcd565b60209081029190910101525050600101611351565b50919050565b6114c033611bfa565b6114dd5760405163668191af60e11b815260040160405180910390fd5b335f9081526020819052604090206001810154600160c01b900460ff161561151857604051632d8b5c9760e21b815260040160405180910390fd5b600f546004541161153c57604051633b15f1f760e21b815260040160405180910390fd5b6001818101805460ff60c01b1916600160c01b179055600680545f90611563908490613ff5565b9091555061157290503361295d565b60018101546001600160801b0316156115fc5760018101546040515f9133916001600160801b03909116908381818185875af1925050503d805f81146115d3576040519150601f19603f3d011682016040523d82523d5f602084013e6115d8565b606091505b50509050806115fa57604051633c31275160e21b815260040160405180910390fd5b505b6040513381527f24250fc1ec78a1405ddd4cc8b75964858af228d05faa8d4bc1302966d8a54117906020016109db565b6116346122cd565b8060ff165f0361165757604051630e52390960e41b815260040160405180910390fd5b60ff8116600f55611666612a6d565b61166e612c0b565b600d80546001600160a01b03191690556004545f906116939060ff8416908390612c5c565b90508060ff165f036116b8576040516367c0fced60e01b815260040160405180910390fd5b5f5b6004548110156119c5575f600482815481106116d8576116d8613fcd565b5f9182526020808320909101546001600160a01b031680835290829052604090912060018101549192509060ff600160c01b9091041680611727575080600201805461172390613e5e565b1590505b156117335750506119bd565b600d546001600160a01b031661176e5750600d80546001600160a01b0319166001600160a01b03929092169190911790556001600e556119bd565b8360ff16600e54101561178c576117858285612cae565b50506119bd565b600d546001600160a01b039081165f9081526020818152604091829020825180840184529386168452825160a0810184528554815260018601546001600160801b03811682850152600160801b81046001600160401b031694820194909452600160c01b90930460ff161515606084015260028501805491946119aa9490938401929091879160808401919061182190613e5e565b80601f016020809104026020016040519081016040528092919081815260200182805461184d90613e5e565b80156118985780601f1061186f57610100808354040283529160200191611898565b820191905f5260205f20905b81548152906001019060200180831161187b57829003601f168201915b505050919092525050509052604080518082018252600d546001600160a01b03168152815160a0810183528554815260018601546001600160801b038116602080840191909152600160801b82046001600160401b031694830194909452600160c01b900460ff161515606082015260028601805492938401928791608084019161192290613e5e565b80601f016020809104026020016040519081016040528092919081815260200182805461194e90613e5e565b80156119995780601f1061197057610100808354040283529160200191611999565b820191905f5260205f20905b81548152906001019060200180831161197c57829003601f168201915b5050505050815250508152506130f3565b156119b9576119b98386612cae565b5050505b6001016116ba565b50600e545f036119e8576040516367c0fced60e01b815260040160405180910390fd5b600d54600e546001600160a01b03909116905f906001600160401b03811115611a1357611a13613bbb565b604051908082528060200260200182016040528015611a3c578160200160208202803683370190505b5090505f5b600e54811015611a965782828281518110611a5e57611a5e613fcd565b6001600160a01b039283166020918202929092018101919091529381165f908152600b90945260409093205490921691600101611a41565b50611aa08161312f565b601180546001810182555f9182527f31ecc21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c680190611add90600c906137f6565b600f546001600160401b03811115611af757611af7613bbb565b604051908082528060200260200182016040528015611b20578160200160208202803683370190505b508051611b3591600c91602090910190613811565b505f5b600f54811015610cc2575f83600e5483611b52919061411a565b81518110611b6257611b62613fcd565b6020026020010151905080600c8381548110611b8057611b80613fcd565b5f918252602080832090910180546001600160a01b039485166001600160a01b0319918216179091556040805180820182529585168087528452838352832054858301908152875460018181018a558986529390942095516002909402909501805493909416921691909117825591519082015501611b38565b6001600160a01b03165f9081526001602052604090205460ff1690565b611c1f6122cd565b828114611c6b5760405162461bcd60e51b81526020600482015260156024820152740d2dce0eae840d8cadccee8d040dad2e6dac2e8c6d605b1b60448201526064015b60405180910390fd5b5f5b83811015611cd357611ccb858583818110611c8a57611c8a613fcd565b9050602002016020810190611c9f91906138a3565b848484818110611cb157611cb1613fcd565b9050602002016020810190611cc691906138a3565b613246565b600101611c6d565b5050505050565b6060611ce46122cd565b5f611cf2835f600a54612c5c565b6001600160401b03811115611d0957611d09613bbb565b604051908082528060200260200182016040528015611d4d57816020015b604080518082019091525f8082526020820152815260200190600190039081611d275790505b506008549091506001600160a01b0390811690851615611d8657506001600160a01b038085165f90815260076020526040902060030154165b5f5b6001600160a01b03821615801590611d9f57508481105b15611e14576001600160a01b038083165f818152600760209081526040918290208251808401909352928252825490931692810192909252908483611de38161401b565b945081518110611df557611df5613fcd565b6020908102919091010152600301546001600160a01b03169150611d88565b80835103611e2757829350505050610b73565b5f816001600160401b03811115611e4057611e40613bbb565b604051908082528060200260200182016040528015611e8457816020015b604080518082019091525f8082526020820152815260200190600190039081611e5e5790505b5090505f5b82811015611ed057848181518110611ea357611ea3613fcd565b6020026020010151828281518110611ebd57611ebd613fcd565b6020908102919091010152600101611e89565b509695505050505050565b611ee36122cd565b6001600160a01b038116611f0c57604051631e4fbdf760e01b81525f6004820152602401611c62565b611f1581612842565b50565b6003546060905f906001600160401b03811115611f3757611f37613bbb565b604051908082528060200260200182016040528015611f7057816020015b611f5d613795565b815260200190600190039081611f555790505b5090505f5b6003548110156114b1575f60038281548110611f9357611f93613fcd565b5f918252602080832091909101546001600160a01b031680835282825260409283902083518085018552828152845160a0810186528254815260018301546001600160801b03811682870152600160801b81046001600160401b031696820196909652600160c01b90950460ff1615156060860152600282018054939650919490938401929091859160808401919061202b90613e5e565b80601f016020809104026020016040519081016040528092919081815260200182805461205790613e5e565b80156120a25780601f10612079576101008083540402835291602001916120a2565b820191905f5260205f20905b81548152906001019060200180831161208557829003601f168201915b5050505050815250508152508484815181106120c0576120c0613fcd565b60209081029190910101525050600101611f75565b5f603084146120f757604051637db491eb60e01b815260040160405180910390fd5b6060821461211857604051637db491eb60e01b815260040160405180910390fd5b5f858585856040516020016121309493929190614139565b60405160208183030381529060405290505f5f63011812006001600160a01b03168360405161215f9190614158565b5f60405180830381855afa9150503d805f8114612197576040519150601f19603f3d011682016040523d82523d5f602084013e61219c565b606091505b50915091508115806121b057508051602014155b156121ce57604051633f48ffd960e21b815260040160405180910390fd5b6121d781614173565b60011498975050505050505050565b5f82826040516121f7929190614052565b60408051918290039091205f8181526002602052919091205490915060ff161561223457604051637e4c066f60e01b815260040160405180910390fd5b61223e83836134b2565b5f908152600260205260409020805460ff191660011790555050565b60048054600180820183555f8390527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b90910180546001600160a01b0319166001600160a01b03851617905590546122b29190614008565b6001600160a01b039091165f90815260056020526040902055565b336122ff7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b031614610f8e5760405163118cdaa760e01b8152336004820152602401611c62565b6001600160a01b038082165f908152600760205260409020805490911661234d575050565b60018101546001600160a01b038316318110156123ab57612378816001600160a01b03851631614008565b82546001600160a01b03165f90815260208190526040812080549091906123a0908490613ff5565b909155506123ed9050565b6123bf6001600160a01b0384163182614008565b82546001600160a01b03165f90815260208190526040812080549091906123e7908490614008565b90915550505b506001600160a01b0390911631600190910155565b335f90815260076020526040812080546001600160a01b03166124385760405163498ea63d60e01b815260040160405180910390fd5b6009546008546001600160a01b0391821691160361247157600880546001600160a01b0319908116909155600980549091169055612584565b600954336001600160a01b03909116036124ca576002810180546001600160a01b039081165f90815260076020526040902060030180546001600160a01b03199081169091559154600980549093169116179055612584565b600854336001600160a01b039091160361252e576009546001600160a01b039081165f9081526007602052604080822060020180546001600160a01b0319908116909155600880548086168552929093206003015491169216919091179055612584565b60038181018054600280850180546001600160a01b039081165f9081526007602052604080822090970180549583166001600160a01b031996871617905591549454811682529490200180549290931691161790555b80546001600160a01b03165f81815260208190526040812060018401548154919290918391906125b5908490614008565b9091555050600181810180546010906125df908490600160801b90046001600160401b0316614196565b82546001600160401b039182166101009390930a928302919092021990911617905550335f90815260076020526040812080546001600160a01b031990811682556001820183905560028201805482169055600390910180549091169055600a80549161264b836141b5565b9091555091949350505050565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806126de57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166126d25f5160206141f65f395f51905f52546001600160a01b031690565b6001600160a01b031614155b15610f8e5760405163703e46dd60e11b815260040160405180910390fd5b611f156122cd565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561275e575060408051601f3d908101601f1916820190925261275b918101906141ca565b60015b61278657604051634c9c8ce360e01b81526001600160a01b0383166004820152602401611c62565b5f5160206141f65f395f51905f5281146127b657604051632a87526960e21b815260048101829052602401611c62565b61093583836134d3565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610f8e5760405163703e46dd60e11b815260040160405180910390fd5b5f807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00610b73565b612839613528565b611f158161354d565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a3505050565b6001600160a01b0381165f9081526020819052604081206001810154600160c01b900460ff161580156128f457508060020180546128ef90613e5e565b151590505b9392505050565b6001600160a01b0381165f90815260056020526040812054600454811061292457505f92915050565b826001600160a01b03166004828154811061294157612941613fcd565b5f918252602090912001546001600160a01b0316149392505050565b612966816128fb565b61296d5750565b6001600160a01b0381165f9081526005602052604081205460045490919061299790600190614008565b9050808214612a1c575f600482815481106129b4576129b4613fcd565b5f91825260209091200154600480546001600160a01b0390921692508291859081106129e2576129e2613fcd565b5f91825260208083209190910180546001600160a01b0319166001600160a01b039485161790559290911681526005909152604090208290555b6004805480612a2d57612a2d6141e1565b5f828152602080822083015f1990810180546001600160a01b03191690559092019092556001600160a01b03949094168152600590935250506040812055565b6004545f819003612a7b5750565b5f612a87600183614008565b90505b8015610b94575f612a9c826001613ff5565b60408051426020820152908101849052606001604051602081830303815290604052805190602001205f1c612ad1919061411a565b9050808203612ae05750612bf9565b5f60048381548110612af457612af4613fcd565b5f918252602082200154600480546001600160a01b0390921693509084908110612b2057612b20613fcd565b5f91825260209091200154600480546001600160a01b0390921692509084908110612b4d57612b4d613fcd565b5f91825260209091200154600480546001600160a01b039092169186908110612b7857612b78613fcd565b905f5260205f20015f6101000a8154816001600160a01b0302191690836001600160a01b031602179055508160048481548110612bb757612bb7613fcd565b5f91825260208083209190910180546001600160a01b0319166001600160a01b0394851617905593821681526005909352604080842094909455168152208190555b80612c03816141b5565b915050612a8a565b600d546001600160a01b03165b6001600160a01b03811615612c55576001600160a01b039081165f908152600b6020526040902080546001600160a01b0319811690915516612c18565b505f600e55565b5f81831115612c8857604051632457cde760e01b81526004810184905260248101839052604401611c62565b82841015612c975750816128f4565b81841115612ca65750806128f4565b509192915050565b6001600160a01b0382165f90815260208181526040808320815160a0810183528154815260018201546001600160801b03811694820194909452600160801b84046001600160401b031692810192909252600160c01b90920460ff1615156060820152600282018054919291608084019190612d2990613e5e565b80601f0160208091040260200160405190810160405280929190818152602001828054612d5590613e5e565b8015612da05780601f10612d7757610100808354040283529160200191612da0565b820191905f5260205f20905b815481529060010190602001808311612d8357829003601f168201915b505050919092525050604080518082018252600d546001600160a01b03168082525f908152602081815290839020835160a0810185528154815260018201546001600160801b03811682850152600160801b81046001600160401b031695820195909552600160c01b90940460ff1615156060850152600281018054969750612ee196939550918501939290916080840191612e3b90613e5e565b80601f0160208091040260200160405190810160405280929190818152602001828054612e6790613e5e565b8015612eb25780601f10612e8957610100808354040283529160200191612eb2565b820191905f5260205f20905b815481529060010190602001808311612e9557829003601f168201915b5050505050815250508152506040518060400160405280866001600160a01b03168152602001848152506130f3565b15612ef457612eef83613555565b613094565b600d546001600160a01b039081165f818152600b6020526040902054909116905b6001600160a01b038216612f3257612f2d81866135a6565b613091565b6040805180820182526001600160a01b0384168082525f908152602081815290839020835160a0810185528154815260018201546001600160801b03811682850152600160801b81046001600160401b031695820195909552600160c01b90940460ff1615156060850152600281018054613061959385019392916080840191612fbb90613e5e565b80601f0160208091040260200160405190810160405280929190818152602001828054612fe790613e5e565b80156130325780601f1061300957610100808354040283529160200191613032565b820191905f5260205f20905b81548152906001019060200180831161301557829003601f168201915b5050505050815250508152506040518060400160405280886001600160a01b03168152602001868152506130f3565b1561307057612f2d81866135a6565b506001600160a01b038082165f908152600b60205260409020541690612f15565b50505b8160ff16600e54111561093557600d80546001600160a01b039081165f908152600b6020526040812080546001600160a01b03198082169092558454931692168217909255600e805491926130e8836141b5565b919050555050505050565b6020808201515190830151515f91900361311f5750805182516001600160a01b03918216911610610b73565b5060209081015151910151511190565b80515f81900361313d575050565b5f613149600183614008565b90505b8015610935575f61315e826001613ff5565b60408051426020820152908101849052606001604051602081830303815290604052805190602001205f1c613193919061411a565b90505f8483815181106131a8576131a8613fcd565b602002602001015190508482815181106131c4576131c4613fcd565b60200260200101518584815181106131de576131de613fcd565b60200260200101906001600160a01b031690816001600160a01b0316815250508085838151811061321157613211613fcd565b60200260200101906001600160a01b031690816001600160a01b0316815250505050808061323e906141b5565b91505061314c565b60115415613267576040516349625b3b60e01b815260040160405180910390fd5b61327081611bfa565b61328d5760405163510b8aad60e11b815260040160405180910390fd5b6001600160a01b038083165f9081526007602052604090208054909116156132c857604051637c9a1cf960e01b815260040160405180910390fd5b604080516080810182526001600160a01b038085168252858116803160208085019182525f85870181815260608701828152948252600790925295909520935184549084166001600160a01b0319918216178555905160018501559351600284018054918416918616919091179055516003909201805492821692909316919091179091556008541661338557600880546001600160a01b0385166001600160a01b031991821681179092556009805490911690911790556133dd565b600980546001600160a01b039081165f9081526007602052604080822060030180548489166001600160a01b031991821681179092558554828552929093206002018054841692909416919091179092558254161790555b600a8054905f6133ec8361401b565b90915550506001600160a01b038083165f9081526020819052604081208054909286163191839161341e908490613ff5565b909155505060018181018054601090613448908490600160801b90046001600160401b0316614033565b92506101000a8154816001600160401b0302191690836001600160401b031602179055507fce0c7a2a940807f7dc2ce7a615c2532e915e6c0ac9a08bc4ed9d515a710a53e284846040516112e69291906001600160a01b0392831681529116602082015260400190565b60308114610b94576040516305db9dbd60e01b815260040160405180910390fd5b6134dc82613604565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a2805115613520576109358282613667565b610b946136d9565b6135306136f8565b610f8e57604051631afcd79f60e31b815260040160405180910390fd5b611ee3613528565b600d80546001600160a01b038381165f818152600b602052604081208054939094166001600160a01b031993841617909355835490911617909155600e80549161359e8361401b565b919050555050565b6001600160a01b038281165f818152600b602052604080822080548686168085529284208054919096166001600160a01b03199182161790955592825282549093169092179055600e8054916135fb8361401b565b91905055505050565b806001600160a01b03163b5f0361363957604051634c9c8ce360e01b81526001600160a01b0382166004820152602401611c62565b5f5160206141f65f395f51905f5280546001600160a01b0319166001600160a01b0392909216919091179055565b60605f5f846001600160a01b0316846040516136839190614158565b5f60405180830381855af49150503d805f81146136bb576040519150601f19603f3d011682016040523d82523d5f602084013e6136c0565b606091505b50915091506136d0858383613711565b95945050505050565b3415610f8e5760405163b398979f60e01b815260040160405180910390fd5b5f613701612809565b54600160401b900460ff16919050565b606082613726576137218261376d565b6128f4565b815115801561373d57506001600160a01b0384163b155b1561376657604051639996b31560e01b81526001600160a01b0385166004820152602401611c62565b50806128f4565b80511561377c57805160208201fd5b60405163d6bda27560e01b815260040160405180910390fd5b60405180604001604052805f6001600160a01b031681526020016137f16040518060a001604052805f81526020015f6001600160801b031681526020015f6001600160401b031681526020015f15158152602001606081525090565b905290565b5080545f8255905f5260205f2090810190611f159190613874565b828054828255905f5260205f20908101928215613864579160200282015b8281111561386457825182546001600160a01b0319166001600160a01b0390911617825560209092019160019091019061382f565b50613870929150613874565b5090565b5b80821115613870575f8155600101613875565b80356001600160a01b038116811461389e575f5ffd5b919050565b5f602082840312156138b3575f5ffd5b6128f482613888565b5f5b838110156138d65781810151838201526020016138be565b50505f910152565b5f81518084526138f58160208601602086016138bc565b601f01601f19169290920160200192915050565b60018060a01b0381511682525f602082015160406020850152805160408501526001600160801b0360208201511660608501526001600160401b0360408201511660808501526060810151151560a08501526080810151905060a060c085015261397660e08501826138de565b949350505050565b602081525f6128f46020830184613909565b5f5f83601f8401126139a0575f5ffd5b5081356001600160401b038111156139b6575f5ffd5b6020830191508360208285010111156139cd575f5ffd5b9250929050565b5f5f5f5f604085870312156139e7575f5ffd5b84356001600160401b038111156139fc575f5ffd5b613a0887828801613990565b90955093505060208501356001600160401b03811115613a26575f5ffd5b613a3287828801613990565b95989497509550505050565b5f5f83601f840112613a4e575f5ffd5b5081356001600160401b03811115613a64575f5ffd5b6020830191508360208260051b85010111156139cd575f5ffd5b5f5f60208385031215613a8f575f5ffd5b82356001600160401b03811115613aa4575f5ffd5b613ab085828601613a3e565b90969095509350505050565b5f60208284031215613acc575f5ffd5b81356001600160801b03811681146128f4575f5ffd5b5f5f60408385031215613af3575f5ffd5b50508035926020909101359150565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b82811015613baf57868503603f19018452815180518652602090810151604082880181905281519088018190529101905f9060608801905b80831015613b9757835180516001600160a01b03168352602090810151818401529093019260019290920191604090910190613b60565b50965050506020938401939190910190600101613b28565b50929695505050505050565b634e487b7160e01b5f52604160045260245ffd5b5f5f60408385031215613be0575f5ffd5b613be983613888565b915060208301356001600160401b03811115613c03575f5ffd5b8301601f81018513613c13575f5ffd5b80356001600160401b03811115613c2c57613c2c613bbb565b604051601f8201601f19908116603f011681016001600160401b0381118282101715613c5a57613c5a613bbb565b604052818152828201602001871015613c71575f5ffd5b816020840160208301375f602083830101528093505050509250929050565b5f5f5f5f60608587031215613ca3575f5ffd5b613cac85613888565b935060208501356001600160401b03811115613cc6575f5ffd5b613cd287828801613990565b90945092505060408501358015158114613cea575f5ffd5b939692955090935050565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b82811015613baf57603f19878603018452613d37858351613909565b94506020938401939190910190600101613d1b565b602081525f6128f460208301846138de565b5f60208284031215613d6e575f5ffd5b813560ff811681146128f4575f5ffd5b5f5f5f5f60408587031215613d91575f5ffd5b84356001600160401b03811115613da6575f5ffd5b613db287828801613a3e565b90955093505060208501356001600160401b03811115613dd0575f5ffd5b613a3287828801613a3e565b5f5f60408385031215613ded575f5ffd5b613df683613888565b946020939093013593505050565b602080825282518282018190525f918401906040840190835b81811015613e5357835180516001600160a01b039081168552602091820151168185015290930192604090920191600101613e1d565b509095945050505050565b600181811c90821680613e7257607f821691505b6020821081036114b157634e487b7160e01b5f52602260045260245ffd5b601f82111561093557805f5260205f20601f840160051c81016020851015613eb55750805b601f840160051c820191505b81811015611cd3575f8155600101613ec1565b81516001600160401b03811115613eed57613eed613bbb565b613f0181613efb8454613e5e565b84613e90565b6020601f821160018114613f33575f8315613f1c5750848201515b5f19600385901b1c1916600184901b178455611cd3565b5f84815260208120601f198516915b82811015613f625787850151825560209485019460019092019101613f42565b5084821015613f7f57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b6001600160a01b03841681526040602082018190528101829052818360608301375f818301606090810191909152601f909201601f1916010192915050565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b80820180821115610b7357610b73613fe1565b81810381811115610b7357610b73613fe1565b5f6001820161402c5761402c613fe1565b5060010190565b6001600160401b038181168382160190811115610b7357610b73613fe1565b818382375f9101908152919050565b6001600160401b0383111561407857614078613bbb565b61408c836140868354613e5e565b83613e90565b5f601f8411600181146140bd575f85156140a65750838201355b5f19600387901b1c1916600186901b178355611cd3565b5f83815260208120601f198716915b828110156140ec57868501358255602094850194600190920191016140cc565b5086821015614108575f1960f88860031b161c19848701351681555b505060018560011b0183555050505050565b5f8261413457634e487b7160e01b5f52601260045260245ffd5b500690565b838582375f8482015f8152838582375f93019283525090949350505050565b5f82516141698184602087016138bc565b9190910192915050565b805160208083015191908110156114b1575f1960209190910360031b1b16919050565b6001600160401b038281168282160390811115610b7357610b73613fe1565b5f816141c3576141c3613fe1565b505f190190565b5f602082840312156141da575f5ffd5b5051919050565b634e487b7160e01b5f52603160045260245ffdfe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220239ca47940153ca95050e872fcd474f2e4c0506fb5d9affc9c904a9db13f056864736f6c634300081b0033",
|
|
451
|
+
"sourceMap": "1684:23443:34:-:0;;;1171:4:21;1128:48;;1684:23443:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;",
|
|
452
|
+
"linkReferences": {}
|
|
453
|
+
},
|
|
454
|
+
"methodIdentifiers": {
|
|
455
|
+
"UPGRADE_INTERFACE_VERSION()": "ad3cb1cc",
|
|
456
|
+
"activeValidatorsCount()": "0d2bd909",
|
|
457
|
+
"addValidator(address,bytes,bool)": "7c8a92c3",
|
|
458
|
+
"addVotes(address[],address[])": "e9257dc8",
|
|
459
|
+
"calculateRoundValidators(uint8)": "c5a74449",
|
|
460
|
+
"fee()": "ddca3f43",
|
|
461
|
+
"getAllValidators()": "f3513a37",
|
|
462
|
+
"getRoundValidators()": "a250eaf1",
|
|
463
|
+
"getRounds(uint256,uint256)": "40f74f47",
|
|
464
|
+
"getRoundsCount()": "a09686c4",
|
|
465
|
+
"getValidator(address)": "1904bb2e",
|
|
466
|
+
"getVotes(address,uint256)": "eb9019d4",
|
|
467
|
+
"getVotesCount()": "1b605b86",
|
|
468
|
+
"initialize(uint128)": "56db9ef1",
|
|
469
|
+
"isValidatorRegistered(address)": "d04a68c7",
|
|
470
|
+
"owner()": "8da5cb5b",
|
|
471
|
+
"proxiableUUID()": "52d1902d",
|
|
472
|
+
"registerValidator(bytes,bytes)": "226f2645",
|
|
473
|
+
"renounceOwnership()": "715018a6",
|
|
474
|
+
"resignValidator()": "b85f5da2",
|
|
475
|
+
"resignedValidatorsCount()": "0777cbef",
|
|
476
|
+
"roundValidatorsCount()": "b84d356e",
|
|
477
|
+
"setFee(uint128)": "3687f24a",
|
|
478
|
+
"transferOwnership(address)": "f2fde38b",
|
|
479
|
+
"unvote()": "3174b689",
|
|
480
|
+
"updateValidator(bytes,bytes)": "8f062626",
|
|
481
|
+
"updateVoters(address[])": "2bdf6d43",
|
|
482
|
+
"upgradeToAndCall(address,bytes)": "4f1ef286",
|
|
483
|
+
"validatorsCount()": "ed612f8c",
|
|
484
|
+
"version()": "54fd4d50",
|
|
485
|
+
"vote(address)": "6dd7d8ea"
|
|
486
|
+
},
|
|
487
|
+
"rawMetadata": "{\"compiler\":{\"version\":\"0.8.27+commit.40a35a09\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AlreadyVoted\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"BellowMinValidators\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"BlsKeyAlreadyRegistered\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"BlsKeyIsInvalid\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CallerIsNotValidator\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC1967NonPayable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ImportIsNotAllowed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidFee\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInputLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidParameters\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidProofOfPossession\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"min\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"max\",\"type\":\"uint256\"}],\"name\":\"InvalidRange\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MissingVote\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NoActiveValidators\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnableInvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"OwnableUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PrecompileCallFailed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RefundFailed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UUPSUnauthorizedCallContext\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"UUPSUnsupportedProxiableUUID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ValidatorAlreadyRegistered\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ValidatorAlreadyResigned\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ValidatorNotRegistered\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"VoteResignedValidator\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"VoteSameValidator\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"VoteValidatorWithoutBlsPublicKey\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"fee\",\"type\":\"uint256\"}],\"name\":\"FeeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"validator\",\"type\":\"address\"}],\"name\":\"Unvoted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"blsPublicKey\",\"type\":\"bytes\"}],\"name\":\"ValidatorRegistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"ValidatorResigned\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"blsPublicKey\",\"type\":\"bytes\"}],\"name\":\"ValidatorUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"validator\",\"type\":\"address\"}],\"name\":\"Voted\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"UPGRADE_INTERFACE_VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"activeValidatorsCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"blsPublicKey\",\"type\":\"bytes\"},{\"internalType\":\"bool\",\"name\":\"isResigned\",\"type\":\"bool\"}],\"name\":\"addValidator\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"voters\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"validators\",\"type\":\"address[]\"}],\"name\":\"addVotes\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"n\",\"type\":\"uint8\"}],\"name\":\"calculateRoundValidators\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"fee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAllValidators\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"voteBalance\",\"type\":\"uint256\"},{\"internalType\":\"uint128\",\"name\":\"fee\",\"type\":\"uint128\"},{\"internalType\":\"uint64\",\"name\":\"votersCount\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"isResigned\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"blsPublicKey\",\"type\":\"bytes\"}],\"internalType\":\"struct ConsensusV1.ValidatorData\",\"name\":\"data\",\"type\":\"tuple\"}],\"internalType\":\"struct ConsensusV1.Validator[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRoundValidators\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"voteBalance\",\"type\":\"uint256\"},{\"internalType\":\"uint128\",\"name\":\"fee\",\"type\":\"uint128\"},{\"internalType\":\"uint64\",\"name\":\"votersCount\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"isResigned\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"blsPublicKey\",\"type\":\"bytes\"}],\"internalType\":\"struct ConsensusV1.ValidatorData\",\"name\":\"data\",\"type\":\"tuple\"}],\"internalType\":\"struct ConsensusV1.Validator[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"offset\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"count\",\"type\":\"uint256\"}],\"name\":\"getRounds\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"round\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"voteBalance\",\"type\":\"uint256\"}],\"internalType\":\"struct ConsensusV1.RoundValidator[]\",\"name\":\"validators\",\"type\":\"tuple[]\"}],\"internalType\":\"struct ConsensusV1.Round[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRoundsCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"getValidator\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"voteBalance\",\"type\":\"uint256\"},{\"internalType\":\"uint128\",\"name\":\"fee\",\"type\":\"uint128\"},{\"internalType\":\"uint64\",\"name\":\"votersCount\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"isResigned\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"blsPublicKey\",\"type\":\"bytes\"}],\"internalType\":\"struct ConsensusV1.ValidatorData\",\"name\":\"data\",\"type\":\"tuple\"}],\"internalType\":\"struct ConsensusV1.Validator\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"count\",\"type\":\"uint256\"}],\"name\":\"getVotes\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"validator\",\"type\":\"address\"}],\"internalType\":\"struct ConsensusV1.VoteResult[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getVotesCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint128\",\"name\":\"registrationFee\",\"type\":\"uint128\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"isValidatorRegistered\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"blsPublicKey\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"proofOfPossession\",\"type\":\"bytes\"}],\"name\":\"registerValidator\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"resignValidator\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"resignedValidatorsCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"roundValidatorsCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint128\",\"name\":\"registrationFee\",\"type\":\"uint128\"}],\"name\":\"setFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unvote\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"blsPublicKey\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"proofOfPossession\",\"type\":\"bytes\"}],\"name\":\"updateValidator\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"voters\",\"type\":\"address[]\"}],\"name\":\"updateVoters\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"validatorsCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"vote\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}],\"ERC1967InvalidImplementation(address)\":[{\"details\":\"The `implementation` of the proxy is invalid.\"}],\"ERC1967NonPayable()\":[{\"details\":\"An upgrade function sees `msg.value > 0` that may be lost.\"}],\"FailedCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"OwnableInvalidOwner(address)\":[{\"details\":\"The owner is not a valid owner account. (eg. `address(0)`)\"}],\"OwnableUnauthorizedAccount(address)\":[{\"details\":\"The caller account is not authorized to perform an operation.\"}],\"UUPSUnauthorizedCallContext()\":[{\"details\":\"The call is from an unauthorized context.\"}],\"UUPSUnsupportedProxiableUUID(bytes32)\":[{\"details\":\"The storage `slot` is unsupported as a UUID.\"}]},\"events\":{\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC-1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/consensus/ConsensusV1.sol\":\"ConsensusV1\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@contracts/=src/\",\":@forge-std/=lib/forge-std/src/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts-upgradeable/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\"]},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0xc163fcf9bb10138631a9ba5564df1fa25db9adff73bd9ee868a8ae1858fe093a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9706d43a0124053d9880f6e31a59f31bc0a6a3dc1acd66ce0a16e1111658c5f6\",\"dweb:/ipfs/QmUFmfowzkRwGtDu36cXV9SPTBHJ3n7dG9xQiK5B28jTf2\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0xdb4d24ee2c087c391d587cd17adfe5b3f9d93b3110b1388c2ab6c7c0ad1dcd05\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab7b6d5b9e2b88176312967fe0f0e78f3d9a1422fa5e4b64e2440c35869b5d08\",\"dweb:/ipfs/QmXKYWWyzcLg1B2k7Sb1qkEXgLCYfXecR9wYW5obRzWP1Q\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0x574a7451e42724f7de29e2855c392a8a5020acd695169466a18459467d719d63\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5bc189f63b639ee173dd7b6fecc39baf7113bf161776aea22b34c57fdd1872ec\",\"dweb:/ipfs/QmZAf2VtjDLRULqjJkde6LNsxAg12tUqpPqgUQQZbAjgtZ\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xb25a4f11fa80c702bf5cd85adec90e6f6f507f32f4a8e6f5dbc31e8c10029486\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6917f8a323e7811f041aecd4d9fd6e92455a6fba38a797ac6f6e208c7912b79d\",\"dweb:/ipfs/QmShuYv55wYHGi4EFkDB8QfF7ZCHoKk2efyz3AWY1ExSq7\"]},\"lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0xc42facb5094f2f35f066a7155bda23545e39a3156faef3ddc00185544443ba7d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d3b36282ab029b46bd082619a308a2ea11c309967b9425b7b7a6eb0b0c1c3196\",\"dweb:/ipfs/QmP2YVfDB2FoREax3vJu7QhDnyYRMw52WPrCD4vdT2kuDA\"]},\"lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0x8decfa54cec979c824b044b8128cd91d713f72c71fd7dfa54974624d8c949898\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://271f914261a19d87117a777e0924ada545c16191ef9b00cc40b0134fc14ebc70\",\"dweb:/ipfs/QmdvVNWHGHQrGGPonZJs5NuzTevTjZRM2zayKrDJf7WBA2\"]},\"lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xc59a78b07b44b2cf2e8ab4175fca91e8eca1eee2df7357b8d2a8833e5ea1f64c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5aa4f07e65444784c29cd7bfcc2341b34381e4e5b5da9f0c5bd00d7f430e66fa\",\"dweb:/ipfs/QmWRMh4Q9DpaU9GvsiXmDdoNYMyyece9if7hnfLz7uqzWM\"]},\"lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x06871a0948d0fed9316ae59ee4368527e144911f5e284755312b5bfcde8b27ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3c30e46d061d8a450c561935a1236b1885aa76ffab93a19b26dcb8868c839843\",\"dweb:/ipfs/QmZbWbeDyixTyYkVtJvuiQYfkQz12pS7zxWZF3Ju9PYwGH\"]},\"lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"src/consensus/BLSPoP.sol\":{\"keccak256\":\"0x19842d7113033964e1f51c97458aa44cb5efc41618b67fc7f949f48824cfd3ee\",\"license\":\"GNU GENERAL PUBLIC LICENSE\",\"urls\":[\"bzz-raw://a6d8f6d87bef7eff7b1e475d1f82ed401c20e5f83a9cdd8724dd27fc67a1ef26\",\"dweb:/ipfs/QmbyRGmCF1vi5NwZmN9p4T55XVs2kdoRJx8ZiBFU4evRYe\"]},\"src/consensus/ConsensusV1.sol\":{\"keccak256\":\"0x32c0841d05f559c4dbbaf2478891e7e1979e6d6f4b541cde9ada1e3b3747eac9\",\"license\":\"GNU GENERAL PUBLIC LICENSE\",\"urls\":[\"bzz-raw://35a52180a27c0818efa6cc80445db16c9d655a0004bfb1db599c0dc5d0588ee4\",\"dweb:/ipfs/Qmd4cjwm4CWNJFihLM4sbNqSEPALoXXfsdDS3MhDzcvvGR\"]}},\"version\":1}",
|
|
488
|
+
"metadata": {
|
|
489
|
+
"compiler": { "version": "0.8.27+commit.40a35a09" },
|
|
490
|
+
"language": "Solidity",
|
|
491
|
+
"output": {
|
|
492
|
+
"abi": [
|
|
493
|
+
{
|
|
494
|
+
"inputs": [{ "internalType": "address", "name": "target", "type": "address" }],
|
|
495
|
+
"type": "error",
|
|
496
|
+
"name": "AddressEmptyCode"
|
|
497
|
+
},
|
|
498
|
+
{ "inputs": [], "type": "error", "name": "AlreadyVoted" },
|
|
499
|
+
{ "inputs": [], "type": "error", "name": "BellowMinValidators" },
|
|
500
|
+
{ "inputs": [], "type": "error", "name": "BlsKeyAlreadyRegistered" },
|
|
501
|
+
{ "inputs": [], "type": "error", "name": "BlsKeyIsInvalid" },
|
|
502
|
+
{ "inputs": [], "type": "error", "name": "CallerIsNotValidator" },
|
|
503
|
+
{
|
|
504
|
+
"inputs": [{ "internalType": "address", "name": "implementation", "type": "address" }],
|
|
505
|
+
"type": "error",
|
|
506
|
+
"name": "ERC1967InvalidImplementation"
|
|
507
|
+
},
|
|
508
|
+
{ "inputs": [], "type": "error", "name": "ERC1967NonPayable" },
|
|
509
|
+
{ "inputs": [], "type": "error", "name": "FailedCall" },
|
|
510
|
+
{ "inputs": [], "type": "error", "name": "ImportIsNotAllowed" },
|
|
511
|
+
{ "inputs": [], "type": "error", "name": "InvalidFee" },
|
|
512
|
+
{ "inputs": [], "type": "error", "name": "InvalidInitialization" },
|
|
513
|
+
{ "inputs": [], "type": "error", "name": "InvalidInputLength" },
|
|
514
|
+
{ "inputs": [], "type": "error", "name": "InvalidParameters" },
|
|
515
|
+
{ "inputs": [], "type": "error", "name": "InvalidProofOfPossession" },
|
|
516
|
+
{
|
|
517
|
+
"inputs": [
|
|
518
|
+
{ "internalType": "uint256", "name": "min", "type": "uint256" },
|
|
519
|
+
{ "internalType": "uint256", "name": "max", "type": "uint256" }
|
|
520
|
+
],
|
|
521
|
+
"type": "error",
|
|
522
|
+
"name": "InvalidRange"
|
|
523
|
+
},
|
|
524
|
+
{ "inputs": [], "type": "error", "name": "MissingVote" },
|
|
525
|
+
{ "inputs": [], "type": "error", "name": "NoActiveValidators" },
|
|
526
|
+
{ "inputs": [], "type": "error", "name": "NotInitializing" },
|
|
527
|
+
{
|
|
528
|
+
"inputs": [{ "internalType": "address", "name": "owner", "type": "address" }],
|
|
529
|
+
"type": "error",
|
|
530
|
+
"name": "OwnableInvalidOwner"
|
|
531
|
+
},
|
|
532
|
+
{
|
|
533
|
+
"inputs": [{ "internalType": "address", "name": "account", "type": "address" }],
|
|
534
|
+
"type": "error",
|
|
535
|
+
"name": "OwnableUnauthorizedAccount"
|
|
536
|
+
},
|
|
537
|
+
{ "inputs": [], "type": "error", "name": "PrecompileCallFailed" },
|
|
538
|
+
{ "inputs": [], "type": "error", "name": "RefundFailed" },
|
|
539
|
+
{ "inputs": [], "type": "error", "name": "UUPSUnauthorizedCallContext" },
|
|
540
|
+
{
|
|
541
|
+
"inputs": [{ "internalType": "bytes32", "name": "slot", "type": "bytes32" }],
|
|
542
|
+
"type": "error",
|
|
543
|
+
"name": "UUPSUnsupportedProxiableUUID"
|
|
544
|
+
},
|
|
545
|
+
{ "inputs": [], "type": "error", "name": "ValidatorAlreadyRegistered" },
|
|
546
|
+
{ "inputs": [], "type": "error", "name": "ValidatorAlreadyResigned" },
|
|
547
|
+
{ "inputs": [], "type": "error", "name": "ValidatorNotRegistered" },
|
|
548
|
+
{ "inputs": [], "type": "error", "name": "VoteResignedValidator" },
|
|
549
|
+
{ "inputs": [], "type": "error", "name": "VoteSameValidator" },
|
|
550
|
+
{ "inputs": [], "type": "error", "name": "VoteValidatorWithoutBlsPublicKey" },
|
|
551
|
+
{
|
|
552
|
+
"inputs": [{ "internalType": "uint256", "name": "fee", "type": "uint256", "indexed": false }],
|
|
553
|
+
"type": "event",
|
|
554
|
+
"name": "FeeUpdated",
|
|
555
|
+
"anonymous": false
|
|
556
|
+
},
|
|
557
|
+
{
|
|
558
|
+
"inputs": [{ "internalType": "uint64", "name": "version", "type": "uint64", "indexed": false }],
|
|
559
|
+
"type": "event",
|
|
560
|
+
"name": "Initialized",
|
|
561
|
+
"anonymous": false
|
|
562
|
+
},
|
|
563
|
+
{
|
|
564
|
+
"inputs": [
|
|
565
|
+
{ "internalType": "address", "name": "previousOwner", "type": "address", "indexed": true },
|
|
566
|
+
{ "internalType": "address", "name": "newOwner", "type": "address", "indexed": true }
|
|
567
|
+
],
|
|
568
|
+
"type": "event",
|
|
569
|
+
"name": "OwnershipTransferred",
|
|
570
|
+
"anonymous": false
|
|
571
|
+
},
|
|
572
|
+
{
|
|
573
|
+
"inputs": [
|
|
574
|
+
{ "internalType": "address", "name": "voter", "type": "address", "indexed": false },
|
|
575
|
+
{ "internalType": "address", "name": "validator", "type": "address", "indexed": false }
|
|
576
|
+
],
|
|
577
|
+
"type": "event",
|
|
578
|
+
"name": "Unvoted",
|
|
579
|
+
"anonymous": false
|
|
580
|
+
},
|
|
581
|
+
{
|
|
582
|
+
"inputs": [
|
|
583
|
+
{ "internalType": "address", "name": "implementation", "type": "address", "indexed": true }
|
|
584
|
+
],
|
|
585
|
+
"type": "event",
|
|
586
|
+
"name": "Upgraded",
|
|
587
|
+
"anonymous": false
|
|
588
|
+
},
|
|
589
|
+
{
|
|
590
|
+
"inputs": [
|
|
591
|
+
{ "internalType": "address", "name": "addr", "type": "address", "indexed": false },
|
|
592
|
+
{ "internalType": "bytes", "name": "blsPublicKey", "type": "bytes", "indexed": false }
|
|
593
|
+
],
|
|
594
|
+
"type": "event",
|
|
595
|
+
"name": "ValidatorRegistered",
|
|
596
|
+
"anonymous": false
|
|
597
|
+
},
|
|
598
|
+
{
|
|
599
|
+
"inputs": [{ "internalType": "address", "name": "addr", "type": "address", "indexed": false }],
|
|
600
|
+
"type": "event",
|
|
601
|
+
"name": "ValidatorResigned",
|
|
602
|
+
"anonymous": false
|
|
603
|
+
},
|
|
604
|
+
{
|
|
605
|
+
"inputs": [
|
|
606
|
+
{ "internalType": "address", "name": "addr", "type": "address", "indexed": false },
|
|
607
|
+
{ "internalType": "bytes", "name": "blsPublicKey", "type": "bytes", "indexed": false }
|
|
608
|
+
],
|
|
609
|
+
"type": "event",
|
|
610
|
+
"name": "ValidatorUpdated",
|
|
611
|
+
"anonymous": false
|
|
612
|
+
},
|
|
613
|
+
{
|
|
614
|
+
"inputs": [
|
|
615
|
+
{ "internalType": "address", "name": "voter", "type": "address", "indexed": false },
|
|
616
|
+
{ "internalType": "address", "name": "validator", "type": "address", "indexed": false }
|
|
617
|
+
],
|
|
618
|
+
"type": "event",
|
|
619
|
+
"name": "Voted",
|
|
620
|
+
"anonymous": false
|
|
621
|
+
},
|
|
622
|
+
{
|
|
623
|
+
"inputs": [],
|
|
624
|
+
"stateMutability": "view",
|
|
625
|
+
"type": "function",
|
|
626
|
+
"name": "UPGRADE_INTERFACE_VERSION",
|
|
627
|
+
"outputs": [{ "internalType": "string", "name": "", "type": "string" }]
|
|
628
|
+
},
|
|
629
|
+
{
|
|
630
|
+
"inputs": [],
|
|
631
|
+
"stateMutability": "view",
|
|
632
|
+
"type": "function",
|
|
633
|
+
"name": "activeValidatorsCount",
|
|
634
|
+
"outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }]
|
|
635
|
+
},
|
|
636
|
+
{
|
|
637
|
+
"inputs": [
|
|
638
|
+
{ "internalType": "address", "name": "addr", "type": "address" },
|
|
639
|
+
{ "internalType": "bytes", "name": "blsPublicKey", "type": "bytes" },
|
|
640
|
+
{ "internalType": "bool", "name": "isResigned", "type": "bool" }
|
|
641
|
+
],
|
|
642
|
+
"stateMutability": "nonpayable",
|
|
643
|
+
"type": "function",
|
|
644
|
+
"name": "addValidator"
|
|
645
|
+
},
|
|
646
|
+
{
|
|
647
|
+
"inputs": [
|
|
648
|
+
{ "internalType": "address[]", "name": "voters", "type": "address[]" },
|
|
649
|
+
{ "internalType": "address[]", "name": "validators", "type": "address[]" }
|
|
650
|
+
],
|
|
651
|
+
"stateMutability": "nonpayable",
|
|
652
|
+
"type": "function",
|
|
653
|
+
"name": "addVotes"
|
|
654
|
+
},
|
|
655
|
+
{
|
|
656
|
+
"inputs": [{ "internalType": "uint8", "name": "n", "type": "uint8" }],
|
|
657
|
+
"stateMutability": "nonpayable",
|
|
658
|
+
"type": "function",
|
|
659
|
+
"name": "calculateRoundValidators"
|
|
660
|
+
},
|
|
661
|
+
{
|
|
662
|
+
"inputs": [],
|
|
663
|
+
"stateMutability": "view",
|
|
664
|
+
"type": "function",
|
|
665
|
+
"name": "fee",
|
|
666
|
+
"outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }]
|
|
667
|
+
},
|
|
668
|
+
{
|
|
669
|
+
"inputs": [],
|
|
670
|
+
"stateMutability": "view",
|
|
671
|
+
"type": "function",
|
|
672
|
+
"name": "getAllValidators",
|
|
673
|
+
"outputs": [
|
|
674
|
+
{
|
|
675
|
+
"internalType": "struct ConsensusV1.Validator[]",
|
|
676
|
+
"name": "",
|
|
677
|
+
"type": "tuple[]",
|
|
678
|
+
"components": [
|
|
679
|
+
{ "internalType": "address", "name": "addr", "type": "address" },
|
|
680
|
+
{
|
|
681
|
+
"internalType": "struct ConsensusV1.ValidatorData",
|
|
682
|
+
"name": "data",
|
|
683
|
+
"type": "tuple",
|
|
684
|
+
"components": [
|
|
685
|
+
{ "internalType": "uint256", "name": "voteBalance", "type": "uint256" },
|
|
686
|
+
{ "internalType": "uint128", "name": "fee", "type": "uint128" },
|
|
687
|
+
{ "internalType": "uint64", "name": "votersCount", "type": "uint64" },
|
|
688
|
+
{ "internalType": "bool", "name": "isResigned", "type": "bool" },
|
|
689
|
+
{ "internalType": "bytes", "name": "blsPublicKey", "type": "bytes" }
|
|
690
|
+
]
|
|
691
|
+
}
|
|
692
|
+
]
|
|
693
|
+
}
|
|
694
|
+
]
|
|
695
|
+
},
|
|
696
|
+
{
|
|
697
|
+
"inputs": [],
|
|
698
|
+
"stateMutability": "view",
|
|
699
|
+
"type": "function",
|
|
700
|
+
"name": "getRoundValidators",
|
|
701
|
+
"outputs": [
|
|
702
|
+
{
|
|
703
|
+
"internalType": "struct ConsensusV1.Validator[]",
|
|
704
|
+
"name": "",
|
|
705
|
+
"type": "tuple[]",
|
|
706
|
+
"components": [
|
|
707
|
+
{ "internalType": "address", "name": "addr", "type": "address" },
|
|
708
|
+
{
|
|
709
|
+
"internalType": "struct ConsensusV1.ValidatorData",
|
|
710
|
+
"name": "data",
|
|
711
|
+
"type": "tuple",
|
|
712
|
+
"components": [
|
|
713
|
+
{ "internalType": "uint256", "name": "voteBalance", "type": "uint256" },
|
|
714
|
+
{ "internalType": "uint128", "name": "fee", "type": "uint128" },
|
|
715
|
+
{ "internalType": "uint64", "name": "votersCount", "type": "uint64" },
|
|
716
|
+
{ "internalType": "bool", "name": "isResigned", "type": "bool" },
|
|
717
|
+
{ "internalType": "bytes", "name": "blsPublicKey", "type": "bytes" }
|
|
718
|
+
]
|
|
719
|
+
}
|
|
720
|
+
]
|
|
721
|
+
}
|
|
722
|
+
]
|
|
723
|
+
},
|
|
724
|
+
{
|
|
725
|
+
"inputs": [
|
|
726
|
+
{ "internalType": "uint256", "name": "offset", "type": "uint256" },
|
|
727
|
+
{ "internalType": "uint256", "name": "count", "type": "uint256" }
|
|
728
|
+
],
|
|
729
|
+
"stateMutability": "view",
|
|
730
|
+
"type": "function",
|
|
731
|
+
"name": "getRounds",
|
|
732
|
+
"outputs": [
|
|
733
|
+
{
|
|
734
|
+
"internalType": "struct ConsensusV1.Round[]",
|
|
735
|
+
"name": "",
|
|
736
|
+
"type": "tuple[]",
|
|
737
|
+
"components": [
|
|
738
|
+
{ "internalType": "uint256", "name": "round", "type": "uint256" },
|
|
739
|
+
{
|
|
740
|
+
"internalType": "struct ConsensusV1.RoundValidator[]",
|
|
741
|
+
"name": "validators",
|
|
742
|
+
"type": "tuple[]",
|
|
743
|
+
"components": [
|
|
744
|
+
{ "internalType": "address", "name": "addr", "type": "address" },
|
|
745
|
+
{ "internalType": "uint256", "name": "voteBalance", "type": "uint256" }
|
|
746
|
+
]
|
|
747
|
+
}
|
|
748
|
+
]
|
|
749
|
+
}
|
|
750
|
+
]
|
|
751
|
+
},
|
|
752
|
+
{
|
|
753
|
+
"inputs": [],
|
|
754
|
+
"stateMutability": "view",
|
|
755
|
+
"type": "function",
|
|
756
|
+
"name": "getRoundsCount",
|
|
757
|
+
"outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }]
|
|
758
|
+
},
|
|
759
|
+
{
|
|
760
|
+
"inputs": [{ "internalType": "address", "name": "addr", "type": "address" }],
|
|
761
|
+
"stateMutability": "view",
|
|
762
|
+
"type": "function",
|
|
763
|
+
"name": "getValidator",
|
|
764
|
+
"outputs": [
|
|
765
|
+
{
|
|
766
|
+
"internalType": "struct ConsensusV1.Validator",
|
|
767
|
+
"name": "",
|
|
768
|
+
"type": "tuple",
|
|
769
|
+
"components": [
|
|
770
|
+
{ "internalType": "address", "name": "addr", "type": "address" },
|
|
771
|
+
{
|
|
772
|
+
"internalType": "struct ConsensusV1.ValidatorData",
|
|
773
|
+
"name": "data",
|
|
774
|
+
"type": "tuple",
|
|
775
|
+
"components": [
|
|
776
|
+
{ "internalType": "uint256", "name": "voteBalance", "type": "uint256" },
|
|
777
|
+
{ "internalType": "uint128", "name": "fee", "type": "uint128" },
|
|
778
|
+
{ "internalType": "uint64", "name": "votersCount", "type": "uint64" },
|
|
779
|
+
{ "internalType": "bool", "name": "isResigned", "type": "bool" },
|
|
780
|
+
{ "internalType": "bytes", "name": "blsPublicKey", "type": "bytes" }
|
|
781
|
+
]
|
|
782
|
+
}
|
|
783
|
+
]
|
|
784
|
+
}
|
|
785
|
+
]
|
|
786
|
+
},
|
|
787
|
+
{
|
|
788
|
+
"inputs": [
|
|
789
|
+
{ "internalType": "address", "name": "addr", "type": "address" },
|
|
790
|
+
{ "internalType": "uint256", "name": "count", "type": "uint256" }
|
|
791
|
+
],
|
|
792
|
+
"stateMutability": "view",
|
|
793
|
+
"type": "function",
|
|
794
|
+
"name": "getVotes",
|
|
795
|
+
"outputs": [
|
|
796
|
+
{
|
|
797
|
+
"internalType": "struct ConsensusV1.VoteResult[]",
|
|
798
|
+
"name": "",
|
|
799
|
+
"type": "tuple[]",
|
|
800
|
+
"components": [
|
|
801
|
+
{ "internalType": "address", "name": "voter", "type": "address" },
|
|
802
|
+
{ "internalType": "address", "name": "validator", "type": "address" }
|
|
803
|
+
]
|
|
804
|
+
}
|
|
805
|
+
]
|
|
806
|
+
},
|
|
807
|
+
{
|
|
808
|
+
"inputs": [],
|
|
809
|
+
"stateMutability": "view",
|
|
810
|
+
"type": "function",
|
|
811
|
+
"name": "getVotesCount",
|
|
812
|
+
"outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }]
|
|
813
|
+
},
|
|
814
|
+
{
|
|
815
|
+
"inputs": [{ "internalType": "uint128", "name": "registrationFee", "type": "uint128" }],
|
|
816
|
+
"stateMutability": "nonpayable",
|
|
817
|
+
"type": "function",
|
|
818
|
+
"name": "initialize"
|
|
819
|
+
},
|
|
820
|
+
{
|
|
821
|
+
"inputs": [{ "internalType": "address", "name": "addr", "type": "address" }],
|
|
822
|
+
"stateMutability": "view",
|
|
823
|
+
"type": "function",
|
|
824
|
+
"name": "isValidatorRegistered",
|
|
825
|
+
"outputs": [{ "internalType": "bool", "name": "", "type": "bool" }]
|
|
826
|
+
},
|
|
827
|
+
{
|
|
828
|
+
"inputs": [],
|
|
829
|
+
"stateMutability": "view",
|
|
830
|
+
"type": "function",
|
|
831
|
+
"name": "owner",
|
|
832
|
+
"outputs": [{ "internalType": "address", "name": "", "type": "address" }]
|
|
833
|
+
},
|
|
834
|
+
{
|
|
835
|
+
"inputs": [],
|
|
836
|
+
"stateMutability": "view",
|
|
837
|
+
"type": "function",
|
|
838
|
+
"name": "proxiableUUID",
|
|
839
|
+
"outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }]
|
|
840
|
+
},
|
|
841
|
+
{
|
|
842
|
+
"inputs": [
|
|
843
|
+
{ "internalType": "bytes", "name": "blsPublicKey", "type": "bytes" },
|
|
844
|
+
{ "internalType": "bytes", "name": "proofOfPossession", "type": "bytes" }
|
|
845
|
+
],
|
|
846
|
+
"stateMutability": "payable",
|
|
847
|
+
"type": "function",
|
|
848
|
+
"name": "registerValidator"
|
|
849
|
+
},
|
|
850
|
+
{ "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "renounceOwnership" },
|
|
851
|
+
{ "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "resignValidator" },
|
|
852
|
+
{
|
|
853
|
+
"inputs": [],
|
|
854
|
+
"stateMutability": "view",
|
|
855
|
+
"type": "function",
|
|
856
|
+
"name": "resignedValidatorsCount",
|
|
857
|
+
"outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }]
|
|
858
|
+
},
|
|
859
|
+
{
|
|
860
|
+
"inputs": [],
|
|
861
|
+
"stateMutability": "view",
|
|
862
|
+
"type": "function",
|
|
863
|
+
"name": "roundValidatorsCount",
|
|
864
|
+
"outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }]
|
|
865
|
+
},
|
|
866
|
+
{
|
|
867
|
+
"inputs": [{ "internalType": "uint128", "name": "registrationFee", "type": "uint128" }],
|
|
868
|
+
"stateMutability": "nonpayable",
|
|
869
|
+
"type": "function",
|
|
870
|
+
"name": "setFee"
|
|
871
|
+
},
|
|
872
|
+
{
|
|
873
|
+
"inputs": [{ "internalType": "address", "name": "newOwner", "type": "address" }],
|
|
874
|
+
"stateMutability": "nonpayable",
|
|
875
|
+
"type": "function",
|
|
876
|
+
"name": "transferOwnership"
|
|
877
|
+
},
|
|
878
|
+
{ "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "unvote" },
|
|
879
|
+
{
|
|
880
|
+
"inputs": [
|
|
881
|
+
{ "internalType": "bytes", "name": "blsPublicKey", "type": "bytes" },
|
|
882
|
+
{ "internalType": "bytes", "name": "proofOfPossession", "type": "bytes" }
|
|
883
|
+
],
|
|
884
|
+
"stateMutability": "nonpayable",
|
|
885
|
+
"type": "function",
|
|
886
|
+
"name": "updateValidator"
|
|
887
|
+
},
|
|
888
|
+
{
|
|
889
|
+
"inputs": [{ "internalType": "address[]", "name": "voters", "type": "address[]" }],
|
|
890
|
+
"stateMutability": "nonpayable",
|
|
891
|
+
"type": "function",
|
|
892
|
+
"name": "updateVoters"
|
|
893
|
+
},
|
|
894
|
+
{
|
|
895
|
+
"inputs": [
|
|
896
|
+
{ "internalType": "address", "name": "newImplementation", "type": "address" },
|
|
897
|
+
{ "internalType": "bytes", "name": "data", "type": "bytes" }
|
|
898
|
+
],
|
|
899
|
+
"stateMutability": "payable",
|
|
900
|
+
"type": "function",
|
|
901
|
+
"name": "upgradeToAndCall"
|
|
902
|
+
},
|
|
903
|
+
{
|
|
904
|
+
"inputs": [],
|
|
905
|
+
"stateMutability": "view",
|
|
906
|
+
"type": "function",
|
|
907
|
+
"name": "validatorsCount",
|
|
908
|
+
"outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }]
|
|
909
|
+
},
|
|
910
|
+
{
|
|
911
|
+
"inputs": [],
|
|
912
|
+
"stateMutability": "pure",
|
|
913
|
+
"type": "function",
|
|
914
|
+
"name": "version",
|
|
915
|
+
"outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }]
|
|
916
|
+
},
|
|
917
|
+
{
|
|
918
|
+
"inputs": [{ "internalType": "address", "name": "addr", "type": "address" }],
|
|
919
|
+
"stateMutability": "nonpayable",
|
|
920
|
+
"type": "function",
|
|
921
|
+
"name": "vote"
|
|
922
|
+
}
|
|
923
|
+
],
|
|
924
|
+
"devdoc": {
|
|
925
|
+
"kind": "dev",
|
|
926
|
+
"methods": {
|
|
927
|
+
"owner()": { "details": "Returns the address of the current owner." },
|
|
928
|
+
"proxiableUUID()": {
|
|
929
|
+
"details": "Implementation of the ERC-1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier."
|
|
930
|
+
},
|
|
931
|
+
"renounceOwnership()": {
|
|
932
|
+
"details": "Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."
|
|
933
|
+
},
|
|
934
|
+
"transferOwnership(address)": {
|
|
935
|
+
"details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."
|
|
936
|
+
},
|
|
937
|
+
"upgradeToAndCall(address,bytes)": {
|
|
938
|
+
"custom:oz-upgrades-unsafe-allow-reachable": "delegatecall",
|
|
939
|
+
"details": "Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."
|
|
940
|
+
}
|
|
941
|
+
},
|
|
942
|
+
"version": 1
|
|
943
|
+
},
|
|
944
|
+
"userdoc": { "kind": "user", "methods": {}, "version": 1 }
|
|
945
|
+
},
|
|
946
|
+
"settings": {
|
|
947
|
+
"remappings": [
|
|
948
|
+
"@contracts/=src/",
|
|
949
|
+
"@forge-std/=lib/forge-std/src/",
|
|
950
|
+
"@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/",
|
|
951
|
+
"@openzeppelin/contracts/=lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/",
|
|
952
|
+
"erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/",
|
|
953
|
+
"forge-std/=lib/forge-std/src/",
|
|
954
|
+
"halmos-cheatcodes/=lib/openzeppelin-contracts-upgradeable/lib/halmos-cheatcodes/src/",
|
|
955
|
+
"openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/",
|
|
956
|
+
"openzeppelin-contracts/=lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/",
|
|
957
|
+
"openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/"
|
|
958
|
+
],
|
|
959
|
+
"optimizer": { "enabled": true, "runs": 200 },
|
|
960
|
+
"metadata": { "bytecodeHash": "ipfs" },
|
|
961
|
+
"compilationTarget": { "src/consensus/ConsensusV1.sol": "ConsensusV1" },
|
|
962
|
+
"evmVersion": "shanghai",
|
|
963
|
+
"libraries": {}
|
|
964
|
+
},
|
|
965
|
+
"sources": {
|
|
966
|
+
"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol": {
|
|
967
|
+
"keccak256": "0xc163fcf9bb10138631a9ba5564df1fa25db9adff73bd9ee868a8ae1858fe093a",
|
|
968
|
+
"urls": [
|
|
969
|
+
"bzz-raw://9706d43a0124053d9880f6e31a59f31bc0a6a3dc1acd66ce0a16e1111658c5f6",
|
|
970
|
+
"dweb:/ipfs/QmUFmfowzkRwGtDu36cXV9SPTBHJ3n7dG9xQiK5B28jTf2"
|
|
971
|
+
],
|
|
972
|
+
"license": "MIT"
|
|
973
|
+
},
|
|
974
|
+
"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol": {
|
|
975
|
+
"keccak256": "0xdb4d24ee2c087c391d587cd17adfe5b3f9d93b3110b1388c2ab6c7c0ad1dcd05",
|
|
976
|
+
"urls": [
|
|
977
|
+
"bzz-raw://ab7b6d5b9e2b88176312967fe0f0e78f3d9a1422fa5e4b64e2440c35869b5d08",
|
|
978
|
+
"dweb:/ipfs/QmXKYWWyzcLg1B2k7Sb1qkEXgLCYfXecR9wYW5obRzWP1Q"
|
|
979
|
+
],
|
|
980
|
+
"license": "MIT"
|
|
981
|
+
},
|
|
982
|
+
"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol": {
|
|
983
|
+
"keccak256": "0x574a7451e42724f7de29e2855c392a8a5020acd695169466a18459467d719d63",
|
|
984
|
+
"urls": [
|
|
985
|
+
"bzz-raw://5bc189f63b639ee173dd7b6fecc39baf7113bf161776aea22b34c57fdd1872ec",
|
|
986
|
+
"dweb:/ipfs/QmZAf2VtjDLRULqjJkde6LNsxAg12tUqpPqgUQQZbAjgtZ"
|
|
987
|
+
],
|
|
988
|
+
"license": "MIT"
|
|
989
|
+
},
|
|
990
|
+
"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol": {
|
|
991
|
+
"keccak256": "0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397",
|
|
992
|
+
"urls": [
|
|
993
|
+
"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9",
|
|
994
|
+
"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV"
|
|
995
|
+
],
|
|
996
|
+
"license": "MIT"
|
|
997
|
+
},
|
|
998
|
+
"lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol": {
|
|
999
|
+
"keccak256": "0xb25a4f11fa80c702bf5cd85adec90e6f6f507f32f4a8e6f5dbc31e8c10029486",
|
|
1000
|
+
"urls": [
|
|
1001
|
+
"bzz-raw://6917f8a323e7811f041aecd4d9fd6e92455a6fba38a797ac6f6e208c7912b79d",
|
|
1002
|
+
"dweb:/ipfs/QmShuYv55wYHGi4EFkDB8QfF7ZCHoKk2efyz3AWY1ExSq7"
|
|
1003
|
+
],
|
|
1004
|
+
"license": "MIT"
|
|
1005
|
+
},
|
|
1006
|
+
"lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol": {
|
|
1007
|
+
"keccak256": "0xc42facb5094f2f35f066a7155bda23545e39a3156faef3ddc00185544443ba7d",
|
|
1008
|
+
"urls": [
|
|
1009
|
+
"bzz-raw://d3b36282ab029b46bd082619a308a2ea11c309967b9425b7b7a6eb0b0c1c3196",
|
|
1010
|
+
"dweb:/ipfs/QmP2YVfDB2FoREax3vJu7QhDnyYRMw52WPrCD4vdT2kuDA"
|
|
1011
|
+
],
|
|
1012
|
+
"license": "MIT"
|
|
1013
|
+
},
|
|
1014
|
+
"lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Utils.sol": {
|
|
1015
|
+
"keccak256": "0x8decfa54cec979c824b044b8128cd91d713f72c71fd7dfa54974624d8c949898",
|
|
1016
|
+
"urls": [
|
|
1017
|
+
"bzz-raw://271f914261a19d87117a777e0924ada545c16191ef9b00cc40b0134fc14ebc70",
|
|
1018
|
+
"dweb:/ipfs/QmdvVNWHGHQrGGPonZJs5NuzTevTjZRM2zayKrDJf7WBA2"
|
|
1019
|
+
],
|
|
1020
|
+
"license": "MIT"
|
|
1021
|
+
},
|
|
1022
|
+
"lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol": {
|
|
1023
|
+
"keccak256": "0xc59a78b07b44b2cf2e8ab4175fca91e8eca1eee2df7357b8d2a8833e5ea1f64c",
|
|
1024
|
+
"urls": [
|
|
1025
|
+
"bzz-raw://5aa4f07e65444784c29cd7bfcc2341b34381e4e5b5da9f0c5bd00d7f430e66fa",
|
|
1026
|
+
"dweb:/ipfs/QmWRMh4Q9DpaU9GvsiXmDdoNYMyyece9if7hnfLz7uqzWM"
|
|
1027
|
+
],
|
|
1028
|
+
"license": "MIT"
|
|
1029
|
+
},
|
|
1030
|
+
"lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Address.sol": {
|
|
1031
|
+
"keccak256": "0x06871a0948d0fed9316ae59ee4368527e144911f5e284755312b5bfcde8b27ea",
|
|
1032
|
+
"urls": [
|
|
1033
|
+
"bzz-raw://3c30e46d061d8a450c561935a1236b1885aa76ffab93a19b26dcb8868c839843",
|
|
1034
|
+
"dweb:/ipfs/QmZbWbeDyixTyYkVtJvuiQYfkQz12pS7zxWZF3Ju9PYwGH"
|
|
1035
|
+
],
|
|
1036
|
+
"license": "MIT"
|
|
1037
|
+
},
|
|
1038
|
+
"lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Errors.sol": {
|
|
1039
|
+
"keccak256": "0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123",
|
|
1040
|
+
"urls": [
|
|
1041
|
+
"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf",
|
|
1042
|
+
"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB"
|
|
1043
|
+
],
|
|
1044
|
+
"license": "MIT"
|
|
1045
|
+
},
|
|
1046
|
+
"lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol": {
|
|
1047
|
+
"keccak256": "0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97",
|
|
1048
|
+
"urls": [
|
|
1049
|
+
"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b",
|
|
1050
|
+
"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM"
|
|
1051
|
+
],
|
|
1052
|
+
"license": "MIT"
|
|
1053
|
+
},
|
|
1054
|
+
"src/consensus/BLSPoP.sol": {
|
|
1055
|
+
"keccak256": "0x19842d7113033964e1f51c97458aa44cb5efc41618b67fc7f949f48824cfd3ee",
|
|
1056
|
+
"urls": [
|
|
1057
|
+
"bzz-raw://a6d8f6d87bef7eff7b1e475d1f82ed401c20e5f83a9cdd8724dd27fc67a1ef26",
|
|
1058
|
+
"dweb:/ipfs/QmbyRGmCF1vi5NwZmN9p4T55XVs2kdoRJx8ZiBFU4evRYe"
|
|
1059
|
+
],
|
|
1060
|
+
"license": "GNU GENERAL PUBLIC LICENSE"
|
|
1061
|
+
},
|
|
1062
|
+
"src/consensus/ConsensusV1.sol": {
|
|
1063
|
+
"keccak256": "0x32c0841d05f559c4dbbaf2478891e7e1979e6d6f4b541cde9ada1e3b3747eac9",
|
|
1064
|
+
"urls": [
|
|
1065
|
+
"bzz-raw://35a52180a27c0818efa6cc80445db16c9d655a0004bfb1db599c0dc5d0588ee4",
|
|
1066
|
+
"dweb:/ipfs/Qmd4cjwm4CWNJFihLM4sbNqSEPALoXXfsdDS3MhDzcvvGR"
|
|
1067
|
+
],
|
|
1068
|
+
"license": "GNU GENERAL PUBLIC LICENSE"
|
|
1069
|
+
}
|
|
1070
|
+
},
|
|
1071
|
+
"version": 1
|
|
1072
|
+
},
|
|
1073
|
+
"id": 34
|
|
1074
|
+
}
|