Proposals

Proposal Creation

To create a proposal, DaoController's createProposal method should be invoked by msg.sender with PROPOSAL_CREATOR role.

createProposal(Action[] calldata _pipeline) external

_pipeline - an array of Actions to be performed should be passed as an argument.

enum ActionType {
    REGULAR,
    APP
}

struct Action {
    ActionType actionType;
    address to;
    bytes data;
    uint256 value;
}

Actions might have REGULAR or APP type. The first one represents a call to another contract which will be performed only if the Proposal will pass. APP type means that the Action represents interaction with an App. Every time a user votes for the Proposal, DaoController will call the App providing it vote data.

Last updated