Create task task-060
This commit is contained in:
parent
2783def139
commit
8a4cc5dfae
|
|
@ -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
|
||||||
|
|
||||||
|
<!-- SECTION:DESCRIPTION:BEGIN -->
|
||||||
|
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
|
||||||
|
<!-- SECTION:DESCRIPTION:END -->
|
||||||
|
|
||||||
|
## Acceptance Criteria
|
||||||
|
<!-- AC:BEGIN -->
|
||||||
|
- [ ] #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
|
||||||
|
<!-- AC:END -->
|
||||||
Loading…
Reference in New Issue