CommitteeManagementFacet

Git Source

Inherits: UnifiedGovernanceBase

Handles basic committee operations within the unified governance framework

Simplified committee management for unified governance

Functions

addBoardMember

Add a new board member

function addBoardMember(address member, string calldata role) external;

removeBoardMember

Remove a board member

function removeBoardMember(address member) external;

updateBoardMemberRole

Update a board member's role

function updateBoardMemberRole(address member, string calldata newRole) external;

isBoardMember

Check if an address is an active board member

function isBoardMember(address account) external view returns (bool);

getBoardMember

Get board member details

function getBoardMember(address member)
    external
    view
    returns (
        bool active,
        uint256 appointedAt,
        address appointedBy,
        uint256 totalVotingWeight,
        string memory primaryRole
    );

getActiveBoardMembers

Get all active board members

function getActiveBoardMembers() external view returns (address[] memory);

getBoardSize

Get the total number of active board members

function getBoardSize() external view returns (uint256);

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

BoardMemberAdded

event BoardMemberAdded(address indexed member, string role);

BoardMemberRemoved

event BoardMemberRemoved(address indexed member);

BoardMemberRoleUpdated

event BoardMemberRoleUpdated(address indexed member, string newRole);

Enums

CommitteeType

enum CommitteeType {
    AUDIT,
    COMPENSATION,
    NOMINATING,
    RISK,
    TECHNOLOGY
}

Last updated

Was this helpful?