From 8a4cc5dfae4d8377ba7c703a59abe1672388ef4f Mon Sep 17 00:00:00 2001 From: Jeff Emmett Date: Fri, 2 Jan 2026 17:08:00 +0100 Subject: [PATCH] Create task task-060 --- .../task-060 - Snapshot-Voting-Integration.md | 60 +++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 backlog/tasks/task-060 - Snapshot-Voting-Integration.md diff --git a/backlog/tasks/task-060 - Snapshot-Voting-Integration.md b/backlog/tasks/task-060 - Snapshot-Voting-Integration.md new file mode 100644 index 0000000..b984861 --- /dev/null +++ b/backlog/tasks/task-060 - Snapshot-Voting-Integration.md @@ -0,0 +1,60 @@ +--- +id: task-060 +title: Snapshot Voting Integration +status: To Do +assignee: [] +created_date: '2026-01-02 16:08' +labels: + - feature + - web3 + - governance + - voting +dependencies: + - task-007 +priority: 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 +1. **Proposal Browser** - List active proposals from configured spaces +2. **VotingShape** - Canvas shape to display proposal details and vote +3. **Vote Signing** - Use wagmi's signTypedData for EIP-712 votes +4. **Voting Power Display** - Show user's voting power per space +5. **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 +