1.9 KiB
1.9 KiB
| id | title | status | assignee | created_date | labels | dependencies | priority | |||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| task-060 | Snapshot Voting Integration | To Do | 2026-01-02 16:08 |
|
|
medium |
Description
Integrate Snapshot.js SDK for off-chain governance voting through the canvas interface.
Overview
Enable CryptID users with linked wallets to participate in Snapshot governance votes directly from the canvas. Proposals and voting can be visualized as shapes on the canvas.
Dependencies
- Requires task-007 (Web3 Wallet Linking) to be completed first
- User must have at least one linked wallet with voting power
Technical Approach
- Use Snapshot.js SDK for proposal fetching and vote submission
- Create VotingShape to visualize proposals on canvas
- Support EIP-712 signature-based voting via linked wallet
- Cache voting power from linked wallets
Features
- Proposal Browser - List active proposals from configured spaces
- VotingShape - Canvas shape to display proposal details and vote
- Vote Signing - Use wagmi's signTypedData for EIP-712 votes
- Voting Power Display - Show user's voting power per space
- Vote History - Track user's past votes
Spaces to Support Initially
- mycofi.eth (MycoFi DAO)
- Add configuration for additional spaces
References
- Snapshot.js: https://docs.snapshot.org/tools/snapshot.js
- Snapshot API: https://docs.snapshot.org/tools/api
Acceptance Criteria
- #1 Install and configure Snapshot.js SDK
- #2 Create VotingShape with proposal details display
- #3 Implement vote signing flow with EIP-712
- #4 Add proposal browser panel to canvas UI
- #5 Display voting power from linked wallets
- #6 Support multiple Snapshot spaces via configuration
- #7 Cache and display vote history