Short notes that explain the shape of the system as it exists now.
Because this version needed something shippable, inspectable, and realistic on Solana in the current repo scope. Commit-reveal is an old primitive, but it works, and the tradeoff is explicit: voters must come back to reveal or rely on a keeper.
sha256(vote_byte || salt_32 || voter_pubkey_32)
Including the voter pubkey binds the commitment to one voter and prevents replay by another voter on the same proposal.
Vote weight is snapshotted at commit time. That is the current anti-flip protection:
- buy
- commit
- dump
does not let a holder move weight around after the vote is sealed.
Quorum is based on reveal participation among committed voters:
reveal_count / commit_count
That means unrevealed votes behave like abstentions in the final result.
Treasury execution is live in the current codebase.
SendSolexecutes on-chainSendTokenexecutes on-chain with recipient and mint checksCustomCPIis still event-only on purpose
The repo has Realms-compatible pieces, but not a finished one-click Realms replacement.
Current position:
- migration provenance is recorded
- voter-weight record shape exists
- full proposal lifecycle coupling remains future integration work
- Commit-reveal still leaks participation timing.
- Reveal liveness is a real operational risk even with keeper support.
- Large DAOs will eventually care about account count and storage costs.
- Any deeper Realms integration should be versioned carefully rather than forced into the current account model.