Severity: Medium
Type: Bug
Scope: Donations, Users
Labels: bug, security, help wanted
Description
Both the synchronous and asynchronous export paths emit a hardcoded 0.00 USD equivalent:
UsersService.exportUserDonationsAsCSV (src/users/users.service.ts, line ~415).
ExportProcessor.handleDonationExport (src/users/export.processor.ts, line ~58).
The comment in each location acknowledges this is a placeholder ("USD equivalent: fetched from price cache in production").
Two failure modes persist today:
- Users downloading the CSV for tax/accounting will see a
0.00 value and may trust it.
- If a future consumer (analytics dashboard, partner integration) ingests the CSV preemptively, the integration will be biased.
Recommendation
- Drop the column entirely until a real price-oracle integration is added, or rename it to
Quote: pending.
- When ready, integrate a price oracle (Stellar Horizon
/order_book snapshots, CoinGecko, or a self-hosted oracle service) and cache quotes with TTL by asset.
- Document the absence in
README.md so external integrators are not surprised.
Severity: Medium
Type: Bug
Scope: Donations, Users
Labels:
bug,security,help wantedDescription
Both the synchronous and asynchronous export paths emit a hardcoded
0.00USD equivalent:UsersService.exportUserDonationsAsCSV(src/users/users.service.ts, line ~415).ExportProcessor.handleDonationExport(src/users/export.processor.ts, line ~58).The comment in each location acknowledges this is a placeholder ("USD equivalent: fetched from price cache in production").
Two failure modes persist today:
0.00value and may trust it.Recommendation
Quote: pending./order_booksnapshots, CoinGecko, or a self-hosted oracle service) and cache quotes with TTL by asset.README.mdso external integrators are not surprised.