@venusprotocol/governance-contracts 1.4.0-dev.1 → 1.4.0-dev.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (100) hide show
  1. package/artifacts/@openzeppelin/contracts/access/AccessControl.sol/AccessControl.dbg.json +1 -1
  2. package/artifacts/@openzeppelin/contracts/access/IAccessControl.sol/IAccessControl.dbg.json +1 -1
  3. package/artifacts/@openzeppelin/contracts/utils/Context.sol/Context.dbg.json +1 -1
  4. package/artifacts/@openzeppelin/contracts/utils/Strings.sol/Strings.dbg.json +1 -1
  5. package/artifacts/@openzeppelin/contracts/utils/introspection/ERC165.sol/ERC165.dbg.json +1 -1
  6. package/artifacts/@openzeppelin/contracts/utils/introspection/IERC165.sol/IERC165.dbg.json +1 -1
  7. package/artifacts/@openzeppelin/contracts/utils/math/Math.sol/Math.dbg.json +1 -1
  8. package/artifacts/@openzeppelin/contracts-upgradeable/access/Ownable2StepUpgradeable.sol/Ownable2StepUpgradeable.dbg.json +1 -1
  9. package/artifacts/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol/OwnableUpgradeable.dbg.json +1 -1
  10. package/artifacts/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol/Initializable.dbg.json +1 -1
  11. package/artifacts/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol/AddressUpgradeable.dbg.json +1 -1
  12. package/artifacts/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol/ContextUpgradeable.dbg.json +1 -1
  13. package/artifacts/build-info/4cae30ea57cdf353a709497ac21f209c.json +1 -0
  14. package/artifacts/build-info/da11d367dd07d3f79bea1d8c5833588f.json +1 -0
  15. package/artifacts/contracts/Governance/AccessControlManager.sol/AccessControlManager.dbg.json +1 -1
  16. package/artifacts/contracts/Governance/AccessControlledV8.sol/AccessControlledV8.dbg.json +1 -1
  17. package/artifacts/contracts/Governance/GovernorBravoDelegate.sol/GovernorBravoDelegate.dbg.json +1 -1
  18. package/artifacts/contracts/Governance/GovernorBravoDelegate.sol/GovernorBravoDelegate.json +3 -3
  19. package/artifacts/contracts/Governance/GovernorBravoDelegator.sol/GovernorBravoDelegator.dbg.json +1 -1
  20. package/artifacts/contracts/Governance/GovernorBravoDelegator.sol/GovernorBravoDelegator.json +18 -25
  21. package/artifacts/contracts/Governance/GovernorBravoInterfaces.sol/GovernorAlphaInterface.dbg.json +1 -1
  22. package/artifacts/contracts/Governance/GovernorBravoInterfaces.sol/GovernorBravoDelegateStorageV1.dbg.json +1 -1
  23. package/artifacts/contracts/Governance/GovernorBravoInterfaces.sol/GovernorBravoDelegateStorageV1.json +2 -2
  24. package/artifacts/contracts/Governance/GovernorBravoInterfaces.sol/GovernorBravoDelegateStorageV2.dbg.json +1 -1
  25. package/artifacts/contracts/Governance/GovernorBravoInterfaces.sol/GovernorBravoDelegateStorageV2.json +2 -2
  26. package/artifacts/contracts/Governance/GovernorBravoInterfaces.sol/GovernorBravoDelegatorStorage.dbg.json +1 -1
  27. package/artifacts/contracts/Governance/GovernorBravoInterfaces.sol/GovernorBravoDelegatorStorage.json +2 -2
  28. package/artifacts/contracts/Governance/GovernorBravoInterfaces.sol/GovernorBravoEvents.dbg.json +1 -1
  29. package/artifacts/contracts/Governance/GovernorBravoInterfaces.sol/GovernorBravoEvents.json +2 -2
  30. package/artifacts/contracts/Governance/GovernorBravoInterfaces.sol/TimelockInterface.dbg.json +1 -1
  31. package/artifacts/contracts/Governance/GovernorBravoInterfaces.sol/XvsVaultInterface.dbg.json +1 -1
  32. package/artifacts/contracts/Governance/IAccessControlManagerV8.sol/IAccessControlManagerV8.dbg.json +1 -1
  33. package/artifacts/contracts/Governance/TimelockV8.sol/TimelockV8.dbg.json +4 -0
  34. package/artifacts/contracts/Governance/TimelockV8.sol/TimelockV8.json +445 -0
  35. package/artifacts/contracts/legacy/GovenorBravoV1.sol/GovernorBravoDelegatorV1.dbg.json +4 -0
  36. package/artifacts/contracts/legacy/GovenorBravoV1.sol/GovernorBravoDelegatorV1.json +418 -0
  37. package/artifacts/contracts/legacy/GovernorBravoDelegateV1.sol/GovernorBravoDelegateV1.dbg.json +1 -1
  38. package/artifacts/contracts/legacy/GovernorBravoDelegateV1.sol/GovernorBravoDelegateV1.json +2 -2
  39. package/artifacts/contracts/legacy/GovernorBravoInterfaces.sol/GovernorBravoDelegateStorageV1.dbg.json +1 -1
  40. package/artifacts/contracts/legacy/GovernorBravoInterfaces.sol/GovernorBravoDelegateStorageV1.json +2 -2
  41. package/artifacts/contracts/legacy/GovernorBravoInterfaces.sol/GovernorBravoDelegatorStorage.dbg.json +1 -1
  42. package/artifacts/contracts/legacy/GovernorBravoInterfaces.sol/GovernorBravoDelegatorStorage.json +2 -2
  43. package/artifacts/contracts/legacy/GovernorBravoInterfaces.sol/GovernorBravoEventsV1.dbg.json +1 -1
  44. package/artifacts/contracts/legacy/GovernorBravoInterfaces.sol/GovernorBravoEventsV1.json +2 -2
  45. package/artifacts/contracts/test/MockAccessTest.sol/MockAccessTest.dbg.json +1 -1
  46. package/artifacts/contracts/test/TestTimelockV8.sol/TestTimelockV8.dbg.json +4 -0
  47. package/artifacts/contracts/test/TestTimelockV8.sol/TestTimelockV8.json +445 -0
  48. package/contracts/Governance/GovernorBravoDelegate.sol +1 -1
  49. package/contracts/Governance/GovernorBravoDelegator.sol +10 -6
  50. package/contracts/Governance/GovernorBravoInterfaces.sol +5 -19
  51. package/contracts/Governance/TimelockV8.sol +229 -0
  52. package/contracts/legacy/GovenorBravoV1.sol +97 -0
  53. package/contracts/test/TestTimelockV8.sol +19 -0
  54. package/deploy/001-timelock.ts +74 -0
  55. package/deploy/002-access-control.ts +39 -0
  56. package/deployments/bscmainnet_addresses.json +16 -0
  57. package/deployments/bsctestnet_addresses.json +15 -0
  58. package/deployments/ethereum/.chainId +1 -0
  59. package/deployments/ethereum/AccessControlManager.json +564 -0
  60. package/deployments/ethereum/solcInputs/f3b32d95e78d88a56120d2db9f8dd708.json +78 -0
  61. package/deployments/ethereum.json +369 -0
  62. package/deployments/ethereum_addresses.json +7 -0
  63. package/deployments/opbnbtestnet/.chainId +1 -0
  64. package/deployments/opbnbtestnet/AccessControlManager.json +564 -0
  65. package/deployments/opbnbtestnet/solcInputs/ffaffc9ed5d8dcf0602820091777bfe3.json +87 -0
  66. package/deployments/opbnbtestnet.json +369 -0
  67. package/deployments/sepolia_addresses.json +7 -0
  68. package/dist/deploy/{001-access-control.d.ts → 001-timelock.d.ts} +1 -1
  69. package/dist/deploy/001-timelock.d.ts.map +1 -0
  70. package/dist/deploy/001-timelock.js +76 -0
  71. package/dist/deploy/001-timelock.js.map +1 -0
  72. package/dist/deploy/002-access-control.d.ts +4 -0
  73. package/dist/deploy/002-access-control.d.ts.map +1 -0
  74. package/dist/deploy/{001-access-control.js → 002-access-control.js} +6 -7
  75. package/dist/deploy/002-access-control.js.map +1 -0
  76. package/dist/hardhat.config.d.ts +1 -2
  77. package/dist/hardhat.config.d.ts.map +1 -1
  78. package/dist/hardhat.config.js +94 -8
  79. package/dist/hardhat.config.js.map +1 -1
  80. package/dist/{deploy/helpers → helpers/deploy}/constants.d.ts +3 -1
  81. package/dist/helpers/deploy/constants.d.ts.map +1 -0
  82. package/dist/{deploy/helpers → helpers/deploy}/constants.js +2 -0
  83. package/dist/helpers/deploy/constants.js.map +1 -0
  84. package/dist/helpers/deploy/deploymentUtils.d.ts +5 -0
  85. package/dist/helpers/deploy/deploymentUtils.d.ts.map +1 -0
  86. package/dist/helpers/deploy/deploymentUtils.js +33 -0
  87. package/dist/helpers/deploy/deploymentUtils.js.map +1 -0
  88. package/package.json +12 -3
  89. package/artifacts/build-info/0e028ff5062f0f59a7ffef92b702c074.json +0 -1
  90. package/artifacts/build-info/52cd2a2ed6764b7fce3ff5a23ca8a581.json +0 -1
  91. package/artifacts/contracts/Governance/GovernorBravoInterfaces.sol/GovernorBravoDelegateInterface.dbg.json +0 -4
  92. package/artifacts/contracts/Governance/GovernorBravoInterfaces.sol/GovernorBravoDelegateInterface.json +0 -58
  93. package/dist/deploy/001-access-control.d.ts.map +0 -1
  94. package/dist/deploy/001-access-control.js.map +0 -1
  95. package/dist/deploy/helpers/constants.d.ts.map +0 -1
  96. package/dist/deploy/helpers/constants.js.map +0 -1
  97. package/dist/deploy/helpers/deploymentUtils.d.ts +0 -5
  98. package/dist/deploy/helpers/deploymentUtils.d.ts.map +0 -1
  99. package/dist/deploy/helpers/deploymentUtils.js +0 -16
  100. package/dist/deploy/helpers/deploymentUtils.js.map +0 -1
@@ -0,0 +1,445 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "TestTimelockV8",
4
+ "sourceName": "contracts/test/TestTimelockV8.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "address",
10
+ "name": "admin_",
11
+ "type": "address"
12
+ },
13
+ {
14
+ "internalType": "uint256",
15
+ "name": "delay_",
16
+ "type": "uint256"
17
+ }
18
+ ],
19
+ "stateMutability": "nonpayable",
20
+ "type": "constructor"
21
+ },
22
+ {
23
+ "inputs": [],
24
+ "name": "ZeroAddressNotAllowed",
25
+ "type": "error"
26
+ },
27
+ {
28
+ "anonymous": false,
29
+ "inputs": [
30
+ {
31
+ "indexed": true,
32
+ "internalType": "bytes32",
33
+ "name": "txHash",
34
+ "type": "bytes32"
35
+ },
36
+ {
37
+ "indexed": true,
38
+ "internalType": "address",
39
+ "name": "target",
40
+ "type": "address"
41
+ },
42
+ {
43
+ "indexed": false,
44
+ "internalType": "uint256",
45
+ "name": "value",
46
+ "type": "uint256"
47
+ },
48
+ {
49
+ "indexed": false,
50
+ "internalType": "string",
51
+ "name": "signature",
52
+ "type": "string"
53
+ },
54
+ {
55
+ "indexed": false,
56
+ "internalType": "bytes",
57
+ "name": "data",
58
+ "type": "bytes"
59
+ },
60
+ {
61
+ "indexed": false,
62
+ "internalType": "uint256",
63
+ "name": "eta",
64
+ "type": "uint256"
65
+ }
66
+ ],
67
+ "name": "CancelTransaction",
68
+ "type": "event"
69
+ },
70
+ {
71
+ "anonymous": false,
72
+ "inputs": [
73
+ {
74
+ "indexed": true,
75
+ "internalType": "bytes32",
76
+ "name": "txHash",
77
+ "type": "bytes32"
78
+ },
79
+ {
80
+ "indexed": true,
81
+ "internalType": "address",
82
+ "name": "target",
83
+ "type": "address"
84
+ },
85
+ {
86
+ "indexed": false,
87
+ "internalType": "uint256",
88
+ "name": "value",
89
+ "type": "uint256"
90
+ },
91
+ {
92
+ "indexed": false,
93
+ "internalType": "string",
94
+ "name": "signature",
95
+ "type": "string"
96
+ },
97
+ {
98
+ "indexed": false,
99
+ "internalType": "bytes",
100
+ "name": "data",
101
+ "type": "bytes"
102
+ },
103
+ {
104
+ "indexed": false,
105
+ "internalType": "uint256",
106
+ "name": "eta",
107
+ "type": "uint256"
108
+ }
109
+ ],
110
+ "name": "ExecuteTransaction",
111
+ "type": "event"
112
+ },
113
+ {
114
+ "anonymous": false,
115
+ "inputs": [
116
+ {
117
+ "indexed": true,
118
+ "internalType": "address",
119
+ "name": "newAdmin",
120
+ "type": "address"
121
+ }
122
+ ],
123
+ "name": "NewAdmin",
124
+ "type": "event"
125
+ },
126
+ {
127
+ "anonymous": false,
128
+ "inputs": [
129
+ {
130
+ "indexed": true,
131
+ "internalType": "uint256",
132
+ "name": "newDelay",
133
+ "type": "uint256"
134
+ }
135
+ ],
136
+ "name": "NewDelay",
137
+ "type": "event"
138
+ },
139
+ {
140
+ "anonymous": false,
141
+ "inputs": [
142
+ {
143
+ "indexed": true,
144
+ "internalType": "address",
145
+ "name": "newPendingAdmin",
146
+ "type": "address"
147
+ }
148
+ ],
149
+ "name": "NewPendingAdmin",
150
+ "type": "event"
151
+ },
152
+ {
153
+ "anonymous": false,
154
+ "inputs": [
155
+ {
156
+ "indexed": true,
157
+ "internalType": "bytes32",
158
+ "name": "txHash",
159
+ "type": "bytes32"
160
+ },
161
+ {
162
+ "indexed": true,
163
+ "internalType": "address",
164
+ "name": "target",
165
+ "type": "address"
166
+ },
167
+ {
168
+ "indexed": false,
169
+ "internalType": "uint256",
170
+ "name": "value",
171
+ "type": "uint256"
172
+ },
173
+ {
174
+ "indexed": false,
175
+ "internalType": "string",
176
+ "name": "signature",
177
+ "type": "string"
178
+ },
179
+ {
180
+ "indexed": false,
181
+ "internalType": "bytes",
182
+ "name": "data",
183
+ "type": "bytes"
184
+ },
185
+ {
186
+ "indexed": false,
187
+ "internalType": "uint256",
188
+ "name": "eta",
189
+ "type": "uint256"
190
+ }
191
+ ],
192
+ "name": "QueueTransaction",
193
+ "type": "event"
194
+ },
195
+ {
196
+ "stateMutability": "payable",
197
+ "type": "fallback"
198
+ },
199
+ {
200
+ "inputs": [],
201
+ "name": "GRACE_PERIOD",
202
+ "outputs": [
203
+ {
204
+ "internalType": "uint256",
205
+ "name": "",
206
+ "type": "uint256"
207
+ }
208
+ ],
209
+ "stateMutability": "view",
210
+ "type": "function"
211
+ },
212
+ {
213
+ "inputs": [],
214
+ "name": "MAXIMUM_DELAY",
215
+ "outputs": [
216
+ {
217
+ "internalType": "uint256",
218
+ "name": "",
219
+ "type": "uint256"
220
+ }
221
+ ],
222
+ "stateMutability": "view",
223
+ "type": "function"
224
+ },
225
+ {
226
+ "inputs": [],
227
+ "name": "MINIMUM_DELAY",
228
+ "outputs": [
229
+ {
230
+ "internalType": "uint256",
231
+ "name": "",
232
+ "type": "uint256"
233
+ }
234
+ ],
235
+ "stateMutability": "view",
236
+ "type": "function"
237
+ },
238
+ {
239
+ "inputs": [],
240
+ "name": "acceptAdmin",
241
+ "outputs": [],
242
+ "stateMutability": "nonpayable",
243
+ "type": "function"
244
+ },
245
+ {
246
+ "inputs": [],
247
+ "name": "admin",
248
+ "outputs": [
249
+ {
250
+ "internalType": "address",
251
+ "name": "",
252
+ "type": "address"
253
+ }
254
+ ],
255
+ "stateMutability": "view",
256
+ "type": "function"
257
+ },
258
+ {
259
+ "inputs": [
260
+ {
261
+ "internalType": "address",
262
+ "name": "target",
263
+ "type": "address"
264
+ },
265
+ {
266
+ "internalType": "uint256",
267
+ "name": "value",
268
+ "type": "uint256"
269
+ },
270
+ {
271
+ "internalType": "string",
272
+ "name": "signature",
273
+ "type": "string"
274
+ },
275
+ {
276
+ "internalType": "bytes",
277
+ "name": "data",
278
+ "type": "bytes"
279
+ },
280
+ {
281
+ "internalType": "uint256",
282
+ "name": "eta",
283
+ "type": "uint256"
284
+ }
285
+ ],
286
+ "name": "cancelTransaction",
287
+ "outputs": [],
288
+ "stateMutability": "nonpayable",
289
+ "type": "function"
290
+ },
291
+ {
292
+ "inputs": [],
293
+ "name": "delay",
294
+ "outputs": [
295
+ {
296
+ "internalType": "uint256",
297
+ "name": "",
298
+ "type": "uint256"
299
+ }
300
+ ],
301
+ "stateMutability": "view",
302
+ "type": "function"
303
+ },
304
+ {
305
+ "inputs": [
306
+ {
307
+ "internalType": "address",
308
+ "name": "target",
309
+ "type": "address"
310
+ },
311
+ {
312
+ "internalType": "uint256",
313
+ "name": "value",
314
+ "type": "uint256"
315
+ },
316
+ {
317
+ "internalType": "string",
318
+ "name": "signature",
319
+ "type": "string"
320
+ },
321
+ {
322
+ "internalType": "bytes",
323
+ "name": "data",
324
+ "type": "bytes"
325
+ },
326
+ {
327
+ "internalType": "uint256",
328
+ "name": "eta",
329
+ "type": "uint256"
330
+ }
331
+ ],
332
+ "name": "executeTransaction",
333
+ "outputs": [
334
+ {
335
+ "internalType": "bytes",
336
+ "name": "",
337
+ "type": "bytes"
338
+ }
339
+ ],
340
+ "stateMutability": "payable",
341
+ "type": "function"
342
+ },
343
+ {
344
+ "inputs": [],
345
+ "name": "pendingAdmin",
346
+ "outputs": [
347
+ {
348
+ "internalType": "address",
349
+ "name": "",
350
+ "type": "address"
351
+ }
352
+ ],
353
+ "stateMutability": "view",
354
+ "type": "function"
355
+ },
356
+ {
357
+ "inputs": [
358
+ {
359
+ "internalType": "address",
360
+ "name": "target",
361
+ "type": "address"
362
+ },
363
+ {
364
+ "internalType": "uint256",
365
+ "name": "value",
366
+ "type": "uint256"
367
+ },
368
+ {
369
+ "internalType": "string",
370
+ "name": "signature",
371
+ "type": "string"
372
+ },
373
+ {
374
+ "internalType": "bytes",
375
+ "name": "data",
376
+ "type": "bytes"
377
+ },
378
+ {
379
+ "internalType": "uint256",
380
+ "name": "eta",
381
+ "type": "uint256"
382
+ }
383
+ ],
384
+ "name": "queueTransaction",
385
+ "outputs": [
386
+ {
387
+ "internalType": "bytes32",
388
+ "name": "",
389
+ "type": "bytes32"
390
+ }
391
+ ],
392
+ "stateMutability": "nonpayable",
393
+ "type": "function"
394
+ },
395
+ {
396
+ "inputs": [
397
+ {
398
+ "internalType": "bytes32",
399
+ "name": "",
400
+ "type": "bytes32"
401
+ }
402
+ ],
403
+ "name": "queuedTransactions",
404
+ "outputs": [
405
+ {
406
+ "internalType": "bool",
407
+ "name": "",
408
+ "type": "bool"
409
+ }
410
+ ],
411
+ "stateMutability": "view",
412
+ "type": "function"
413
+ },
414
+ {
415
+ "inputs": [
416
+ {
417
+ "internalType": "uint256",
418
+ "name": "delay_",
419
+ "type": "uint256"
420
+ }
421
+ ],
422
+ "name": "setDelay",
423
+ "outputs": [],
424
+ "stateMutability": "nonpayable",
425
+ "type": "function"
426
+ },
427
+ {
428
+ "inputs": [
429
+ {
430
+ "internalType": "address",
431
+ "name": "pendingAdmin_",
432
+ "type": "address"
433
+ }
434
+ ],
435
+ "name": "setPendingAdmin",
436
+ "outputs": [],
437
+ "stateMutability": "nonpayable",
438
+ "type": "function"
439
+ }
440
+ ],
441
+ "bytecode": "0x608060405234801561001057600080fd5b506040516113c43803806113c483398101604081905261002f91610184565b818160018110156100ad5760405162461bcd60e51b815260206004820152603760248201527f54696d656c6f636b3a3a636f6e7374727563746f723a2044656c6179206d757360448201527f7420657863656564206d696e696d756d2064656c61792e00000000000000000060648201526084015b60405180910390fd5b610e108111156101255760405162461bcd60e51b815260206004820152603860248201527f54696d656c6f636b3a3a73657444656c61793a2044656c6179206d757374206e60448201527f6f7420657863656564206d6178696d756d2064656c61792e000000000000000060648201526084016100a4565b61012e8261015a565b600080546001600160a01b0319166001600160a01b039390931692909217909155600255506101be9050565b6001600160a01b038116610181576040516342bcdf7f60e11b815260040160405180910390fd5b50565b6000806040838503121561019757600080fd5b82516001600160a01b03811681146101ae57600080fd5b6020939093015192949293505050565b6111f7806101cd6000396000f3fe6080604052600436106100c95760003560e01c80636a42b8f811610079578063c1a287e211610056578063c1a287e2146101f4578063e177246e14610208578063f2b0653714610228578063f851a4401461026857005b80636a42b8f8146101c95780637d645fab146101df578063b1b43ae5146101f457005b80633a66f901116100a75780633a66f9011461015b5780634dd18bf514610189578063591fcdfe146101a957005b80630825f38f146100cb5780630e18b681146100f45780632678224714610109575b005b6100de6100d9366004610f0e565b610295565b6040516100eb9190611039565b60405180910390f35b34801561010057600080fd5b506100c96106d2565b34801561011557600080fd5b506001546101369073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100eb565b34801561016757600080fd5b5061017b610176366004610f0e565b6107c0565b6040519081526020016100eb565b34801561019557600080fd5b506100c96101a4366004611053565b6109de565b3480156101b557600080fd5b506100c96101c4366004610f0e565b610acb565b3480156101d557600080fd5b5061017b60025481565b3480156101eb57600080fd5b50610e1061017b565b34801561020057600080fd5b50600161017b565b34801561021457600080fd5b506100c961022336600461106e565b610c3b565b34801561023457600080fd5b5061025861024336600461106e565b60036020526000908152604090205460ff1681565b60405190151581526020016100eb565b34801561027457600080fd5b506000546101369073ffffffffffffffffffffffffffffffffffffffff1681565b60005460609073ffffffffffffffffffffffffffffffffffffffff16331461032a5760405162461bcd60e51b815260206004820152603860248201527f54696d656c6f636b3a3a657865637574655472616e73616374696f6e3a20436160448201527f6c6c206d75737420636f6d652066726f6d2061646d696e2e000000000000000060648201526084015b60405180910390fd5b60008686868686604051602001610345959493929190611087565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815291815281516020928301206000818152600390935291205490915060ff166104005760405162461bcd60e51b815260206004820152603d60248201527f54696d656c6f636b3a3a657865637574655472616e73616374696f6e3a20547260448201527f616e73616374696f6e206861736e2774206265656e207175657565642e0000006064820152608401610321565b8242101561049c5760405162461bcd60e51b815260206004820152604560248201527f54696d656c6f636b3a3a657865637574655472616e73616374696f6e3a20547260448201527f616e73616374696f6e206861736e2774207375727061737365642074696d652060648201527f6c6f636b2e000000000000000000000000000000000000000000000000000000608482015260a401610321565b6104a76001846110e1565b42111561051c5760405162461bcd60e51b815260206004820152603360248201527f54696d656c6f636b3a3a657865637574655472616e73616374696f6e3a20547260448201527f616e73616374696f6e206973207374616c652e000000000000000000000000006064820152608401610321565b600081815260036020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905585516060910361056157508361058d565b85805190602001208560405160200161057b929190611120565b60405160208183030381529060405290505b6000808973ffffffffffffffffffffffffffffffffffffffff1689846040516105b69190611168565b60006040518083038185875af1925050503d80600081146105f3576040519150601f19603f3d011682016040523d82523d6000602084013e6105f8565b606091505b5091509150816106705760405162461bcd60e51b815260206004820152603d60248201527f54696d656c6f636b3a3a657865637574655472616e73616374696f6e3a20547260448201527f616e73616374696f6e20657865637574696f6e2072657665727465642e0000006064820152608401610321565b8973ffffffffffffffffffffffffffffffffffffffff16847fa560e3198060a2f10670c1ec5b403077ea6ae93ca8de1c32b451dc1a943cd6e78b8b8b8b6040516106bd9493929190611184565b60405180910390a39998505050505050505050565b60015473ffffffffffffffffffffffffffffffffffffffff16331461075f5760405162461bcd60e51b815260206004820152603860248201527f54696d656c6f636b3a3a61636365707441646d696e3a2043616c6c206d75737460448201527f20636f6d652066726f6d2070656e64696e6741646d696e2e00000000000000006064820152608401610321565b60008054337fffffffffffffffffffffffff0000000000000000000000000000000000000000918216811783556001805490921690915560405190917f71614071b88dee5e0b2ae578a9dd7b2ebbe9ae832ba419dc0242cd065a290b6c91a2565b6000805473ffffffffffffffffffffffffffffffffffffffff16331461084e5760405162461bcd60e51b815260206004820152603660248201527f54696d656c6f636b3a3a71756575655472616e73616374696f6e3a2043616c6c60448201527f206d75737420636f6d652066726f6d2061646d696e2e000000000000000000006064820152608401610321565b60025461085b90426110e1565b8210156108f65760405162461bcd60e51b815260206004820152604960248201527f54696d656c6f636b3a3a71756575655472616e73616374696f6e3a204573746960448201527f6d6174656420657865637574696f6e20626c6f636b206d75737420736174697360648201527f66792064656c61792e0000000000000000000000000000000000000000000000608482015260a401610321565b60008686868686604051602001610911959493929190611087565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815282825280516020918201206000818152600390925291902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055915073ffffffffffffffffffffffffffffffffffffffff88169082907f76e2796dc3a81d57b0e8504b647febcbeeb5f4af818e164f11eef8131a6a763f906109cc908a908a908a908a90611184565b60405180910390a39695505050505050565b333014610a535760405162461bcd60e51b815260206004820152603860248201527f54696d656c6f636b3a3a73657450656e64696e6741646d696e3a2043616c6c2060448201527f6d75737420636f6d652066726f6d2054696d656c6f636b2e00000000000000006064820152608401610321565b610a5c81610dd2565b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f69d78e38a01985fbb1462961809b4b2d65531bc93b2b94037f3334b82ca4a75690600090a250565b60005473ffffffffffffffffffffffffffffffffffffffff163314610b585760405162461bcd60e51b815260206004820152603760248201527f54696d656c6f636b3a3a63616e63656c5472616e73616374696f6e3a2043616c60448201527f6c206d75737420636f6d652066726f6d2061646d696e2e0000000000000000006064820152608401610321565b60008585858585604051602001610b73959493929190611087565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815282825280516020918201206000818152600390925291902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055915073ffffffffffffffffffffffffffffffffffffffff87169082907f2fffc091a501fd91bfbff27141450d3acb40fb8e6d8382b243ec7a812a3aaf8790610c2b908990899089908990611184565b60405180910390a3505050505050565b333014610cb05760405162461bcd60e51b815260206004820152603160248201527f54696d656c6f636b3a3a73657444656c61793a2043616c6c206d75737420636f60448201527f6d652066726f6d2054696d656c6f636b2e0000000000000000000000000000006064820152608401610321565b6001811015610d275760405162461bcd60e51b815260206004820152603460248201527f54696d656c6f636b3a3a73657444656c61793a2044656c6179206d757374206560448201527f7863656564206d696e696d756d2064656c61792e0000000000000000000000006064820152608401610321565b610e10811115610d9f5760405162461bcd60e51b815260206004820152603860248201527f54696d656c6f636b3a3a73657444656c61793a2044656c6179206d757374206e60448201527f6f7420657863656564206d6178696d756d2064656c61792e00000000000000006064820152608401610321565b600281905560405181907f948b1f6a42ee138b7e34058ba85a37f716d55ff25ff05a763f15bed6a04c8d2c90600090a250565b73ffffffffffffffffffffffffffffffffffffffff8116610e1f576040517f8579befe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50565b803573ffffffffffffffffffffffffffffffffffffffff81168114610e4657600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600067ffffffffffffffff80841115610e9557610e95610e4b565b604051601f85017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715610edb57610edb610e4b565b81604052809350858152868686011115610ef457600080fd5b858560208301376000602087830101525050509392505050565b600080600080600060a08688031215610f2657600080fd5b610f2f86610e22565b945060208601359350604086013567ffffffffffffffff80821115610f5357600080fd5b818801915088601f830112610f6757600080fd5b610f7689833560208501610e7a565b94506060880135915080821115610f8c57600080fd5b508601601f81018813610f9e57600080fd5b610fad88823560208401610e7a565b95989497509295608001359392505050565b60005b83811015610fda578181015183820152602001610fc2565b83811115610fe9576000848401525b50505050565b60008151808452611007816020860160208601610fbf565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061104c6020830184610fef565b9392505050565b60006020828403121561106557600080fd5b61104c82610e22565b60006020828403121561108057600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff8616815284602082015260a0604082015260006110bc60a0830186610fef565b82810360608401526110ce8186610fef565b9150508260808301529695505050505050565b6000821982111561111b577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b500190565b7fffffffff00000000000000000000000000000000000000000000000000000000831681526000825161115a816004850160208701610fbf565b919091016004019392505050565b6000825161117a818460208701610fbf565b9190910192915050565b84815260806020820152600061119d6080830186610fef565b82810360408401526111af8186610fef565b9150508260608301529594505050505056fea2646970667358221220b2500cf13aa6cb0e6a3ecb0f1ba49db0acf336c3be000f72122396ea590b918c64736f6c634300080d0033",
442
+ "deployedBytecode": "0x6080604052600436106100c95760003560e01c80636a42b8f811610079578063c1a287e211610056578063c1a287e2146101f4578063e177246e14610208578063f2b0653714610228578063f851a4401461026857005b80636a42b8f8146101c95780637d645fab146101df578063b1b43ae5146101f457005b80633a66f901116100a75780633a66f9011461015b5780634dd18bf514610189578063591fcdfe146101a957005b80630825f38f146100cb5780630e18b681146100f45780632678224714610109575b005b6100de6100d9366004610f0e565b610295565b6040516100eb9190611039565b60405180910390f35b34801561010057600080fd5b506100c96106d2565b34801561011557600080fd5b506001546101369073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100eb565b34801561016757600080fd5b5061017b610176366004610f0e565b6107c0565b6040519081526020016100eb565b34801561019557600080fd5b506100c96101a4366004611053565b6109de565b3480156101b557600080fd5b506100c96101c4366004610f0e565b610acb565b3480156101d557600080fd5b5061017b60025481565b3480156101eb57600080fd5b50610e1061017b565b34801561020057600080fd5b50600161017b565b34801561021457600080fd5b506100c961022336600461106e565b610c3b565b34801561023457600080fd5b5061025861024336600461106e565b60036020526000908152604090205460ff1681565b60405190151581526020016100eb565b34801561027457600080fd5b506000546101369073ffffffffffffffffffffffffffffffffffffffff1681565b60005460609073ffffffffffffffffffffffffffffffffffffffff16331461032a5760405162461bcd60e51b815260206004820152603860248201527f54696d656c6f636b3a3a657865637574655472616e73616374696f6e3a20436160448201527f6c6c206d75737420636f6d652066726f6d2061646d696e2e000000000000000060648201526084015b60405180910390fd5b60008686868686604051602001610345959493929190611087565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815291815281516020928301206000818152600390935291205490915060ff166104005760405162461bcd60e51b815260206004820152603d60248201527f54696d656c6f636b3a3a657865637574655472616e73616374696f6e3a20547260448201527f616e73616374696f6e206861736e2774206265656e207175657565642e0000006064820152608401610321565b8242101561049c5760405162461bcd60e51b815260206004820152604560248201527f54696d656c6f636b3a3a657865637574655472616e73616374696f6e3a20547260448201527f616e73616374696f6e206861736e2774207375727061737365642074696d652060648201527f6c6f636b2e000000000000000000000000000000000000000000000000000000608482015260a401610321565b6104a76001846110e1565b42111561051c5760405162461bcd60e51b815260206004820152603360248201527f54696d656c6f636b3a3a657865637574655472616e73616374696f6e3a20547260448201527f616e73616374696f6e206973207374616c652e000000000000000000000000006064820152608401610321565b600081815260036020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905585516060910361056157508361058d565b85805190602001208560405160200161057b929190611120565b60405160208183030381529060405290505b6000808973ffffffffffffffffffffffffffffffffffffffff1689846040516105b69190611168565b60006040518083038185875af1925050503d80600081146105f3576040519150601f19603f3d011682016040523d82523d6000602084013e6105f8565b606091505b5091509150816106705760405162461bcd60e51b815260206004820152603d60248201527f54696d656c6f636b3a3a657865637574655472616e73616374696f6e3a20547260448201527f616e73616374696f6e20657865637574696f6e2072657665727465642e0000006064820152608401610321565b8973ffffffffffffffffffffffffffffffffffffffff16847fa560e3198060a2f10670c1ec5b403077ea6ae93ca8de1c32b451dc1a943cd6e78b8b8b8b6040516106bd9493929190611184565b60405180910390a39998505050505050505050565b60015473ffffffffffffffffffffffffffffffffffffffff16331461075f5760405162461bcd60e51b815260206004820152603860248201527f54696d656c6f636b3a3a61636365707441646d696e3a2043616c6c206d75737460448201527f20636f6d652066726f6d2070656e64696e6741646d696e2e00000000000000006064820152608401610321565b60008054337fffffffffffffffffffffffff0000000000000000000000000000000000000000918216811783556001805490921690915560405190917f71614071b88dee5e0b2ae578a9dd7b2ebbe9ae832ba419dc0242cd065a290b6c91a2565b6000805473ffffffffffffffffffffffffffffffffffffffff16331461084e5760405162461bcd60e51b815260206004820152603660248201527f54696d656c6f636b3a3a71756575655472616e73616374696f6e3a2043616c6c60448201527f206d75737420636f6d652066726f6d2061646d696e2e000000000000000000006064820152608401610321565b60025461085b90426110e1565b8210156108f65760405162461bcd60e51b815260206004820152604960248201527f54696d656c6f636b3a3a71756575655472616e73616374696f6e3a204573746960448201527f6d6174656420657865637574696f6e20626c6f636b206d75737420736174697360648201527f66792064656c61792e0000000000000000000000000000000000000000000000608482015260a401610321565b60008686868686604051602001610911959493929190611087565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815282825280516020918201206000818152600390925291902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055915073ffffffffffffffffffffffffffffffffffffffff88169082907f76e2796dc3a81d57b0e8504b647febcbeeb5f4af818e164f11eef8131a6a763f906109cc908a908a908a908a90611184565b60405180910390a39695505050505050565b333014610a535760405162461bcd60e51b815260206004820152603860248201527f54696d656c6f636b3a3a73657450656e64696e6741646d696e3a2043616c6c2060448201527f6d75737420636f6d652066726f6d2054696d656c6f636b2e00000000000000006064820152608401610321565b610a5c81610dd2565b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f69d78e38a01985fbb1462961809b4b2d65531bc93b2b94037f3334b82ca4a75690600090a250565b60005473ffffffffffffffffffffffffffffffffffffffff163314610b585760405162461bcd60e51b815260206004820152603760248201527f54696d656c6f636b3a3a63616e63656c5472616e73616374696f6e3a2043616c60448201527f6c206d75737420636f6d652066726f6d2061646d696e2e0000000000000000006064820152608401610321565b60008585858585604051602001610b73959493929190611087565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815282825280516020918201206000818152600390925291902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055915073ffffffffffffffffffffffffffffffffffffffff87169082907f2fffc091a501fd91bfbff27141450d3acb40fb8e6d8382b243ec7a812a3aaf8790610c2b908990899089908990611184565b60405180910390a3505050505050565b333014610cb05760405162461bcd60e51b815260206004820152603160248201527f54696d656c6f636b3a3a73657444656c61793a2043616c6c206d75737420636f60448201527f6d652066726f6d2054696d656c6f636b2e0000000000000000000000000000006064820152608401610321565b6001811015610d275760405162461bcd60e51b815260206004820152603460248201527f54696d656c6f636b3a3a73657444656c61793a2044656c6179206d757374206560448201527f7863656564206d696e696d756d2064656c61792e0000000000000000000000006064820152608401610321565b610e10811115610d9f5760405162461bcd60e51b815260206004820152603860248201527f54696d656c6f636b3a3a73657444656c61793a2044656c6179206d757374206e60448201527f6f7420657863656564206d6178696d756d2064656c61792e00000000000000006064820152608401610321565b600281905560405181907f948b1f6a42ee138b7e34058ba85a37f716d55ff25ff05a763f15bed6a04c8d2c90600090a250565b73ffffffffffffffffffffffffffffffffffffffff8116610e1f576040517f8579befe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50565b803573ffffffffffffffffffffffffffffffffffffffff81168114610e4657600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600067ffffffffffffffff80841115610e9557610e95610e4b565b604051601f85017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715610edb57610edb610e4b565b81604052809350858152868686011115610ef457600080fd5b858560208301376000602087830101525050509392505050565b600080600080600060a08688031215610f2657600080fd5b610f2f86610e22565b945060208601359350604086013567ffffffffffffffff80821115610f5357600080fd5b818801915088601f830112610f6757600080fd5b610f7689833560208501610e7a565b94506060880135915080821115610f8c57600080fd5b508601601f81018813610f9e57600080fd5b610fad88823560208401610e7a565b95989497509295608001359392505050565b60005b83811015610fda578181015183820152602001610fc2565b83811115610fe9576000848401525b50505050565b60008151808452611007816020860160208601610fbf565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061104c6020830184610fef565b9392505050565b60006020828403121561106557600080fd5b61104c82610e22565b60006020828403121561108057600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff8616815284602082015260a0604082015260006110bc60a0830186610fef565b82810360608401526110ce8186610fef565b9150508260808301529695505050505050565b6000821982111561111b577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b500190565b7fffffffff00000000000000000000000000000000000000000000000000000000831681526000825161115a816004850160208701610fbf565b919091016004019392505050565b6000825161117a818460208701610fbf565b9190910192915050565b84815260806020820152600061119d6080830186610fef565b82810360408401526111af8186610fef565b9150508260608301529594505050505056fea2646970667358221220b2500cf13aa6cb0e6a3ecb0f1ba49db0acf336c3be000f72122396ea590b918c64736f6c634300080d0033",
443
+ "linkReferences": {},
444
+ "deployedLinkReferences": {}
445
+ }
@@ -70,7 +70,7 @@ import "./GovernorBravoInterfaces.sol";
70
70
  * The delegation of votes happens through the `XVSVault` contract by calling the `delegate` or `delegateBySig` functions. These same functions can revert
71
71
  * vote delegation by calling the same function with a value of `0`.
72
72
  */
73
- contract GovernorBravoDelegate is GovernorBravoDelegateInterface, GovernorBravoDelegateStorageV2, GovernorBravoEvents {
73
+ contract GovernorBravoDelegate is GovernorBravoDelegateStorageV2, GovernorBravoEvents {
74
74
  /// @notice The name of this contract
75
75
  string public constant name = "Venus Governor Bravo";
76
76
 
@@ -10,11 +10,13 @@ import "./GovernorBravoInterfaces.sol";
10
10
  */
11
11
  contract GovernorBravoDelegator is GovernorBravoDelegatorStorage, GovernorBravoEvents {
12
12
  constructor(
13
+ address timelock_,
13
14
  address xvsVault_,
14
15
  address admin_,
15
16
  address implementation_,
16
- GovernorBravoDelegateInterface.ProposalConfig[] memory proposalConfigs_,
17
- address[] memory timelocks_,
17
+ uint votingPeriod_,
18
+ uint votingDelay_,
19
+ uint proposalThreshold_,
18
20
  address guardian_
19
21
  ) public {
20
22
  // Admin set to msg.sender for initialization
@@ -22,11 +24,13 @@ contract GovernorBravoDelegator is GovernorBravoDelegatorStorage, GovernorBravoE
22
24
 
23
25
  delegateTo(
24
26
  implementation_,
25
- abi.encodeWithSelector(
26
- GovernorBravoDelegateInterface(implementation_).initialize.selector,
27
+ abi.encodeWithSignature(
28
+ "initialize(address,address,uint256,uint256,uint256,address)",
29
+ timelock_,
27
30
  xvsVault_,
28
- proposalConfigs_,
29
- timelocks_,
31
+ votingPeriod_,
32
+ votingDelay_,
33
+ proposalThreshold_,
30
34
  guardian_
31
35
  )
32
36
  );
@@ -190,19 +190,6 @@ contract GovernorBravoDelegateStorageV2 is GovernorBravoDelegateStorageV1 {
190
190
  CRITICAL
191
191
  }
192
192
 
193
- /// @notice mapping containing configuration for each proposal type
194
- mapping(uint => GovernorBravoDelegateInterface.ProposalConfig) public proposalConfigs;
195
-
196
- /// @notice mapping containing Timelock addresses for each proposal type
197
- mapping(uint => TimelockInterface) public proposalTimelocks;
198
- }
199
-
200
- /**
201
- * @title TimelockInterface
202
- * @author Venus
203
- * @notice Interface implemented by the GovernorBravoDelegate contract.
204
- */
205
- interface GovernorBravoDelegateInterface {
206
193
  struct ProposalConfig {
207
194
  /// @notice The delay before voting on a proposal may take place, once proposed, in blocks
208
195
  uint256 votingDelay;
@@ -212,12 +199,11 @@ interface GovernorBravoDelegateInterface {
212
199
  uint256 proposalThreshold;
213
200
  }
214
201
 
215
- function initialize(
216
- address xvsVault_,
217
- ProposalConfig[] calldata proposalConfigs_,
218
- TimelockInterface[] calldata timelocks,
219
- address guardian_
220
- ) external;
202
+ /// @notice mapping containing configuration for each proposal type
203
+ mapping(uint => ProposalConfig) public proposalConfigs;
204
+
205
+ /// @notice mapping containing Timelock addresses for each proposal type
206
+ mapping(uint => TimelockInterface) public proposalTimelocks;
221
207
  }
222
208
 
223
209
  /**