GovernanceTimelockFacet
Inherits: UnifiedGovernanceBase
Handles proposal execution delays within the unified governance framework
Simplified timelock functionality for unified governance
State Variables
proposalExecutionTimes
mapping(uint256 => uint256) public proposalExecutionTimes;
Functions
queueProposal
Queue a proposal for execution after timelock delay
function queueProposal(uint256 proposalId) external;
executeQueuedProposal
Execute a queued proposal after timelock delay has passed
function executeQueuedProposal(uint256 proposalId) external returns (uint256);
updateTimelockDelay
Update the timelock delay (governance only)
function updateTimelockDelay(uint256 newDelay) external;
getProposalExecutionTime
Get the execution time for a queued proposal
function getProposalExecutionTime(uint256 proposalId) external view returns (uint256);
isProposalReady
Check if a proposal is ready for execution
function isProposalReady(uint256 proposalId) external view returns (bool);
getTimelockDelay
Get current timelock delay
function getTimelockDelay() external view returns (uint256);
_proposalSucceeded
function _proposalSucceeded(uint256 proposalId) internal view returns (bool);
configureOCFStockClasses
function configureOCFStockClasses(GovernanceStorage.OCFStockClass[] calldata stockClasses) external pure override;
configureOCFProposalTypes
function configureOCFProposalTypes(GovernanceStorage.OCFProposalTypeConfig[] calldata proposalTypes)
external
pure
override;
updateStakeholderShares
function updateStakeholderShares(address stakeholder, string calldata classId, uint256 shares) external pure override;
calculateVotingPower
function calculateVotingPower(address stakeholder, string memory proposalType) public pure override returns (uint256);
canVetoProposal
function canVetoProposal(address stakeholder, string memory proposalType) public pure override returns (bool);
Events
ProposalQueued
event ProposalQueued(uint256 indexed proposalId, uint256 executeTime);
ProposalExecuted
event ProposalExecuted(uint256 indexed proposalId);
TimelockDelayUpdated
event TimelockDelayUpdated(uint256 oldDelay, uint256 newDelay);
Last updated
Was this helpful?