BoardManagement

Git Source

State Variables

owner

address public owner;

boardMembers

mapping(address => bool) public boardMembers;

boardMemberCount

uint256 public boardMemberCount;

boardProposalCount

uint256 public boardProposalCount;

boardProposals

mapping(uint256 => BoardProposal) public boardProposals;

Functions

onlyOwner

modifier onlyOwner();

onlyBoardMember

modifier onlyBoardMember();

constructor

constructor();

addBoardMember

function addBoardMember(address member) external onlyOwner;

removeBoardMember

function removeBoardMember(address member) external onlyOwner;

createBoardProposal

function createBoardProposal(string memory description, uint256 duration) external onlyBoardMember;

voteOnBoardProposal

function voteOnBoardProposal(uint256 proposalId, bool approve) external onlyBoardMember;

executeBoardProposal

function executeBoardProposal(uint256 proposalId) external onlyBoardMember;

Events

BoardMemberAdded

event BoardMemberAdded(address indexed member);

BoardMemberRemoved

event BoardMemberRemoved(address indexed member);

BoardProposalCreated

event BoardProposalCreated(uint256 indexed proposalId, string description, uint256 deadline);

BoardVoteCast

event BoardVoteCast(uint256 indexed proposalId, address indexed voter, bool approve);

Structs

BoardProposal

struct BoardProposal {
    string description;
    uint256 deadline;
    uint256 approvals;
    uint256 rejections;
    bool executed;
    mapping(address => bool) voted;
}

Last updated

Was this helpful?