Types of Proposals and Outcomes
What Can Be Voted On?
Execution Logic
Anchor Code
pub fn execute_proposal(ctx: Context<ExecuteProposal>) -> Result<()> {
let proposal = &mut ctx.accounts.proposal;
require!(!proposal.executed, CustomError::AlreadyExecuted);
if proposal.votes_yes > proposal.votes_no {
// Execute DAO action (e.g., fund transfer)
}
proposal.executed = true;
Ok(())
}
Last updated