CompensationProposalFacet
Inherits: UnifiedGovernanceBase
Handles executive compensation proposals within the unified governance framework
Simplified compensation proposal facet for unified governance
Functions
createCompensationProposal
Create a compensation proposal for an executive
function createCompensationProposal(
address executive,
uint256 amount,
CompensationType compensationType,
string memory description
) external returns (uint256 proposalId);
approveCompensation
Approve compensation for an executive (called by governance execution)
function approveCompensation(address executive, uint256 amount, CompensationType compensationType) external;
canProposeCompensation
Check if an address can propose compensation
function canProposeCompensation(address account) external view returns (bool);
_compensationTypeToString
function _compensationTypeToString(CompensationType cType) internal pure returns (string memory);
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
CompensationProposalCreated
event CompensationProposalCreated(
uint256 indexed proposalId, address indexed executive, uint256 amount, string compensationType
);
CompensationApproved
event CompensationApproved(address indexed executive, uint256 amount, string compensationType);
Enums
CompensationType
enum CompensationType {
BASE_SALARY,
BONUS,
EQUITY_GRANT,
RETENTION_BONUS,
SEVERANCE_PACKAGE
}
Last updated
Was this helpful?