canvas-website/backlog/tasks/task-060 - Snapshot-Voting-...

1.9 KiB

id title status assignee created_date labels dependencies priority
task-060 Snapshot Voting Integration To Do
2026-01-02 16:08
feature
web3
governance
voting
task-007
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

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