Skip to content

[SC-06] Build governance UI — proposals and token-weighted voting on tokenized assets #1118

Description

@yusuftomilola

Overview

The voting module (contracts/assetsup/src/voting.rs) provides governance over tokenized assets (proposals, token-weighted votes, thresholds). No UI exists.

What to Build

A Governance tab on tokenized assets (and/or a global /governance page listing proposals across assets the connected wallet holds tokens in):

  1. Proposals list: title/description, proposer, status (active/passed/rejected/executed), deadline, live tally with a threshold progress bar
  2. Create proposal: form per the contract's proposal entrypoint (wallet-signed, holders only)
  3. Vote: for/against with the holder's token weight shown before signing; one-vote enforcement surfaced from the contract
  4. Outcome: passed proposals show their execution state where the contract exposes it
  5. Share voting/tally components with [SC-05]'s detokenization votes — build them once

References

  • Contract: contracts/assetsup/src/voting.rs
  • Blocked by [SC-03], [SC-04]

Acceptance Criteria

  • Full proposal lifecycle drivable from the UI on testnet
  • Vote weight reflects actual token balance; non-holders cannot vote
  • Tallies update after each vote and match contract state
  • Deadlines and thresholds clearly visualized

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions