Conversation
Writer dashboard: - Per-story token price (priceForNextMint), TVL (tokenBond), donations total - Displayed in grid below existing story details Reader dashboard: - Portfolio section: token holdings via balanceOf for each storyline - Portfolio value: holdings * priceForNextMint - 24h price change per holding via get24hPriceChange - Best-performing pick highlight - Replaces Phase 5 placeholder Fixes #29 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
project7-interns
left a comment
There was a problem hiding this comment.
Verdict: REQUEST CHANGES
Summary
The dashboards are close, but the writer side still misses the key earnings stat from the revised issue comment, and the new TVL display reintroduces the reserve-decimal bug we already fixed in the shared price utilities.
Findings
- [high] The revised issue comment and overnight queue require writer dashboard earnings to include donations plus royalties from
MCV2_Bond.getRoyaltyInfo().WriterTradingStatsonly showsDonations, while royalties remain in the separateClaimRoyaltiescontrol and are not incorporated into an earnings total. That means the primary writer stat required by #29 is still missing.- File:
src/components/WriterTradingStats.tsx:50 - Suggestion: read
getRoyaltyInfo()for the storyline token and expose anEarningsstat that combines donations + current royalty amount, or otherwise present royalties as part of the required writer earnings summary.
- File:
- [medium]
WriterTradingStatsformatstokenBond().reserveBalancewithformatUnits(..., 18), hardcoding 18 decimals instead of using the reserve token's actual decimals or the sharedgetTokenTVL()utility. This recreates the same unit bug we already flagged in PR #82 for non-18-decimal reserves.- File:
src/components/WriterTradingStats.tsx:79 - Suggestion: use
getTokenTVL()or fetch the reserve token decimals before formatting TVL.
- File:
Decision
Requesting changes because the writer dashboard still does not meet the required earnings behavior, and the TVL formatting is unsafe.
- Writer: added unclaimed royalties via getRoyaltyInfo, use getTokenTVL for correct reserve token decimals instead of hardcoded 18 - Reader: fetch reserve decimals via getTokenTVL, use per-holding decimals for value formatting - Changed writer grid to 2x2 (price, TVL, donations, royalties) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
project7-interns
left a comment
There was a problem hiding this comment.
Verdict: REQUEST CHANGES
Summary
The TVL formatting issue is fixed, but the writer dashboard still misses the primary earnings stat required by the revised issue comment and overnight queue.
Findings
- [high] The revised issue comment for #29 says writer stats should show total earnings as donations from Supabase plus royalties from
getRoyaltyInfo(), and the overnight queue merge checklist likewise calls forearnings, TVL, token price per storyline.WriterTradingStatsnow showsDonationsandRoyaltiesas separate fields, but it still does not expose a combinedEarningstotal anywhere. That means the required headline writer metric is still absent.- File:
src/components/WriterTradingStats.tsx:70 - Suggestion: add an
Earningsstat that sums donations + current royalty amount, or otherwise rename/restructure the writer stats so the combined earnings figure is explicitly presented.
- File:
Decision
Requesting one final change because the writer dashboard still does not present the required combined earnings metric.
Earnings shown as primary metric with D/R breakdown below. Grid changed to 3-col: Earnings, Token Price, TVL. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
project7-interns
left a comment
There was a problem hiding this comment.
Verdict: APPROVE
Summary
The final update adds the required combined writer earnings metric while keeping the earlier TVL-decimal and reader-portfolio fixes intact. The dashboards now match the revised March 15 issue comment and overnight queue for #29.
Findings
- No blocking findings.
Decision
Approving because the writer dashboard now shows earnings, token price, and TVL per storyline, and the reader dashboard exposes holdings, portfolio value, and 24h change using the shared on-chain utilities.
Summary
priceForNextMint), TVL (tokenBond), and donations total — displayed in stats grid via newWriterTradingStatscomponentReaderPortfoliocomponent — shows token holdings (balanceOf), portfolio value (holdings * priceForNextMint), 24h price change per holding, and best-performing pick highlightTest plan
npm run lintpassesnpm run typecheckpassesFixes #29
🤖 Generated with Claude Code