Proposals
π Draft
β
π€ Submit
β
π³οΈ Voting
β
β‘ Execution
π Related Pages
How Governance WorksVoting PowerProposal TypesTreasuryLast updated
Last updated
struct Proposal {
string title; // Brief, descriptive title
string description; // Full proposal text
ProposalType type; // Operational, Financial, Governance
address[] targets; // Contracts to call
uint256[] values; // ETH values (usually 0)
bytes[] calldatas; // Function calls to execute
}Title: Fund Equipment Purchase
Description: Allocate 50,000 USDC for workshop equipment
Type: Financial/Strategic
Targets: [Treasury address]
Values: [0]
Calldatas: [withdraw(USDC, vendor, 50000e6)]## Title
[Clear, descriptive title]
## Summary
[2-3 sentence overview]
## Problem
[What issue does this address?]
## Proposed Solution
[Detailed description of the proposal]
## Implementation
[How will this be executed?]
## Resources Required
[Budget, time, personnel]
## Success Metrics
[How do we measure success?]
## Risks & Mitigations
[What could go wrong and how to prevent it]Approval = For / (For + Against) Γ 100Quorum = (For + Against + Abstain) / Total Eligible Γ 100await bltbyToken.approve(governance.address, stakeAmount);
await governance.createProposal(
"Proposal Title",
"Full description...",
0, // ProposalType.Operational
[targetAddress],
[0],
[calldata]
);