Skip to content

Revenue#1033

Open
Qoder-Undefined wants to merge 2 commits into
DistinctCodes:mainfrom
Qoder-Undefined:Revenue
Open

Revenue#1033
Qoder-Undefined wants to merge 2 commits into
DistinctCodes:mainfrom
Qoder-Undefined:Revenue

Conversation

@Qoder-Undefined

Copy link
Copy Markdown
Contributor

[FE-46] Build dividend distribution UI — distribute revenue to token holders and view history
Overview
Asset owners can distribute revenue (rental income, sale proceeds) to token holders proportionally to their holdings. This UI handles initiating a dividend distribution and viewing the history of past distributions. Depends on BE-63.

Context
Add a "Dividends" tab to tokenized asset detail pages
API endpoints (from BE-63): POST /stellar/assets/:id/dividends/distribute, GET /stellar/assets/:id/dividends/history, GET /stellar/assets/:id/dividends/my
Acceptance Criteria
"Dividends" tab on tokenized asset detail page
"My Dividends" card at the top showing the current user's unclaimed dividends (if they are a token holder)
"Distribute Dividend" button (admin only): modal with total amount input, currency selector (XLM or asset token), a preview of distribution per holder based on current token balances, confirm button
After distribution: show transaction hash, update distribution history
Distribution History table: date, total amount distributed, number of recipients, amount per token, transaction hash (linked to Stellar explorer)
Bar chart (Recharts BarChart) showing dividend amounts over time
closes #983

[FE-45] Build on-chain governance voting interface — create proposals and cast votes
Overview
Token holders in a tokenized asset can vote on governance proposals (e.g., "Should we sell the asset?", "Approve the new lease terms?"). This interface shows open proposals, vote counts, and allows token holders to cast weighted votes. Depends on BE-63.

Context
Route: Add a "Governance" tab to tokenized asset detail pages
API endpoints (from BE-63): POST /stellar/assets/:id/votes, POST /stellar/assets/:id/votes/:proposalId/cast, GET /stellar/assets/:id/votes
Vote weight = caller's token balance
Acceptance Criteria
"Governance" tab visible only on tokenized assets
Active Proposals list: title, description, options, vote deadline, current vote counts per option (progress bars)
"Vote" button per proposal opens a modal with option radio buttons and the user's voting power displayed
After voting: show "Vote cast" with the transaction hash, disable the Vote button for that proposal
Closed Proposals section: shows final results with winning option highlighted
"Create Proposal" button (admin only): form with title, description, options (add/remove input rows), closing date — calls POST /stellar/assets/:id/votes
Real-time vote count updates via polling every 30 seconds
closes #982

@vercel

vercel Bot commented Jun 27, 2026

Copy link
Copy Markdown

@Qoder-Undefined is attempting to deploy a commit to the naijabuz's projects Team on Vercel.

A member of the Team first needs to authorize it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant