@keep-network/tbtc-v2 0.1.1-dev.76 → 0.1.1-dev.79
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/artifacts/Bank.json +32 -27
- package/artifacts/Bridge.json +34 -34
- package/artifacts/Deposit.json +10 -10
- package/artifacts/DepositSweep.json +10 -10
- package/artifacts/EcdsaDkgValidator.json +16 -17
- package/artifacts/EcdsaInactivity.json +6 -6
- package/artifacts/EcdsaSortitionPool.json +1004 -0
- package/artifacts/Fraud.json +10 -10
- package/artifacts/KeepRegistry.json +1 -1
- package/artifacts/KeepStake.json +2 -2
- package/artifacts/KeepToken.json +2 -2
- package/artifacts/KeepTokenStaking.json +1 -1
- package/artifacts/MovingFunds.json +10 -10
- package/artifacts/NuCypherStakingEscrow.json +1 -1
- package/artifacts/NuCypherToken.json +2 -2
- package/artifacts/RandomBeaconStub.json +6 -6
- package/artifacts/Redemption.json +10 -10
- package/artifacts/ReimbursementPool.json +24 -24
- package/artifacts/Relay.json +12 -12
- package/artifacts/T.json +2 -2
- package/artifacts/TBTC.json +19 -19
- package/artifacts/TBTCToken.json +19 -19
- package/artifacts/TokenStaking.json +1 -1
- package/artifacts/TokenholderGovernor.json +9 -9
- package/artifacts/TokenholderTimelock.json +8 -8
- package/artifacts/VendingMachine.json +24 -24
- package/artifacts/VendingMachineKeep.json +1 -1
- package/artifacts/VendingMachineNuCypher.json +1 -1
- package/artifacts/WalletRegistry.json +893 -1167
- package/artifacts/WalletRegistryGovernance.json +2754 -0
- package/artifacts/Wallets.json +10 -10
- package/artifacts/solcInputs/{49c80d59bf0ae61f27a8bb5db19af68a.json → 4f6d4f5cd1e3d835e20ed55926a445cd.json} +113 -74
- package/build/contracts/GovernanceUtils.sol/GovernanceUtils.dbg.json +1 -1
- package/build/contracts/bank/Bank.sol/Bank.dbg.json +1 -1
- package/build/contracts/bank/Bank.sol/Bank.json +8 -3
- package/build/contracts/bank/IReceiveBalanceApproval.sol/IReceiveBalanceApproval.dbg.json +4 -0
- package/build/contracts/bank/IReceiveBalanceApproval.sol/IReceiveBalanceApproval.json +34 -0
- package/build/contracts/bridge/BitcoinTx.sol/BitcoinTx.dbg.json +1 -1
- package/build/contracts/bridge/BitcoinTx.sol/BitcoinTx.json +2 -2
- package/build/contracts/bridge/Bridge.sol/Bridge.dbg.json +1 -1
- package/build/contracts/bridge/Bridge.sol/Bridge.json +2 -2
- package/build/contracts/bridge/BridgeState.sol/BridgeState.dbg.json +1 -1
- package/build/contracts/bridge/BridgeState.sol/BridgeState.json +2 -2
- package/build/contracts/bridge/Deposit.sol/Deposit.dbg.json +1 -1
- package/build/contracts/bridge/Deposit.sol/Deposit.json +2 -2
- package/build/contracts/bridge/DepositSweep.sol/DepositSweep.dbg.json +1 -1
- package/build/contracts/bridge/DepositSweep.sol/DepositSweep.json +2 -2
- package/build/contracts/bridge/EcdsaLib.sol/EcdsaLib.dbg.json +1 -1
- package/build/contracts/bridge/Fraud.sol/Fraud.dbg.json +1 -1
- package/build/contracts/bridge/Fraud.sol/Fraud.json +2 -2
- package/build/contracts/bridge/Heartbeat.sol/Heartbeat.dbg.json +1 -1
- package/build/contracts/bridge/IRelay.sol/IRelay.dbg.json +1 -1
- package/build/contracts/bridge/MovingFunds.sol/MovingFunds.dbg.json +1 -1
- package/build/contracts/bridge/MovingFunds.sol/MovingFunds.json +2 -2
- package/build/contracts/bridge/Redemption.sol/OutboundTx.dbg.json +1 -1
- package/build/contracts/bridge/Redemption.sol/OutboundTx.json +2 -2
- package/build/contracts/bridge/Redemption.sol/Redemption.dbg.json +1 -1
- package/build/contracts/bridge/Redemption.sol/Redemption.json +2 -2
- package/build/contracts/bridge/VendingMachine.sol/VendingMachine.dbg.json +1 -1
- package/build/contracts/bridge/Wallets.sol/Wallets.dbg.json +1 -1
- package/build/contracts/bridge/Wallets.sol/Wallets.json +2 -2
- package/build/contracts/token/TBTC.sol/TBTC.dbg.json +1 -1
- package/build/contracts/vault/DonationVault.sol/DonationVault.dbg.json +1 -1
- package/build/contracts/vault/DonationVault.sol/DonationVault.json +7 -2
- package/build/contracts/vault/IVault.sol/IVault.dbg.json +1 -1
- package/build/contracts/vault/IVault.sol/IVault.json +5 -0
- package/build/contracts/vault/TBTCVault.sol/TBTCVault.dbg.json +1 -1
- package/build/contracts/vault/TBTCVault.sol/TBTCVault.json +7 -2
- package/contracts/bank/Bank.sol +18 -9
- package/contracts/bank/IReceiveBalanceApproval.sol +45 -0
- package/contracts/hardhat-dependency-compiler/@keep-network/ecdsa/contracts/WalletRegistry.sol +3 -0
- package/contracts/vault/DonationVault.sol +5 -5
- package/contracts/vault/IVault.sol +3 -19
- package/contracts/vault/TBTCVault.sol +5 -5
- package/deploy/05_deploy_bridge.ts +5 -1
- package/deploy/09_transfer_proxy_admin_ownership.ts +15 -8
- package/export.json +2527 -3066
- package/package.json +1 -1
- package/artifacts/DefaultProxyAdmin.json +0 -259
- package/artifacts/SortitionPool.json +0 -1005
- package/artifacts/WalletRegistry_Implementation.json +0 -2824
- package/artifacts/WalletRegistry_Proxy.json +0 -259
- package/artifacts/solcInputs/1635d55d57a0a2552952c0d22586ed23.json +0 -56
- package/deploy/00_resolve_wallet_registry.ts +0 -83
|
@@ -1,2117 +1,1843 @@
|
|
|
1
1
|
{
|
|
2
|
-
"address": "
|
|
2
|
+
"address": "0x677df0cb865368207999F2862Ece576dC56D8dF6",
|
|
3
3
|
"abi": [
|
|
4
4
|
{
|
|
5
|
-
"
|
|
6
|
-
"
|
|
7
|
-
{
|
|
8
|
-
"indexed": false,
|
|
9
|
-
"internalType": "address",
|
|
10
|
-
"name": "previousAdmin",
|
|
11
|
-
"type": "address"
|
|
12
|
-
},
|
|
13
|
-
{
|
|
14
|
-
"indexed": false,
|
|
15
|
-
"internalType": "address",
|
|
16
|
-
"name": "newAdmin",
|
|
17
|
-
"type": "address"
|
|
18
|
-
}
|
|
19
|
-
],
|
|
20
|
-
"name": "AdminChanged",
|
|
21
|
-
"type": "event"
|
|
22
|
-
},
|
|
23
|
-
{
|
|
24
|
-
"anonymous": false,
|
|
25
|
-
"inputs": [
|
|
26
|
-
{
|
|
27
|
-
"indexed": true,
|
|
28
|
-
"internalType": "address",
|
|
29
|
-
"name": "beacon",
|
|
30
|
-
"type": "address"
|
|
31
|
-
}
|
|
32
|
-
],
|
|
33
|
-
"name": "BeaconUpgraded",
|
|
34
|
-
"type": "event"
|
|
35
|
-
},
|
|
36
|
-
{
|
|
37
|
-
"anonymous": false,
|
|
38
|
-
"inputs": [
|
|
39
|
-
{
|
|
40
|
-
"indexed": true,
|
|
41
|
-
"internalType": "address",
|
|
42
|
-
"name": "implementation",
|
|
43
|
-
"type": "address"
|
|
44
|
-
}
|
|
45
|
-
],
|
|
46
|
-
"name": "Upgraded",
|
|
47
|
-
"type": "event"
|
|
48
|
-
},
|
|
49
|
-
{
|
|
50
|
-
"stateMutability": "payable",
|
|
51
|
-
"type": "fallback"
|
|
52
|
-
},
|
|
53
|
-
{
|
|
54
|
-
"inputs": [],
|
|
55
|
-
"name": "admin",
|
|
56
|
-
"outputs": [
|
|
57
|
-
{
|
|
58
|
-
"internalType": "address",
|
|
59
|
-
"name": "admin_",
|
|
60
|
-
"type": "address"
|
|
61
|
-
}
|
|
62
|
-
],
|
|
63
|
-
"stateMutability": "nonpayable",
|
|
64
|
-
"type": "function"
|
|
65
|
-
},
|
|
66
|
-
{
|
|
67
|
-
"inputs": [
|
|
68
|
-
{
|
|
69
|
-
"internalType": "address",
|
|
70
|
-
"name": "newAdmin",
|
|
71
|
-
"type": "address"
|
|
72
|
-
}
|
|
73
|
-
],
|
|
74
|
-
"name": "changeAdmin",
|
|
75
|
-
"outputs": [],
|
|
76
|
-
"stateMutability": "nonpayable",
|
|
77
|
-
"type": "function"
|
|
78
|
-
},
|
|
79
|
-
{
|
|
80
|
-
"inputs": [],
|
|
81
|
-
"name": "implementation",
|
|
82
|
-
"outputs": [
|
|
83
|
-
{
|
|
84
|
-
"internalType": "address",
|
|
85
|
-
"name": "implementation_",
|
|
86
|
-
"type": "address"
|
|
87
|
-
}
|
|
88
|
-
],
|
|
89
|
-
"stateMutability": "nonpayable",
|
|
90
|
-
"type": "function"
|
|
91
|
-
},
|
|
92
|
-
{
|
|
5
|
+
"type": "constructor",
|
|
6
|
+
"payable": false,
|
|
93
7
|
"inputs": [
|
|
94
8
|
{
|
|
95
|
-
"
|
|
96
|
-
"name": "
|
|
97
|
-
"type": "address"
|
|
98
|
-
}
|
|
99
|
-
],
|
|
100
|
-
"name": "upgradeTo",
|
|
101
|
-
"outputs": [],
|
|
102
|
-
"stateMutability": "nonpayable",
|
|
103
|
-
"type": "function"
|
|
104
|
-
},
|
|
105
|
-
{
|
|
106
|
-
"inputs": [
|
|
107
|
-
{
|
|
108
|
-
"internalType": "address",
|
|
109
|
-
"name": "newImplementation",
|
|
110
|
-
"type": "address"
|
|
9
|
+
"type": "address",
|
|
10
|
+
"name": "_sortitionPool"
|
|
111
11
|
},
|
|
112
12
|
{
|
|
113
|
-
"
|
|
114
|
-
"name": "
|
|
115
|
-
"type": "bytes"
|
|
13
|
+
"type": "address",
|
|
14
|
+
"name": "_staking"
|
|
116
15
|
}
|
|
117
|
-
]
|
|
118
|
-
"name": "upgradeToAndCall",
|
|
119
|
-
"outputs": [],
|
|
120
|
-
"stateMutability": "payable",
|
|
121
|
-
"type": "function"
|
|
122
|
-
},
|
|
123
|
-
{
|
|
124
|
-
"stateMutability": "payable",
|
|
125
|
-
"type": "receive"
|
|
16
|
+
]
|
|
126
17
|
},
|
|
127
18
|
{
|
|
19
|
+
"type": "event",
|
|
128
20
|
"anonymous": false,
|
|
21
|
+
"name": "AuthorizationDecreaseApproved",
|
|
129
22
|
"inputs": [
|
|
130
23
|
{
|
|
131
|
-
"
|
|
132
|
-
"internalType": "address",
|
|
24
|
+
"type": "address",
|
|
133
25
|
"name": "stakingProvider",
|
|
134
|
-
"
|
|
26
|
+
"indexed": true
|
|
135
27
|
}
|
|
136
|
-
]
|
|
137
|
-
"name": "AuthorizationDecreaseApproved",
|
|
138
|
-
"type": "event"
|
|
28
|
+
]
|
|
139
29
|
},
|
|
140
30
|
{
|
|
31
|
+
"type": "event",
|
|
141
32
|
"anonymous": false,
|
|
33
|
+
"name": "AuthorizationDecreaseRequested",
|
|
142
34
|
"inputs": [
|
|
143
35
|
{
|
|
144
|
-
"
|
|
145
|
-
"internalType": "address",
|
|
36
|
+
"type": "address",
|
|
146
37
|
"name": "stakingProvider",
|
|
147
|
-
"
|
|
38
|
+
"indexed": true
|
|
148
39
|
},
|
|
149
40
|
{
|
|
150
|
-
"
|
|
151
|
-
"internalType": "address",
|
|
41
|
+
"type": "address",
|
|
152
42
|
"name": "operator",
|
|
153
|
-
"
|
|
43
|
+
"indexed": true
|
|
154
44
|
},
|
|
155
45
|
{
|
|
156
|
-
"
|
|
157
|
-
"internalType": "uint96",
|
|
46
|
+
"type": "uint96",
|
|
158
47
|
"name": "fromAmount",
|
|
159
|
-
"
|
|
48
|
+
"indexed": false
|
|
160
49
|
},
|
|
161
50
|
{
|
|
162
|
-
"
|
|
163
|
-
"internalType": "uint96",
|
|
51
|
+
"type": "uint96",
|
|
164
52
|
"name": "toAmount",
|
|
165
|
-
"
|
|
53
|
+
"indexed": false
|
|
166
54
|
},
|
|
167
55
|
{
|
|
168
|
-
"
|
|
169
|
-
"internalType": "uint64",
|
|
56
|
+
"type": "uint64",
|
|
170
57
|
"name": "decreasingAt",
|
|
171
|
-
"
|
|
58
|
+
"indexed": false
|
|
172
59
|
}
|
|
173
|
-
]
|
|
174
|
-
"name": "AuthorizationDecreaseRequested",
|
|
175
|
-
"type": "event"
|
|
60
|
+
]
|
|
176
61
|
},
|
|
177
62
|
{
|
|
63
|
+
"type": "event",
|
|
178
64
|
"anonymous": false,
|
|
65
|
+
"name": "AuthorizationIncreased",
|
|
179
66
|
"inputs": [
|
|
180
67
|
{
|
|
181
|
-
"
|
|
182
|
-
"internalType": "address",
|
|
68
|
+
"type": "address",
|
|
183
69
|
"name": "stakingProvider",
|
|
184
|
-
"
|
|
70
|
+
"indexed": true
|
|
185
71
|
},
|
|
186
72
|
{
|
|
187
|
-
"
|
|
188
|
-
"internalType": "address",
|
|
73
|
+
"type": "address",
|
|
189
74
|
"name": "operator",
|
|
190
|
-
"
|
|
75
|
+
"indexed": true
|
|
191
76
|
},
|
|
192
77
|
{
|
|
193
|
-
"
|
|
194
|
-
"internalType": "uint96",
|
|
78
|
+
"type": "uint96",
|
|
195
79
|
"name": "fromAmount",
|
|
196
|
-
"
|
|
80
|
+
"indexed": false
|
|
197
81
|
},
|
|
198
82
|
{
|
|
199
|
-
"
|
|
200
|
-
"internalType": "uint96",
|
|
83
|
+
"type": "uint96",
|
|
201
84
|
"name": "toAmount",
|
|
202
|
-
"
|
|
85
|
+
"indexed": false
|
|
203
86
|
}
|
|
204
|
-
]
|
|
205
|
-
"name": "AuthorizationIncreased",
|
|
206
|
-
"type": "event"
|
|
87
|
+
]
|
|
207
88
|
},
|
|
208
89
|
{
|
|
90
|
+
"type": "event",
|
|
209
91
|
"anonymous": false,
|
|
92
|
+
"name": "AuthorizationParametersUpdated",
|
|
210
93
|
"inputs": [
|
|
211
94
|
{
|
|
212
|
-
"
|
|
213
|
-
"internalType": "uint96",
|
|
95
|
+
"type": "uint96",
|
|
214
96
|
"name": "minimumAuthorization",
|
|
215
|
-
"
|
|
97
|
+
"indexed": false
|
|
216
98
|
},
|
|
217
99
|
{
|
|
218
|
-
"
|
|
219
|
-
"internalType": "uint64",
|
|
100
|
+
"type": "uint64",
|
|
220
101
|
"name": "authorizationDecreaseDelay",
|
|
221
|
-
"
|
|
102
|
+
"indexed": false
|
|
222
103
|
},
|
|
223
104
|
{
|
|
224
|
-
"
|
|
225
|
-
"internalType": "uint64",
|
|
105
|
+
"type": "uint64",
|
|
226
106
|
"name": "authorizationDecreaseChangePeriod",
|
|
227
|
-
"
|
|
107
|
+
"indexed": false
|
|
228
108
|
}
|
|
229
|
-
]
|
|
230
|
-
"name": "AuthorizationParametersUpdated",
|
|
231
|
-
"type": "event"
|
|
109
|
+
]
|
|
232
110
|
},
|
|
233
111
|
{
|
|
112
|
+
"type": "event",
|
|
234
113
|
"anonymous": false,
|
|
114
|
+
"name": "DkgMaliciousResultSlashed",
|
|
235
115
|
"inputs": [
|
|
236
116
|
{
|
|
237
|
-
"
|
|
238
|
-
"internalType": "bytes32",
|
|
117
|
+
"type": "bytes32",
|
|
239
118
|
"name": "resultHash",
|
|
240
|
-
"
|
|
119
|
+
"indexed": true
|
|
241
120
|
},
|
|
242
121
|
{
|
|
243
|
-
"
|
|
244
|
-
"internalType": "uint256",
|
|
122
|
+
"type": "uint256",
|
|
245
123
|
"name": "slashingAmount",
|
|
246
|
-
"
|
|
124
|
+
"indexed": false
|
|
247
125
|
},
|
|
248
126
|
{
|
|
249
|
-
"
|
|
250
|
-
"internalType": "address",
|
|
127
|
+
"type": "address",
|
|
251
128
|
"name": "maliciousSubmitter",
|
|
252
|
-
"
|
|
129
|
+
"indexed": false
|
|
253
130
|
}
|
|
254
|
-
]
|
|
255
|
-
"name": "DkgMaliciousResultSlashed",
|
|
256
|
-
"type": "event"
|
|
131
|
+
]
|
|
257
132
|
},
|
|
258
133
|
{
|
|
134
|
+
"type": "event",
|
|
259
135
|
"anonymous": false,
|
|
136
|
+
"name": "DkgMaliciousResultSlashingFailed",
|
|
260
137
|
"inputs": [
|
|
261
138
|
{
|
|
262
|
-
"
|
|
263
|
-
"internalType": "bytes32",
|
|
139
|
+
"type": "bytes32",
|
|
264
140
|
"name": "resultHash",
|
|
265
|
-
"
|
|
141
|
+
"indexed": true
|
|
266
142
|
},
|
|
267
143
|
{
|
|
268
|
-
"
|
|
269
|
-
"internalType": "uint256",
|
|
144
|
+
"type": "uint256",
|
|
270
145
|
"name": "slashingAmount",
|
|
271
|
-
"
|
|
146
|
+
"indexed": false
|
|
272
147
|
},
|
|
273
148
|
{
|
|
274
|
-
"
|
|
275
|
-
"internalType": "address",
|
|
149
|
+
"type": "address",
|
|
276
150
|
"name": "maliciousSubmitter",
|
|
277
|
-
"
|
|
151
|
+
"indexed": false
|
|
278
152
|
}
|
|
279
|
-
]
|
|
280
|
-
"name": "DkgMaliciousResultSlashingFailed",
|
|
281
|
-
"type": "event"
|
|
153
|
+
]
|
|
282
154
|
},
|
|
283
155
|
{
|
|
156
|
+
"type": "event",
|
|
284
157
|
"anonymous": false,
|
|
158
|
+
"name": "DkgParametersUpdated",
|
|
285
159
|
"inputs": [
|
|
286
160
|
{
|
|
287
|
-
"
|
|
288
|
-
"internalType": "uint256",
|
|
161
|
+
"type": "uint256",
|
|
289
162
|
"name": "seedTimeout",
|
|
290
|
-
"
|
|
163
|
+
"indexed": false
|
|
291
164
|
},
|
|
292
165
|
{
|
|
293
|
-
"
|
|
294
|
-
"internalType": "uint256",
|
|
166
|
+
"type": "uint256",
|
|
295
167
|
"name": "resultChallengePeriodLength",
|
|
296
|
-
"
|
|
168
|
+
"indexed": false
|
|
297
169
|
},
|
|
298
170
|
{
|
|
299
|
-
"
|
|
300
|
-
"internalType": "uint256",
|
|
171
|
+
"type": "uint256",
|
|
301
172
|
"name": "resultSubmissionTimeout",
|
|
302
|
-
"
|
|
173
|
+
"indexed": false
|
|
303
174
|
},
|
|
304
175
|
{
|
|
305
|
-
"
|
|
306
|
-
"internalType": "uint256",
|
|
176
|
+
"type": "uint256",
|
|
307
177
|
"name": "resultSubmitterPrecedencePeriodLength",
|
|
308
|
-
"
|
|
178
|
+
"indexed": false
|
|
309
179
|
}
|
|
310
|
-
]
|
|
311
|
-
"name": "DkgParametersUpdated",
|
|
312
|
-
"type": "event"
|
|
180
|
+
]
|
|
313
181
|
},
|
|
314
182
|
{
|
|
183
|
+
"type": "event",
|
|
315
184
|
"anonymous": false,
|
|
185
|
+
"name": "DkgResultApproved",
|
|
316
186
|
"inputs": [
|
|
317
187
|
{
|
|
318
|
-
"
|
|
319
|
-
"internalType": "bytes32",
|
|
188
|
+
"type": "bytes32",
|
|
320
189
|
"name": "resultHash",
|
|
321
|
-
"
|
|
190
|
+
"indexed": true
|
|
322
191
|
},
|
|
323
192
|
{
|
|
324
|
-
"
|
|
325
|
-
"internalType": "address",
|
|
193
|
+
"type": "address",
|
|
326
194
|
"name": "approver",
|
|
327
|
-
"
|
|
195
|
+
"indexed": true
|
|
328
196
|
}
|
|
329
|
-
]
|
|
330
|
-
"name": "DkgResultApproved",
|
|
331
|
-
"type": "event"
|
|
197
|
+
]
|
|
332
198
|
},
|
|
333
199
|
{
|
|
200
|
+
"type": "event",
|
|
334
201
|
"anonymous": false,
|
|
202
|
+
"name": "DkgResultChallenged",
|
|
335
203
|
"inputs": [
|
|
336
204
|
{
|
|
337
|
-
"
|
|
338
|
-
"internalType": "bytes32",
|
|
205
|
+
"type": "bytes32",
|
|
339
206
|
"name": "resultHash",
|
|
340
|
-
"
|
|
207
|
+
"indexed": true
|
|
341
208
|
},
|
|
342
209
|
{
|
|
343
|
-
"
|
|
344
|
-
"internalType": "address",
|
|
210
|
+
"type": "address",
|
|
345
211
|
"name": "challenger",
|
|
346
|
-
"
|
|
212
|
+
"indexed": true
|
|
347
213
|
},
|
|
348
214
|
{
|
|
349
|
-
"
|
|
350
|
-
"internalType": "string",
|
|
215
|
+
"type": "string",
|
|
351
216
|
"name": "reason",
|
|
352
|
-
"
|
|
217
|
+
"indexed": false
|
|
353
218
|
}
|
|
354
|
-
]
|
|
355
|
-
"name": "DkgResultChallenged",
|
|
356
|
-
"type": "event"
|
|
219
|
+
]
|
|
357
220
|
},
|
|
358
221
|
{
|
|
222
|
+
"type": "event",
|
|
359
223
|
"anonymous": false,
|
|
224
|
+
"name": "DkgResultSubmitted",
|
|
360
225
|
"inputs": [
|
|
361
226
|
{
|
|
362
|
-
"
|
|
363
|
-
"internalType": "bytes32",
|
|
227
|
+
"type": "bytes32",
|
|
364
228
|
"name": "resultHash",
|
|
365
|
-
"
|
|
229
|
+
"indexed": true
|
|
366
230
|
},
|
|
367
231
|
{
|
|
368
|
-
"
|
|
369
|
-
"internalType": "uint256",
|
|
232
|
+
"type": "uint256",
|
|
370
233
|
"name": "seed",
|
|
371
|
-
"
|
|
234
|
+
"indexed": true
|
|
372
235
|
},
|
|
373
236
|
{
|
|
237
|
+
"type": "tuple",
|
|
238
|
+
"name": "result",
|
|
239
|
+
"indexed": false,
|
|
374
240
|
"components": [
|
|
375
241
|
{
|
|
376
|
-
"
|
|
377
|
-
"name": "submitterMemberIndex"
|
|
378
|
-
"type": "uint256"
|
|
242
|
+
"type": "uint256",
|
|
243
|
+
"name": "submitterMemberIndex"
|
|
379
244
|
},
|
|
380
245
|
{
|
|
381
|
-
"
|
|
382
|
-
"name": "groupPubKey"
|
|
383
|
-
"type": "bytes"
|
|
246
|
+
"type": "bytes",
|
|
247
|
+
"name": "groupPubKey"
|
|
384
248
|
},
|
|
385
249
|
{
|
|
386
|
-
"
|
|
387
|
-
"name": "misbehavedMembersIndices"
|
|
388
|
-
"type": "uint8[]"
|
|
250
|
+
"type": "uint8[]",
|
|
251
|
+
"name": "misbehavedMembersIndices"
|
|
389
252
|
},
|
|
390
253
|
{
|
|
391
|
-
"
|
|
392
|
-
"name": "signatures"
|
|
393
|
-
"type": "bytes"
|
|
254
|
+
"type": "bytes",
|
|
255
|
+
"name": "signatures"
|
|
394
256
|
},
|
|
395
257
|
{
|
|
396
|
-
"
|
|
397
|
-
"name": "signingMembersIndices"
|
|
398
|
-
"type": "uint256[]"
|
|
258
|
+
"type": "uint256[]",
|
|
259
|
+
"name": "signingMembersIndices"
|
|
399
260
|
},
|
|
400
261
|
{
|
|
401
|
-
"
|
|
402
|
-
"name": "members"
|
|
403
|
-
"type": "uint32[]"
|
|
262
|
+
"type": "uint32[]",
|
|
263
|
+
"name": "members"
|
|
404
264
|
},
|
|
405
265
|
{
|
|
406
|
-
"
|
|
407
|
-
"name": "membersHash"
|
|
408
|
-
"type": "bytes32"
|
|
266
|
+
"type": "bytes32",
|
|
267
|
+
"name": "membersHash"
|
|
409
268
|
}
|
|
410
|
-
]
|
|
411
|
-
"indexed": false,
|
|
412
|
-
"internalType": "struct EcdsaDkg.Result",
|
|
413
|
-
"name": "result",
|
|
414
|
-
"type": "tuple"
|
|
269
|
+
]
|
|
415
270
|
}
|
|
416
|
-
]
|
|
417
|
-
"name": "DkgResultSubmitted",
|
|
418
|
-
"type": "event"
|
|
271
|
+
]
|
|
419
272
|
},
|
|
420
273
|
{
|
|
274
|
+
"type": "event",
|
|
421
275
|
"anonymous": false,
|
|
422
|
-
"inputs": [],
|
|
423
276
|
"name": "DkgSeedTimedOut",
|
|
424
|
-
"
|
|
277
|
+
"inputs": []
|
|
425
278
|
},
|
|
426
279
|
{
|
|
280
|
+
"type": "event",
|
|
427
281
|
"anonymous": false,
|
|
282
|
+
"name": "DkgStarted",
|
|
428
283
|
"inputs": [
|
|
429
284
|
{
|
|
430
|
-
"
|
|
431
|
-
"internalType": "uint256",
|
|
285
|
+
"type": "uint256",
|
|
432
286
|
"name": "seed",
|
|
433
|
-
"
|
|
287
|
+
"indexed": true
|
|
434
288
|
}
|
|
435
|
-
]
|
|
436
|
-
"name": "DkgStarted",
|
|
437
|
-
"type": "event"
|
|
289
|
+
]
|
|
438
290
|
},
|
|
439
291
|
{
|
|
292
|
+
"type": "event",
|
|
440
293
|
"anonymous": false,
|
|
441
|
-
"inputs": [],
|
|
442
294
|
"name": "DkgStateLocked",
|
|
443
|
-
"
|
|
295
|
+
"inputs": []
|
|
444
296
|
},
|
|
445
297
|
{
|
|
298
|
+
"type": "event",
|
|
446
299
|
"anonymous": false,
|
|
447
|
-
"inputs": [],
|
|
448
300
|
"name": "DkgTimedOut",
|
|
449
|
-
"
|
|
301
|
+
"inputs": []
|
|
450
302
|
},
|
|
451
303
|
{
|
|
304
|
+
"type": "event",
|
|
452
305
|
"anonymous": false,
|
|
306
|
+
"name": "GasParametersUpdated",
|
|
453
307
|
"inputs": [
|
|
454
308
|
{
|
|
455
|
-
"
|
|
456
|
-
"internalType": "uint256",
|
|
309
|
+
"type": "uint256",
|
|
457
310
|
"name": "dkgResultSubmissionGas",
|
|
458
|
-
"
|
|
311
|
+
"indexed": false
|
|
459
312
|
},
|
|
460
313
|
{
|
|
461
|
-
"
|
|
462
|
-
"internalType": "uint256",
|
|
314
|
+
"type": "uint256",
|
|
463
315
|
"name": "dkgResultApprovalGasOffset",
|
|
464
|
-
"
|
|
316
|
+
"indexed": false
|
|
465
317
|
},
|
|
466
318
|
{
|
|
467
|
-
"
|
|
468
|
-
"internalType": "uint256",
|
|
319
|
+
"type": "uint256",
|
|
469
320
|
"name": "notifyOperatorInactivityGasOffset",
|
|
470
|
-
"
|
|
321
|
+
"indexed": false
|
|
471
322
|
},
|
|
472
323
|
{
|
|
473
|
-
"
|
|
474
|
-
"internalType": "uint256",
|
|
324
|
+
"type": "uint256",
|
|
475
325
|
"name": "notifySeedTimeoutGasOffset",
|
|
476
|
-
"
|
|
326
|
+
"indexed": false
|
|
477
327
|
},
|
|
478
328
|
{
|
|
479
|
-
"
|
|
480
|
-
"internalType": "uint256",
|
|
329
|
+
"type": "uint256",
|
|
481
330
|
"name": "notifyDkgTimeoutNegativeGasOffset",
|
|
482
|
-
"
|
|
331
|
+
"indexed": false
|
|
483
332
|
}
|
|
484
|
-
]
|
|
485
|
-
"name": "GasParametersUpdated",
|
|
486
|
-
"type": "event"
|
|
333
|
+
]
|
|
487
334
|
},
|
|
488
335
|
{
|
|
336
|
+
"type": "event",
|
|
489
337
|
"anonymous": false,
|
|
338
|
+
"name": "GovernanceTransferred",
|
|
490
339
|
"inputs": [
|
|
491
340
|
{
|
|
492
|
-
"
|
|
493
|
-
"internalType": "address",
|
|
341
|
+
"type": "address",
|
|
494
342
|
"name": "oldGovernance",
|
|
495
|
-
"
|
|
343
|
+
"indexed": false
|
|
496
344
|
},
|
|
497
345
|
{
|
|
498
|
-
"
|
|
499
|
-
"internalType": "address",
|
|
346
|
+
"type": "address",
|
|
500
347
|
"name": "newGovernance",
|
|
501
|
-
"
|
|
348
|
+
"indexed": false
|
|
502
349
|
}
|
|
503
|
-
]
|
|
504
|
-
"name": "GovernanceTransferred",
|
|
505
|
-
"type": "event"
|
|
350
|
+
]
|
|
506
351
|
},
|
|
507
352
|
{
|
|
353
|
+
"type": "event",
|
|
508
354
|
"anonymous": false,
|
|
355
|
+
"name": "InactivityClaimed",
|
|
509
356
|
"inputs": [
|
|
510
357
|
{
|
|
511
|
-
"
|
|
512
|
-
"internalType": "bytes32",
|
|
358
|
+
"type": "bytes32",
|
|
513
359
|
"name": "walletID",
|
|
514
|
-
"
|
|
360
|
+
"indexed": true
|
|
515
361
|
},
|
|
516
362
|
{
|
|
517
|
-
"
|
|
518
|
-
"internalType": "uint256",
|
|
363
|
+
"type": "uint256",
|
|
519
364
|
"name": "nonce",
|
|
520
|
-
"
|
|
365
|
+
"indexed": false
|
|
521
366
|
},
|
|
522
367
|
{
|
|
523
|
-
"
|
|
524
|
-
"internalType": "address",
|
|
368
|
+
"type": "address",
|
|
525
369
|
"name": "notifier",
|
|
526
|
-
"
|
|
370
|
+
"indexed": false
|
|
527
371
|
}
|
|
528
|
-
]
|
|
529
|
-
"name": "InactivityClaimed",
|
|
530
|
-
"type": "event"
|
|
372
|
+
]
|
|
531
373
|
},
|
|
532
374
|
{
|
|
375
|
+
"type": "event",
|
|
533
376
|
"anonymous": false,
|
|
377
|
+
"name": "Initialized",
|
|
534
378
|
"inputs": [
|
|
535
379
|
{
|
|
536
|
-
"
|
|
537
|
-
"internalType": "uint8",
|
|
380
|
+
"type": "uint8",
|
|
538
381
|
"name": "version",
|
|
539
|
-
"
|
|
382
|
+
"indexed": false
|
|
540
383
|
}
|
|
541
|
-
]
|
|
542
|
-
"name": "Initialized",
|
|
543
|
-
"type": "event"
|
|
384
|
+
]
|
|
544
385
|
},
|
|
545
386
|
{
|
|
387
|
+
"type": "event",
|
|
546
388
|
"anonymous": false,
|
|
389
|
+
"name": "InvoluntaryAuthorizationDecreaseFailed",
|
|
547
390
|
"inputs": [
|
|
548
391
|
{
|
|
549
|
-
"
|
|
550
|
-
"internalType": "address",
|
|
392
|
+
"type": "address",
|
|
551
393
|
"name": "stakingProvider",
|
|
552
|
-
"
|
|
394
|
+
"indexed": true
|
|
553
395
|
},
|
|
554
396
|
{
|
|
555
|
-
"
|
|
556
|
-
"internalType": "address",
|
|
397
|
+
"type": "address",
|
|
557
398
|
"name": "operator",
|
|
558
|
-
"
|
|
399
|
+
"indexed": true
|
|
559
400
|
},
|
|
560
401
|
{
|
|
561
|
-
"
|
|
562
|
-
"internalType": "uint96",
|
|
402
|
+
"type": "uint96",
|
|
563
403
|
"name": "fromAmount",
|
|
564
|
-
"
|
|
404
|
+
"indexed": false
|
|
565
405
|
},
|
|
566
406
|
{
|
|
567
|
-
"
|
|
568
|
-
"internalType": "uint96",
|
|
407
|
+
"type": "uint96",
|
|
569
408
|
"name": "toAmount",
|
|
570
|
-
"
|
|
409
|
+
"indexed": false
|
|
571
410
|
}
|
|
572
|
-
]
|
|
573
|
-
"name": "InvoluntaryAuthorizationDecreaseFailed",
|
|
574
|
-
"type": "event"
|
|
411
|
+
]
|
|
575
412
|
},
|
|
576
413
|
{
|
|
414
|
+
"type": "event",
|
|
577
415
|
"anonymous": false,
|
|
416
|
+
"name": "OperatorJoinedSortitionPool",
|
|
578
417
|
"inputs": [
|
|
579
418
|
{
|
|
580
|
-
"
|
|
581
|
-
"internalType": "address",
|
|
419
|
+
"type": "address",
|
|
582
420
|
"name": "stakingProvider",
|
|
583
|
-
"
|
|
421
|
+
"indexed": true
|
|
584
422
|
},
|
|
585
423
|
{
|
|
586
|
-
"
|
|
587
|
-
"internalType": "address",
|
|
424
|
+
"type": "address",
|
|
588
425
|
"name": "operator",
|
|
589
|
-
"
|
|
426
|
+
"indexed": true
|
|
590
427
|
}
|
|
591
|
-
]
|
|
592
|
-
"name": "OperatorJoinedSortitionPool",
|
|
593
|
-
"type": "event"
|
|
428
|
+
]
|
|
594
429
|
},
|
|
595
430
|
{
|
|
431
|
+
"type": "event",
|
|
596
432
|
"anonymous": false,
|
|
433
|
+
"name": "OperatorRegistered",
|
|
597
434
|
"inputs": [
|
|
598
435
|
{
|
|
599
|
-
"
|
|
600
|
-
"internalType": "address",
|
|
436
|
+
"type": "address",
|
|
601
437
|
"name": "stakingProvider",
|
|
602
|
-
"
|
|
438
|
+
"indexed": true
|
|
603
439
|
},
|
|
604
440
|
{
|
|
605
|
-
"
|
|
606
|
-
"internalType": "address",
|
|
441
|
+
"type": "address",
|
|
607
442
|
"name": "operator",
|
|
608
|
-
"
|
|
443
|
+
"indexed": true
|
|
609
444
|
}
|
|
610
|
-
]
|
|
611
|
-
"name": "OperatorRegistered",
|
|
612
|
-
"type": "event"
|
|
445
|
+
]
|
|
613
446
|
},
|
|
614
447
|
{
|
|
448
|
+
"type": "event",
|
|
615
449
|
"anonymous": false,
|
|
450
|
+
"name": "OperatorStatusUpdated",
|
|
616
451
|
"inputs": [
|
|
617
452
|
{
|
|
618
|
-
"
|
|
619
|
-
"internalType": "address",
|
|
453
|
+
"type": "address",
|
|
620
454
|
"name": "stakingProvider",
|
|
621
|
-
"
|
|
455
|
+
"indexed": true
|
|
622
456
|
},
|
|
623
457
|
{
|
|
624
|
-
"
|
|
625
|
-
"internalType": "address",
|
|
458
|
+
"type": "address",
|
|
626
459
|
"name": "operator",
|
|
627
|
-
"
|
|
460
|
+
"indexed": true
|
|
628
461
|
}
|
|
629
|
-
]
|
|
630
|
-
"name": "OperatorStatusUpdated",
|
|
631
|
-
"type": "event"
|
|
462
|
+
]
|
|
632
463
|
},
|
|
633
464
|
{
|
|
465
|
+
"type": "event",
|
|
634
466
|
"anonymous": false,
|
|
467
|
+
"name": "RandomBeaconUpgraded",
|
|
635
468
|
"inputs": [
|
|
636
469
|
{
|
|
637
|
-
"
|
|
638
|
-
"internalType": "address",
|
|
470
|
+
"type": "address",
|
|
639
471
|
"name": "randomBeacon",
|
|
640
|
-
"
|
|
472
|
+
"indexed": false
|
|
641
473
|
}
|
|
642
|
-
]
|
|
643
|
-
"name": "RandomBeaconUpgraded",
|
|
644
|
-
"type": "event"
|
|
474
|
+
]
|
|
645
475
|
},
|
|
646
476
|
{
|
|
477
|
+
"type": "event",
|
|
647
478
|
"anonymous": false,
|
|
479
|
+
"name": "ReimbursementPoolUpdated",
|
|
648
480
|
"inputs": [
|
|
649
481
|
{
|
|
650
|
-
"
|
|
651
|
-
"internalType": "address",
|
|
482
|
+
"type": "address",
|
|
652
483
|
"name": "newReimbursementPool",
|
|
653
|
-
"
|
|
484
|
+
"indexed": false
|
|
654
485
|
}
|
|
655
|
-
]
|
|
656
|
-
"name": "ReimbursementPoolUpdated",
|
|
657
|
-
"type": "event"
|
|
486
|
+
]
|
|
658
487
|
},
|
|
659
488
|
{
|
|
489
|
+
"type": "event",
|
|
660
490
|
"anonymous": false,
|
|
491
|
+
"name": "RewardParametersUpdated",
|
|
661
492
|
"inputs": [
|
|
662
493
|
{
|
|
663
|
-
"
|
|
664
|
-
"internalType": "uint256",
|
|
494
|
+
"type": "uint256",
|
|
665
495
|
"name": "maliciousDkgResultNotificationRewardMultiplier",
|
|
666
|
-
"
|
|
496
|
+
"indexed": false
|
|
667
497
|
},
|
|
668
498
|
{
|
|
669
|
-
"
|
|
670
|
-
"internalType": "uint256",
|
|
499
|
+
"type": "uint256",
|
|
671
500
|
"name": "sortitionPoolRewardsBanDuration",
|
|
672
|
-
"
|
|
501
|
+
"indexed": false
|
|
673
502
|
}
|
|
674
|
-
]
|
|
675
|
-
"name": "RewardParametersUpdated",
|
|
676
|
-
"type": "event"
|
|
503
|
+
]
|
|
677
504
|
},
|
|
678
505
|
{
|
|
506
|
+
"type": "event",
|
|
679
507
|
"anonymous": false,
|
|
508
|
+
"name": "RewardsWithdrawn",
|
|
680
509
|
"inputs": [
|
|
681
510
|
{
|
|
682
|
-
"
|
|
683
|
-
"internalType": "address",
|
|
511
|
+
"type": "address",
|
|
684
512
|
"name": "stakingProvider",
|
|
685
|
-
"
|
|
513
|
+
"indexed": true
|
|
686
514
|
},
|
|
687
515
|
{
|
|
688
|
-
"
|
|
689
|
-
"internalType": "uint96",
|
|
516
|
+
"type": "uint96",
|
|
690
517
|
"name": "amount",
|
|
691
|
-
"
|
|
518
|
+
"indexed": false
|
|
692
519
|
}
|
|
693
|
-
]
|
|
694
|
-
"name": "RewardsWithdrawn",
|
|
695
|
-
"type": "event"
|
|
520
|
+
]
|
|
696
521
|
},
|
|
697
522
|
{
|
|
523
|
+
"type": "event",
|
|
698
524
|
"anonymous": false,
|
|
525
|
+
"name": "SlashingParametersUpdated",
|
|
699
526
|
"inputs": [
|
|
700
527
|
{
|
|
701
|
-
"
|
|
702
|
-
"internalType": "uint256",
|
|
528
|
+
"type": "uint256",
|
|
703
529
|
"name": "maliciousDkgResultSlashingAmount",
|
|
704
|
-
"
|
|
530
|
+
"indexed": false
|
|
705
531
|
}
|
|
706
|
-
]
|
|
707
|
-
"name": "SlashingParametersUpdated",
|
|
708
|
-
"type": "event"
|
|
532
|
+
]
|
|
709
533
|
},
|
|
710
534
|
{
|
|
535
|
+
"type": "event",
|
|
711
536
|
"anonymous": false,
|
|
537
|
+
"name": "WalletClosed",
|
|
712
538
|
"inputs": [
|
|
713
539
|
{
|
|
714
|
-
"
|
|
715
|
-
"internalType": "bytes32",
|
|
540
|
+
"type": "bytes32",
|
|
716
541
|
"name": "walletID",
|
|
717
|
-
"
|
|
542
|
+
"indexed": true
|
|
718
543
|
}
|
|
719
|
-
]
|
|
720
|
-
"name": "WalletClosed",
|
|
721
|
-
"type": "event"
|
|
544
|
+
]
|
|
722
545
|
},
|
|
723
546
|
{
|
|
547
|
+
"type": "event",
|
|
724
548
|
"anonymous": false,
|
|
549
|
+
"name": "WalletCreated",
|
|
725
550
|
"inputs": [
|
|
726
551
|
{
|
|
727
|
-
"
|
|
728
|
-
"internalType": "bytes32",
|
|
552
|
+
"type": "bytes32",
|
|
729
553
|
"name": "walletID",
|
|
730
|
-
"
|
|
554
|
+
"indexed": true
|
|
731
555
|
},
|
|
732
556
|
{
|
|
733
|
-
"
|
|
734
|
-
"internalType": "bytes32",
|
|
557
|
+
"type": "bytes32",
|
|
735
558
|
"name": "dkgResultHash",
|
|
736
|
-
"
|
|
559
|
+
"indexed": true
|
|
737
560
|
}
|
|
738
|
-
]
|
|
739
|
-
"name": "WalletCreated",
|
|
740
|
-
"type": "event"
|
|
561
|
+
]
|
|
741
562
|
},
|
|
742
563
|
{
|
|
564
|
+
"type": "event",
|
|
743
565
|
"anonymous": false,
|
|
566
|
+
"name": "WalletOwnerUpdated",
|
|
744
567
|
"inputs": [
|
|
745
568
|
{
|
|
746
|
-
"
|
|
747
|
-
"internalType": "address",
|
|
569
|
+
"type": "address",
|
|
748
570
|
"name": "walletOwner",
|
|
749
|
-
"
|
|
571
|
+
"indexed": false
|
|
750
572
|
}
|
|
751
|
-
]
|
|
752
|
-
"name": "WalletOwnerUpdated",
|
|
753
|
-
"type": "event"
|
|
573
|
+
]
|
|
754
574
|
},
|
|
755
575
|
{
|
|
576
|
+
"type": "function",
|
|
577
|
+
"name": "__beaconCallback",
|
|
578
|
+
"constant": false,
|
|
579
|
+
"payable": false,
|
|
580
|
+
"gas": 29000000,
|
|
756
581
|
"inputs": [
|
|
757
582
|
{
|
|
758
|
-
"
|
|
759
|
-
"name": "relayEntry"
|
|
760
|
-
"type": "uint256"
|
|
583
|
+
"type": "uint256",
|
|
584
|
+
"name": "relayEntry"
|
|
761
585
|
},
|
|
762
586
|
{
|
|
763
|
-
"internalType": "uint256",
|
|
764
|
-
"name": "",
|
|
765
587
|
"type": "uint256"
|
|
766
588
|
}
|
|
767
589
|
],
|
|
768
|
-
"
|
|
769
|
-
"outputs": [],
|
|
770
|
-
"stateMutability": "nonpayable",
|
|
771
|
-
"type": "function"
|
|
590
|
+
"outputs": []
|
|
772
591
|
},
|
|
773
592
|
{
|
|
593
|
+
"type": "function",
|
|
594
|
+
"name": "approveAuthorizationDecrease",
|
|
595
|
+
"constant": false,
|
|
596
|
+
"payable": false,
|
|
597
|
+
"gas": 29000000,
|
|
774
598
|
"inputs": [
|
|
775
599
|
{
|
|
776
|
-
"
|
|
777
|
-
"name": "stakingProvider"
|
|
778
|
-
"type": "address"
|
|
600
|
+
"type": "address",
|
|
601
|
+
"name": "stakingProvider"
|
|
779
602
|
}
|
|
780
603
|
],
|
|
781
|
-
"
|
|
782
|
-
"outputs": [],
|
|
783
|
-
"stateMutability": "nonpayable",
|
|
784
|
-
"type": "function"
|
|
604
|
+
"outputs": []
|
|
785
605
|
},
|
|
786
606
|
{
|
|
607
|
+
"type": "function",
|
|
608
|
+
"name": "approveDkgResult",
|
|
609
|
+
"constant": false,
|
|
610
|
+
"payable": false,
|
|
611
|
+
"gas": 29000000,
|
|
787
612
|
"inputs": [
|
|
788
613
|
{
|
|
614
|
+
"type": "tuple",
|
|
615
|
+
"name": "dkgResult",
|
|
789
616
|
"components": [
|
|
790
617
|
{
|
|
791
|
-
"
|
|
792
|
-
"name": "submitterMemberIndex"
|
|
793
|
-
"type": "uint256"
|
|
618
|
+
"type": "uint256",
|
|
619
|
+
"name": "submitterMemberIndex"
|
|
794
620
|
},
|
|
795
621
|
{
|
|
796
|
-
"
|
|
797
|
-
"name": "groupPubKey"
|
|
798
|
-
"type": "bytes"
|
|
622
|
+
"type": "bytes",
|
|
623
|
+
"name": "groupPubKey"
|
|
799
624
|
},
|
|
800
625
|
{
|
|
801
|
-
"
|
|
802
|
-
"name": "misbehavedMembersIndices"
|
|
803
|
-
"type": "uint8[]"
|
|
626
|
+
"type": "uint8[]",
|
|
627
|
+
"name": "misbehavedMembersIndices"
|
|
804
628
|
},
|
|
805
629
|
{
|
|
806
|
-
"
|
|
807
|
-
"name": "signatures"
|
|
808
|
-
"type": "bytes"
|
|
630
|
+
"type": "bytes",
|
|
631
|
+
"name": "signatures"
|
|
809
632
|
},
|
|
810
633
|
{
|
|
811
|
-
"
|
|
812
|
-
"name": "signingMembersIndices"
|
|
813
|
-
"type": "uint256[]"
|
|
634
|
+
"type": "uint256[]",
|
|
635
|
+
"name": "signingMembersIndices"
|
|
814
636
|
},
|
|
815
637
|
{
|
|
816
|
-
"
|
|
817
|
-
"name": "members"
|
|
818
|
-
"type": "uint32[]"
|
|
638
|
+
"type": "uint32[]",
|
|
639
|
+
"name": "members"
|
|
819
640
|
},
|
|
820
641
|
{
|
|
821
|
-
"
|
|
822
|
-
"name": "membersHash"
|
|
823
|
-
"type": "bytes32"
|
|
642
|
+
"type": "bytes32",
|
|
643
|
+
"name": "membersHash"
|
|
824
644
|
}
|
|
825
|
-
]
|
|
826
|
-
"internalType": "struct EcdsaDkg.Result",
|
|
827
|
-
"name": "dkgResult",
|
|
828
|
-
"type": "tuple"
|
|
645
|
+
]
|
|
829
646
|
}
|
|
830
647
|
],
|
|
831
|
-
"
|
|
832
|
-
"outputs": [],
|
|
833
|
-
"stateMutability": "nonpayable",
|
|
834
|
-
"type": "function"
|
|
648
|
+
"outputs": []
|
|
835
649
|
},
|
|
836
650
|
{
|
|
651
|
+
"type": "function",
|
|
652
|
+
"name": "authorizationDecreaseRequested",
|
|
653
|
+
"constant": false,
|
|
654
|
+
"payable": false,
|
|
655
|
+
"gas": 29000000,
|
|
837
656
|
"inputs": [
|
|
838
657
|
{
|
|
839
|
-
"
|
|
840
|
-
"name": "stakingProvider"
|
|
841
|
-
"type": "address"
|
|
658
|
+
"type": "address",
|
|
659
|
+
"name": "stakingProvider"
|
|
842
660
|
},
|
|
843
661
|
{
|
|
844
|
-
"
|
|
845
|
-
"name": "fromAmount"
|
|
846
|
-
"type": "uint96"
|
|
662
|
+
"type": "uint96",
|
|
663
|
+
"name": "fromAmount"
|
|
847
664
|
},
|
|
848
665
|
{
|
|
849
|
-
"
|
|
850
|
-
"name": "toAmount"
|
|
851
|
-
"type": "uint96"
|
|
666
|
+
"type": "uint96",
|
|
667
|
+
"name": "toAmount"
|
|
852
668
|
}
|
|
853
669
|
],
|
|
854
|
-
"
|
|
855
|
-
"outputs": [],
|
|
856
|
-
"stateMutability": "nonpayable",
|
|
857
|
-
"type": "function"
|
|
670
|
+
"outputs": []
|
|
858
671
|
},
|
|
859
672
|
{
|
|
673
|
+
"type": "function",
|
|
674
|
+
"name": "authorizationIncreased",
|
|
675
|
+
"constant": false,
|
|
676
|
+
"payable": false,
|
|
677
|
+
"gas": 29000000,
|
|
860
678
|
"inputs": [
|
|
861
679
|
{
|
|
862
|
-
"
|
|
863
|
-
"name": "stakingProvider"
|
|
864
|
-
"type": "address"
|
|
680
|
+
"type": "address",
|
|
681
|
+
"name": "stakingProvider"
|
|
865
682
|
},
|
|
866
683
|
{
|
|
867
|
-
"
|
|
868
|
-
"name": "fromAmount"
|
|
869
|
-
"type": "uint96"
|
|
684
|
+
"type": "uint96",
|
|
685
|
+
"name": "fromAmount"
|
|
870
686
|
},
|
|
871
687
|
{
|
|
872
|
-
"
|
|
873
|
-
"name": "toAmount"
|
|
874
|
-
"type": "uint96"
|
|
688
|
+
"type": "uint96",
|
|
689
|
+
"name": "toAmount"
|
|
875
690
|
}
|
|
876
691
|
],
|
|
877
|
-
"
|
|
878
|
-
"outputs": [],
|
|
879
|
-
"stateMutability": "nonpayable",
|
|
880
|
-
"type": "function"
|
|
692
|
+
"outputs": []
|
|
881
693
|
},
|
|
882
694
|
{
|
|
883
|
-
"
|
|
695
|
+
"type": "function",
|
|
884
696
|
"name": "authorizationParameters",
|
|
697
|
+
"constant": true,
|
|
698
|
+
"stateMutability": "view",
|
|
699
|
+
"payable": false,
|
|
700
|
+
"gas": 29000000,
|
|
701
|
+
"inputs": [],
|
|
885
702
|
"outputs": [
|
|
886
703
|
{
|
|
887
|
-
"
|
|
888
|
-
"name": "minimumAuthorization"
|
|
889
|
-
"type": "uint96"
|
|
704
|
+
"type": "uint96",
|
|
705
|
+
"name": "minimumAuthorization"
|
|
890
706
|
},
|
|
891
707
|
{
|
|
892
|
-
"
|
|
893
|
-
"name": "authorizationDecreaseDelay"
|
|
894
|
-
"type": "uint64"
|
|
708
|
+
"type": "uint64",
|
|
709
|
+
"name": "authorizationDecreaseDelay"
|
|
895
710
|
},
|
|
896
711
|
{
|
|
897
|
-
"
|
|
898
|
-
"name": "authorizationDecreaseChangePeriod"
|
|
899
|
-
"type": "uint64"
|
|
712
|
+
"type": "uint64",
|
|
713
|
+
"name": "authorizationDecreaseChangePeriod"
|
|
900
714
|
}
|
|
901
|
-
]
|
|
902
|
-
"stateMutability": "view",
|
|
903
|
-
"type": "function"
|
|
715
|
+
]
|
|
904
716
|
},
|
|
905
717
|
{
|
|
718
|
+
"type": "function",
|
|
719
|
+
"name": "availableRewards",
|
|
720
|
+
"constant": true,
|
|
721
|
+
"stateMutability": "view",
|
|
722
|
+
"payable": false,
|
|
723
|
+
"gas": 29000000,
|
|
906
724
|
"inputs": [
|
|
907
725
|
{
|
|
908
|
-
"
|
|
909
|
-
"name": "stakingProvider"
|
|
910
|
-
"type": "address"
|
|
726
|
+
"type": "address",
|
|
727
|
+
"name": "stakingProvider"
|
|
911
728
|
}
|
|
912
729
|
],
|
|
913
|
-
"name": "availableRewards",
|
|
914
730
|
"outputs": [
|
|
915
731
|
{
|
|
916
|
-
"internalType": "uint96",
|
|
917
|
-
"name": "",
|
|
918
732
|
"type": "uint96"
|
|
919
733
|
}
|
|
920
|
-
]
|
|
921
|
-
"stateMutability": "view",
|
|
922
|
-
"type": "function"
|
|
734
|
+
]
|
|
923
735
|
},
|
|
924
736
|
{
|
|
737
|
+
"type": "function",
|
|
738
|
+
"name": "challengeDkgResult",
|
|
739
|
+
"constant": false,
|
|
740
|
+
"payable": false,
|
|
741
|
+
"gas": 29000000,
|
|
925
742
|
"inputs": [
|
|
926
743
|
{
|
|
744
|
+
"type": "tuple",
|
|
745
|
+
"name": "dkgResult",
|
|
927
746
|
"components": [
|
|
928
747
|
{
|
|
929
|
-
"
|
|
930
|
-
"name": "submitterMemberIndex"
|
|
931
|
-
"type": "uint256"
|
|
748
|
+
"type": "uint256",
|
|
749
|
+
"name": "submitterMemberIndex"
|
|
932
750
|
},
|
|
933
751
|
{
|
|
934
|
-
"
|
|
935
|
-
"name": "groupPubKey"
|
|
936
|
-
"type": "bytes"
|
|
752
|
+
"type": "bytes",
|
|
753
|
+
"name": "groupPubKey"
|
|
937
754
|
},
|
|
938
755
|
{
|
|
939
|
-
"
|
|
940
|
-
"name": "misbehavedMembersIndices"
|
|
941
|
-
"type": "uint8[]"
|
|
756
|
+
"type": "uint8[]",
|
|
757
|
+
"name": "misbehavedMembersIndices"
|
|
942
758
|
},
|
|
943
759
|
{
|
|
944
|
-
"
|
|
945
|
-
"name": "signatures"
|
|
946
|
-
"type": "bytes"
|
|
760
|
+
"type": "bytes",
|
|
761
|
+
"name": "signatures"
|
|
947
762
|
},
|
|
948
763
|
{
|
|
949
|
-
"
|
|
950
|
-
"name": "signingMembersIndices"
|
|
951
|
-
"type": "uint256[]"
|
|
764
|
+
"type": "uint256[]",
|
|
765
|
+
"name": "signingMembersIndices"
|
|
952
766
|
},
|
|
953
767
|
{
|
|
954
|
-
"
|
|
955
|
-
"name": "members"
|
|
956
|
-
"type": "uint32[]"
|
|
768
|
+
"type": "uint32[]",
|
|
769
|
+
"name": "members"
|
|
957
770
|
},
|
|
958
771
|
{
|
|
959
|
-
"
|
|
960
|
-
"name": "membersHash"
|
|
961
|
-
"type": "bytes32"
|
|
772
|
+
"type": "bytes32",
|
|
773
|
+
"name": "membersHash"
|
|
962
774
|
}
|
|
963
|
-
]
|
|
964
|
-
"internalType": "struct EcdsaDkg.Result",
|
|
965
|
-
"name": "dkgResult",
|
|
966
|
-
"type": "tuple"
|
|
775
|
+
]
|
|
967
776
|
}
|
|
968
777
|
],
|
|
969
|
-
"
|
|
970
|
-
"outputs": [],
|
|
971
|
-
"stateMutability": "nonpayable",
|
|
972
|
-
"type": "function"
|
|
778
|
+
"outputs": []
|
|
973
779
|
},
|
|
974
780
|
{
|
|
781
|
+
"type": "function",
|
|
782
|
+
"name": "closeWallet",
|
|
783
|
+
"constant": false,
|
|
784
|
+
"payable": false,
|
|
785
|
+
"gas": 29000000,
|
|
975
786
|
"inputs": [
|
|
976
787
|
{
|
|
977
|
-
"
|
|
978
|
-
"name": "walletID"
|
|
979
|
-
"type": "bytes32"
|
|
788
|
+
"type": "bytes32",
|
|
789
|
+
"name": "walletID"
|
|
980
790
|
}
|
|
981
791
|
],
|
|
982
|
-
"
|
|
983
|
-
"outputs": [],
|
|
984
|
-
"stateMutability": "nonpayable",
|
|
985
|
-
"type": "function"
|
|
792
|
+
"outputs": []
|
|
986
793
|
},
|
|
987
794
|
{
|
|
988
|
-
"
|
|
795
|
+
"type": "function",
|
|
989
796
|
"name": "dkgParameters",
|
|
797
|
+
"constant": true,
|
|
798
|
+
"stateMutability": "view",
|
|
799
|
+
"payable": false,
|
|
800
|
+
"gas": 29000000,
|
|
801
|
+
"inputs": [],
|
|
990
802
|
"outputs": [
|
|
991
803
|
{
|
|
804
|
+
"type": "tuple",
|
|
992
805
|
"components": [
|
|
993
806
|
{
|
|
994
|
-
"
|
|
995
|
-
"name": "seedTimeout"
|
|
996
|
-
"type": "uint256"
|
|
807
|
+
"type": "uint256",
|
|
808
|
+
"name": "seedTimeout"
|
|
997
809
|
},
|
|
998
810
|
{
|
|
999
|
-
"
|
|
1000
|
-
"name": "resultChallengePeriodLength"
|
|
1001
|
-
"type": "uint256"
|
|
811
|
+
"type": "uint256",
|
|
812
|
+
"name": "resultChallengePeriodLength"
|
|
1002
813
|
},
|
|
1003
814
|
{
|
|
1004
|
-
"
|
|
1005
|
-
"name": "resultSubmissionTimeout"
|
|
1006
|
-
"type": "uint256"
|
|
815
|
+
"type": "uint256",
|
|
816
|
+
"name": "resultSubmissionTimeout"
|
|
1007
817
|
},
|
|
1008
818
|
{
|
|
1009
|
-
"
|
|
1010
|
-
"name": "submitterPrecedencePeriodLength"
|
|
1011
|
-
"type": "uint256"
|
|
819
|
+
"type": "uint256",
|
|
820
|
+
"name": "submitterPrecedencePeriodLength"
|
|
1012
821
|
}
|
|
1013
|
-
]
|
|
1014
|
-
"internalType": "struct EcdsaDkg.Parameters",
|
|
1015
|
-
"name": "",
|
|
1016
|
-
"type": "tuple"
|
|
822
|
+
]
|
|
1017
823
|
}
|
|
1018
|
-
]
|
|
1019
|
-
"stateMutability": "view",
|
|
1020
|
-
"type": "function"
|
|
824
|
+
]
|
|
1021
825
|
},
|
|
1022
826
|
{
|
|
827
|
+
"type": "function",
|
|
828
|
+
"name": "eligibleStake",
|
|
829
|
+
"constant": true,
|
|
830
|
+
"stateMutability": "view",
|
|
831
|
+
"payable": false,
|
|
832
|
+
"gas": 29000000,
|
|
1023
833
|
"inputs": [
|
|
1024
834
|
{
|
|
1025
|
-
"
|
|
1026
|
-
"name": "stakingProvider"
|
|
1027
|
-
"type": "address"
|
|
835
|
+
"type": "address",
|
|
836
|
+
"name": "stakingProvider"
|
|
1028
837
|
}
|
|
1029
838
|
],
|
|
1030
|
-
"name": "eligibleStake",
|
|
1031
839
|
"outputs": [
|
|
1032
840
|
{
|
|
1033
|
-
"internalType": "uint96",
|
|
1034
|
-
"name": "",
|
|
1035
841
|
"type": "uint96"
|
|
1036
842
|
}
|
|
1037
|
-
]
|
|
1038
|
-
"stateMutability": "view",
|
|
1039
|
-
"type": "function"
|
|
843
|
+
]
|
|
1040
844
|
},
|
|
1041
845
|
{
|
|
1042
|
-
"
|
|
846
|
+
"type": "function",
|
|
1043
847
|
"name": "gasParameters",
|
|
848
|
+
"constant": true,
|
|
849
|
+
"stateMutability": "view",
|
|
850
|
+
"payable": false,
|
|
851
|
+
"gas": 29000000,
|
|
852
|
+
"inputs": [],
|
|
1044
853
|
"outputs": [
|
|
1045
854
|
{
|
|
1046
|
-
"
|
|
1047
|
-
"name": "dkgResultSubmissionGas"
|
|
1048
|
-
"type": "uint256"
|
|
855
|
+
"type": "uint256",
|
|
856
|
+
"name": "dkgResultSubmissionGas"
|
|
1049
857
|
},
|
|
1050
858
|
{
|
|
1051
|
-
"
|
|
1052
|
-
"name": "dkgResultApprovalGasOffset"
|
|
1053
|
-
"type": "uint256"
|
|
859
|
+
"type": "uint256",
|
|
860
|
+
"name": "dkgResultApprovalGasOffset"
|
|
1054
861
|
},
|
|
1055
862
|
{
|
|
1056
|
-
"
|
|
1057
|
-
"name": "notifyOperatorInactivityGasOffset"
|
|
1058
|
-
"type": "uint256"
|
|
863
|
+
"type": "uint256",
|
|
864
|
+
"name": "notifyOperatorInactivityGasOffset"
|
|
1059
865
|
},
|
|
1060
866
|
{
|
|
1061
|
-
"
|
|
1062
|
-
"name": "notifySeedTimeoutGasOffset"
|
|
1063
|
-
"type": "uint256"
|
|
867
|
+
"type": "uint256",
|
|
868
|
+
"name": "notifySeedTimeoutGasOffset"
|
|
1064
869
|
},
|
|
1065
870
|
{
|
|
1066
|
-
"
|
|
1067
|
-
"name": "notifyDkgTimeoutNegativeGasOffset"
|
|
1068
|
-
"type": "uint256"
|
|
871
|
+
"type": "uint256",
|
|
872
|
+
"name": "notifyDkgTimeoutNegativeGasOffset"
|
|
1069
873
|
}
|
|
1070
|
-
]
|
|
1071
|
-
"stateMutability": "view",
|
|
1072
|
-
"type": "function"
|
|
874
|
+
]
|
|
1073
875
|
},
|
|
1074
876
|
{
|
|
877
|
+
"type": "function",
|
|
878
|
+
"name": "getWallet",
|
|
879
|
+
"constant": true,
|
|
880
|
+
"stateMutability": "view",
|
|
881
|
+
"payable": false,
|
|
882
|
+
"gas": 29000000,
|
|
1075
883
|
"inputs": [
|
|
1076
884
|
{
|
|
1077
|
-
"
|
|
1078
|
-
"name": "walletID"
|
|
1079
|
-
"type": "bytes32"
|
|
885
|
+
"type": "bytes32",
|
|
886
|
+
"name": "walletID"
|
|
1080
887
|
}
|
|
1081
888
|
],
|
|
1082
|
-
"name": "getWallet",
|
|
1083
889
|
"outputs": [
|
|
1084
890
|
{
|
|
891
|
+
"type": "tuple",
|
|
1085
892
|
"components": [
|
|
1086
893
|
{
|
|
1087
|
-
"
|
|
1088
|
-
"name": "membersIdsHash"
|
|
1089
|
-
"type": "bytes32"
|
|
894
|
+
"type": "bytes32",
|
|
895
|
+
"name": "membersIdsHash"
|
|
1090
896
|
},
|
|
1091
897
|
{
|
|
1092
|
-
"
|
|
1093
|
-
"name": "publicKeyX"
|
|
1094
|
-
"type": "bytes32"
|
|
898
|
+
"type": "bytes32",
|
|
899
|
+
"name": "publicKeyX"
|
|
1095
900
|
},
|
|
1096
901
|
{
|
|
1097
|
-
"
|
|
1098
|
-
"name": "publicKeyY"
|
|
1099
|
-
"type": "bytes32"
|
|
902
|
+
"type": "bytes32",
|
|
903
|
+
"name": "publicKeyY"
|
|
1100
904
|
}
|
|
1101
|
-
]
|
|
1102
|
-
"internalType": "struct Wallets.Wallet",
|
|
1103
|
-
"name": "",
|
|
1104
|
-
"type": "tuple"
|
|
905
|
+
]
|
|
1105
906
|
}
|
|
1106
|
-
]
|
|
1107
|
-
"stateMutability": "view",
|
|
1108
|
-
"type": "function"
|
|
907
|
+
]
|
|
1109
908
|
},
|
|
1110
909
|
{
|
|
1111
|
-
"
|
|
910
|
+
"type": "function",
|
|
1112
911
|
"name": "getWalletCreationState",
|
|
912
|
+
"constant": true,
|
|
913
|
+
"stateMutability": "view",
|
|
914
|
+
"payable": false,
|
|
915
|
+
"gas": 29000000,
|
|
916
|
+
"inputs": [],
|
|
1113
917
|
"outputs": [
|
|
1114
918
|
{
|
|
1115
|
-
"internalType": "enum EcdsaDkg.State",
|
|
1116
|
-
"name": "",
|
|
1117
919
|
"type": "uint8"
|
|
1118
920
|
}
|
|
1119
|
-
]
|
|
1120
|
-
"stateMutability": "view",
|
|
1121
|
-
"type": "function"
|
|
921
|
+
]
|
|
1122
922
|
},
|
|
1123
923
|
{
|
|
924
|
+
"type": "function",
|
|
925
|
+
"name": "getWalletPublicKey",
|
|
926
|
+
"constant": true,
|
|
927
|
+
"stateMutability": "view",
|
|
928
|
+
"payable": false,
|
|
929
|
+
"gas": 29000000,
|
|
1124
930
|
"inputs": [
|
|
1125
931
|
{
|
|
1126
|
-
"
|
|
1127
|
-
"name": "walletID"
|
|
1128
|
-
"type": "bytes32"
|
|
932
|
+
"type": "bytes32",
|
|
933
|
+
"name": "walletID"
|
|
1129
934
|
}
|
|
1130
935
|
],
|
|
1131
|
-
"name": "getWalletPublicKey",
|
|
1132
936
|
"outputs": [
|
|
1133
937
|
{
|
|
1134
|
-
"internalType": "bytes",
|
|
1135
|
-
"name": "",
|
|
1136
938
|
"type": "bytes"
|
|
1137
939
|
}
|
|
1138
|
-
]
|
|
1139
|
-
"stateMutability": "view",
|
|
1140
|
-
"type": "function"
|
|
940
|
+
]
|
|
1141
941
|
},
|
|
1142
942
|
{
|
|
1143
|
-
"
|
|
943
|
+
"type": "function",
|
|
1144
944
|
"name": "governance",
|
|
945
|
+
"constant": true,
|
|
946
|
+
"stateMutability": "view",
|
|
947
|
+
"payable": false,
|
|
948
|
+
"gas": 29000000,
|
|
949
|
+
"inputs": [],
|
|
1145
950
|
"outputs": [
|
|
1146
951
|
{
|
|
1147
|
-
"internalType": "address",
|
|
1148
|
-
"name": "",
|
|
1149
952
|
"type": "address"
|
|
1150
953
|
}
|
|
1151
|
-
]
|
|
1152
|
-
"stateMutability": "view",
|
|
1153
|
-
"type": "function"
|
|
954
|
+
]
|
|
1154
955
|
},
|
|
1155
956
|
{
|
|
1156
|
-
"
|
|
957
|
+
"type": "function",
|
|
1157
958
|
"name": "hasDkgTimedOut",
|
|
959
|
+
"constant": true,
|
|
960
|
+
"stateMutability": "view",
|
|
961
|
+
"payable": false,
|
|
962
|
+
"gas": 29000000,
|
|
963
|
+
"inputs": [],
|
|
1158
964
|
"outputs": [
|
|
1159
965
|
{
|
|
1160
|
-
"internalType": "bool",
|
|
1161
|
-
"name": "",
|
|
1162
966
|
"type": "bool"
|
|
1163
967
|
}
|
|
1164
|
-
]
|
|
1165
|
-
"stateMutability": "view",
|
|
1166
|
-
"type": "function"
|
|
968
|
+
]
|
|
1167
969
|
},
|
|
1168
970
|
{
|
|
1169
|
-
"
|
|
971
|
+
"type": "function",
|
|
1170
972
|
"name": "hasSeedTimedOut",
|
|
973
|
+
"constant": true,
|
|
974
|
+
"stateMutability": "view",
|
|
975
|
+
"payable": false,
|
|
976
|
+
"gas": 29000000,
|
|
977
|
+
"inputs": [],
|
|
1171
978
|
"outputs": [
|
|
1172
979
|
{
|
|
1173
|
-
"internalType": "bool",
|
|
1174
|
-
"name": "",
|
|
1175
980
|
"type": "bool"
|
|
1176
981
|
}
|
|
1177
|
-
]
|
|
1178
|
-
"stateMutability": "view",
|
|
1179
|
-
"type": "function"
|
|
982
|
+
]
|
|
1180
983
|
},
|
|
1181
984
|
{
|
|
985
|
+
"type": "function",
|
|
986
|
+
"name": "inactivityClaimNonce",
|
|
987
|
+
"constant": true,
|
|
988
|
+
"stateMutability": "view",
|
|
989
|
+
"payable": false,
|
|
990
|
+
"gas": 29000000,
|
|
1182
991
|
"inputs": [
|
|
1183
992
|
{
|
|
1184
|
-
"internalType": "bytes32",
|
|
1185
|
-
"name": "",
|
|
1186
993
|
"type": "bytes32"
|
|
1187
994
|
}
|
|
1188
995
|
],
|
|
1189
|
-
"name": "inactivityClaimNonce",
|
|
1190
996
|
"outputs": [
|
|
1191
997
|
{
|
|
1192
|
-
"internalType": "uint256",
|
|
1193
|
-
"name": "",
|
|
1194
998
|
"type": "uint256"
|
|
1195
999
|
}
|
|
1196
|
-
]
|
|
1197
|
-
"stateMutability": "view",
|
|
1198
|
-
"type": "function"
|
|
1000
|
+
]
|
|
1199
1001
|
},
|
|
1200
1002
|
{
|
|
1003
|
+
"type": "function",
|
|
1004
|
+
"name": "initialize",
|
|
1005
|
+
"constant": false,
|
|
1006
|
+
"payable": false,
|
|
1007
|
+
"gas": 29000000,
|
|
1201
1008
|
"inputs": [
|
|
1202
1009
|
{
|
|
1203
|
-
"
|
|
1204
|
-
"name": "_ecdsaDkgValidator"
|
|
1205
|
-
"type": "address"
|
|
1010
|
+
"type": "address",
|
|
1011
|
+
"name": "_ecdsaDkgValidator"
|
|
1206
1012
|
},
|
|
1207
1013
|
{
|
|
1208
|
-
"
|
|
1209
|
-
"name": "_randomBeacon"
|
|
1210
|
-
"type": "address"
|
|
1014
|
+
"type": "address",
|
|
1015
|
+
"name": "_randomBeacon"
|
|
1211
1016
|
},
|
|
1212
1017
|
{
|
|
1213
|
-
"
|
|
1214
|
-
"name": "_reimbursementPool"
|
|
1215
|
-
"type": "address"
|
|
1018
|
+
"type": "address",
|
|
1019
|
+
"name": "_reimbursementPool"
|
|
1216
1020
|
}
|
|
1217
1021
|
],
|
|
1218
|
-
"
|
|
1219
|
-
"outputs": [],
|
|
1220
|
-
"stateMutability": "nonpayable",
|
|
1221
|
-
"type": "function"
|
|
1022
|
+
"outputs": []
|
|
1222
1023
|
},
|
|
1223
1024
|
{
|
|
1025
|
+
"type": "function",
|
|
1026
|
+
"name": "involuntaryAuthorizationDecrease",
|
|
1027
|
+
"constant": false,
|
|
1028
|
+
"payable": false,
|
|
1029
|
+
"gas": 29000000,
|
|
1224
1030
|
"inputs": [
|
|
1225
1031
|
{
|
|
1226
|
-
"
|
|
1227
|
-
"name": "stakingProvider"
|
|
1228
|
-
"type": "address"
|
|
1032
|
+
"type": "address",
|
|
1033
|
+
"name": "stakingProvider"
|
|
1229
1034
|
},
|
|
1230
1035
|
{
|
|
1231
|
-
"
|
|
1232
|
-
"name": "fromAmount"
|
|
1233
|
-
"type": "uint96"
|
|
1036
|
+
"type": "uint96",
|
|
1037
|
+
"name": "fromAmount"
|
|
1234
1038
|
},
|
|
1235
1039
|
{
|
|
1236
|
-
"
|
|
1237
|
-
"name": "toAmount"
|
|
1238
|
-
"type": "uint96"
|
|
1040
|
+
"type": "uint96",
|
|
1041
|
+
"name": "toAmount"
|
|
1239
1042
|
}
|
|
1240
1043
|
],
|
|
1241
|
-
"
|
|
1242
|
-
"outputs": [],
|
|
1243
|
-
"stateMutability": "nonpayable",
|
|
1244
|
-
"type": "function"
|
|
1044
|
+
"outputs": []
|
|
1245
1045
|
},
|
|
1246
1046
|
{
|
|
1047
|
+
"type": "function",
|
|
1048
|
+
"name": "isDkgResultValid",
|
|
1049
|
+
"constant": true,
|
|
1050
|
+
"stateMutability": "view",
|
|
1051
|
+
"payable": false,
|
|
1052
|
+
"gas": 29000000,
|
|
1247
1053
|
"inputs": [
|
|
1248
1054
|
{
|
|
1055
|
+
"type": "tuple",
|
|
1056
|
+
"name": "result",
|
|
1249
1057
|
"components": [
|
|
1250
1058
|
{
|
|
1251
|
-
"
|
|
1252
|
-
"name": "submitterMemberIndex"
|
|
1253
|
-
"type": "uint256"
|
|
1059
|
+
"type": "uint256",
|
|
1060
|
+
"name": "submitterMemberIndex"
|
|
1254
1061
|
},
|
|
1255
1062
|
{
|
|
1256
|
-
"
|
|
1257
|
-
"name": "groupPubKey"
|
|
1258
|
-
"type": "bytes"
|
|
1063
|
+
"type": "bytes",
|
|
1064
|
+
"name": "groupPubKey"
|
|
1259
1065
|
},
|
|
1260
1066
|
{
|
|
1261
|
-
"
|
|
1262
|
-
"name": "misbehavedMembersIndices"
|
|
1263
|
-
"type": "uint8[]"
|
|
1067
|
+
"type": "uint8[]",
|
|
1068
|
+
"name": "misbehavedMembersIndices"
|
|
1264
1069
|
},
|
|
1265
1070
|
{
|
|
1266
|
-
"
|
|
1267
|
-
"name": "signatures"
|
|
1268
|
-
"type": "bytes"
|
|
1071
|
+
"type": "bytes",
|
|
1072
|
+
"name": "signatures"
|
|
1269
1073
|
},
|
|
1270
1074
|
{
|
|
1271
|
-
"
|
|
1272
|
-
"name": "signingMembersIndices"
|
|
1273
|
-
"type": "uint256[]"
|
|
1075
|
+
"type": "uint256[]",
|
|
1076
|
+
"name": "signingMembersIndices"
|
|
1274
1077
|
},
|
|
1275
1078
|
{
|
|
1276
|
-
"
|
|
1277
|
-
"name": "members"
|
|
1278
|
-
"type": "uint32[]"
|
|
1079
|
+
"type": "uint32[]",
|
|
1080
|
+
"name": "members"
|
|
1279
1081
|
},
|
|
1280
1082
|
{
|
|
1281
|
-
"
|
|
1282
|
-
"name": "membersHash"
|
|
1283
|
-
"type": "bytes32"
|
|
1083
|
+
"type": "bytes32",
|
|
1084
|
+
"name": "membersHash"
|
|
1284
1085
|
}
|
|
1285
|
-
]
|
|
1286
|
-
"internalType": "struct EcdsaDkg.Result",
|
|
1287
|
-
"name": "result",
|
|
1288
|
-
"type": "tuple"
|
|
1086
|
+
]
|
|
1289
1087
|
}
|
|
1290
1088
|
],
|
|
1291
|
-
"name": "isDkgResultValid",
|
|
1292
1089
|
"outputs": [
|
|
1293
1090
|
{
|
|
1294
|
-
"internalType": "bool",
|
|
1295
|
-
"name": "",
|
|
1296
1091
|
"type": "bool"
|
|
1297
1092
|
},
|
|
1298
1093
|
{
|
|
1299
|
-
"internalType": "string",
|
|
1300
|
-
"name": "",
|
|
1301
1094
|
"type": "string"
|
|
1302
1095
|
}
|
|
1303
|
-
]
|
|
1304
|
-
"stateMutability": "view",
|
|
1305
|
-
"type": "function"
|
|
1096
|
+
]
|
|
1306
1097
|
},
|
|
1307
1098
|
{
|
|
1099
|
+
"type": "function",
|
|
1100
|
+
"name": "isOperatorInPool",
|
|
1101
|
+
"constant": true,
|
|
1102
|
+
"stateMutability": "view",
|
|
1103
|
+
"payable": false,
|
|
1104
|
+
"gas": 29000000,
|
|
1308
1105
|
"inputs": [
|
|
1309
1106
|
{
|
|
1310
|
-
"
|
|
1311
|
-
"name": "operator"
|
|
1312
|
-
"type": "address"
|
|
1107
|
+
"type": "address",
|
|
1108
|
+
"name": "operator"
|
|
1313
1109
|
}
|
|
1314
1110
|
],
|
|
1315
|
-
"name": "isOperatorInPool",
|
|
1316
1111
|
"outputs": [
|
|
1317
1112
|
{
|
|
1318
|
-
"internalType": "bool",
|
|
1319
|
-
"name": "",
|
|
1320
1113
|
"type": "bool"
|
|
1321
1114
|
}
|
|
1322
|
-
]
|
|
1323
|
-
"stateMutability": "view",
|
|
1324
|
-
"type": "function"
|
|
1115
|
+
]
|
|
1325
1116
|
},
|
|
1326
1117
|
{
|
|
1118
|
+
"type": "function",
|
|
1119
|
+
"name": "isOperatorUpToDate",
|
|
1120
|
+
"constant": true,
|
|
1121
|
+
"stateMutability": "view",
|
|
1122
|
+
"payable": false,
|
|
1123
|
+
"gas": 29000000,
|
|
1327
1124
|
"inputs": [
|
|
1328
1125
|
{
|
|
1329
|
-
"
|
|
1330
|
-
"name": "operator"
|
|
1331
|
-
"type": "address"
|
|
1126
|
+
"type": "address",
|
|
1127
|
+
"name": "operator"
|
|
1332
1128
|
}
|
|
1333
1129
|
],
|
|
1334
|
-
"name": "isOperatorUpToDate",
|
|
1335
1130
|
"outputs": [
|
|
1336
1131
|
{
|
|
1337
|
-
"internalType": "bool",
|
|
1338
|
-
"name": "",
|
|
1339
1132
|
"type": "bool"
|
|
1340
1133
|
}
|
|
1341
|
-
]
|
|
1342
|
-
"stateMutability": "view",
|
|
1343
|
-
"type": "function"
|
|
1134
|
+
]
|
|
1344
1135
|
},
|
|
1345
1136
|
{
|
|
1137
|
+
"type": "function",
|
|
1138
|
+
"name": "isWalletMember",
|
|
1139
|
+
"constant": true,
|
|
1140
|
+
"stateMutability": "view",
|
|
1141
|
+
"payable": false,
|
|
1142
|
+
"gas": 29000000,
|
|
1346
1143
|
"inputs": [
|
|
1347
1144
|
{
|
|
1348
|
-
"
|
|
1349
|
-
"name": "walletID"
|
|
1350
|
-
"type": "bytes32"
|
|
1145
|
+
"type": "bytes32",
|
|
1146
|
+
"name": "walletID"
|
|
1351
1147
|
},
|
|
1352
1148
|
{
|
|
1353
|
-
"
|
|
1354
|
-
"name": "walletMembersIDs"
|
|
1355
|
-
"type": "uint32[]"
|
|
1149
|
+
"type": "uint32[]",
|
|
1150
|
+
"name": "walletMembersIDs"
|
|
1356
1151
|
},
|
|
1357
1152
|
{
|
|
1358
|
-
"
|
|
1359
|
-
"name": "operator"
|
|
1360
|
-
"type": "address"
|
|
1153
|
+
"type": "address",
|
|
1154
|
+
"name": "operator"
|
|
1361
1155
|
},
|
|
1362
1156
|
{
|
|
1363
|
-
"
|
|
1364
|
-
"name": "walletMemberIndex"
|
|
1365
|
-
"type": "uint256"
|
|
1157
|
+
"type": "uint256",
|
|
1158
|
+
"name": "walletMemberIndex"
|
|
1366
1159
|
}
|
|
1367
1160
|
],
|
|
1368
|
-
"name": "isWalletMember",
|
|
1369
1161
|
"outputs": [
|
|
1370
1162
|
{
|
|
1371
|
-
"internalType": "bool",
|
|
1372
|
-
"name": "",
|
|
1373
1163
|
"type": "bool"
|
|
1374
1164
|
}
|
|
1375
|
-
]
|
|
1376
|
-
"stateMutability": "view",
|
|
1377
|
-
"type": "function"
|
|
1165
|
+
]
|
|
1378
1166
|
},
|
|
1379
1167
|
{
|
|
1168
|
+
"type": "function",
|
|
1169
|
+
"name": "isWalletRegistered",
|
|
1170
|
+
"constant": true,
|
|
1171
|
+
"stateMutability": "view",
|
|
1172
|
+
"payable": false,
|
|
1173
|
+
"gas": 29000000,
|
|
1380
1174
|
"inputs": [
|
|
1381
1175
|
{
|
|
1382
|
-
"
|
|
1383
|
-
"name": "walletID"
|
|
1384
|
-
"type": "bytes32"
|
|
1176
|
+
"type": "bytes32",
|
|
1177
|
+
"name": "walletID"
|
|
1385
1178
|
}
|
|
1386
1179
|
],
|
|
1387
|
-
"name": "isWalletRegistered",
|
|
1388
1180
|
"outputs": [
|
|
1389
1181
|
{
|
|
1390
|
-
"internalType": "bool",
|
|
1391
|
-
"name": "",
|
|
1392
1182
|
"type": "bool"
|
|
1393
1183
|
}
|
|
1394
|
-
]
|
|
1395
|
-
"stateMutability": "view",
|
|
1396
|
-
"type": "function"
|
|
1184
|
+
]
|
|
1397
1185
|
},
|
|
1398
1186
|
{
|
|
1399
|
-
"
|
|
1187
|
+
"type": "function",
|
|
1400
1188
|
"name": "joinSortitionPool",
|
|
1401
|
-
"
|
|
1402
|
-
"
|
|
1403
|
-
"
|
|
1189
|
+
"constant": false,
|
|
1190
|
+
"payable": false,
|
|
1191
|
+
"gas": 29000000,
|
|
1192
|
+
"inputs": [],
|
|
1193
|
+
"outputs": []
|
|
1404
1194
|
},
|
|
1405
1195
|
{
|
|
1406
|
-
"
|
|
1196
|
+
"type": "function",
|
|
1407
1197
|
"name": "minimumAuthorization",
|
|
1198
|
+
"constant": true,
|
|
1199
|
+
"stateMutability": "view",
|
|
1200
|
+
"payable": false,
|
|
1201
|
+
"gas": 29000000,
|
|
1202
|
+
"inputs": [],
|
|
1408
1203
|
"outputs": [
|
|
1409
1204
|
{
|
|
1410
|
-
"internalType": "uint96",
|
|
1411
|
-
"name": "",
|
|
1412
1205
|
"type": "uint96"
|
|
1413
1206
|
}
|
|
1414
|
-
]
|
|
1415
|
-
"stateMutability": "view",
|
|
1416
|
-
"type": "function"
|
|
1207
|
+
]
|
|
1417
1208
|
},
|
|
1418
1209
|
{
|
|
1419
|
-
"
|
|
1210
|
+
"type": "function",
|
|
1420
1211
|
"name": "notifyDkgTimeout",
|
|
1421
|
-
"
|
|
1422
|
-
"
|
|
1423
|
-
"
|
|
1212
|
+
"constant": false,
|
|
1213
|
+
"payable": false,
|
|
1214
|
+
"gas": 29000000,
|
|
1215
|
+
"inputs": [],
|
|
1216
|
+
"outputs": []
|
|
1424
1217
|
},
|
|
1425
1218
|
{
|
|
1219
|
+
"type": "function",
|
|
1220
|
+
"name": "notifyOperatorInactivity",
|
|
1221
|
+
"constant": false,
|
|
1222
|
+
"payable": false,
|
|
1223
|
+
"gas": 29000000,
|
|
1426
1224
|
"inputs": [
|
|
1427
1225
|
{
|
|
1226
|
+
"type": "tuple",
|
|
1227
|
+
"name": "claim",
|
|
1428
1228
|
"components": [
|
|
1429
1229
|
{
|
|
1430
|
-
"
|
|
1431
|
-
"name": "walletID"
|
|
1432
|
-
"type": "bytes32"
|
|
1230
|
+
"type": "bytes32",
|
|
1231
|
+
"name": "walletID"
|
|
1433
1232
|
},
|
|
1434
1233
|
{
|
|
1435
|
-
"
|
|
1436
|
-
"name": "inactiveMembersIndices"
|
|
1437
|
-
"type": "uint256[]"
|
|
1234
|
+
"type": "uint256[]",
|
|
1235
|
+
"name": "inactiveMembersIndices"
|
|
1438
1236
|
},
|
|
1439
1237
|
{
|
|
1440
|
-
"
|
|
1441
|
-
"name": "heartbeatFailed"
|
|
1442
|
-
"type": "bool"
|
|
1238
|
+
"type": "bool",
|
|
1239
|
+
"name": "heartbeatFailed"
|
|
1443
1240
|
},
|
|
1444
1241
|
{
|
|
1445
|
-
"
|
|
1446
|
-
"name": "signatures"
|
|
1447
|
-
"type": "bytes"
|
|
1242
|
+
"type": "bytes",
|
|
1243
|
+
"name": "signatures"
|
|
1448
1244
|
},
|
|
1449
1245
|
{
|
|
1450
|
-
"
|
|
1451
|
-
"name": "signingMembersIndices"
|
|
1452
|
-
"type": "uint256[]"
|
|
1246
|
+
"type": "uint256[]",
|
|
1247
|
+
"name": "signingMembersIndices"
|
|
1453
1248
|
}
|
|
1454
|
-
]
|
|
1455
|
-
"internalType": "struct EcdsaInactivity.Claim",
|
|
1456
|
-
"name": "claim",
|
|
1457
|
-
"type": "tuple"
|
|
1249
|
+
]
|
|
1458
1250
|
},
|
|
1459
1251
|
{
|
|
1460
|
-
"
|
|
1461
|
-
"name": "nonce"
|
|
1462
|
-
"type": "uint256"
|
|
1252
|
+
"type": "uint256",
|
|
1253
|
+
"name": "nonce"
|
|
1463
1254
|
},
|
|
1464
1255
|
{
|
|
1465
|
-
"
|
|
1466
|
-
"name": "groupMembers"
|
|
1467
|
-
"type": "uint32[]"
|
|
1256
|
+
"type": "uint32[]",
|
|
1257
|
+
"name": "groupMembers"
|
|
1468
1258
|
}
|
|
1469
1259
|
],
|
|
1470
|
-
"
|
|
1471
|
-
"outputs": [],
|
|
1472
|
-
"stateMutability": "nonpayable",
|
|
1473
|
-
"type": "function"
|
|
1260
|
+
"outputs": []
|
|
1474
1261
|
},
|
|
1475
1262
|
{
|
|
1476
|
-
"
|
|
1263
|
+
"type": "function",
|
|
1477
1264
|
"name": "notifySeedTimeout",
|
|
1478
|
-
"
|
|
1479
|
-
"
|
|
1480
|
-
"
|
|
1265
|
+
"constant": false,
|
|
1266
|
+
"payable": false,
|
|
1267
|
+
"gas": 29000000,
|
|
1268
|
+
"inputs": [],
|
|
1269
|
+
"outputs": []
|
|
1481
1270
|
},
|
|
1482
1271
|
{
|
|
1272
|
+
"type": "function",
|
|
1273
|
+
"name": "operatorToStakingProvider",
|
|
1274
|
+
"constant": true,
|
|
1275
|
+
"stateMutability": "view",
|
|
1276
|
+
"payable": false,
|
|
1277
|
+
"gas": 29000000,
|
|
1483
1278
|
"inputs": [
|
|
1484
1279
|
{
|
|
1485
|
-
"
|
|
1486
|
-
"name": "operator"
|
|
1487
|
-
"type": "address"
|
|
1280
|
+
"type": "address",
|
|
1281
|
+
"name": "operator"
|
|
1488
1282
|
}
|
|
1489
1283
|
],
|
|
1490
|
-
"name": "operatorToStakingProvider",
|
|
1491
1284
|
"outputs": [
|
|
1492
1285
|
{
|
|
1493
|
-
"internalType": "address",
|
|
1494
|
-
"name": "",
|
|
1495
1286
|
"type": "address"
|
|
1496
1287
|
}
|
|
1497
|
-
]
|
|
1498
|
-
"stateMutability": "view",
|
|
1499
|
-
"type": "function"
|
|
1288
|
+
]
|
|
1500
1289
|
},
|
|
1501
1290
|
{
|
|
1291
|
+
"type": "function",
|
|
1292
|
+
"name": "pendingAuthorizationDecrease",
|
|
1293
|
+
"constant": true,
|
|
1294
|
+
"stateMutability": "view",
|
|
1295
|
+
"payable": false,
|
|
1296
|
+
"gas": 29000000,
|
|
1502
1297
|
"inputs": [
|
|
1503
1298
|
{
|
|
1504
|
-
"
|
|
1505
|
-
"name": "stakingProvider"
|
|
1506
|
-
"type": "address"
|
|
1299
|
+
"type": "address",
|
|
1300
|
+
"name": "stakingProvider"
|
|
1507
1301
|
}
|
|
1508
1302
|
],
|
|
1509
|
-
"name": "pendingAuthorizationDecrease",
|
|
1510
1303
|
"outputs": [
|
|
1511
1304
|
{
|
|
1512
|
-
"internalType": "uint96",
|
|
1513
|
-
"name": "",
|
|
1514
1305
|
"type": "uint96"
|
|
1515
1306
|
}
|
|
1516
|
-
]
|
|
1517
|
-
"stateMutability": "view",
|
|
1518
|
-
"type": "function"
|
|
1307
|
+
]
|
|
1519
1308
|
},
|
|
1520
1309
|
{
|
|
1521
|
-
"
|
|
1310
|
+
"type": "function",
|
|
1522
1311
|
"name": "randomBeacon",
|
|
1312
|
+
"constant": true,
|
|
1313
|
+
"stateMutability": "view",
|
|
1314
|
+
"payable": false,
|
|
1315
|
+
"gas": 29000000,
|
|
1316
|
+
"inputs": [],
|
|
1523
1317
|
"outputs": [
|
|
1524
1318
|
{
|
|
1525
|
-
"internalType": "contract IRandomBeacon",
|
|
1526
|
-
"name": "",
|
|
1527
1319
|
"type": "address"
|
|
1528
1320
|
}
|
|
1529
|
-
]
|
|
1530
|
-
"stateMutability": "view",
|
|
1531
|
-
"type": "function"
|
|
1321
|
+
]
|
|
1532
1322
|
},
|
|
1533
1323
|
{
|
|
1324
|
+
"type": "function",
|
|
1325
|
+
"name": "registerOperator",
|
|
1326
|
+
"constant": false,
|
|
1327
|
+
"payable": false,
|
|
1328
|
+
"gas": 29000000,
|
|
1534
1329
|
"inputs": [
|
|
1535
1330
|
{
|
|
1536
|
-
"
|
|
1537
|
-
"name": "operator"
|
|
1538
|
-
"type": "address"
|
|
1331
|
+
"type": "address",
|
|
1332
|
+
"name": "operator"
|
|
1539
1333
|
}
|
|
1540
1334
|
],
|
|
1541
|
-
"
|
|
1542
|
-
"outputs": [],
|
|
1543
|
-
"stateMutability": "nonpayable",
|
|
1544
|
-
"type": "function"
|
|
1335
|
+
"outputs": []
|
|
1545
1336
|
},
|
|
1546
1337
|
{
|
|
1547
|
-
"
|
|
1338
|
+
"type": "function",
|
|
1548
1339
|
"name": "reimbursementPool",
|
|
1340
|
+
"constant": true,
|
|
1341
|
+
"stateMutability": "view",
|
|
1342
|
+
"payable": false,
|
|
1343
|
+
"gas": 29000000,
|
|
1344
|
+
"inputs": [],
|
|
1549
1345
|
"outputs": [
|
|
1550
1346
|
{
|
|
1551
|
-
"internalType": "contract ReimbursementPool",
|
|
1552
|
-
"name": "",
|
|
1553
1347
|
"type": "address"
|
|
1554
1348
|
}
|
|
1555
|
-
]
|
|
1556
|
-
"stateMutability": "view",
|
|
1557
|
-
"type": "function"
|
|
1349
|
+
]
|
|
1558
1350
|
},
|
|
1559
1351
|
{
|
|
1352
|
+
"type": "function",
|
|
1353
|
+
"name": "remainingAuthorizationDecreaseDelay",
|
|
1354
|
+
"constant": true,
|
|
1355
|
+
"stateMutability": "view",
|
|
1356
|
+
"payable": false,
|
|
1357
|
+
"gas": 29000000,
|
|
1560
1358
|
"inputs": [
|
|
1561
1359
|
{
|
|
1562
|
-
"
|
|
1563
|
-
"name": "stakingProvider"
|
|
1564
|
-
"type": "address"
|
|
1360
|
+
"type": "address",
|
|
1361
|
+
"name": "stakingProvider"
|
|
1565
1362
|
}
|
|
1566
1363
|
],
|
|
1567
|
-
"name": "remainingAuthorizationDecreaseDelay",
|
|
1568
1364
|
"outputs": [
|
|
1569
1365
|
{
|
|
1570
|
-
"internalType": "uint64",
|
|
1571
|
-
"name": "",
|
|
1572
1366
|
"type": "uint64"
|
|
1573
1367
|
}
|
|
1574
|
-
]
|
|
1575
|
-
"stateMutability": "view",
|
|
1576
|
-
"type": "function"
|
|
1368
|
+
]
|
|
1577
1369
|
},
|
|
1578
1370
|
{
|
|
1579
|
-
"
|
|
1371
|
+
"type": "function",
|
|
1580
1372
|
"name": "requestNewWallet",
|
|
1581
|
-
"
|
|
1582
|
-
"
|
|
1583
|
-
"
|
|
1373
|
+
"constant": false,
|
|
1374
|
+
"payable": false,
|
|
1375
|
+
"gas": 29000000,
|
|
1376
|
+
"inputs": [],
|
|
1377
|
+
"outputs": []
|
|
1584
1378
|
},
|
|
1585
1379
|
{
|
|
1586
|
-
"
|
|
1380
|
+
"type": "function",
|
|
1587
1381
|
"name": "rewardParameters",
|
|
1382
|
+
"constant": true,
|
|
1383
|
+
"stateMutability": "view",
|
|
1384
|
+
"payable": false,
|
|
1385
|
+
"gas": 29000000,
|
|
1386
|
+
"inputs": [],
|
|
1588
1387
|
"outputs": [
|
|
1589
1388
|
{
|
|
1590
|
-
"
|
|
1591
|
-
"name": "maliciousDkgResultNotificationRewardMultiplier"
|
|
1592
|
-
"type": "uint256"
|
|
1389
|
+
"type": "uint256",
|
|
1390
|
+
"name": "maliciousDkgResultNotificationRewardMultiplier"
|
|
1593
1391
|
},
|
|
1594
1392
|
{
|
|
1595
|
-
"
|
|
1596
|
-
"name": "sortitionPoolRewardsBanDuration"
|
|
1597
|
-
"type": "uint256"
|
|
1393
|
+
"type": "uint256",
|
|
1394
|
+
"name": "sortitionPoolRewardsBanDuration"
|
|
1598
1395
|
}
|
|
1599
|
-
]
|
|
1600
|
-
"stateMutability": "view",
|
|
1601
|
-
"type": "function"
|
|
1396
|
+
]
|
|
1602
1397
|
},
|
|
1603
1398
|
{
|
|
1399
|
+
"type": "function",
|
|
1400
|
+
"name": "seize",
|
|
1401
|
+
"constant": false,
|
|
1402
|
+
"payable": false,
|
|
1403
|
+
"gas": 29000000,
|
|
1604
1404
|
"inputs": [
|
|
1605
1405
|
{
|
|
1606
|
-
"
|
|
1607
|
-
"name": "amount"
|
|
1608
|
-
"type": "uint96"
|
|
1406
|
+
"type": "uint96",
|
|
1407
|
+
"name": "amount"
|
|
1609
1408
|
},
|
|
1610
1409
|
{
|
|
1611
|
-
"
|
|
1612
|
-
"name": "rewardMultiplier"
|
|
1613
|
-
"type": "uint256"
|
|
1410
|
+
"type": "uint256",
|
|
1411
|
+
"name": "rewardMultiplier"
|
|
1614
1412
|
},
|
|
1615
1413
|
{
|
|
1616
|
-
"
|
|
1617
|
-
"name": "notifier"
|
|
1618
|
-
"type": "address"
|
|
1414
|
+
"type": "address",
|
|
1415
|
+
"name": "notifier"
|
|
1619
1416
|
},
|
|
1620
1417
|
{
|
|
1621
|
-
"
|
|
1622
|
-
"name": "walletID"
|
|
1623
|
-
"type": "bytes32"
|
|
1418
|
+
"type": "bytes32",
|
|
1419
|
+
"name": "walletID"
|
|
1624
1420
|
},
|
|
1625
1421
|
{
|
|
1626
|
-
"
|
|
1627
|
-
"name": "walletMembersIDs"
|
|
1628
|
-
"type": "uint32[]"
|
|
1422
|
+
"type": "uint32[]",
|
|
1423
|
+
"name": "walletMembersIDs"
|
|
1629
1424
|
}
|
|
1630
1425
|
],
|
|
1631
|
-
"
|
|
1632
|
-
"outputs": [],
|
|
1633
|
-
"stateMutability": "nonpayable",
|
|
1634
|
-
"type": "function"
|
|
1426
|
+
"outputs": []
|
|
1635
1427
|
},
|
|
1636
1428
|
{
|
|
1637
|
-
"
|
|
1429
|
+
"type": "function",
|
|
1638
1430
|
"name": "selectGroup",
|
|
1431
|
+
"constant": true,
|
|
1432
|
+
"stateMutability": "view",
|
|
1433
|
+
"payable": false,
|
|
1434
|
+
"gas": 29000000,
|
|
1435
|
+
"inputs": [],
|
|
1639
1436
|
"outputs": [
|
|
1640
1437
|
{
|
|
1641
|
-
"internalType": "uint32[]",
|
|
1642
|
-
"name": "",
|
|
1643
1438
|
"type": "uint32[]"
|
|
1644
1439
|
}
|
|
1645
|
-
]
|
|
1646
|
-
"stateMutability": "view",
|
|
1647
|
-
"type": "function"
|
|
1440
|
+
]
|
|
1648
1441
|
},
|
|
1649
1442
|
{
|
|
1650
|
-
"
|
|
1443
|
+
"type": "function",
|
|
1651
1444
|
"name": "slashingParameters",
|
|
1445
|
+
"constant": true,
|
|
1446
|
+
"stateMutability": "view",
|
|
1447
|
+
"payable": false,
|
|
1448
|
+
"gas": 29000000,
|
|
1449
|
+
"inputs": [],
|
|
1652
1450
|
"outputs": [
|
|
1653
1451
|
{
|
|
1654
|
-
"
|
|
1655
|
-
"name": "maliciousDkgResultSlashingAmount"
|
|
1656
|
-
"type": "uint96"
|
|
1452
|
+
"type": "uint96",
|
|
1453
|
+
"name": "maliciousDkgResultSlashingAmount"
|
|
1657
1454
|
}
|
|
1658
|
-
]
|
|
1659
|
-
"stateMutability": "view",
|
|
1660
|
-
"type": "function"
|
|
1455
|
+
]
|
|
1661
1456
|
},
|
|
1662
1457
|
{
|
|
1663
|
-
"
|
|
1458
|
+
"type": "function",
|
|
1664
1459
|
"name": "sortitionPool",
|
|
1460
|
+
"constant": true,
|
|
1461
|
+
"stateMutability": "view",
|
|
1462
|
+
"payable": false,
|
|
1463
|
+
"gas": 29000000,
|
|
1464
|
+
"inputs": [],
|
|
1665
1465
|
"outputs": [
|
|
1666
1466
|
{
|
|
1667
|
-
"internalType": "contract SortitionPool",
|
|
1668
|
-
"name": "",
|
|
1669
1467
|
"type": "address"
|
|
1670
1468
|
}
|
|
1671
|
-
]
|
|
1672
|
-
"stateMutability": "view",
|
|
1673
|
-
"type": "function"
|
|
1469
|
+
]
|
|
1674
1470
|
},
|
|
1675
1471
|
{
|
|
1676
|
-
"
|
|
1472
|
+
"type": "function",
|
|
1677
1473
|
"name": "staking",
|
|
1474
|
+
"constant": true,
|
|
1475
|
+
"stateMutability": "view",
|
|
1476
|
+
"payable": false,
|
|
1477
|
+
"gas": 29000000,
|
|
1478
|
+
"inputs": [],
|
|
1678
1479
|
"outputs": [
|
|
1679
1480
|
{
|
|
1680
|
-
"internalType": "contract IStaking",
|
|
1681
|
-
"name": "",
|
|
1682
1481
|
"type": "address"
|
|
1683
1482
|
}
|
|
1684
|
-
]
|
|
1685
|
-
"stateMutability": "view",
|
|
1686
|
-
"type": "function"
|
|
1483
|
+
]
|
|
1687
1484
|
},
|
|
1688
1485
|
{
|
|
1486
|
+
"type": "function",
|
|
1487
|
+
"name": "stakingProviderToOperator",
|
|
1488
|
+
"constant": true,
|
|
1489
|
+
"stateMutability": "view",
|
|
1490
|
+
"payable": false,
|
|
1491
|
+
"gas": 29000000,
|
|
1689
1492
|
"inputs": [
|
|
1690
1493
|
{
|
|
1691
|
-
"
|
|
1692
|
-
"name": "stakingProvider"
|
|
1693
|
-
"type": "address"
|
|
1494
|
+
"type": "address",
|
|
1495
|
+
"name": "stakingProvider"
|
|
1694
1496
|
}
|
|
1695
1497
|
],
|
|
1696
|
-
"name": "stakingProviderToOperator",
|
|
1697
1498
|
"outputs": [
|
|
1698
1499
|
{
|
|
1699
|
-
"internalType": "address",
|
|
1700
|
-
"name": "",
|
|
1701
1500
|
"type": "address"
|
|
1702
1501
|
}
|
|
1703
|
-
]
|
|
1704
|
-
"stateMutability": "view",
|
|
1705
|
-
"type": "function"
|
|
1502
|
+
]
|
|
1706
1503
|
},
|
|
1707
1504
|
{
|
|
1505
|
+
"type": "function",
|
|
1506
|
+
"name": "submitDkgResult",
|
|
1507
|
+
"constant": false,
|
|
1508
|
+
"payable": false,
|
|
1509
|
+
"gas": 29000000,
|
|
1708
1510
|
"inputs": [
|
|
1709
1511
|
{
|
|
1512
|
+
"type": "tuple",
|
|
1513
|
+
"name": "dkgResult",
|
|
1710
1514
|
"components": [
|
|
1711
1515
|
{
|
|
1712
|
-
"
|
|
1713
|
-
"name": "submitterMemberIndex"
|
|
1714
|
-
"type": "uint256"
|
|
1516
|
+
"type": "uint256",
|
|
1517
|
+
"name": "submitterMemberIndex"
|
|
1715
1518
|
},
|
|
1716
1519
|
{
|
|
1717
|
-
"
|
|
1718
|
-
"name": "groupPubKey"
|
|
1719
|
-
"type": "bytes"
|
|
1520
|
+
"type": "bytes",
|
|
1521
|
+
"name": "groupPubKey"
|
|
1720
1522
|
},
|
|
1721
1523
|
{
|
|
1722
|
-
"
|
|
1723
|
-
"name": "misbehavedMembersIndices"
|
|
1724
|
-
"type": "uint8[]"
|
|
1524
|
+
"type": "uint8[]",
|
|
1525
|
+
"name": "misbehavedMembersIndices"
|
|
1725
1526
|
},
|
|
1726
1527
|
{
|
|
1727
|
-
"
|
|
1728
|
-
"name": "signatures"
|
|
1729
|
-
"type": "bytes"
|
|
1528
|
+
"type": "bytes",
|
|
1529
|
+
"name": "signatures"
|
|
1730
1530
|
},
|
|
1731
1531
|
{
|
|
1732
|
-
"
|
|
1733
|
-
"name": "signingMembersIndices"
|
|
1734
|
-
"type": "uint256[]"
|
|
1532
|
+
"type": "uint256[]",
|
|
1533
|
+
"name": "signingMembersIndices"
|
|
1735
1534
|
},
|
|
1736
1535
|
{
|
|
1737
|
-
"
|
|
1738
|
-
"name": "members"
|
|
1739
|
-
"type": "uint32[]"
|
|
1536
|
+
"type": "uint32[]",
|
|
1537
|
+
"name": "members"
|
|
1740
1538
|
},
|
|
1741
1539
|
{
|
|
1742
|
-
"
|
|
1743
|
-
"name": "membersHash"
|
|
1744
|
-
"type": "bytes32"
|
|
1540
|
+
"type": "bytes32",
|
|
1541
|
+
"name": "membersHash"
|
|
1745
1542
|
}
|
|
1746
|
-
]
|
|
1747
|
-
"internalType": "struct EcdsaDkg.Result",
|
|
1748
|
-
"name": "dkgResult",
|
|
1749
|
-
"type": "tuple"
|
|
1543
|
+
]
|
|
1750
1544
|
}
|
|
1751
1545
|
],
|
|
1752
|
-
"
|
|
1753
|
-
"outputs": [],
|
|
1754
|
-
"stateMutability": "nonpayable",
|
|
1755
|
-
"type": "function"
|
|
1546
|
+
"outputs": []
|
|
1756
1547
|
},
|
|
1757
1548
|
{
|
|
1549
|
+
"type": "function",
|
|
1550
|
+
"name": "transferGovernance",
|
|
1551
|
+
"constant": false,
|
|
1552
|
+
"payable": false,
|
|
1553
|
+
"gas": 29000000,
|
|
1758
1554
|
"inputs": [
|
|
1759
1555
|
{
|
|
1760
|
-
"
|
|
1761
|
-
"name": "newGovernance"
|
|
1762
|
-
"type": "address"
|
|
1556
|
+
"type": "address",
|
|
1557
|
+
"name": "newGovernance"
|
|
1763
1558
|
}
|
|
1764
1559
|
],
|
|
1765
|
-
"
|
|
1766
|
-
"outputs": [],
|
|
1767
|
-
"stateMutability": "nonpayable",
|
|
1768
|
-
"type": "function"
|
|
1560
|
+
"outputs": []
|
|
1769
1561
|
},
|
|
1770
1562
|
{
|
|
1563
|
+
"type": "function",
|
|
1564
|
+
"name": "updateAuthorizationParameters",
|
|
1565
|
+
"constant": false,
|
|
1566
|
+
"payable": false,
|
|
1567
|
+
"gas": 29000000,
|
|
1771
1568
|
"inputs": [
|
|
1772
1569
|
{
|
|
1773
|
-
"
|
|
1774
|
-
"name": "_minimumAuthorization"
|
|
1775
|
-
"type": "uint96"
|
|
1570
|
+
"type": "uint96",
|
|
1571
|
+
"name": "_minimumAuthorization"
|
|
1776
1572
|
},
|
|
1777
1573
|
{
|
|
1778
|
-
"
|
|
1779
|
-
"name": "_authorizationDecreaseDelay"
|
|
1780
|
-
"type": "uint64"
|
|
1574
|
+
"type": "uint64",
|
|
1575
|
+
"name": "_authorizationDecreaseDelay"
|
|
1781
1576
|
},
|
|
1782
1577
|
{
|
|
1783
|
-
"
|
|
1784
|
-
"name": "_authorizationDecreaseChangePeriod"
|
|
1785
|
-
"type": "uint64"
|
|
1578
|
+
"type": "uint64",
|
|
1579
|
+
"name": "_authorizationDecreaseChangePeriod"
|
|
1786
1580
|
}
|
|
1787
1581
|
],
|
|
1788
|
-
"
|
|
1789
|
-
"outputs": [],
|
|
1790
|
-
"stateMutability": "nonpayable",
|
|
1791
|
-
"type": "function"
|
|
1582
|
+
"outputs": []
|
|
1792
1583
|
},
|
|
1793
1584
|
{
|
|
1585
|
+
"type": "function",
|
|
1586
|
+
"name": "updateDkgParameters",
|
|
1587
|
+
"constant": false,
|
|
1588
|
+
"payable": false,
|
|
1589
|
+
"gas": 29000000,
|
|
1794
1590
|
"inputs": [
|
|
1795
1591
|
{
|
|
1796
|
-
"
|
|
1797
|
-
"name": "_seedTimeout"
|
|
1798
|
-
"type": "uint256"
|
|
1592
|
+
"type": "uint256",
|
|
1593
|
+
"name": "_seedTimeout"
|
|
1799
1594
|
},
|
|
1800
1595
|
{
|
|
1801
|
-
"
|
|
1802
|
-
"name": "_resultChallengePeriodLength"
|
|
1803
|
-
"type": "uint256"
|
|
1596
|
+
"type": "uint256",
|
|
1597
|
+
"name": "_resultChallengePeriodLength"
|
|
1804
1598
|
},
|
|
1805
1599
|
{
|
|
1806
|
-
"
|
|
1807
|
-
"name": "_resultSubmissionTimeout"
|
|
1808
|
-
"type": "uint256"
|
|
1600
|
+
"type": "uint256",
|
|
1601
|
+
"name": "_resultSubmissionTimeout"
|
|
1809
1602
|
},
|
|
1810
1603
|
{
|
|
1811
|
-
"
|
|
1812
|
-
"name": "_submitterPrecedencePeriodLength"
|
|
1813
|
-
"type": "uint256"
|
|
1604
|
+
"type": "uint256",
|
|
1605
|
+
"name": "_submitterPrecedencePeriodLength"
|
|
1814
1606
|
}
|
|
1815
1607
|
],
|
|
1816
|
-
"
|
|
1817
|
-
"outputs": [],
|
|
1818
|
-
"stateMutability": "nonpayable",
|
|
1819
|
-
"type": "function"
|
|
1608
|
+
"outputs": []
|
|
1820
1609
|
},
|
|
1821
1610
|
{
|
|
1611
|
+
"type": "function",
|
|
1612
|
+
"name": "updateGasParameters",
|
|
1613
|
+
"constant": false,
|
|
1614
|
+
"payable": false,
|
|
1615
|
+
"gas": 29000000,
|
|
1822
1616
|
"inputs": [
|
|
1823
1617
|
{
|
|
1824
|
-
"
|
|
1825
|
-
"name": "dkgResultSubmissionGas"
|
|
1826
|
-
"type": "uint256"
|
|
1618
|
+
"type": "uint256",
|
|
1619
|
+
"name": "dkgResultSubmissionGas"
|
|
1827
1620
|
},
|
|
1828
1621
|
{
|
|
1829
|
-
"
|
|
1830
|
-
"name": "dkgResultApprovalGasOffset"
|
|
1831
|
-
"type": "uint256"
|
|
1622
|
+
"type": "uint256",
|
|
1623
|
+
"name": "dkgResultApprovalGasOffset"
|
|
1832
1624
|
},
|
|
1833
1625
|
{
|
|
1834
|
-
"
|
|
1835
|
-
"name": "notifyOperatorInactivityGasOffset"
|
|
1836
|
-
"type": "uint256"
|
|
1626
|
+
"type": "uint256",
|
|
1627
|
+
"name": "notifyOperatorInactivityGasOffset"
|
|
1837
1628
|
},
|
|
1838
1629
|
{
|
|
1839
|
-
"
|
|
1840
|
-
"name": "notifySeedTimeoutGasOffset"
|
|
1841
|
-
"type": "uint256"
|
|
1630
|
+
"type": "uint256",
|
|
1631
|
+
"name": "notifySeedTimeoutGasOffset"
|
|
1842
1632
|
},
|
|
1843
1633
|
{
|
|
1844
|
-
"
|
|
1845
|
-
"name": "notifyDkgTimeoutNegativeGasOffset"
|
|
1846
|
-
"type": "uint256"
|
|
1634
|
+
"type": "uint256",
|
|
1635
|
+
"name": "notifyDkgTimeoutNegativeGasOffset"
|
|
1847
1636
|
}
|
|
1848
1637
|
],
|
|
1849
|
-
"
|
|
1850
|
-
"outputs": [],
|
|
1851
|
-
"stateMutability": "nonpayable",
|
|
1852
|
-
"type": "function"
|
|
1638
|
+
"outputs": []
|
|
1853
1639
|
},
|
|
1854
1640
|
{
|
|
1641
|
+
"type": "function",
|
|
1642
|
+
"name": "updateOperatorStatus",
|
|
1643
|
+
"constant": false,
|
|
1644
|
+
"payable": false,
|
|
1645
|
+
"gas": 29000000,
|
|
1855
1646
|
"inputs": [
|
|
1856
1647
|
{
|
|
1857
|
-
"
|
|
1858
|
-
"name": "operator"
|
|
1859
|
-
"type": "address"
|
|
1648
|
+
"type": "address",
|
|
1649
|
+
"name": "operator"
|
|
1860
1650
|
}
|
|
1861
1651
|
],
|
|
1862
|
-
"
|
|
1863
|
-
"outputs": [],
|
|
1864
|
-
"stateMutability": "nonpayable",
|
|
1865
|
-
"type": "function"
|
|
1652
|
+
"outputs": []
|
|
1866
1653
|
},
|
|
1867
1654
|
{
|
|
1655
|
+
"type": "function",
|
|
1656
|
+
"name": "updateReimbursementPool",
|
|
1657
|
+
"constant": false,
|
|
1658
|
+
"payable": false,
|
|
1659
|
+
"gas": 29000000,
|
|
1868
1660
|
"inputs": [
|
|
1869
1661
|
{
|
|
1870
|
-
"
|
|
1871
|
-
"name": "_reimbursementPool"
|
|
1872
|
-
"type": "address"
|
|
1662
|
+
"type": "address",
|
|
1663
|
+
"name": "_reimbursementPool"
|
|
1873
1664
|
}
|
|
1874
1665
|
],
|
|
1875
|
-
"
|
|
1876
|
-
"outputs": [],
|
|
1877
|
-
"stateMutability": "nonpayable",
|
|
1878
|
-
"type": "function"
|
|
1666
|
+
"outputs": []
|
|
1879
1667
|
},
|
|
1880
1668
|
{
|
|
1669
|
+
"type": "function",
|
|
1670
|
+
"name": "updateRewardParameters",
|
|
1671
|
+
"constant": false,
|
|
1672
|
+
"payable": false,
|
|
1673
|
+
"gas": 29000000,
|
|
1881
1674
|
"inputs": [
|
|
1882
1675
|
{
|
|
1883
|
-
"
|
|
1884
|
-
"name": "maliciousDkgResultNotificationRewardMultiplier"
|
|
1885
|
-
"type": "uint256"
|
|
1676
|
+
"type": "uint256",
|
|
1677
|
+
"name": "maliciousDkgResultNotificationRewardMultiplier"
|
|
1886
1678
|
},
|
|
1887
1679
|
{
|
|
1888
|
-
"
|
|
1889
|
-
"name": "sortitionPoolRewardsBanDuration"
|
|
1890
|
-
"type": "uint256"
|
|
1680
|
+
"type": "uint256",
|
|
1681
|
+
"name": "sortitionPoolRewardsBanDuration"
|
|
1891
1682
|
}
|
|
1892
1683
|
],
|
|
1893
|
-
"
|
|
1894
|
-
"outputs": [],
|
|
1895
|
-
"stateMutability": "nonpayable",
|
|
1896
|
-
"type": "function"
|
|
1684
|
+
"outputs": []
|
|
1897
1685
|
},
|
|
1898
1686
|
{
|
|
1687
|
+
"type": "function",
|
|
1688
|
+
"name": "updateSlashingParameters",
|
|
1689
|
+
"constant": false,
|
|
1690
|
+
"payable": false,
|
|
1691
|
+
"gas": 29000000,
|
|
1899
1692
|
"inputs": [
|
|
1900
1693
|
{
|
|
1901
|
-
"
|
|
1902
|
-
"name": "maliciousDkgResultSlashingAmount"
|
|
1903
|
-
"type": "uint96"
|
|
1694
|
+
"type": "uint96",
|
|
1695
|
+
"name": "maliciousDkgResultSlashingAmount"
|
|
1904
1696
|
}
|
|
1905
1697
|
],
|
|
1906
|
-
"
|
|
1907
|
-
"outputs": [],
|
|
1908
|
-
"stateMutability": "nonpayable",
|
|
1909
|
-
"type": "function"
|
|
1698
|
+
"outputs": []
|
|
1910
1699
|
},
|
|
1911
1700
|
{
|
|
1701
|
+
"type": "function",
|
|
1702
|
+
"name": "updateWalletOwner",
|
|
1703
|
+
"constant": false,
|
|
1704
|
+
"payable": false,
|
|
1705
|
+
"gas": 29000000,
|
|
1912
1706
|
"inputs": [
|
|
1913
1707
|
{
|
|
1914
|
-
"
|
|
1915
|
-
"name": "_walletOwner"
|
|
1916
|
-
"type": "address"
|
|
1708
|
+
"type": "address",
|
|
1709
|
+
"name": "_walletOwner"
|
|
1917
1710
|
}
|
|
1918
1711
|
],
|
|
1919
|
-
"
|
|
1920
|
-
"outputs": [],
|
|
1921
|
-
"stateMutability": "nonpayable",
|
|
1922
|
-
"type": "function"
|
|
1712
|
+
"outputs": []
|
|
1923
1713
|
},
|
|
1924
1714
|
{
|
|
1715
|
+
"type": "function",
|
|
1716
|
+
"name": "upgradeRandomBeacon",
|
|
1717
|
+
"constant": false,
|
|
1718
|
+
"payable": false,
|
|
1719
|
+
"gas": 29000000,
|
|
1925
1720
|
"inputs": [
|
|
1926
1721
|
{
|
|
1927
|
-
"
|
|
1928
|
-
"name": "_randomBeacon"
|
|
1929
|
-
"type": "address"
|
|
1722
|
+
"type": "address",
|
|
1723
|
+
"name": "_randomBeacon"
|
|
1930
1724
|
}
|
|
1931
1725
|
],
|
|
1932
|
-
"
|
|
1933
|
-
"outputs": [],
|
|
1934
|
-
"stateMutability": "nonpayable",
|
|
1935
|
-
"type": "function"
|
|
1726
|
+
"outputs": []
|
|
1936
1727
|
},
|
|
1937
1728
|
{
|
|
1938
|
-
"
|
|
1729
|
+
"type": "function",
|
|
1939
1730
|
"name": "walletOwner",
|
|
1731
|
+
"constant": true,
|
|
1732
|
+
"stateMutability": "view",
|
|
1733
|
+
"payable": false,
|
|
1734
|
+
"gas": 29000000,
|
|
1735
|
+
"inputs": [],
|
|
1940
1736
|
"outputs": [
|
|
1941
1737
|
{
|
|
1942
|
-
"internalType": "contract IWalletOwner",
|
|
1943
|
-
"name": "",
|
|
1944
1738
|
"type": "address"
|
|
1945
1739
|
}
|
|
1946
|
-
]
|
|
1947
|
-
"stateMutability": "view",
|
|
1948
|
-
"type": "function"
|
|
1740
|
+
]
|
|
1949
1741
|
},
|
|
1950
1742
|
{
|
|
1951
|
-
"
|
|
1952
|
-
{
|
|
1953
|
-
"internalType": "address",
|
|
1954
|
-
"name": "recipient",
|
|
1955
|
-
"type": "address"
|
|
1956
|
-
}
|
|
1957
|
-
],
|
|
1743
|
+
"type": "function",
|
|
1958
1744
|
"name": "withdrawIneligibleRewards",
|
|
1959
|
-
"
|
|
1960
|
-
"
|
|
1961
|
-
"
|
|
1962
|
-
},
|
|
1963
|
-
{
|
|
1745
|
+
"constant": false,
|
|
1746
|
+
"payable": false,
|
|
1747
|
+
"gas": 29000000,
|
|
1964
1748
|
"inputs": [
|
|
1965
1749
|
{
|
|
1966
|
-
"
|
|
1967
|
-
"name": "
|
|
1968
|
-
"type": "address"
|
|
1750
|
+
"type": "address",
|
|
1751
|
+
"name": "recipient"
|
|
1969
1752
|
}
|
|
1970
1753
|
],
|
|
1971
|
-
"
|
|
1972
|
-
"outputs": [],
|
|
1973
|
-
"stateMutability": "nonpayable",
|
|
1974
|
-
"type": "function"
|
|
1754
|
+
"outputs": []
|
|
1975
1755
|
},
|
|
1976
1756
|
{
|
|
1757
|
+
"type": "function",
|
|
1758
|
+
"name": "withdrawRewards",
|
|
1759
|
+
"constant": false,
|
|
1760
|
+
"payable": false,
|
|
1761
|
+
"gas": 29000000,
|
|
1977
1762
|
"inputs": [
|
|
1978
1763
|
{
|
|
1979
|
-
"
|
|
1980
|
-
"name": "
|
|
1981
|
-
"type": "address"
|
|
1982
|
-
},
|
|
1983
|
-
{
|
|
1984
|
-
"internalType": "address",
|
|
1985
|
-
"name": "admin_",
|
|
1986
|
-
"type": "address"
|
|
1987
|
-
},
|
|
1988
|
-
{
|
|
1989
|
-
"internalType": "bytes",
|
|
1990
|
-
"name": "_data",
|
|
1991
|
-
"type": "bytes"
|
|
1764
|
+
"type": "address",
|
|
1765
|
+
"name": "stakingProvider"
|
|
1992
1766
|
}
|
|
1993
1767
|
],
|
|
1994
|
-
"
|
|
1995
|
-
"type": "constructor"
|
|
1768
|
+
"outputs": []
|
|
1996
1769
|
}
|
|
1997
1770
|
],
|
|
1998
|
-
"transactionHash": "
|
|
1771
|
+
"transactionHash": "0x97eee107aba25ce5b05b9804fc156ef8cc903729639131f12ba8165a8a6d1980",
|
|
1999
1772
|
"receipt": {
|
|
2000
1773
|
"to": null,
|
|
2001
1774
|
"from": "0x70997970C51812dc3A010C7d01b50e0d17dc79C8",
|
|
2002
|
-
"contractAddress": "
|
|
1775
|
+
"contractAddress": "0x677df0cb865368207999F2862Ece576dC56D8dF6",
|
|
2003
1776
|
"transactionIndex": 0,
|
|
2004
|
-
"gasUsed": "
|
|
2005
|
-
"logsBloom": "
|
|
2006
|
-
"blockHash": "
|
|
2007
|
-
"transactionHash": "
|
|
1777
|
+
"gasUsed": "1031171",
|
|
1778
|
+
"logsBloom": "0x00000000000000000000000000000000400000004000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000080000000000000002000000000000000800000000000000000000000000000000000000000000000000000000800000000000000000020000000000000020000000000000000000000000000000000080000000000000800000000000000000000000000000000400000000000000000000000000000000000000000020000000000000020000040000000000000400000000000001000000000000000000000000000800000000000000000000000000000000000000000000",
|
|
1779
|
+
"blockHash": "0x5f679e17bad76fafe34f21954f04f969f1bb9718f10d5f496e7db0452bc5009e",
|
|
1780
|
+
"transactionHash": "0x97eee107aba25ce5b05b9804fc156ef8cc903729639131f12ba8165a8a6d1980",
|
|
2008
1781
|
"logs": [
|
|
2009
1782
|
{
|
|
2010
1783
|
"transactionIndex": 0,
|
|
2011
|
-
"blockNumber":
|
|
2012
|
-
"transactionHash": "
|
|
2013
|
-
"address": "
|
|
1784
|
+
"blockNumber": 29,
|
|
1785
|
+
"transactionHash": "0x97eee107aba25ce5b05b9804fc156ef8cc903729639131f12ba8165a8a6d1980",
|
|
1786
|
+
"address": "0x677df0cb865368207999F2862Ece576dC56D8dF6",
|
|
2014
1787
|
"topics": [
|
|
2015
1788
|
"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b",
|
|
2016
|
-
"
|
|
1789
|
+
"0x000000000000000000000000505d59fffd312983cc0ed114d7f117b91520d742"
|
|
2017
1790
|
],
|
|
2018
1791
|
"data": "0x",
|
|
2019
1792
|
"logIndex": 0,
|
|
2020
|
-
"blockHash": "
|
|
1793
|
+
"blockHash": "0x5f679e17bad76fafe34f21954f04f969f1bb9718f10d5f496e7db0452bc5009e"
|
|
2021
1794
|
},
|
|
2022
1795
|
{
|
|
2023
1796
|
"transactionIndex": 0,
|
|
2024
|
-
"blockNumber":
|
|
2025
|
-
"transactionHash": "
|
|
2026
|
-
"address": "
|
|
1797
|
+
"blockNumber": 29,
|
|
1798
|
+
"transactionHash": "0x97eee107aba25ce5b05b9804fc156ef8cc903729639131f12ba8165a8a6d1980",
|
|
1799
|
+
"address": "0x677df0cb865368207999F2862Ece576dC56D8dF6",
|
|
2027
1800
|
"topics": [
|
|
2028
1801
|
"0x5f56bee8cffbe9a78652a74a60705edede02af10b0bbb888ca44b79a0d42ce80"
|
|
2029
1802
|
],
|
|
2030
1803
|
"data": "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070997970c51812dc3a010c7d01b50e0d17dc79c8",
|
|
2031
1804
|
"logIndex": 1,
|
|
2032
|
-
"blockHash": "
|
|
1805
|
+
"blockHash": "0x5f679e17bad76fafe34f21954f04f969f1bb9718f10d5f496e7db0452bc5009e"
|
|
2033
1806
|
},
|
|
2034
1807
|
{
|
|
2035
1808
|
"transactionIndex": 0,
|
|
2036
|
-
"blockNumber":
|
|
2037
|
-
"transactionHash": "
|
|
2038
|
-
"address": "
|
|
1809
|
+
"blockNumber": 29,
|
|
1810
|
+
"transactionHash": "0x97eee107aba25ce5b05b9804fc156ef8cc903729639131f12ba8165a8a6d1980",
|
|
1811
|
+
"address": "0x677df0cb865368207999F2862Ece576dC56D8dF6",
|
|
2039
1812
|
"topics": [
|
|
2040
1813
|
"0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498"
|
|
2041
1814
|
],
|
|
2042
1815
|
"data": "0x0000000000000000000000000000000000000000000000000000000000000001",
|
|
2043
1816
|
"logIndex": 2,
|
|
2044
|
-
"blockHash": "
|
|
1817
|
+
"blockHash": "0x5f679e17bad76fafe34f21954f04f969f1bb9718f10d5f496e7db0452bc5009e"
|
|
2045
1818
|
},
|
|
2046
1819
|
{
|
|
2047
1820
|
"transactionIndex": 0,
|
|
2048
|
-
"blockNumber":
|
|
2049
|
-
"transactionHash": "
|
|
2050
|
-
"address": "
|
|
1821
|
+
"blockNumber": 29,
|
|
1822
|
+
"transactionHash": "0x97eee107aba25ce5b05b9804fc156ef8cc903729639131f12ba8165a8a6d1980",
|
|
1823
|
+
"address": "0x677df0cb865368207999F2862Ece576dC56D8dF6",
|
|
2051
1824
|
"topics": [
|
|
2052
1825
|
"0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f"
|
|
2053
1826
|
],
|
|
2054
|
-
"data": "
|
|
1827
|
+
"data": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ed17543171c1459714cdc6519b58ffcc29a3c3c9",
|
|
2055
1828
|
"logIndex": 3,
|
|
2056
|
-
"blockHash": "
|
|
1829
|
+
"blockHash": "0x5f679e17bad76fafe34f21954f04f969f1bb9718f10d5f496e7db0452bc5009e"
|
|
2057
1830
|
}
|
|
2058
1831
|
],
|
|
2059
|
-
"blockNumber":
|
|
2060
|
-
"cumulativeGasUsed": "
|
|
1832
|
+
"blockNumber": 29,
|
|
1833
|
+
"cumulativeGasUsed": "1031171",
|
|
2061
1834
|
"status": 1,
|
|
2062
1835
|
"byzantium": true
|
|
2063
1836
|
},
|
|
2064
|
-
"args": [
|
|
2065
|
-
"0x0Cf17D5DcDA9cF25889cEc9ae5610B0FB9725F65",
|
|
2066
|
-
"0x677df0cb865368207999F2862Ece576dC56D8dF6",
|
|
2067
|
-
"0xc0c53b8b000000000000000000000000446e7636a5fa9af46c3718719e465b547248bf62000000000000000000000000505d59fffd312983cc0ed114d7f117b91520d7420000000000000000000000001e2f4432bfef9e9ad39da6d272f4aff33629c770"
|
|
2068
|
-
],
|
|
2069
1837
|
"numDeployments": 1,
|
|
2070
|
-
"
|
|
2071
|
-
"metadata": "{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_logic\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"admin_\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"inputs\":[],\"name\":\"admin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"admin_\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"changeAdmin\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"implementation\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"implementation_\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"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\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"details\":\"This contract implements a proxy that is upgradeable by an admin. To avoid https://medium.com/nomic-labs-blog/malicious-backdoors-in-ethereum-proxies-62629adf3357[proxy selector clashing], which can potentially be used in an attack, this contract uses the https://blog.openzeppelin.com/the-transparent-proxy-pattern/[transparent proxy pattern]. This pattern implies two things that go hand in hand: 1. If any account other than the admin calls the proxy, the call will be forwarded to the implementation, even if that call matches one of the admin functions exposed by the proxy itself. 2. If the admin calls the proxy, it can access the admin functions, but its calls will never be forwarded to the implementation. If the admin tries to call a function on the implementation it will fail with an error that says \\\"admin cannot fallback to proxy target\\\". These properties mean that the admin account can only be used for admin actions like upgrading the proxy or changing the admin, so it's best if it's a dedicated account that is not used for anything else. This will avoid headaches due to sudden errors when trying to call a function from the proxy implementation. Our recommendation is for the dedicated account to be an instance of the {ProxyAdmin} contract. If set up this way, you should think of the `ProxyAdmin` instance as the real administrative interface of your proxy.\",\"kind\":\"dev\",\"methods\":{\"admin()\":{\"details\":\"Returns the current admin. NOTE: Only the admin can call this function. See {ProxyAdmin-getProxyAdmin}. TIP: To get this value clients can read directly from the storage slot shown below (specified by EIP1967) using the https://eth.wiki/json-rpc/API#eth_getstorageat[`eth_getStorageAt`] RPC call. `0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103`\"},\"changeAdmin(address)\":{\"details\":\"Changes the admin of the proxy. Emits an {AdminChanged} event. NOTE: Only the admin can call this function. See {ProxyAdmin-changeProxyAdmin}.\"},\"constructor\":{\"details\":\"Initializes an upgradeable proxy managed by `_admin`, backed by the implementation at `_logic`, and optionally initialized with `_data` as explained in {ERC1967Proxy-constructor}.\"},\"implementation()\":{\"details\":\"Returns the current implementation. NOTE: Only the admin can call this function. See {ProxyAdmin-getProxyImplementation}. TIP: To get this value clients can read directly from the storage slot shown below (specified by EIP1967) using the https://eth.wiki/json-rpc/API#eth_getstorageat[`eth_getStorageAt`] RPC call. `0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc`\"},\"upgradeTo(address)\":{\"details\":\"Upgrade the implementation of the proxy. NOTE: Only the admin can call this function. See {ProxyAdmin-upgrade}.\"},\"upgradeToAndCall(address,bytes)\":{\"details\":\"Upgrade the implementation of the proxy, and then call a function from the new implementation as specified by `data`, which should be an encoded function call. This is useful to initialize new storage variables in the proxied contract. NOTE: Only the admin can call this function. See {ProxyAdmin-upgradeAndCall}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol\":\"TransparentUpgradeableProxy\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n// OpenZeppelin Contracts (last updated v4.5.0) (interfaces/draft-IERC1822.sol)\\n\\npragma solidity ^0.8.0;\\n\\n/**\\n * @dev ERC1822: Universal Upgradeable Proxy Standard (UUPS) documents a method for upgradeability through a simplified\\n * proxy whose upgrades are fully controlled by the current implementation.\\n */\\ninterface IERC1822Proxiable {\\n /**\\n * @dev Returns the storage slot that the proxiable contract assumes is being used to store the implementation\\n * address.\\n *\\n * IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks\\n * bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this\\n * function revert if invoked through a proxy.\\n */\\n function proxiableUUID() external view returns (bytes32);\\n}\\n\",\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\"},\"@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n// OpenZeppelin Contracts v4.4.1 (proxy/ERC1967/ERC1967Proxy.sol)\\n\\npragma solidity ^0.8.0;\\n\\nimport \\\"../Proxy.sol\\\";\\nimport \\\"./ERC1967Upgrade.sol\\\";\\n\\n/**\\n * @dev This contract implements an upgradeable proxy. It is upgradeable because calls are delegated to an\\n * implementation address that can be changed. This address is stored in storage in the location specified by\\n * https://eips.ethereum.org/EIPS/eip-1967[EIP1967], so that it doesn't conflict with the storage layout of the\\n * implementation behind the proxy.\\n */\\ncontract ERC1967Proxy is Proxy, ERC1967Upgrade {\\n /**\\n * @dev Initializes the upgradeable proxy with an initial implementation specified by `_logic`.\\n *\\n * If `_data` is nonempty, it's used as data in a delegate call to `_logic`. This will typically be an encoded\\n * function call, and allows initializating the storage of the proxy like a Solidity constructor.\\n */\\n constructor(address _logic, bytes memory _data) payable {\\n assert(_IMPLEMENTATION_SLOT == bytes32(uint256(keccak256(\\\"eip1967.proxy.implementation\\\")) - 1));\\n _upgradeToAndCall(_logic, _data, false);\\n }\\n\\n /**\\n * @dev Returns the current implementation address.\\n */\\n function _implementation() internal view virtual override returns (address impl) {\\n return ERC1967Upgrade._getImplementation();\\n }\\n}\\n\",\"keccak256\":\"0x6309f9f39dc6f4f45a24f296543867aa358e32946cd6b2874627a996d606b3a0\",\"license\":\"MIT\"},\"@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n// OpenZeppelin Contracts (last updated v4.5.0) (proxy/ERC1967/ERC1967Upgrade.sol)\\n\\npragma solidity ^0.8.2;\\n\\nimport \\\"../beacon/IBeacon.sol\\\";\\nimport \\\"../../interfaces/draft-IERC1822.sol\\\";\\nimport \\\"../../utils/Address.sol\\\";\\nimport \\\"../../utils/StorageSlot.sol\\\";\\n\\n/**\\n * @dev This abstract contract provides getters and event emitting update functions for\\n * https://eips.ethereum.org/EIPS/eip-1967[EIP1967] slots.\\n *\\n * _Available since v4.1._\\n *\\n * @custom:oz-upgrades-unsafe-allow delegatecall\\n */\\nabstract contract ERC1967Upgrade {\\n // This is the keccak-256 hash of \\\"eip1967.proxy.rollback\\\" subtracted by 1\\n bytes32 private constant _ROLLBACK_SLOT = 0x4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143;\\n\\n /**\\n * @dev Storage slot with the address of the current implementation.\\n * This is the keccak-256 hash of \\\"eip1967.proxy.implementation\\\" subtracted by 1, and is\\n * validated in the constructor.\\n */\\n bytes32 internal constant _IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;\\n\\n /**\\n * @dev Emitted when the implementation is upgraded.\\n */\\n event Upgraded(address indexed implementation);\\n\\n /**\\n * @dev Returns the current implementation address.\\n */\\n function _getImplementation() internal view returns (address) {\\n return StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value;\\n }\\n\\n /**\\n * @dev Stores a new address in the EIP1967 implementation slot.\\n */\\n function _setImplementation(address newImplementation) private {\\n require(Address.isContract(newImplementation), \\\"ERC1967: new implementation is not a contract\\\");\\n StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value = newImplementation;\\n }\\n\\n /**\\n * @dev Perform implementation upgrade\\n *\\n * Emits an {Upgraded} event.\\n */\\n function _upgradeTo(address newImplementation) internal {\\n _setImplementation(newImplementation);\\n emit Upgraded(newImplementation);\\n }\\n\\n /**\\n * @dev Perform implementation upgrade with additional setup call.\\n *\\n * Emits an {Upgraded} event.\\n */\\n function _upgradeToAndCall(\\n address newImplementation,\\n bytes memory data,\\n bool forceCall\\n ) internal {\\n _upgradeTo(newImplementation);\\n if (data.length > 0 || forceCall) {\\n Address.functionDelegateCall(newImplementation, data);\\n }\\n }\\n\\n /**\\n * @dev Perform implementation upgrade with security checks for UUPS proxies, and additional setup call.\\n *\\n * Emits an {Upgraded} event.\\n */\\n function _upgradeToAndCallUUPS(\\n address newImplementation,\\n bytes memory data,\\n bool forceCall\\n ) internal {\\n // Upgrades from old implementations will perform a rollback test. This test requires the new\\n // implementation to upgrade back to the old, non-ERC1822 compliant, implementation. Removing\\n // this special case will break upgrade paths from old UUPS implementation to new ones.\\n if (StorageSlot.getBooleanSlot(_ROLLBACK_SLOT).value) {\\n _setImplementation(newImplementation);\\n } else {\\n try IERC1822Proxiable(newImplementation).proxiableUUID() returns (bytes32 slot) {\\n require(slot == _IMPLEMENTATION_SLOT, \\\"ERC1967Upgrade: unsupported proxiableUUID\\\");\\n } catch {\\n revert(\\\"ERC1967Upgrade: new implementation is not UUPS\\\");\\n }\\n _upgradeToAndCall(newImplementation, data, forceCall);\\n }\\n }\\n\\n /**\\n * @dev Storage slot with the admin of the contract.\\n * This is the keccak-256 hash of \\\"eip1967.proxy.admin\\\" subtracted by 1, and is\\n * validated in the constructor.\\n */\\n bytes32 internal constant _ADMIN_SLOT = 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103;\\n\\n /**\\n * @dev Emitted when the admin account has changed.\\n */\\n event AdminChanged(address previousAdmin, address newAdmin);\\n\\n /**\\n * @dev Returns the current admin.\\n */\\n function _getAdmin() internal view returns (address) {\\n return StorageSlot.getAddressSlot(_ADMIN_SLOT).value;\\n }\\n\\n /**\\n * @dev Stores a new address in the EIP1967 admin slot.\\n */\\n function _setAdmin(address newAdmin) private {\\n require(newAdmin != address(0), \\\"ERC1967: new admin is the zero address\\\");\\n StorageSlot.getAddressSlot(_ADMIN_SLOT).value = newAdmin;\\n }\\n\\n /**\\n * @dev Changes the admin of the proxy.\\n *\\n * Emits an {AdminChanged} event.\\n */\\n function _changeAdmin(address newAdmin) internal {\\n emit AdminChanged(_getAdmin(), newAdmin);\\n _setAdmin(newAdmin);\\n }\\n\\n /**\\n * @dev The storage slot of the UpgradeableBeacon contract which defines the implementation for this proxy.\\n * This is bytes32(uint256(keccak256('eip1967.proxy.beacon')) - 1)) and is validated in the constructor.\\n */\\n bytes32 internal constant _BEACON_SLOT = 0xa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50;\\n\\n /**\\n * @dev Emitted when the beacon is upgraded.\\n */\\n event BeaconUpgraded(address indexed beacon);\\n\\n /**\\n * @dev Returns the current beacon.\\n */\\n function _getBeacon() internal view returns (address) {\\n return StorageSlot.getAddressSlot(_BEACON_SLOT).value;\\n }\\n\\n /**\\n * @dev Stores a new beacon in the EIP1967 beacon slot.\\n */\\n function _setBeacon(address newBeacon) private {\\n require(Address.isContract(newBeacon), \\\"ERC1967: new beacon is not a contract\\\");\\n require(\\n Address.isContract(IBeacon(newBeacon).implementation()),\\n \\\"ERC1967: beacon implementation is not a contract\\\"\\n );\\n StorageSlot.getAddressSlot(_BEACON_SLOT).value = newBeacon;\\n }\\n\\n /**\\n * @dev Perform beacon upgrade with additional setup call. Note: This upgrades the address of the beacon, it does\\n * not upgrade the implementation contained in the beacon (see {UpgradeableBeacon-_setImplementation} for that).\\n *\\n * Emits a {BeaconUpgraded} event.\\n */\\n function _upgradeBeaconToAndCall(\\n address newBeacon,\\n bytes memory data,\\n bool forceCall\\n ) internal {\\n _setBeacon(newBeacon);\\n emit BeaconUpgraded(newBeacon);\\n if (data.length > 0 || forceCall) {\\n Address.functionDelegateCall(IBeacon(newBeacon).implementation(), data);\\n }\\n }\\n}\\n\",\"keccak256\":\"0xabf3f59bc0e5423eae45e459dbe92e7052c6983628d39008590edc852a62f94a\",\"license\":\"MIT\"},\"@openzeppelin/contracts/proxy/Proxy.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n// OpenZeppelin Contracts (last updated v4.6.0) (proxy/Proxy.sol)\\n\\npragma solidity ^0.8.0;\\n\\n/**\\n * @dev This abstract contract provides a fallback function that delegates all calls to another contract using the EVM\\n * instruction `delegatecall`. We refer to the second contract as the _implementation_ behind the proxy, and it has to\\n * be specified by overriding the virtual {_implementation} function.\\n *\\n * Additionally, delegation to the implementation can be triggered manually through the {_fallback} function, or to a\\n * different contract through the {_delegate} function.\\n *\\n * The success and return data of the delegated call will be returned back to the caller of the proxy.\\n */\\nabstract contract Proxy {\\n /**\\n * @dev Delegates the current call to `implementation`.\\n *\\n * This function does not return to its internal call site, it will return directly to the external caller.\\n */\\n function _delegate(address implementation) internal virtual {\\n assembly {\\n // Copy msg.data. We take full control of memory in this inline assembly\\n // block because it will not return to Solidity code. We overwrite the\\n // Solidity scratch pad at memory position 0.\\n calldatacopy(0, 0, calldatasize())\\n\\n // Call the implementation.\\n // out and outsize are 0 because we don't know the size yet.\\n let result := delegatecall(gas(), implementation, 0, calldatasize(), 0, 0)\\n\\n // Copy the returned data.\\n returndatacopy(0, 0, returndatasize())\\n\\n switch result\\n // delegatecall returns 0 on error.\\n case 0 {\\n revert(0, returndatasize())\\n }\\n default {\\n return(0, returndatasize())\\n }\\n }\\n }\\n\\n /**\\n * @dev This is a virtual function that should be overridden so it returns the address to which the fallback function\\n * and {_fallback} should delegate.\\n */\\n function _implementation() internal view virtual returns (address);\\n\\n /**\\n * @dev Delegates the current call to the address returned by `_implementation()`.\\n *\\n * This function does not return to its internal call site, it will return directly to the external caller.\\n */\\n function _fallback() internal virtual {\\n _beforeFallback();\\n _delegate(_implementation());\\n }\\n\\n /**\\n * @dev Fallback function that delegates calls to the address returned by `_implementation()`. Will run if no other\\n * function in the contract matches the call data.\\n */\\n fallback() external payable virtual {\\n _fallback();\\n }\\n\\n /**\\n * @dev Fallback function that delegates calls to the address returned by `_implementation()`. Will run if call data\\n * is empty.\\n */\\n receive() external payable virtual {\\n _fallback();\\n }\\n\\n /**\\n * @dev Hook that is called before falling back to the implementation. Can happen as part of a manual `_fallback`\\n * call, or as part of the Solidity `fallback` or `receive` functions.\\n *\\n * If overridden should call `super._beforeFallback()`.\\n */\\n function _beforeFallback() internal virtual {}\\n}\\n\",\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\"},\"@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n// OpenZeppelin Contracts v4.4.1 (proxy/beacon/IBeacon.sol)\\n\\npragma solidity ^0.8.0;\\n\\n/**\\n * @dev This is the interface that {BeaconProxy} expects of its beacon.\\n */\\ninterface IBeacon {\\n /**\\n * @dev Must return an address that can be used as a delegate call target.\\n *\\n * {BeaconProxy} will check that this address is a contract.\\n */\\n function implementation() external view returns (address);\\n}\\n\",\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\"},\"@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n// OpenZeppelin Contracts v4.4.1 (proxy/transparent/TransparentUpgradeableProxy.sol)\\n\\npragma solidity ^0.8.0;\\n\\nimport \\\"../ERC1967/ERC1967Proxy.sol\\\";\\n\\n/**\\n * @dev This contract implements a proxy that is upgradeable by an admin.\\n *\\n * To avoid https://medium.com/nomic-labs-blog/malicious-backdoors-in-ethereum-proxies-62629adf3357[proxy selector\\n * clashing], which can potentially be used in an attack, this contract uses the\\n * https://blog.openzeppelin.com/the-transparent-proxy-pattern/[transparent proxy pattern]. This pattern implies two\\n * things that go hand in hand:\\n *\\n * 1. If any account other than the admin calls the proxy, the call will be forwarded to the implementation, even if\\n * that call matches one of the admin functions exposed by the proxy itself.\\n * 2. If the admin calls the proxy, it can access the admin functions, but its calls will never be forwarded to the\\n * implementation. If the admin tries to call a function on the implementation it will fail with an error that says\\n * \\\"admin cannot fallback to proxy target\\\".\\n *\\n * These properties mean that the admin account can only be used for admin actions like upgrading the proxy or changing\\n * the admin, so it's best if it's a dedicated account that is not used for anything else. This will avoid headaches due\\n * to sudden errors when trying to call a function from the proxy implementation.\\n *\\n * Our recommendation is for the dedicated account to be an instance of the {ProxyAdmin} contract. If set up this way,\\n * you should think of the `ProxyAdmin` instance as the real administrative interface of your proxy.\\n */\\ncontract TransparentUpgradeableProxy is ERC1967Proxy {\\n /**\\n * @dev Initializes an upgradeable proxy managed by `_admin`, backed by the implementation at `_logic`, and\\n * optionally initialized with `_data` as explained in {ERC1967Proxy-constructor}.\\n */\\n constructor(\\n address _logic,\\n address admin_,\\n bytes memory _data\\n ) payable ERC1967Proxy(_logic, _data) {\\n assert(_ADMIN_SLOT == bytes32(uint256(keccak256(\\\"eip1967.proxy.admin\\\")) - 1));\\n _changeAdmin(admin_);\\n }\\n\\n /**\\n * @dev Modifier used internally that will delegate the call to the implementation unless the sender is the admin.\\n */\\n modifier ifAdmin() {\\n if (msg.sender == _getAdmin()) {\\n _;\\n } else {\\n _fallback();\\n }\\n }\\n\\n /**\\n * @dev Returns the current admin.\\n *\\n * NOTE: Only the admin can call this function. See {ProxyAdmin-getProxyAdmin}.\\n *\\n * TIP: To get this value clients can read directly from the storage slot shown below (specified by EIP1967) using the\\n * https://eth.wiki/json-rpc/API#eth_getstorageat[`eth_getStorageAt`] RPC call.\\n * `0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103`\\n */\\n function admin() external ifAdmin returns (address admin_) {\\n admin_ = _getAdmin();\\n }\\n\\n /**\\n * @dev Returns the current implementation.\\n *\\n * NOTE: Only the admin can call this function. See {ProxyAdmin-getProxyImplementation}.\\n *\\n * TIP: To get this value clients can read directly from the storage slot shown below (specified by EIP1967) using the\\n * https://eth.wiki/json-rpc/API#eth_getstorageat[`eth_getStorageAt`] RPC call.\\n * `0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc`\\n */\\n function implementation() external ifAdmin returns (address implementation_) {\\n implementation_ = _implementation();\\n }\\n\\n /**\\n * @dev Changes the admin of the proxy.\\n *\\n * Emits an {AdminChanged} event.\\n *\\n * NOTE: Only the admin can call this function. See {ProxyAdmin-changeProxyAdmin}.\\n */\\n function changeAdmin(address newAdmin) external virtual ifAdmin {\\n _changeAdmin(newAdmin);\\n }\\n\\n /**\\n * @dev Upgrade the implementation of the proxy.\\n *\\n * NOTE: Only the admin can call this function. See {ProxyAdmin-upgrade}.\\n */\\n function upgradeTo(address newImplementation) external ifAdmin {\\n _upgradeToAndCall(newImplementation, bytes(\\\"\\\"), false);\\n }\\n\\n /**\\n * @dev Upgrade the implementation of the proxy, and then call a function from the new implementation as specified\\n * by `data`, which should be an encoded function call. This is useful to initialize new storage variables in the\\n * proxied contract.\\n *\\n * NOTE: Only the admin can call this function. See {ProxyAdmin-upgradeAndCall}.\\n */\\n function upgradeToAndCall(address newImplementation, bytes calldata data) external payable ifAdmin {\\n _upgradeToAndCall(newImplementation, data, true);\\n }\\n\\n /**\\n * @dev Returns the current admin.\\n */\\n function _admin() internal view virtual returns (address) {\\n return _getAdmin();\\n }\\n\\n /**\\n * @dev Makes sure the admin cannot access the fallback function. See {Proxy-_beforeFallback}.\\n */\\n function _beforeFallback() internal virtual override {\\n require(msg.sender != _getAdmin(), \\\"TransparentUpgradeableProxy: admin cannot fallback to proxy target\\\");\\n super._beforeFallback();\\n }\\n}\\n\",\"keccak256\":\"0x140055a64cf579d622e04f5a198595832bf2cb193cd0005f4f2d4d61ca906253\",\"license\":\"MIT\"},\"@openzeppelin/contracts/utils/Address.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n// OpenZeppelin Contracts (last updated v4.5.0) (utils/Address.sol)\\n\\npragma solidity ^0.8.1;\\n\\n/**\\n * @dev Collection of functions related to the address type\\n */\\nlibrary Address {\\n /**\\n * @dev Returns true if `account` is a contract.\\n *\\n * [IMPORTANT]\\n * ====\\n * It is unsafe to assume that an address for which this function returns\\n * false is an externally-owned account (EOA) and not a contract.\\n *\\n * Among others, `isContract` will return false for the following\\n * types of addresses:\\n *\\n * - an externally-owned account\\n * - a contract in construction\\n * - an address where a contract will be created\\n * - an address where a contract lived, but was destroyed\\n * ====\\n *\\n * [IMPORTANT]\\n * ====\\n * You shouldn't rely on `isContract` to protect against flash loan attacks!\\n *\\n * Preventing calls from contracts is highly discouraged. It breaks composability, breaks support for smart wallets\\n * like Gnosis Safe, and does not provide security since it can be circumvented by calling from a contract\\n * constructor.\\n * ====\\n */\\n function isContract(address account) internal view returns (bool) {\\n // This method relies on extcodesize/address.code.length, which returns 0\\n // for contracts in construction, since the code is only stored at the end\\n // of the constructor execution.\\n\\n return account.code.length > 0;\\n }\\n\\n /**\\n * @dev Replacement for Solidity's `transfer`: sends `amount` wei to\\n * `recipient`, forwarding all available gas and reverting on errors.\\n *\\n * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost\\n * of certain opcodes, possibly making contracts go over the 2300 gas limit\\n * imposed by `transfer`, making them unable to receive funds via\\n * `transfer`. {sendValue} removes this limitation.\\n *\\n * https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more].\\n *\\n * IMPORTANT: because control is transferred to `recipient`, care must be\\n * taken to not create reentrancy vulnerabilities. Consider using\\n * {ReentrancyGuard} or the\\n * https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern].\\n */\\n function sendValue(address payable recipient, uint256 amount) internal {\\n require(address(this).balance >= amount, \\\"Address: insufficient balance\\\");\\n\\n (bool success, ) = recipient.call{value: amount}(\\\"\\\");\\n require(success, \\\"Address: unable to send value, recipient may have reverted\\\");\\n }\\n\\n /**\\n * @dev Performs a Solidity function call using a low level `call`. A\\n * plain `call` is an unsafe replacement for a function call: use this\\n * function instead.\\n *\\n * If `target` reverts with a revert reason, it is bubbled up by this\\n * function (like regular Solidity function calls).\\n *\\n * Returns the raw returned data. To convert to the expected return value,\\n * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].\\n *\\n * Requirements:\\n *\\n * - `target` must be a contract.\\n * - calling `target` with `data` must not revert.\\n *\\n * _Available since v3.1._\\n */\\n function functionCall(address target, bytes memory data) internal returns (bytes memory) {\\n return functionCall(target, data, \\\"Address: low-level call failed\\\");\\n }\\n\\n /**\\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with\\n * `errorMessage` as a fallback revert reason when `target` reverts.\\n *\\n * _Available since v3.1._\\n */\\n function functionCall(\\n address target,\\n bytes memory data,\\n string memory errorMessage\\n ) internal returns (bytes memory) {\\n return functionCallWithValue(target, data, 0, errorMessage);\\n }\\n\\n /**\\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\\n * but also transferring `value` wei to `target`.\\n *\\n * Requirements:\\n *\\n * - the calling contract must have an ETH balance of at least `value`.\\n * - the called Solidity function must be `payable`.\\n *\\n * _Available since v3.1._\\n */\\n function functionCallWithValue(\\n address target,\\n bytes memory data,\\n uint256 value\\n ) internal returns (bytes memory) {\\n return functionCallWithValue(target, data, value, \\\"Address: low-level call with value failed\\\");\\n }\\n\\n /**\\n * @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but\\n * with `errorMessage` as a fallback revert reason when `target` reverts.\\n *\\n * _Available since v3.1._\\n */\\n function functionCallWithValue(\\n address target,\\n bytes memory data,\\n uint256 value,\\n string memory errorMessage\\n ) internal returns (bytes memory) {\\n require(address(this).balance >= value, \\\"Address: insufficient balance for call\\\");\\n require(isContract(target), \\\"Address: call to non-contract\\\");\\n\\n (bool success, bytes memory returndata) = target.call{value: value}(data);\\n return verifyCallResult(success, returndata, errorMessage);\\n }\\n\\n /**\\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\\n * but performing a static call.\\n *\\n * _Available since v3.3._\\n */\\n function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) {\\n return functionStaticCall(target, data, \\\"Address: low-level static call failed\\\");\\n }\\n\\n /**\\n * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],\\n * but performing a static call.\\n *\\n * _Available since v3.3._\\n */\\n function functionStaticCall(\\n address target,\\n bytes memory data,\\n string memory errorMessage\\n ) internal view returns (bytes memory) {\\n require(isContract(target), \\\"Address: static call to non-contract\\\");\\n\\n (bool success, bytes memory returndata) = target.staticcall(data);\\n return verifyCallResult(success, returndata, errorMessage);\\n }\\n\\n /**\\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\\n * but performing a delegate call.\\n *\\n * _Available since v3.4._\\n */\\n function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) {\\n return functionDelegateCall(target, data, \\\"Address: low-level delegate call failed\\\");\\n }\\n\\n /**\\n * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],\\n * but performing a delegate call.\\n *\\n * _Available since v3.4._\\n */\\n function functionDelegateCall(\\n address target,\\n bytes memory data,\\n string memory errorMessage\\n ) internal returns (bytes memory) {\\n require(isContract(target), \\\"Address: delegate call to non-contract\\\");\\n\\n (bool success, bytes memory returndata) = target.delegatecall(data);\\n return verifyCallResult(success, returndata, errorMessage);\\n }\\n\\n /**\\n * @dev Tool to verifies that a low level call was successful, and revert if it wasn't, either by bubbling the\\n * revert reason using the provided one.\\n *\\n * _Available since v4.3._\\n */\\n function verifyCallResult(\\n bool success,\\n bytes memory returndata,\\n string memory errorMessage\\n ) internal pure returns (bytes memory) {\\n if (success) {\\n return returndata;\\n } else {\\n // Look for revert reason and bubble it up if present\\n if (returndata.length > 0) {\\n // The easiest way to bubble the revert reason is using memory via assembly\\n\\n assembly {\\n let returndata_size := mload(returndata)\\n revert(add(32, returndata), returndata_size)\\n }\\n } else {\\n revert(errorMessage);\\n }\\n }\\n }\\n}\\n\",\"keccak256\":\"0x2ccf9d2313a313d41a791505f2b5abfdc62191b5d4334f7f7a82691c088a1c87\",\"license\":\"MIT\"},\"@openzeppelin/contracts/utils/StorageSlot.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n// OpenZeppelin Contracts v4.4.1 (utils/StorageSlot.sol)\\n\\npragma solidity ^0.8.0;\\n\\n/**\\n * @dev Library for reading and writing primitive types to specific storage slots.\\n *\\n * Storage slots are often used to avoid storage conflict when dealing with upgradeable contracts.\\n * This library helps with reading and writing to such slots without the need for inline assembly.\\n *\\n * The functions in this library return Slot structs that contain a `value` member that can be used to read or write.\\n *\\n * Example usage to set ERC1967 implementation slot:\\n * ```\\n * contract ERC1967 {\\n * bytes32 internal constant _IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;\\n *\\n * function _getImplementation() internal view returns (address) {\\n * return StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value;\\n * }\\n *\\n * function _setImplementation(address newImplementation) internal {\\n * require(Address.isContract(newImplementation), \\\"ERC1967: new implementation is not a contract\\\");\\n * StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value = newImplementation;\\n * }\\n * }\\n * ```\\n *\\n * _Available since v4.1 for `address`, `bool`, `bytes32`, and `uint256`._\\n */\\nlibrary StorageSlot {\\n struct AddressSlot {\\n address value;\\n }\\n\\n struct BooleanSlot {\\n bool value;\\n }\\n\\n struct Bytes32Slot {\\n bytes32 value;\\n }\\n\\n struct Uint256Slot {\\n uint256 value;\\n }\\n\\n /**\\n * @dev Returns an `AddressSlot` with member `value` located at `slot`.\\n */\\n function getAddressSlot(bytes32 slot) internal pure returns (AddressSlot storage r) {\\n assembly {\\n r.slot := slot\\n }\\n }\\n\\n /**\\n * @dev Returns an `BooleanSlot` with member `value` located at `slot`.\\n */\\n function getBooleanSlot(bytes32 slot) internal pure returns (BooleanSlot storage r) {\\n assembly {\\n r.slot := slot\\n }\\n }\\n\\n /**\\n * @dev Returns an `Bytes32Slot` with member `value` located at `slot`.\\n */\\n function getBytes32Slot(bytes32 slot) internal pure returns (Bytes32Slot storage r) {\\n assembly {\\n r.slot := slot\\n }\\n }\\n\\n /**\\n * @dev Returns an `Uint256Slot` with member `value` located at `slot`.\\n */\\n function getUint256Slot(bytes32 slot) internal pure returns (Uint256Slot storage r) {\\n assembly {\\n r.slot := slot\\n }\\n }\\n}\\n\",\"keccak256\":\"0xfe1b7a9aa2a530a9e705b220e26cd584e2fbdc9602a3a1066032b12816b46aca\",\"license\":\"MIT\"}},\"version\":1}",
|
|
2072
|
-
"bytecode": "0x608060405260405162000fe738038062000fe7833981016040819052620000269162000519565b82816200005560017f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbd620005f9565b60008051602062000fa0833981519152146200007557620000756200061f565b6200008382826000620000e7565b50620000b3905060017fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6104620005f9565b60008051602062000f8083398151915214620000d357620000d36200061f565b620000de8262000124565b50505062000688565b620000f2836200017f565b600082511180620001005750805b156200011f576200011d8383620001c160201b620002701760201c565b505b505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6200014f620001f0565b604080516001600160a01b03928316815291841660208301520160405180910390a16200017c8162000229565b50565b6200018a81620002de565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060620001e9838360405180606001604052806027815260200162000fc06027913962000381565b9392505050565b60006200021a60008051602062000f8083398151915260001b6200046760201b620002181760201c565b546001600160a01b0316919050565b6001600160a01b038116620002945760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b80620002bd60008051602062000f8083398151915260001b6200046760201b620002181760201c565b80546001600160a01b0319166001600160a01b039290921691909117905550565b620002f4816200046a60201b6200029c1760201c565b620003585760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016200028b565b80620002bd60008051602062000fa083398151915260001b6200046760201b620002181760201c565b60606001600160a01b0384163b620003eb5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b60648201526084016200028b565b600080856001600160a01b03168560405162000408919062000635565b600060405180830381855af49150503d806000811462000445576040519150601f19603f3d011682016040523d82523d6000602084013e6200044a565b606091505b5090925090506200045d82828662000479565b9695505050505050565b90565b6001600160a01b03163b151590565b606083156200048a575081620001e9565b8251156200049b5782518084602001fd5b8160405162461bcd60e51b81526004016200028b919062000653565b80516001600160a01b0381168114620004cf57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b8381101562000507578181015183820152602001620004ed565b838111156200011d5750506000910152565b6000806000606084860312156200052f57600080fd5b6200053a84620004b7565b92506200054a60208501620004b7565b60408501519092506001600160401b03808211156200056857600080fd5b818601915086601f8301126200057d57600080fd5b815181811115620005925762000592620004d4565b604051601f8201601f19908116603f01168101908382118183101715620005bd57620005bd620004d4565b81604052828152896020848701011115620005d757600080fd5b620005ea836020830160208801620004ea565b80955050505050509250925092565b6000828210156200061a57634e487b7160e01b600052601160045260246000fd5b500390565b634e487b7160e01b600052600160045260246000fd5b6000825162000649818460208701620004ea565b9190910192915050565b602081526000825180602084015262000674816040850160208701620004ea565b601f01601f19169190910160400192915050565b6108e880620006986000396000f3fe60806040526004361061005e5760003560e01c80635c60da1b116100435780635c60da1b146100a85780638f283970146100d9578063f851a440146100f95761006d565b80633659cfe6146100755780634f1ef286146100955761006d565b3661006d5761006b61010e565b005b61006b61010e565b34801561008157600080fd5b5061006b610090366004610772565b610128565b61006b6100a336600461078d565b61016f565b3480156100b457600080fd5b506100bd6101e0565b6040516001600160a01b03909116815260200160405180910390f35b3480156100e557600080fd5b5061006b6100f4366004610772565b61021b565b34801561010557600080fd5b506100bd610245565b6101166102ab565b610126610121610365565b61036f565b565b610130610393565b6001600160a01b0316336001600160a01b0316141561016757610164816040518060200160405280600081525060006103c6565b50565b61016461010e565b610177610393565b6001600160a01b0316336001600160a01b031614156101d8576101d38383838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250600192506103c6915050565b505050565b6101d361010e565b60006101ea610393565b6001600160a01b0316336001600160a01b031614156102105761020b610365565b905090565b61021861010e565b90565b610223610393565b6001600160a01b0316336001600160a01b0316141561016757610164816103f1565b600061024f610393565b6001600160a01b0316336001600160a01b031614156102105761020b610393565b6060610295838360405180606001604052806027815260200161088c60279139610445565b9392505050565b6001600160a01b03163b151590565b6102b3610393565b6001600160a01b0316336001600160a01b031614156101265760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f7879207461726760648201527f6574000000000000000000000000000000000000000000000000000000000000608482015260a4015b60405180910390fd5b600061020b610539565b3660008037600080366000845af43d6000803e80801561038e573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b6103cf83610561565b6000825111806103dc5750805b156101d3576103eb8383610270565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61041a610393565b604080516001600160a01b03928316815291841660208301520160405180910390a1610164816105a1565b60606001600160a01b0384163b6104c45760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e74726163740000000000000000000000000000000000000000000000000000606482015260840161035c565b600080856001600160a01b0316856040516104df919061083c565b600060405180830381855af49150503d806000811461051a576040519150601f19603f3d011682016040523d82523d6000602084013e61051f565b606091505b509150915061052f828286610679565b9695505050505050565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6103b7565b61056a816106b2565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6001600160a01b03811661061d5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161035c565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b039290921691909117905550565b60608315610688575081610295565b8251156106985782518084602001fd5b8160405162461bcd60e51b815260040161035c9190610858565b6001600160a01b0381163b61072f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e747261637400000000000000000000000000000000000000606482015260840161035c565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610640565b80356001600160a01b038116811461076d57600080fd5b919050565b60006020828403121561078457600080fd5b61029582610756565b6000806000604084860312156107a257600080fd5b6107ab84610756565b9250602084013567ffffffffffffffff808211156107c857600080fd5b818601915086601f8301126107dc57600080fd5b8135818111156107eb57600080fd5b8760208285010111156107fd57600080fd5b6020830194508093505050509250925092565b60005b8381101561082b578181015183820152602001610813565b838111156103eb5750506000910152565b6000825161084e818460208701610810565b9190910192915050565b6020815260008251806020840152610877816040850160208701610810565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220f170dab069839bf69270074a8eac64977453f83fe88bf802e2c14dfb46cdecd964736f6c63430008090033b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564",
|
|
2073
|
-
"deployedBytecode": "0x60806040526004361061005e5760003560e01c80635c60da1b116100435780635c60da1b146100a85780638f283970146100d9578063f851a440146100f95761006d565b80633659cfe6146100755780634f1ef286146100955761006d565b3661006d5761006b61010e565b005b61006b61010e565b34801561008157600080fd5b5061006b610090366004610772565b610128565b61006b6100a336600461078d565b61016f565b3480156100b457600080fd5b506100bd6101e0565b6040516001600160a01b03909116815260200160405180910390f35b3480156100e557600080fd5b5061006b6100f4366004610772565b61021b565b34801561010557600080fd5b506100bd610245565b6101166102ab565b610126610121610365565b61036f565b565b610130610393565b6001600160a01b0316336001600160a01b0316141561016757610164816040518060200160405280600081525060006103c6565b50565b61016461010e565b610177610393565b6001600160a01b0316336001600160a01b031614156101d8576101d38383838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250600192506103c6915050565b505050565b6101d361010e565b60006101ea610393565b6001600160a01b0316336001600160a01b031614156102105761020b610365565b905090565b61021861010e565b90565b610223610393565b6001600160a01b0316336001600160a01b0316141561016757610164816103f1565b600061024f610393565b6001600160a01b0316336001600160a01b031614156102105761020b610393565b6060610295838360405180606001604052806027815260200161088c60279139610445565b9392505050565b6001600160a01b03163b151590565b6102b3610393565b6001600160a01b0316336001600160a01b031614156101265760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f7879207461726760648201527f6574000000000000000000000000000000000000000000000000000000000000608482015260a4015b60405180910390fd5b600061020b610539565b3660008037600080366000845af43d6000803e80801561038e573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b6103cf83610561565b6000825111806103dc5750805b156101d3576103eb8383610270565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61041a610393565b604080516001600160a01b03928316815291841660208301520160405180910390a1610164816105a1565b60606001600160a01b0384163b6104c45760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e74726163740000000000000000000000000000000000000000000000000000606482015260840161035c565b600080856001600160a01b0316856040516104df919061083c565b600060405180830381855af49150503d806000811461051a576040519150601f19603f3d011682016040523d82523d6000602084013e61051f565b606091505b509150915061052f828286610679565b9695505050505050565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6103b7565b61056a816106b2565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6001600160a01b03811661061d5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161035c565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b039290921691909117905550565b60608315610688575081610295565b8251156106985782518084602001fd5b8160405162461bcd60e51b815260040161035c9190610858565b6001600160a01b0381163b61072f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e747261637400000000000000000000000000000000000000606482015260840161035c565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610640565b80356001600160a01b038116811461076d57600080fd5b919050565b60006020828403121561078457600080fd5b61029582610756565b6000806000604084860312156107a257600080fd5b6107ab84610756565b9250602084013567ffffffffffffffff808211156107c857600080fd5b818601915086601f8301126107dc57600080fd5b8135818111156107eb57600080fd5b8760208285010111156107fd57600080fd5b6020830194508093505050509250925092565b60005b8381101561082b578181015183820152602001610813565b838111156103eb5750506000910152565b6000825161084e818460208701610810565b9190910192915050565b6020815260008251806020840152610877816040850160208701610810565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220f170dab069839bf69270074a8eac64977453f83fe88bf802e2c14dfb46cdecd964736f6c63430008090033",
|
|
2074
|
-
"execute": {
|
|
2075
|
-
"methodName": "initialize",
|
|
2076
|
-
"args": [
|
|
2077
|
-
"0x446e7636a5Fa9af46c3718719e465B547248bF62",
|
|
2078
|
-
"0x505d59ffFd312983Cc0eD114d7F117B91520d742",
|
|
2079
|
-
"0x1e2F4432bFeF9E9Ad39DA6d272F4aFf33629c770"
|
|
2080
|
-
]
|
|
2081
|
-
},
|
|
2082
|
-
"implementation": "0x0Cf17D5DcDA9cF25889cEc9ae5610B0FB9725F65",
|
|
2083
|
-
"devdoc": {
|
|
2084
|
-
"details": "This contract implements a proxy that is upgradeable by an admin. To avoid https://medium.com/nomic-labs-blog/malicious-backdoors-in-ethereum-proxies-62629adf3357[proxy selector clashing], which can potentially be used in an attack, this contract uses the https://blog.openzeppelin.com/the-transparent-proxy-pattern/[transparent proxy pattern]. This pattern implies two things that go hand in hand: 1. If any account other than the admin calls the proxy, the call will be forwarded to the implementation, even if that call matches one of the admin functions exposed by the proxy itself. 2. If the admin calls the proxy, it can access the admin functions, but its calls will never be forwarded to the implementation. If the admin tries to call a function on the implementation it will fail with an error that says \"admin cannot fallback to proxy target\". These properties mean that the admin account can only be used for admin actions like upgrading the proxy or changing the admin, so it's best if it's a dedicated account that is not used for anything else. This will avoid headaches due to sudden errors when trying to call a function from the proxy implementation. Our recommendation is for the dedicated account to be an instance of the {ProxyAdmin} contract. If set up this way, you should think of the `ProxyAdmin` instance as the real administrative interface of your proxy.",
|
|
2085
|
-
"kind": "dev",
|
|
2086
|
-
"methods": {
|
|
2087
|
-
"admin()": {
|
|
2088
|
-
"details": "Returns the current admin. NOTE: Only the admin can call this function. See {ProxyAdmin-getProxyAdmin}. TIP: To get this value clients can read directly from the storage slot shown below (specified by EIP1967) using the https://eth.wiki/json-rpc/API#eth_getstorageat[`eth_getStorageAt`] RPC call. `0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103`"
|
|
2089
|
-
},
|
|
2090
|
-
"changeAdmin(address)": {
|
|
2091
|
-
"details": "Changes the admin of the proxy. Emits an {AdminChanged} event. NOTE: Only the admin can call this function. See {ProxyAdmin-changeProxyAdmin}."
|
|
2092
|
-
},
|
|
2093
|
-
"constructor": {
|
|
2094
|
-
"details": "Initializes an upgradeable proxy managed by `_admin`, backed by the implementation at `_logic`, and optionally initialized with `_data` as explained in {ERC1967Proxy-constructor}."
|
|
2095
|
-
},
|
|
2096
|
-
"implementation()": {
|
|
2097
|
-
"details": "Returns the current implementation. NOTE: Only the admin can call this function. See {ProxyAdmin-getProxyImplementation}. TIP: To get this value clients can read directly from the storage slot shown below (specified by EIP1967) using the https://eth.wiki/json-rpc/API#eth_getstorageat[`eth_getStorageAt`] RPC call. `0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc`"
|
|
2098
|
-
},
|
|
2099
|
-
"upgradeTo(address)": {
|
|
2100
|
-
"details": "Upgrade the implementation of the proxy. NOTE: Only the admin can call this function. See {ProxyAdmin-upgrade}."
|
|
2101
|
-
},
|
|
2102
|
-
"upgradeToAndCall(address,bytes)": {
|
|
2103
|
-
"details": "Upgrade the implementation of the proxy, and then call a function from the new implementation as specified by `data`, which should be an encoded function call. This is useful to initialize new storage variables in the proxied contract. NOTE: Only the admin can call this function. See {ProxyAdmin-upgradeAndCall}."
|
|
2104
|
-
}
|
|
2105
|
-
},
|
|
2106
|
-
"version": 1
|
|
2107
|
-
},
|
|
2108
|
-
"userdoc": {
|
|
2109
|
-
"kind": "user",
|
|
2110
|
-
"methods": {},
|
|
2111
|
-
"version": 1
|
|
1838
|
+
"libraries": {
|
|
1839
|
+
"EcdsaInactivity": "0x446e7636a5Fa9af46c3718719e465B547248bF62"
|
|
2112
1840
|
},
|
|
2113
|
-
"
|
|
2114
|
-
|
|
2115
|
-
"types": null
|
|
2116
|
-
}
|
|
1841
|
+
"implementation": "0x505d59ffFd312983Cc0eD114d7F117B91520d742",
|
|
1842
|
+
"devdoc": "Contract deployed as upgradable proxy"
|
|
2117
1843
|
}
|