@venusprotocol/governance-contracts 2.11.1-dev.1 → 2.12.0-dev.1

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 (284) hide show
  1. package/artifacts/@layerzerolabs/solidity-examples/contracts/libraries/BytesLib.sol/BytesLib.dbg.json +1 -1
  2. package/artifacts/@layerzerolabs/solidity-examples/contracts/libraries/ExcessivelySafeCall.sol/ExcessivelySafeCall.dbg.json +1 -1
  3. package/artifacts/@layerzerolabs/solidity-examples/contracts/lzApp/LzApp.sol/LzApp.dbg.json +1 -1
  4. package/artifacts/@layerzerolabs/solidity-examples/contracts/lzApp/NonblockingLzApp.sol/NonblockingLzApp.dbg.json +1 -1
  5. package/artifacts/@layerzerolabs/solidity-examples/contracts/lzApp/interfaces/ILayerZeroEndpoint.sol/ILayerZeroEndpoint.dbg.json +1 -1
  6. package/artifacts/@layerzerolabs/solidity-examples/contracts/lzApp/interfaces/ILayerZeroReceiver.sol/ILayerZeroReceiver.dbg.json +1 -1
  7. package/artifacts/@layerzerolabs/solidity-examples/contracts/lzApp/interfaces/ILayerZeroUserApplicationConfig.sol/ILayerZeroUserApplicationConfig.dbg.json +1 -1
  8. package/artifacts/@layerzerolabs/solidity-examples/contracts/lzApp/libs/LzLib.sol/LzLib.dbg.json +1 -1
  9. package/artifacts/@layerzerolabs/solidity-examples/contracts/lzApp/mocks/LZEndpointMock.sol/LZEndpointMock.dbg.json +1 -1
  10. package/artifacts/@openzeppelin/contracts/access/AccessControl.sol/AccessControl.dbg.json +1 -1
  11. package/artifacts/@openzeppelin/contracts/access/IAccessControl.sol/IAccessControl.dbg.json +1 -1
  12. package/artifacts/@openzeppelin/contracts/access/Ownable.sol/Ownable.dbg.json +1 -1
  13. package/artifacts/@openzeppelin/contracts/security/Pausable.sol/Pausable.dbg.json +1 -1
  14. package/artifacts/@openzeppelin/contracts/security/ReentrancyGuard.sol/ReentrancyGuard.dbg.json +1 -1
  15. package/artifacts/@openzeppelin/contracts/utils/Context.sol/Context.dbg.json +1 -1
  16. package/artifacts/@openzeppelin/contracts/utils/Strings.sol/Strings.dbg.json +1 -1
  17. package/artifacts/@openzeppelin/contracts/utils/introspection/ERC165.sol/ERC165.dbg.json +1 -1
  18. package/artifacts/@openzeppelin/contracts/utils/introspection/IERC165.sol/IERC165.dbg.json +1 -1
  19. package/artifacts/@openzeppelin/contracts/utils/math/Math.sol/Math.dbg.json +1 -1
  20. package/artifacts/@openzeppelin/contracts-upgradeable/access/Ownable2StepUpgradeable.sol/Ownable2StepUpgradeable.dbg.json +1 -1
  21. package/artifacts/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol/OwnableUpgradeable.dbg.json +1 -1
  22. package/artifacts/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol/Initializable.dbg.json +1 -1
  23. package/artifacts/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol/AddressUpgradeable.dbg.json +1 -1
  24. package/artifacts/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol/ContextUpgradeable.dbg.json +1 -1
  25. package/artifacts/build-info/3b47d4ce14ec7fb090660b6af43c54be.json +1 -0
  26. package/artifacts/build-info/{55c66c9e0f80b7f400934081cbca14cd.json → cf531a98abe9f15cfd77eb47f39b44a4.json} +1 -1
  27. package/artifacts/contracts/Cross-chain/BaseOmnichainControllerDest.sol/BaseOmnichainControllerDest.dbg.json +1 -1
  28. package/artifacts/contracts/Cross-chain/BaseOmnichainControllerSrc.sol/BaseOmnichainControllerSrc.dbg.json +1 -1
  29. package/artifacts/contracts/Cross-chain/OmnichainExecutorOwner.sol/OmnichainExecutorOwner.dbg.json +1 -1
  30. package/artifacts/contracts/Cross-chain/OmnichainExecutorOwner.sol/OmnichainExecutorOwner.json +2 -2
  31. package/artifacts/contracts/Cross-chain/OmnichainGovernanceExecutor.sol/OmnichainGovernanceExecutor.dbg.json +1 -1
  32. package/artifacts/contracts/Cross-chain/OmnichainProposalSender.sol/OmnichainProposalSender.dbg.json +1 -1
  33. package/artifacts/contracts/Cross-chain/interfaces/IOmnichainGovernanceExecutor.sol/IOmnichainGovernanceExecutor.dbg.json +1 -1
  34. package/artifacts/contracts/Cross-chain/interfaces/ITimelock.sol/ITimelock.dbg.json +1 -1
  35. package/artifacts/contracts/Governance/AccessControlManager.sol/AccessControlManager.dbg.json +1 -1
  36. package/artifacts/contracts/Governance/AccessControlledV8.sol/AccessControlledV8.dbg.json +1 -1
  37. package/artifacts/contracts/Governance/GovernorBravoDelegate.sol/GovernorBravoDelegate.dbg.json +1 -1
  38. package/artifacts/contracts/Governance/GovernorBravoDelegate.sol/GovernorBravoDelegate.json +208 -62
  39. package/artifacts/contracts/Governance/GovernorBravoDelegator.sol/GovernorBravoDelegator.dbg.json +1 -1
  40. package/artifacts/contracts/Governance/GovernorBravoDelegator.sol/GovernorBravoDelegator.json +82 -2
  41. package/artifacts/contracts/Governance/GovernorBravoInterfaces.sol/GovernorAlphaInterface.dbg.json +1 -1
  42. package/artifacts/contracts/Governance/GovernorBravoInterfaces.sol/GovernorBravoDelegateStorageV1.dbg.json +1 -1
  43. package/artifacts/contracts/Governance/GovernorBravoInterfaces.sol/GovernorBravoDelegateStorageV1.json +2 -2
  44. package/artifacts/contracts/Governance/GovernorBravoInterfaces.sol/GovernorBravoDelegateStorageV2.dbg.json +1 -1
  45. package/artifacts/contracts/Governance/GovernorBravoInterfaces.sol/GovernorBravoDelegateStorageV2.json +2 -2
  46. package/artifacts/contracts/Governance/GovernorBravoInterfaces.sol/GovernorBravoDelegateStorageV3.dbg.json +4 -0
  47. package/artifacts/contracts/Governance/GovernorBravoInterfaces.sol/GovernorBravoDelegateStorageV3.json +365 -0
  48. package/artifacts/contracts/Governance/GovernorBravoInterfaces.sol/GovernorBravoDelegatorStorage.dbg.json +1 -1
  49. package/artifacts/contracts/Governance/GovernorBravoInterfaces.sol/GovernorBravoDelegatorStorage.json +2 -2
  50. package/artifacts/contracts/Governance/GovernorBravoInterfaces.sol/GovernorBravoEvents.dbg.json +1 -1
  51. package/artifacts/contracts/Governance/GovernorBravoInterfaces.sol/GovernorBravoEvents.json +82 -2
  52. package/artifacts/contracts/Governance/GovernorBravoInterfaces.sol/TimelockInterface.dbg.json +1 -1
  53. package/artifacts/contracts/Governance/GovernorBravoInterfaces.sol/XvsVaultInterface.dbg.json +1 -1
  54. package/artifacts/contracts/Governance/IAccessControlManagerV8.sol/IAccessControlManagerV8.dbg.json +1 -1
  55. package/artifacts/contracts/Governance/TimelockV8.sol/TimelockV8.dbg.json +1 -1
  56. package/artifacts/contracts/Utils/ACMCommandsAggregator.sol/ACMCommandsAggregator.dbg.json +1 -1
  57. package/artifacts/contracts/legacy/GovenorBravoV1.sol/GovernorBravoDelegatorV1.dbg.json +1 -1
  58. package/artifacts/contracts/legacy/GovenorBravoV1.sol/GovernorBravoDelegatorV1.json +2 -2
  59. package/artifacts/contracts/legacy/GovenorBravoV2.sol/GovernorBravoDelegatorV1.dbg.json +4 -0
  60. package/artifacts/contracts/legacy/GovenorBravoV2.sol/GovernorBravoDelegatorV1.json +418 -0
  61. package/artifacts/contracts/legacy/GovernorBravoDelegateV1.sol/GovernorBravoDelegateV1.dbg.json +1 -1
  62. package/artifacts/contracts/legacy/GovernorBravoDelegateV1.sol/GovernorBravoDelegateV1.json +2 -2
  63. package/artifacts/contracts/legacy/GovernorBravoDelegateV2.sol/GovernorBravoDelegateV2.dbg.json +4 -0
  64. package/artifacts/contracts/legacy/GovernorBravoDelegateV2.sol/GovernorBravoDelegateV2.json +1173 -0
  65. package/artifacts/contracts/legacy/GovernorBravoInterfaces.sol/GovernorBravoDelegateStorageV1.dbg.json +1 -1
  66. package/artifacts/contracts/legacy/GovernorBravoInterfaces.sol/GovernorBravoDelegateStorageV1.json +2 -2
  67. package/artifacts/contracts/legacy/GovernorBravoInterfaces.sol/GovernorBravoDelegatorStorage.dbg.json +1 -1
  68. package/artifacts/contracts/legacy/GovernorBravoInterfaces.sol/GovernorBravoDelegatorStorage.json +2 -2
  69. package/artifacts/contracts/legacy/GovernorBravoInterfaces.sol/GovernorBravoEventsV1.dbg.json +1 -1
  70. package/artifacts/contracts/legacy/GovernorBravoInterfaces.sol/GovernorBravoEventsV1.json +2 -2
  71. package/artifacts/contracts/legacy/GovernorBravoInterfacesV2.sol/GovernorBravoDelegateStorageV1.dbg.json +4 -0
  72. package/artifacts/contracts/legacy/GovernorBravoInterfacesV2.sol/GovernorBravoDelegateStorageV1.json +283 -0
  73. package/artifacts/contracts/legacy/GovernorBravoInterfacesV2.sol/GovernorBravoDelegateStorageV2.dbg.json +4 -0
  74. package/artifacts/contracts/legacy/GovernorBravoInterfacesV2.sol/GovernorBravoDelegateStorageV2.json +335 -0
  75. package/artifacts/contracts/legacy/GovernorBravoInterfacesV2.sol/GovernorBravoDelegatorStorage.dbg.json +4 -0
  76. package/artifacts/contracts/legacy/GovernorBravoInterfacesV2.sol/GovernorBravoDelegatorStorage.json +56 -0
  77. package/artifacts/contracts/legacy/GovernorBravoInterfacesV2.sol/GovernorBravoEventsV2.dbg.json +4 -0
  78. package/artifacts/contracts/legacy/GovernorBravoInterfacesV2.sol/GovernorBravoEventsV2.json +312 -0
  79. package/artifacts/contracts/test/MockAccessTest.sol/MockAccessTest.dbg.json +1 -1
  80. package/artifacts/contracts/test/MockAccessTest.sol/MockAccessTest.json +2 -2
  81. package/artifacts/contracts/test/MockXVSVault.sol/MockXVSVault.dbg.json +1 -1
  82. package/artifacts/contracts/test/TestTimelockV8.sol/TestTimelockV8.dbg.json +1 -1
  83. package/artifacts/hardhat-deploy/solc_0.8/openzeppelin/access/Ownable.sol/Ownable.dbg.json +1 -1
  84. package/artifacts/hardhat-deploy/solc_0.8/openzeppelin/interfaces/draft-IERC1822.sol/IERC1822Proxiable.dbg.json +1 -1
  85. package/artifacts/hardhat-deploy/solc_0.8/openzeppelin/proxy/ERC1967/ERC1967Proxy.sol/ERC1967Proxy.dbg.json +1 -1
  86. package/artifacts/hardhat-deploy/solc_0.8/openzeppelin/proxy/ERC1967/ERC1967Upgrade.sol/ERC1967Upgrade.dbg.json +1 -1
  87. package/artifacts/hardhat-deploy/solc_0.8/openzeppelin/proxy/Proxy.sol/Proxy.dbg.json +1 -1
  88. package/artifacts/hardhat-deploy/solc_0.8/openzeppelin/proxy/beacon/IBeacon.sol/IBeacon.dbg.json +1 -1
  89. package/artifacts/hardhat-deploy/solc_0.8/openzeppelin/proxy/transparent/ProxyAdmin.sol/ProxyAdmin.dbg.json +1 -1
  90. package/artifacts/hardhat-deploy/solc_0.8/openzeppelin/proxy/transparent/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy.dbg.json +1 -1
  91. package/artifacts/hardhat-deploy/solc_0.8/openzeppelin/utils/Address.sol/Address.dbg.json +1 -1
  92. package/artifacts/hardhat-deploy/solc_0.8/openzeppelin/utils/Context.sol/Context.dbg.json +1 -1
  93. package/artifacts/hardhat-deploy/solc_0.8/openzeppelin/utils/StorageSlot.sol/StorageSlot.dbg.json +1 -1
  94. package/artifacts/hardhat-deploy/solc_0.8/proxy/OptimizedTransparentUpgradeableProxy.sol/OptimizedTransparentUpgradeableProxy.dbg.json +1 -1
  95. package/contracts/Governance/AccessControlledV8.sol +1 -1
  96. package/contracts/Governance/GovernorBravoDelegate.sol +80 -30
  97. package/contracts/Governance/GovernorBravoInterfaces.sol +33 -1
  98. package/contracts/legacy/GovenorBravoV2.sol +97 -0
  99. package/contracts/legacy/GovernorBravoDelegateV2.sol +521 -0
  100. package/contracts/legacy/GovernorBravoInterfacesV2.sol +208 -0
  101. package/deploy/011-deploy-governor-bravo.ts +32 -0
  102. package/deployments/bscmainnet/GovernorBravoDelegate.json +877 -62
  103. package/deployments/bscmainnet/solcInputs/ad770aaa336e097c7b976e7839cb0f59.json +48 -0
  104. package/deployments/bscmainnet.json +207 -61
  105. package/deployments/bscmainnet_addresses.json +1 -1
  106. package/deployments/bsctestnet/GovernorBravoDelegate.json +877 -62
  107. package/deployments/bsctestnet/solcInputs/39afa7d975793de62f715dc8afa71529.json +48 -0
  108. package/deployments/bsctestnet/solcInputs/51535febbc2fed693ac575b5f75633d2.json +48 -0
  109. package/deployments/bsctestnet/solcInputs/ad770aaa336e097c7b976e7839cb0f59.json +48 -0
  110. package/deployments/bsctestnet.json +207 -61
  111. package/deployments/bsctestnet_addresses.json +1 -1
  112. package/dist/deploy/011-deploy-governor-bravo.d.ts +4 -0
  113. package/dist/deploy/011-deploy-governor-bravo.d.ts.map +1 -0
  114. package/dist/deploy/011-deploy-governor-bravo.js +36 -0
  115. package/dist/deploy/011-deploy-governor-bravo.js.map +1 -0
  116. package/dist/deployments/bscmainnet.json +207 -61
  117. package/dist/deployments/bsctestnet.json +207 -61
  118. package/dist/typechain/contracts/Governance/GovernorBravoDelegate.d.ts +137 -39
  119. package/dist/typechain/contracts/Governance/GovernorBravoDelegate.d.ts.map +1 -1
  120. package/dist/typechain/contracts/Governance/GovernorBravoDelegator.d.ts +40 -0
  121. package/dist/typechain/contracts/Governance/GovernorBravoDelegator.d.ts.map +1 -1
  122. package/dist/typechain/contracts/Governance/GovernorBravoInterfaces.sol/GovernorBravoDelegateStorageV3.d.ts +297 -0
  123. package/dist/typechain/contracts/Governance/GovernorBravoInterfaces.sol/GovernorBravoDelegateStorageV3.d.ts.map +1 -0
  124. package/dist/typechain/contracts/Governance/GovernorBravoInterfaces.sol/GovernorBravoDelegateStorageV3.js +3 -0
  125. package/dist/typechain/contracts/Governance/GovernorBravoInterfaces.sol/GovernorBravoDelegateStorageV3.js.map +1 -0
  126. package/dist/typechain/contracts/Governance/GovernorBravoInterfaces.sol/GovernorBravoEvents.d.ts +40 -0
  127. package/dist/typechain/contracts/Governance/GovernorBravoInterfaces.sol/GovernorBravoEvents.d.ts.map +1 -1
  128. package/dist/typechain/contracts/Governance/GovernorBravoInterfaces.sol/index.d.ts +1 -0
  129. package/dist/typechain/contracts/Governance/GovernorBravoInterfaces.sol/index.d.ts.map +1 -1
  130. package/dist/typechain/contracts/legacy/GovenorBravoV2.sol/GovernorBravoDelegatorV1.d.ts +259 -0
  131. package/dist/typechain/contracts/legacy/GovenorBravoV2.sol/GovernorBravoDelegatorV1.d.ts.map +1 -0
  132. package/dist/typechain/contracts/legacy/GovenorBravoV2.sol/GovernorBravoDelegatorV1.js +3 -0
  133. package/dist/typechain/contracts/legacy/GovenorBravoV2.sol/GovernorBravoDelegatorV1.js.map +1 -0
  134. package/dist/typechain/contracts/legacy/GovenorBravoV2.sol/index.d.ts +2 -0
  135. package/dist/typechain/contracts/legacy/GovenorBravoV2.sol/index.d.ts.map +1 -0
  136. package/dist/typechain/contracts/legacy/GovenorBravoV2.sol/index.js +3 -0
  137. package/dist/typechain/contracts/legacy/GovenorBravoV2.sol/index.js.map +1 -0
  138. package/dist/typechain/contracts/legacy/GovernorBravoDelegateV2.d.ts +833 -0
  139. package/dist/typechain/contracts/legacy/GovernorBravoDelegateV2.d.ts.map +1 -0
  140. package/dist/typechain/contracts/legacy/GovernorBravoDelegateV2.js +3 -0
  141. package/dist/typechain/contracts/legacy/GovernorBravoDelegateV2.js.map +1 -0
  142. package/dist/typechain/contracts/legacy/GovernorBravoInterfacesV2.sol/GovernorBravoDelegateStorageV1.d.ts +219 -0
  143. package/dist/typechain/contracts/legacy/GovernorBravoInterfacesV2.sol/GovernorBravoDelegateStorageV1.d.ts.map +1 -0
  144. package/dist/typechain/contracts/legacy/GovernorBravoInterfacesV2.sol/GovernorBravoDelegateStorageV1.js +3 -0
  145. package/dist/typechain/contracts/legacy/GovernorBravoInterfacesV2.sol/GovernorBravoDelegateStorageV1.js.map +1 -0
  146. package/dist/typechain/contracts/legacy/GovernorBravoInterfacesV2.sol/GovernorBravoDelegateStorageV2.d.ts +259 -0
  147. package/dist/typechain/contracts/legacy/GovernorBravoInterfacesV2.sol/GovernorBravoDelegateStorageV2.d.ts.map +1 -0
  148. package/dist/typechain/contracts/legacy/GovernorBravoInterfacesV2.sol/GovernorBravoDelegateStorageV2.js +3 -0
  149. package/dist/typechain/contracts/legacy/GovernorBravoInterfacesV2.sol/GovernorBravoDelegateStorageV2.js.map +1 -0
  150. package/dist/typechain/contracts/legacy/GovernorBravoInterfacesV2.sol/GovernorBravoDelegatorStorage.d.ts +59 -0
  151. package/dist/typechain/contracts/legacy/GovernorBravoInterfacesV2.sol/GovernorBravoDelegatorStorage.d.ts.map +1 -0
  152. package/dist/typechain/contracts/legacy/GovernorBravoInterfacesV2.sol/GovernorBravoDelegatorStorage.js +3 -0
  153. package/dist/typechain/contracts/legacy/GovernorBravoInterfacesV2.sol/GovernorBravoDelegatorStorage.js.map +1 -0
  154. package/dist/typechain/contracts/legacy/GovernorBravoInterfacesV2.sol/GovernorBravoEventsV2.d.ts +215 -0
  155. package/dist/typechain/contracts/legacy/GovernorBravoInterfacesV2.sol/GovernorBravoEventsV2.d.ts.map +1 -0
  156. package/dist/typechain/contracts/legacy/GovernorBravoInterfacesV2.sol/GovernorBravoEventsV2.js +3 -0
  157. package/dist/typechain/contracts/legacy/GovernorBravoInterfacesV2.sol/GovernorBravoEventsV2.js.map +1 -0
  158. package/dist/typechain/contracts/legacy/GovernorBravoInterfacesV2.sol/index.d.ts +5 -0
  159. package/dist/typechain/contracts/legacy/GovernorBravoInterfacesV2.sol/index.d.ts.map +1 -0
  160. package/dist/typechain/contracts/legacy/GovernorBravoInterfacesV2.sol/index.js +3 -0
  161. package/dist/typechain/contracts/legacy/GovernorBravoInterfacesV2.sol/index.js.map +1 -0
  162. package/dist/typechain/contracts/legacy/index.d.ts +5 -0
  163. package/dist/typechain/contracts/legacy/index.d.ts.map +1 -1
  164. package/dist/typechain/factories/contracts/Cross-chain/OmnichainExecutorOwner__factory.d.ts +1 -1
  165. package/dist/typechain/factories/contracts/Cross-chain/OmnichainExecutorOwner__factory.js +1 -1
  166. package/dist/typechain/factories/contracts/Governance/GovernorBravoDelegate__factory.d.ts +165 -49
  167. package/dist/typechain/factories/contracts/Governance/GovernorBravoDelegate__factory.d.ts.map +1 -1
  168. package/dist/typechain/factories/contracts/Governance/GovernorBravoDelegate__factory.js +207 -61
  169. package/dist/typechain/factories/contracts/Governance/GovernorBravoDelegate__factory.js.map +1 -1
  170. package/dist/typechain/factories/contracts/Governance/GovernorBravoDelegator__factory.d.ts +66 -1
  171. package/dist/typechain/factories/contracts/Governance/GovernorBravoDelegator__factory.d.ts.map +1 -1
  172. package/dist/typechain/factories/contracts/Governance/GovernorBravoDelegator__factory.js +81 -1
  173. package/dist/typechain/factories/contracts/Governance/GovernorBravoDelegator__factory.js.map +1 -1
  174. package/dist/typechain/factories/contracts/Governance/GovernorBravoInterfaces.sol/GovernorBravoDelegateStorageV1__factory.d.ts +1 -1
  175. package/dist/typechain/factories/contracts/Governance/GovernorBravoInterfaces.sol/GovernorBravoDelegateStorageV1__factory.js +1 -1
  176. package/dist/typechain/factories/contracts/Governance/GovernorBravoInterfaces.sol/GovernorBravoDelegateStorageV2__factory.d.ts +1 -1
  177. package/dist/typechain/factories/contracts/Governance/GovernorBravoInterfaces.sol/GovernorBravoDelegateStorageV2__factory.js +1 -1
  178. package/dist/typechain/factories/contracts/Governance/GovernorBravoInterfaces.sol/GovernorBravoDelegateStorageV3__factory.d.ts +302 -0
  179. package/dist/typechain/factories/contracts/Governance/GovernorBravoInterfaces.sol/GovernorBravoDelegateStorageV3__factory.d.ts.map +1 -0
  180. package/dist/typechain/factories/contracts/Governance/GovernorBravoInterfaces.sol/GovernorBravoDelegateStorageV3__factory.js +394 -0
  181. package/dist/typechain/factories/contracts/Governance/GovernorBravoInterfaces.sol/GovernorBravoDelegateStorageV3__factory.js.map +1 -0
  182. package/dist/typechain/factories/contracts/Governance/GovernorBravoInterfaces.sol/GovernorBravoDelegatorStorage__factory.d.ts +1 -1
  183. package/dist/typechain/factories/contracts/Governance/GovernorBravoInterfaces.sol/GovernorBravoDelegatorStorage__factory.js +1 -1
  184. package/dist/typechain/factories/contracts/Governance/GovernorBravoInterfaces.sol/GovernorBravoEvents__factory.d.ts +66 -1
  185. package/dist/typechain/factories/contracts/Governance/GovernorBravoInterfaces.sol/GovernorBravoEvents__factory.d.ts.map +1 -1
  186. package/dist/typechain/factories/contracts/Governance/GovernorBravoInterfaces.sol/GovernorBravoEvents__factory.js +81 -1
  187. package/dist/typechain/factories/contracts/Governance/GovernorBravoInterfaces.sol/GovernorBravoEvents__factory.js.map +1 -1
  188. package/dist/typechain/factories/contracts/Governance/GovernorBravoInterfaces.sol/index.d.ts +1 -0
  189. package/dist/typechain/factories/contracts/Governance/GovernorBravoInterfaces.sol/index.d.ts.map +1 -1
  190. package/dist/typechain/factories/contracts/Governance/GovernorBravoInterfaces.sol/index.js +3 -1
  191. package/dist/typechain/factories/contracts/Governance/GovernorBravoInterfaces.sol/index.js.map +1 -1
  192. package/dist/typechain/factories/contracts/legacy/GovenorBravoV1.sol/GovernorBravoDelegatorV1__factory.d.ts +1 -1
  193. package/dist/typechain/factories/contracts/legacy/GovenorBravoV1.sol/GovernorBravoDelegatorV1__factory.js +1 -1
  194. package/dist/typechain/factories/contracts/legacy/GovenorBravoV2.sol/GovernorBravoDelegatorV1__factory.d.ts +346 -0
  195. package/dist/typechain/factories/contracts/legacy/GovenorBravoV2.sol/GovernorBravoDelegatorV1__factory.d.ts.map +1 -0
  196. package/dist/typechain/factories/contracts/legacy/GovenorBravoV2.sol/GovernorBravoDelegatorV1__factory.js +447 -0
  197. package/dist/typechain/factories/contracts/legacy/GovenorBravoV2.sol/GovernorBravoDelegatorV1__factory.js.map +1 -0
  198. package/dist/typechain/factories/contracts/legacy/GovenorBravoV2.sol/index.d.ts +2 -0
  199. package/dist/typechain/factories/contracts/legacy/GovenorBravoV2.sol/index.d.ts.map +1 -0
  200. package/dist/typechain/factories/contracts/legacy/GovenorBravoV2.sol/index.js +6 -0
  201. package/dist/typechain/factories/contracts/legacy/GovenorBravoV2.sol/index.js.map +1 -0
  202. package/dist/typechain/factories/contracts/legacy/GovernorBravoDelegateV1__factory.d.ts +1 -1
  203. package/dist/typechain/factories/contracts/legacy/GovernorBravoDelegateV1__factory.js +1 -1
  204. package/dist/typechain/factories/contracts/legacy/GovernorBravoDelegateV2__factory.d.ts +944 -0
  205. package/dist/typechain/factories/contracts/legacy/GovernorBravoDelegateV2__factory.d.ts.map +1 -0
  206. package/dist/typechain/factories/contracts/legacy/GovernorBravoDelegateV2__factory.js +1202 -0
  207. package/dist/typechain/factories/contracts/legacy/GovernorBravoDelegateV2__factory.js.map +1 -0
  208. package/dist/typechain/factories/contracts/legacy/GovernorBravoInterfaces.sol/GovernorBravoDelegateStorageV1__factory.d.ts +1 -1
  209. package/dist/typechain/factories/contracts/legacy/GovernorBravoInterfaces.sol/GovernorBravoDelegateStorageV1__factory.js +1 -1
  210. package/dist/typechain/factories/contracts/legacy/GovernorBravoInterfaces.sol/GovernorBravoDelegatorStorage__factory.d.ts +1 -1
  211. package/dist/typechain/factories/contracts/legacy/GovernorBravoInterfaces.sol/GovernorBravoDelegatorStorage__factory.js +1 -1
  212. package/dist/typechain/factories/contracts/legacy/GovernorBravoInterfaces.sol/GovernorBravoEventsV1__factory.d.ts +1 -1
  213. package/dist/typechain/factories/contracts/legacy/GovernorBravoInterfaces.sol/GovernorBravoEventsV1__factory.js +1 -1
  214. package/dist/typechain/factories/contracts/legacy/GovernorBravoInterfacesV2.sol/GovernorBravoDelegateStorageV1__factory.d.ts +238 -0
  215. package/dist/typechain/factories/contracts/legacy/GovernorBravoInterfacesV2.sol/GovernorBravoDelegateStorageV1__factory.d.ts.map +1 -0
  216. package/dist/typechain/factories/contracts/legacy/GovernorBravoInterfacesV2.sol/GovernorBravoDelegateStorageV1__factory.js +312 -0
  217. package/dist/typechain/factories/contracts/legacy/GovernorBravoInterfacesV2.sol/GovernorBravoDelegateStorageV1__factory.js.map +1 -0
  218. package/dist/typechain/factories/contracts/legacy/GovernorBravoInterfacesV2.sol/GovernorBravoDelegateStorageV2__factory.d.ts +278 -0
  219. package/dist/typechain/factories/contracts/legacy/GovernorBravoInterfacesV2.sol/GovernorBravoDelegateStorageV2__factory.d.ts.map +1 -0
  220. package/dist/typechain/factories/contracts/legacy/GovernorBravoInterfacesV2.sol/GovernorBravoDelegateStorageV2__factory.js +364 -0
  221. package/dist/typechain/factories/contracts/legacy/GovernorBravoInterfacesV2.sol/GovernorBravoDelegateStorageV2__factory.js.map +1 -0
  222. package/dist/typechain/factories/contracts/legacy/GovernorBravoInterfacesV2.sol/GovernorBravoDelegatorStorage__factory.d.ts +58 -0
  223. package/dist/typechain/factories/contracts/legacy/GovernorBravoInterfacesV2.sol/GovernorBravoDelegatorStorage__factory.d.ts.map +1 -0
  224. package/dist/typechain/factories/contracts/legacy/GovernorBravoInterfacesV2.sol/GovernorBravoDelegatorStorage__factory.js +85 -0
  225. package/dist/typechain/factories/contracts/legacy/GovernorBravoInterfacesV2.sol/GovernorBravoDelegatorStorage__factory.js.map +1 -0
  226. package/dist/typechain/factories/contracts/legacy/GovernorBravoInterfacesV2.sol/GovernorBravoEventsV2__factory.d.ts +262 -0
  227. package/dist/typechain/factories/contracts/legacy/GovernorBravoInterfacesV2.sol/GovernorBravoEventsV2__factory.d.ts.map +1 -0
  228. package/dist/typechain/factories/contracts/legacy/GovernorBravoInterfacesV2.sol/GovernorBravoEventsV2__factory.js +341 -0
  229. package/dist/typechain/factories/contracts/legacy/GovernorBravoInterfacesV2.sol/GovernorBravoEventsV2__factory.js.map +1 -0
  230. package/dist/typechain/factories/contracts/legacy/GovernorBravoInterfacesV2.sol/index.d.ts +5 -0
  231. package/dist/typechain/factories/contracts/legacy/GovernorBravoInterfacesV2.sol/index.d.ts.map +1 -0
  232. package/dist/typechain/factories/contracts/legacy/GovernorBravoInterfacesV2.sol/index.js +12 -0
  233. package/dist/typechain/factories/contracts/legacy/GovernorBravoInterfacesV2.sol/index.js.map +1 -0
  234. package/dist/typechain/factories/contracts/legacy/index.d.ts +3 -0
  235. package/dist/typechain/factories/contracts/legacy/index.d.ts.map +1 -1
  236. package/dist/typechain/factories/contracts/legacy/index.js +5 -1
  237. package/dist/typechain/factories/contracts/legacy/index.js.map +1 -1
  238. package/dist/typechain/factories/contracts/test/MockAccessTest__factory.d.ts +1 -1
  239. package/dist/typechain/factories/contracts/test/MockAccessTest__factory.js +1 -1
  240. package/dist/typechain/index.d.ts +6 -0
  241. package/dist/typechain/index.d.ts.map +1 -1
  242. package/dist/typechain/index.js +8 -2
  243. package/dist/typechain/index.js.map +1 -1
  244. package/package.json +1 -1
  245. package/typechain/contracts/Governance/GovernorBravoDelegate.ts +221 -81
  246. package/typechain/contracts/Governance/GovernorBravoDelegator.ts +76 -0
  247. package/typechain/contracts/Governance/GovernorBravoInterfaces.sol/GovernorBravoDelegateStorageV3.ts +573 -0
  248. package/typechain/contracts/Governance/GovernorBravoInterfaces.sol/GovernorBravoEvents.ts +76 -0
  249. package/typechain/contracts/Governance/GovernorBravoInterfaces.sol/index.ts +1 -0
  250. package/typechain/contracts/legacy/GovenorBravoV2.sol/GovernorBravoDelegatorV1.ts +477 -0
  251. package/typechain/contracts/legacy/GovenorBravoV2.sol/index.ts +4 -0
  252. package/typechain/contracts/legacy/GovernorBravoDelegateV2.ts +1716 -0
  253. package/typechain/contracts/legacy/GovernorBravoInterfacesV2.sol/GovernorBravoDelegateStorageV1.ts +438 -0
  254. package/typechain/contracts/legacy/GovernorBravoInterfacesV2.sol/GovernorBravoDelegateStorageV2.ts +526 -0
  255. package/typechain/contracts/legacy/GovernorBravoInterfacesV2.sol/GovernorBravoDelegatorStorage.ts +125 -0
  256. package/typechain/contracts/legacy/GovernorBravoInterfacesV2.sol/GovernorBravoEventsV2.ts +371 -0
  257. package/typechain/contracts/legacy/GovernorBravoInterfacesV2.sol/index.ts +7 -0
  258. package/typechain/contracts/legacy/index.ts +7 -0
  259. package/typechain/factories/contracts/Cross-chain/OmnichainExecutorOwner__factory.ts +1 -1
  260. package/typechain/factories/contracts/Governance/GovernorBravoDelegate__factory.ts +207 -61
  261. package/typechain/factories/contracts/Governance/GovernorBravoDelegator__factory.ts +81 -1
  262. package/typechain/factories/contracts/Governance/GovernorBravoInterfaces.sol/GovernorBravoDelegateStorageV1__factory.ts +1 -1
  263. package/typechain/factories/contracts/Governance/GovernorBravoInterfaces.sol/GovernorBravoDelegateStorageV2__factory.ts +1 -1
  264. package/typechain/factories/contracts/Governance/GovernorBravoInterfaces.sol/GovernorBravoDelegateStorageV3__factory.ts +425 -0
  265. package/typechain/factories/contracts/Governance/GovernorBravoInterfaces.sol/GovernorBravoDelegatorStorage__factory.ts +1 -1
  266. package/typechain/factories/contracts/Governance/GovernorBravoInterfaces.sol/GovernorBravoEvents__factory.ts +81 -1
  267. package/typechain/factories/contracts/Governance/GovernorBravoInterfaces.sol/index.ts +1 -0
  268. package/typechain/factories/contracts/legacy/GovenorBravoV1.sol/GovernorBravoDelegatorV1__factory.ts +1 -1
  269. package/typechain/factories/contracts/legacy/GovenorBravoV2.sol/GovernorBravoDelegatorV1__factory.ts +519 -0
  270. package/typechain/factories/contracts/legacy/GovenorBravoV2.sol/index.ts +4 -0
  271. package/typechain/factories/contracts/legacy/GovernorBravoDelegateV1__factory.ts +1 -1
  272. package/typechain/factories/contracts/legacy/GovernorBravoDelegateV2__factory.ts +1231 -0
  273. package/typechain/factories/contracts/legacy/GovernorBravoInterfaces.sol/GovernorBravoDelegateStorageV1__factory.ts +1 -1
  274. package/typechain/factories/contracts/legacy/GovernorBravoInterfaces.sol/GovernorBravoDelegatorStorage__factory.ts +1 -1
  275. package/typechain/factories/contracts/legacy/GovernorBravoInterfaces.sol/GovernorBravoEventsV1__factory.ts +1 -1
  276. package/typechain/factories/contracts/legacy/GovernorBravoInterfacesV2.sol/GovernorBravoDelegateStorageV1__factory.ts +343 -0
  277. package/typechain/factories/contracts/legacy/GovernorBravoInterfacesV2.sol/GovernorBravoDelegateStorageV2__factory.ts +395 -0
  278. package/typechain/factories/contracts/legacy/GovernorBravoInterfacesV2.sol/GovernorBravoDelegatorStorage__factory.ts +116 -0
  279. package/typechain/factories/contracts/legacy/GovernorBravoInterfacesV2.sol/GovernorBravoEventsV2__factory.ts +370 -0
  280. package/typechain/factories/contracts/legacy/GovernorBravoInterfacesV2.sol/index.ts +7 -0
  281. package/typechain/factories/contracts/legacy/index.ts +3 -0
  282. package/typechain/factories/contracts/test/MockAccessTest__factory.ts +1 -1
  283. package/typechain/index.ts +6 -0
  284. package/artifacts/build-info/da11d367dd07d3f79bea1d8c5833588f.json +0 -1
@@ -0,0 +1,312 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "GovernorBravoEventsV2",
4
+ "sourceName": "contracts/legacy/GovernorBravoInterfacesV2.sol",
5
+ "abi": [
6
+ {
7
+ "anonymous": false,
8
+ "inputs": [
9
+ {
10
+ "indexed": false,
11
+ "internalType": "address",
12
+ "name": "oldAdmin",
13
+ "type": "address"
14
+ },
15
+ {
16
+ "indexed": false,
17
+ "internalType": "address",
18
+ "name": "newAdmin",
19
+ "type": "address"
20
+ }
21
+ ],
22
+ "name": "NewAdmin",
23
+ "type": "event"
24
+ },
25
+ {
26
+ "anonymous": false,
27
+ "inputs": [
28
+ {
29
+ "indexed": false,
30
+ "internalType": "address",
31
+ "name": "oldGuardian",
32
+ "type": "address"
33
+ },
34
+ {
35
+ "indexed": false,
36
+ "internalType": "address",
37
+ "name": "newGuardian",
38
+ "type": "address"
39
+ }
40
+ ],
41
+ "name": "NewGuardian",
42
+ "type": "event"
43
+ },
44
+ {
45
+ "anonymous": false,
46
+ "inputs": [
47
+ {
48
+ "indexed": false,
49
+ "internalType": "address",
50
+ "name": "oldImplementation",
51
+ "type": "address"
52
+ },
53
+ {
54
+ "indexed": false,
55
+ "internalType": "address",
56
+ "name": "newImplementation",
57
+ "type": "address"
58
+ }
59
+ ],
60
+ "name": "NewImplementation",
61
+ "type": "event"
62
+ },
63
+ {
64
+ "anonymous": false,
65
+ "inputs": [
66
+ {
67
+ "indexed": false,
68
+ "internalType": "address",
69
+ "name": "oldPendingAdmin",
70
+ "type": "address"
71
+ },
72
+ {
73
+ "indexed": false,
74
+ "internalType": "address",
75
+ "name": "newPendingAdmin",
76
+ "type": "address"
77
+ }
78
+ ],
79
+ "name": "NewPendingAdmin",
80
+ "type": "event"
81
+ },
82
+ {
83
+ "anonymous": false,
84
+ "inputs": [
85
+ {
86
+ "indexed": false,
87
+ "internalType": "uint256",
88
+ "name": "id",
89
+ "type": "uint256"
90
+ }
91
+ ],
92
+ "name": "ProposalCanceled",
93
+ "type": "event"
94
+ },
95
+ {
96
+ "anonymous": false,
97
+ "inputs": [
98
+ {
99
+ "indexed": false,
100
+ "internalType": "uint256",
101
+ "name": "id",
102
+ "type": "uint256"
103
+ },
104
+ {
105
+ "indexed": false,
106
+ "internalType": "address",
107
+ "name": "proposer",
108
+ "type": "address"
109
+ },
110
+ {
111
+ "indexed": false,
112
+ "internalType": "address[]",
113
+ "name": "targets",
114
+ "type": "address[]"
115
+ },
116
+ {
117
+ "indexed": false,
118
+ "internalType": "uint256[]",
119
+ "name": "values",
120
+ "type": "uint256[]"
121
+ },
122
+ {
123
+ "indexed": false,
124
+ "internalType": "string[]",
125
+ "name": "signatures",
126
+ "type": "string[]"
127
+ },
128
+ {
129
+ "indexed": false,
130
+ "internalType": "bytes[]",
131
+ "name": "calldatas",
132
+ "type": "bytes[]"
133
+ },
134
+ {
135
+ "indexed": false,
136
+ "internalType": "uint256",
137
+ "name": "startBlock",
138
+ "type": "uint256"
139
+ },
140
+ {
141
+ "indexed": false,
142
+ "internalType": "uint256",
143
+ "name": "endBlock",
144
+ "type": "uint256"
145
+ },
146
+ {
147
+ "indexed": false,
148
+ "internalType": "string",
149
+ "name": "description",
150
+ "type": "string"
151
+ },
152
+ {
153
+ "indexed": false,
154
+ "internalType": "uint8",
155
+ "name": "proposalType",
156
+ "type": "uint8"
157
+ }
158
+ ],
159
+ "name": "ProposalCreated",
160
+ "type": "event"
161
+ },
162
+ {
163
+ "anonymous": false,
164
+ "inputs": [
165
+ {
166
+ "indexed": false,
167
+ "internalType": "uint256",
168
+ "name": "id",
169
+ "type": "uint256"
170
+ }
171
+ ],
172
+ "name": "ProposalExecuted",
173
+ "type": "event"
174
+ },
175
+ {
176
+ "anonymous": false,
177
+ "inputs": [
178
+ {
179
+ "indexed": false,
180
+ "internalType": "uint256",
181
+ "name": "oldMaxOperations",
182
+ "type": "uint256"
183
+ },
184
+ {
185
+ "indexed": false,
186
+ "internalType": "uint256",
187
+ "name": "newMaxOperations",
188
+ "type": "uint256"
189
+ }
190
+ ],
191
+ "name": "ProposalMaxOperationsUpdated",
192
+ "type": "event"
193
+ },
194
+ {
195
+ "anonymous": false,
196
+ "inputs": [
197
+ {
198
+ "indexed": false,
199
+ "internalType": "uint256",
200
+ "name": "id",
201
+ "type": "uint256"
202
+ },
203
+ {
204
+ "indexed": false,
205
+ "internalType": "uint256",
206
+ "name": "eta",
207
+ "type": "uint256"
208
+ }
209
+ ],
210
+ "name": "ProposalQueued",
211
+ "type": "event"
212
+ },
213
+ {
214
+ "anonymous": false,
215
+ "inputs": [
216
+ {
217
+ "indexed": false,
218
+ "internalType": "uint256",
219
+ "name": "oldProposalThreshold",
220
+ "type": "uint256"
221
+ },
222
+ {
223
+ "indexed": false,
224
+ "internalType": "uint256",
225
+ "name": "newProposalThreshold",
226
+ "type": "uint256"
227
+ }
228
+ ],
229
+ "name": "ProposalThresholdSet",
230
+ "type": "event"
231
+ },
232
+ {
233
+ "anonymous": false,
234
+ "inputs": [
235
+ {
236
+ "indexed": true,
237
+ "internalType": "address",
238
+ "name": "voter",
239
+ "type": "address"
240
+ },
241
+ {
242
+ "indexed": false,
243
+ "internalType": "uint256",
244
+ "name": "proposalId",
245
+ "type": "uint256"
246
+ },
247
+ {
248
+ "indexed": false,
249
+ "internalType": "uint8",
250
+ "name": "support",
251
+ "type": "uint8"
252
+ },
253
+ {
254
+ "indexed": false,
255
+ "internalType": "uint256",
256
+ "name": "votes",
257
+ "type": "uint256"
258
+ },
259
+ {
260
+ "indexed": false,
261
+ "internalType": "string",
262
+ "name": "reason",
263
+ "type": "string"
264
+ }
265
+ ],
266
+ "name": "VoteCast",
267
+ "type": "event"
268
+ },
269
+ {
270
+ "anonymous": false,
271
+ "inputs": [
272
+ {
273
+ "indexed": false,
274
+ "internalType": "uint256",
275
+ "name": "oldVotingDelay",
276
+ "type": "uint256"
277
+ },
278
+ {
279
+ "indexed": false,
280
+ "internalType": "uint256",
281
+ "name": "newVotingDelay",
282
+ "type": "uint256"
283
+ }
284
+ ],
285
+ "name": "VotingDelaySet",
286
+ "type": "event"
287
+ },
288
+ {
289
+ "anonymous": false,
290
+ "inputs": [
291
+ {
292
+ "indexed": false,
293
+ "internalType": "uint256",
294
+ "name": "oldVotingPeriod",
295
+ "type": "uint256"
296
+ },
297
+ {
298
+ "indexed": false,
299
+ "internalType": "uint256",
300
+ "name": "newVotingPeriod",
301
+ "type": "uint256"
302
+ }
303
+ ],
304
+ "name": "VotingPeriodSet",
305
+ "type": "event"
306
+ }
307
+ ],
308
+ "bytecode": "0x6080604052348015600f57600080fd5b50604c80601d6000396000f3fe6080604052600080fdfea365627a7a723158200f63769915acc84dc0c56af4ee01a78605ccfcbb62ce538b18a3cff9de8874f96c6578706572696d656e74616cf564736f6c63430005100040",
309
+ "deployedBytecode": "0x6080604052600080fdfea365627a7a723158200f63769915acc84dc0c56af4ee01a78605ccfcbb62ce538b18a3cff9de8874f96c6578706572696d656e74616cf564736f6c63430005100040",
310
+ "linkReferences": {},
311
+ "deployedLinkReferences": {}
312
+ }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/55c66c9e0f80b7f400934081cbca14cd.json"
3
+ "buildInfo": "../../../build-info/cf531a98abe9f15cfd77eb47f39b44a4.json"
4
4
  }
@@ -187,8 +187,8 @@
187
187
  "type": "function"
188
188
  }
189
189
  ],
190
- "bytecode": "0x6080604052348015600f57600080fd5b506107d08061001f6000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063b4a0bdf31161005b578063b4a0bdf3146100f5578063c4d66de814610113578063e30c397814610126578063f2fde38b1461014457600080fd5b80630e32cb861461008d578063715018a6146100a257806379ba5097146100aa5780638da5cb5b146100b2575b600080fd5b6100a061009b36600461075d565b610157565b005b6100a061016b565b6100a061017f565b60335473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b60975473ffffffffffffffffffffffffffffffffffffffff166100cc565b6100a061012136600461075d565b610236565b60655473ffffffffffffffffffffffffffffffffffffffff166100cc565b6100a061015236600461075d565b6103cb565b61015f61047b565b610168816104fc565b50565b61017361047b565b61017d600061061e565b565b606554339073ffffffffffffffffffffffffffffffffffffffff16811461022d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e6572000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6101688161061e565b600054610100900460ff16158080156102565750600054600160ff909116105b806102705750303b158015610270575060005460ff166001145b6102fc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610224565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561035a57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6103638261064f565b80156103c757600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a15b5050565b6103d361047b565b6065805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff0000000000000000000000000000000000000000909116811790915561043660335473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b60335473ffffffffffffffffffffffffffffffffffffffff16331461017d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610224565b73ffffffffffffffffffffffffffffffffffffffff811661059f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f696e76616c696420616365737320636f6e74726f6c206d616e6167657220616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610224565b6097805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff000000000000000000000000000000000000000083168117909355604080519190921680825260208201939093527f66fd58e82f7b31a2a5c30e0888f3093efe4e111b00cd2b0c31fe014601293aa091016103be565b606580547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055610168816106e6565b600054610100900460ff1661015f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610224565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60006020828403121561076f57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461079357600080fd5b939250505056fea2646970667358221220281e43edb39862ed585d8c819218329ab4032b2b1cb2e0f9fc96ffece6e78c6864736f6c63430008190033",
191
- "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100885760003560e01c8063b4a0bdf31161005b578063b4a0bdf3146100f5578063c4d66de814610113578063e30c397814610126578063f2fde38b1461014457600080fd5b80630e32cb861461008d578063715018a6146100a257806379ba5097146100aa5780638da5cb5b146100b2575b600080fd5b6100a061009b36600461075d565b610157565b005b6100a061016b565b6100a061017f565b60335473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b60975473ffffffffffffffffffffffffffffffffffffffff166100cc565b6100a061012136600461075d565b610236565b60655473ffffffffffffffffffffffffffffffffffffffff166100cc565b6100a061015236600461075d565b6103cb565b61015f61047b565b610168816104fc565b50565b61017361047b565b61017d600061061e565b565b606554339073ffffffffffffffffffffffffffffffffffffffff16811461022d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e6572000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6101688161061e565b600054610100900460ff16158080156102565750600054600160ff909116105b806102705750303b158015610270575060005460ff166001145b6102fc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610224565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561035a57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6103638261064f565b80156103c757600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a15b5050565b6103d361047b565b6065805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff0000000000000000000000000000000000000000909116811790915561043660335473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b60335473ffffffffffffffffffffffffffffffffffffffff16331461017d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610224565b73ffffffffffffffffffffffffffffffffffffffff811661059f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f696e76616c696420616365737320636f6e74726f6c206d616e6167657220616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610224565b6097805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff000000000000000000000000000000000000000083168117909355604080519190921680825260208201939093527f66fd58e82f7b31a2a5c30e0888f3093efe4e111b00cd2b0c31fe014601293aa091016103be565b606580547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055610168816106e6565b600054610100900460ff1661015f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610224565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60006020828403121561076f57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461079357600080fd5b939250505056fea2646970667358221220281e43edb39862ed585d8c819218329ab4032b2b1cb2e0f9fc96ffece6e78c6864736f6c63430008190033",
190
+ "bytecode": "0x6080604052348015600f57600080fd5b506107d08061001f6000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063b4a0bdf31161005b578063b4a0bdf3146100f5578063c4d66de814610113578063e30c397814610126578063f2fde38b1461014457600080fd5b80630e32cb861461008d578063715018a6146100a257806379ba5097146100aa5780638da5cb5b146100b2575b600080fd5b6100a061009b36600461075d565b610157565b005b6100a061016b565b6100a061017f565b60335473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b60975473ffffffffffffffffffffffffffffffffffffffff166100cc565b6100a061012136600461075d565b610236565b60655473ffffffffffffffffffffffffffffffffffffffff166100cc565b6100a061015236600461075d565b6103cb565b61015f61047b565b610168816104fc565b50565b61017361047b565b61017d600061061e565b565b606554339073ffffffffffffffffffffffffffffffffffffffff16811461022d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e6572000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6101688161061e565b600054610100900460ff16158080156102565750600054600160ff909116105b806102705750303b158015610270575060005460ff166001145b6102fc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610224565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561035a57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6103638261064f565b80156103c757600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a15b5050565b6103d361047b565b6065805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff0000000000000000000000000000000000000000909116811790915561043660335473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b60335473ffffffffffffffffffffffffffffffffffffffff16331461017d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610224565b73ffffffffffffffffffffffffffffffffffffffff811661059f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f696e76616c696420616365737320636f6e74726f6c206d616e6167657220616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610224565b6097805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff000000000000000000000000000000000000000083168117909355604080519190921680825260208201939093527f66fd58e82f7b31a2a5c30e0888f3093efe4e111b00cd2b0c31fe014601293aa091016103be565b606580547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055610168816106e6565b600054610100900460ff1661015f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610224565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60006020828403121561076f57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461079357600080fd5b939250505056fea2646970667358221220256552adba942d224ca7e03e641e48a402219bd68eb1527584bfa875779772dd64736f6c63430008190033",
191
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100885760003560e01c8063b4a0bdf31161005b578063b4a0bdf3146100f5578063c4d66de814610113578063e30c397814610126578063f2fde38b1461014457600080fd5b80630e32cb861461008d578063715018a6146100a257806379ba5097146100aa5780638da5cb5b146100b2575b600080fd5b6100a061009b36600461075d565b610157565b005b6100a061016b565b6100a061017f565b60335473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b60975473ffffffffffffffffffffffffffffffffffffffff166100cc565b6100a061012136600461075d565b610236565b60655473ffffffffffffffffffffffffffffffffffffffff166100cc565b6100a061015236600461075d565b6103cb565b61015f61047b565b610168816104fc565b50565b61017361047b565b61017d600061061e565b565b606554339073ffffffffffffffffffffffffffffffffffffffff16811461022d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e6572000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6101688161061e565b600054610100900460ff16158080156102565750600054600160ff909116105b806102705750303b158015610270575060005460ff166001145b6102fc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610224565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561035a57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6103638261064f565b80156103c757600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a15b5050565b6103d361047b565b6065805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff0000000000000000000000000000000000000000909116811790915561043660335473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b60335473ffffffffffffffffffffffffffffffffffffffff16331461017d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610224565b73ffffffffffffffffffffffffffffffffffffffff811661059f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f696e76616c696420616365737320636f6e74726f6c206d616e6167657220616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610224565b6097805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff000000000000000000000000000000000000000083168117909355604080519190921680825260208201939093527f66fd58e82f7b31a2a5c30e0888f3093efe4e111b00cd2b0c31fe014601293aa091016103be565b606580547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055610168816106e6565b600054610100900460ff1661015f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610224565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60006020828403121561076f57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461079357600080fd5b939250505056fea2646970667358221220256552adba942d224ca7e03e641e48a402219bd68eb1527584bfa875779772dd64736f6c63430008190033",
192
192
  "linkReferences": {},
193
193
  "deployedLinkReferences": {}
194
194
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/55c66c9e0f80b7f400934081cbca14cd.json"
3
+ "buildInfo": "../../../build-info/cf531a98abe9f15cfd77eb47f39b44a4.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/55c66c9e0f80b7f400934081cbca14cd.json"
3
+ "buildInfo": "../../../build-info/cf531a98abe9f15cfd77eb47f39b44a4.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../../build-info/55c66c9e0f80b7f400934081cbca14cd.json"
3
+ "buildInfo": "../../../../../build-info/cf531a98abe9f15cfd77eb47f39b44a4.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../../build-info/55c66c9e0f80b7f400934081cbca14cd.json"
3
+ "buildInfo": "../../../../../build-info/cf531a98abe9f15cfd77eb47f39b44a4.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../../../build-info/55c66c9e0f80b7f400934081cbca14cd.json"
3
+ "buildInfo": "../../../../../../build-info/cf531a98abe9f15cfd77eb47f39b44a4.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../../../build-info/55c66c9e0f80b7f400934081cbca14cd.json"
3
+ "buildInfo": "../../../../../../build-info/cf531a98abe9f15cfd77eb47f39b44a4.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../../build-info/55c66c9e0f80b7f400934081cbca14cd.json"
3
+ "buildInfo": "../../../../../build-info/cf531a98abe9f15cfd77eb47f39b44a4.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../../../build-info/55c66c9e0f80b7f400934081cbca14cd.json"
3
+ "buildInfo": "../../../../../../build-info/cf531a98abe9f15cfd77eb47f39b44a4.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../../../build-info/55c66c9e0f80b7f400934081cbca14cd.json"
3
+ "buildInfo": "../../../../../../build-info/cf531a98abe9f15cfd77eb47f39b44a4.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../../../build-info/55c66c9e0f80b7f400934081cbca14cd.json"
3
+ "buildInfo": "../../../../../../build-info/cf531a98abe9f15cfd77eb47f39b44a4.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../../build-info/55c66c9e0f80b7f400934081cbca14cd.json"
3
+ "buildInfo": "../../../../../build-info/cf531a98abe9f15cfd77eb47f39b44a4.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../../build-info/55c66c9e0f80b7f400934081cbca14cd.json"
3
+ "buildInfo": "../../../../../build-info/cf531a98abe9f15cfd77eb47f39b44a4.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../../build-info/55c66c9e0f80b7f400934081cbca14cd.json"
3
+ "buildInfo": "../../../../../build-info/cf531a98abe9f15cfd77eb47f39b44a4.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/55c66c9e0f80b7f400934081cbca14cd.json"
3
+ "buildInfo": "../../../../build-info/cf531a98abe9f15cfd77eb47f39b44a4.json"
4
4
  }
@@ -14,7 +14,7 @@ import "./IAccessControlManagerV8.sol";
14
14
  */
15
15
  abstract contract AccessControlledV8 is Initializable, Ownable2StepUpgradeable {
16
16
  /// @notice Access control manager contract
17
- IAccessControlManagerV8 private _accessControlManager;
17
+ IAccessControlManagerV8 internal _accessControlManager;
18
18
 
19
19
  /**
20
20
  * @dev This empty reserved space is put in place to allow future versions to add new
@@ -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 GovernorBravoDelegateStorageV2, GovernorBravoEvents {
73
+ contract GovernorBravoDelegate is GovernorBravoDelegateStorageV3, GovernorBravoEvents {
74
74
  /// @notice The name of this contract
75
75
  string public constant name = "Venus Governor Bravo";
76
76
 
@@ -80,18 +80,6 @@ contract GovernorBravoDelegate is GovernorBravoDelegateStorageV2, GovernorBravoE
80
80
  /// @notice The maximum setable proposal threshold
81
81
  uint public constant MAX_PROPOSAL_THRESHOLD = 300000e18; //300,000 Xvs
82
82
 
83
- /// @notice The minimum setable voting period
84
- uint public constant MIN_VOTING_PERIOD = 20 * 60 * 3; // About 3 hours, 3 secs per block
85
-
86
- /// @notice The max setable voting period
87
- uint public constant MAX_VOTING_PERIOD = 20 * 60 * 24 * 14; // About 2 weeks, 3 secs per block
88
-
89
- /// @notice The min setable voting delay
90
- uint public constant MIN_VOTING_DELAY = 1;
91
-
92
- /// @notice The max setable voting delay
93
- uint public constant MAX_VOTING_DELAY = 20 * 60 * 24 * 7; // About 1 week, 3 secs per block
94
-
95
83
  /// @notice The number of votes in support of a proposal required in order for a quorum to be reached and for a vote to succeed
96
84
  uint public constant quorumVotes = 600000e18; // 600,000 = 2% of Xvs
97
85
 
@@ -110,20 +98,21 @@ contract GovernorBravoDelegate is GovernorBravoDelegateStorageV2, GovernorBravoE
110
98
  */
111
99
  function initialize(
112
100
  address xvsVault_,
101
+ ValidationParams memory validationParams_,
113
102
  ProposalConfig[] memory proposalConfigs_,
114
103
  TimelockInterface[] memory timelocks,
115
104
  address guardian_
116
105
  ) public {
117
106
  require(address(proposalTimelocks[0]) == address(0), "GovernorBravo::initialize: cannot initialize twice");
118
107
  require(msg.sender == admin, "GovernorBravo::initialize: admin only");
119
- require(xvsVault_ != address(0), "GovernorBravo::initialize: invalid xvs address");
108
+ require(xvsVault_ != address(0), "GovernorBravo::initialize: invalid xvs vault address");
120
109
  require(guardian_ != address(0), "GovernorBravo::initialize: invalid guardian");
121
110
  require(
122
- timelocks.length == uint8(ProposalType.CRITICAL) + 1,
111
+ timelocks.length == getGovernanceRouteCount(),
123
112
  "GovernorBravo::initialize:number of timelocks should match number of governance routes"
124
113
  );
125
114
  require(
126
- proposalConfigs_.length == uint8(ProposalType.CRITICAL) + 1,
115
+ proposalConfigs_.length == getGovernanceRouteCount(),
127
116
  "GovernorBravo::initialize:number of proposal configs should match number of governance routes"
128
117
  );
129
118
 
@@ -131,37 +120,94 @@ contract GovernorBravoDelegate is GovernorBravoDelegateStorageV2, GovernorBravoE
131
120
  proposalMaxOperations = 10;
132
121
  guardian = guardian_;
133
122
 
134
- //Set parameters for each Governance Route
123
+ // Set parameters for each Governance Route
124
+ setValidationParams(validationParams_);
125
+ setProposalConfigs(proposalConfigs_);
126
+
127
+ uint256 arrLength = timelocks.length;
128
+ for (uint256 i; i < arrLength; ++i) {
129
+ require(address(timelocks[i]) != address(0), "GovernorBravo::initialize:invalid timelock address");
130
+ proposalTimelocks[i] = timelocks[i];
131
+ }
132
+ }
133
+
134
+ /**
135
+ ** @notice Sets the validation parameters for voting delay and voting period
136
+ ** @param newValidationParams Struct containing new minimum and maximum voting period and delay
137
+ */
138
+ function setValidationParams(ValidationParams memory newValidationParams) public {
139
+ require(msg.sender == admin, "GovernorBravo::setValidationParams: admin only");
140
+ require(
141
+ newValidationParams.minVotingPeriod > 0 &&
142
+ newValidationParams.minVotingDelay > 0 &&
143
+ newValidationParams.minVotingDelay < newValidationParams.maxVotingDelay &&
144
+ newValidationParams.minVotingPeriod < newValidationParams.maxVotingPeriod,
145
+ "GovernorBravo::setValidationParams: invalid params"
146
+ );
147
+ emit SetValidationParams(
148
+ validationParams.minVotingPeriod,
149
+ newValidationParams.minVotingPeriod,
150
+ validationParams.maxVotingPeriod,
151
+ newValidationParams.maxVotingPeriod,
152
+ validationParams.minVotingDelay,
153
+ newValidationParams.minVotingDelay,
154
+ validationParams.maxVotingDelay,
155
+ newValidationParams.maxVotingDelay
156
+ );
157
+ validationParams = newValidationParams;
158
+ }
159
+
160
+ /**
161
+ ** @notice Sets the configuration for different proposal types
162
+ ** @dev Requires validationParams to be configured before also it will set proposal config for all proposal types
163
+ ** @param proposalConfigs_ Array of proposal configuration structs to update
164
+ */
165
+ function setProposalConfigs(ProposalConfig[] memory proposalConfigs_) public {
166
+ require(msg.sender == admin, "GovernorBravo::setProposalConfigs: admin only");
167
+ require(
168
+ validationParams.minVotingPeriod > 0 &&
169
+ validationParams.maxVotingPeriod > 0 &&
170
+ validationParams.minVotingDelay > 0 &&
171
+ validationParams.maxVotingDelay > 0,
172
+ "GovernorBravo::setProposalConfigs: validation params not configured yet"
173
+ );
135
174
  uint256 arrLength = proposalConfigs_.length;
175
+ require(
176
+ arrLength == getGovernanceRouteCount(),
177
+ "GovernorBravo::setProposalConfigs: invalid proposal config length"
178
+ );
136
179
  for (uint256 i; i < arrLength; ++i) {
137
180
  require(
138
- proposalConfigs_[i].votingPeriod >= MIN_VOTING_PERIOD,
139
- "GovernorBravo::initialize: invalid min voting period"
181
+ proposalConfigs_[i].votingPeriod >= validationParams.minVotingPeriod,
182
+ "GovernorBravo::setProposalConfigs: invalid min voting period"
140
183
  );
141
184
  require(
142
- proposalConfigs_[i].votingPeriod <= MAX_VOTING_PERIOD,
143
- "GovernorBravo::initialize: invalid max voting period"
185
+ proposalConfigs_[i].votingPeriod <= validationParams.maxVotingPeriod,
186
+ "GovernorBravo::setProposalConfigs: invalid max voting period"
144
187
  );
145
188
  require(
146
- proposalConfigs_[i].votingDelay >= MIN_VOTING_DELAY,
147
- "GovernorBravo::initialize: invalid min voting delay"
189
+ proposalConfigs_[i].votingDelay >= validationParams.minVotingDelay,
190
+ "GovernorBravo::setProposalConfigs: invalid min voting delay"
148
191
  );
149
192
  require(
150
- proposalConfigs_[i].votingDelay <= MAX_VOTING_DELAY,
151
- "GovernorBravo::initialize: invalid max voting delay"
193
+ proposalConfigs_[i].votingDelay <= validationParams.maxVotingDelay,
194
+ "GovernorBravo::setProposalConfigs: invalid max voting delay"
152
195
  );
153
196
  require(
154
197
  proposalConfigs_[i].proposalThreshold >= MIN_PROPOSAL_THRESHOLD,
155
- "GovernorBravo::initialize: invalid min proposal threshold"
198
+ "GovernorBravo::setProposalConfigs: invalid min proposal threshold"
156
199
  );
157
200
  require(
158
201
  proposalConfigs_[i].proposalThreshold <= MAX_PROPOSAL_THRESHOLD,
159
- "GovernorBravo::initialize: invalid max proposal threshold"
202
+ "GovernorBravo::setProposalConfigs: invalid max proposal threshold"
160
203
  );
161
- require(address(timelocks[i]) != address(0), "GovernorBravo::initialize:invalid timelock address");
162
204
 
163
205
  proposalConfigs[i] = proposalConfigs_[i];
164
- proposalTimelocks[i] = timelocks[i];
206
+ emit SetProposalConfigs(
207
+ proposalConfigs_[i].votingPeriod,
208
+ proposalConfigs_[i].votingDelay,
209
+ proposalConfigs_[i].proposalThreshold
210
+ );
165
211
  }
166
212
  }
167
213
 
@@ -500,7 +546,7 @@ contract GovernorBravoDelegate is GovernorBravoDelegateStorageV2, GovernorBravoE
500
546
  require(initialProposalId == 0, "GovernorBravo::_initiate: can only initiate once");
501
547
  proposalCount = GovernorAlphaInterface(governorAlpha).proposalCount();
502
548
  initialProposalId = proposalCount;
503
- for (uint256 i; i < uint8(ProposalType.CRITICAL) + 1; ++i) {
549
+ for (uint256 i; i < getGovernanceRouteCount(); ++i) {
504
550
  proposalTimelocks[i].acceptAdmin();
505
551
  }
506
552
  }
@@ -580,4 +626,8 @@ contract GovernorBravoDelegate is GovernorBravoDelegateStorageV2, GovernorBravoE
580
626
  }
581
627
  return chainId;
582
628
  }
629
+
630
+ function getGovernanceRouteCount() internal pure returns (uint8) {
631
+ return uint8(ProposalType.CRITICAL) + 1;
632
+ }
583
633
  }