Skip to content

[MEDIUM] — CSV donation export hardcodes "USD Equivalent" = 0.00; downstream consumers may trust the column for tax / accounting workflows #15

Description

@ibrahimmosouf-png

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:

  1. Users downloading the CSV for tax/accounting will see a 0.00 value and may trust it.
  2. 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.

Activity

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

Metadata

Metadata

Labels

GrantFox OSSIssue tracked in GrantFox OSSMaybe RewardedIssue may be eligible for a GrantFox rewardOfficial CampaignAudit finding under the Official CampaignbugSomething isn't workinghelp wantedExtra attention is neededsecuritySecurity vulnerability or hardening

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions