Complexity: High
Problem: Liquidity provider DAOs need token-weighted voting to manage protocol parameters.
Scope: Build the DAOGovernance contract for creating proposals, casting votes, and executing passed proposals to update protocol config.
Key methods: create_proposal(proposer, title, param_key, new_value, voting_period), vote(proposal_id, voter, support), execute(proposal_id), get_proposal(proposal_id), get_vote(proposal_id, voter) Acceptance criteria: Proposals pass when >50% of voting power approves. Executed proposals update protocol config storage. Voting period enforced.
Files to create:
contracts/dao-governance/src/lib.rs
contracts/dao-governance/src/types.rs
contracts/dao-governance/src/storage.rs
contracts/dao-governance/src/voting.rs
contracts/dao-governance/src/errors.rs
contracts/dao-governance/Cargo.toml
Complexity: High
Problem: Liquidity provider DAOs need token-weighted voting to manage protocol parameters.
Scope: Build the DAOGovernance contract for creating proposals, casting votes, and executing passed proposals to update protocol config.
Key methods: create_proposal(proposer, title, param_key, new_value, voting_period), vote(proposal_id, voter, support), execute(proposal_id), get_proposal(proposal_id), get_vote(proposal_id, voter) Acceptance criteria: Proposals pass when >50% of voting power approves. Executed proposals update protocol config storage. Voting period enforced.
Files to create:
contracts/dao-governance/src/lib.rs
contracts/dao-governance/src/types.rs
contracts/dao-governance/src/storage.rs
contracts/dao-governance/src/voting.rs
contracts/dao-governance/src/errors.rs
contracts/dao-governance/Cargo.toml