Skip to content

feat(export): add CSV export endpoint and utility for grant data (#161) - #169

Open
s6pa1rta3n-lab wants to merge 1 commit into
Core-Foundry:mainfrom
s6pa1rta3n-lab:feat/issue-161-csv-export
Open

feat(export): add CSV export endpoint and utility for grant data (#161)#169
s6pa1rta3n-lab wants to merge 1 commit into
Core-Foundry:mainfrom
s6pa1rta3n-lab:feat/issue-161-csv-export

Conversation

@s6pa1rta3n-lab

Copy link
Copy Markdown

Summary

Closes #161.

Implements secure, RFC 4180-compliant CSV export for grant/task records across the API and frontend components.

Acceptance Criteria Fulfillment

  • CSV Format Output: Generates valid RFC 4180 CSV with escaped quotes, commas, and linebreaks.
  • Defined Public Fields: Clearly exports grant metadata (id, title, description, rewardStroops, rewardXlm, deadlineUnix, deadlineIso, maxSubmissions, submissionCount, status, createdAt, difficulty, technologies, organization, posterAddress).
  • Security & Sanitization: Excludes sensitive/restricted internals and protects against CSV formula injection (DDE attacks) by escaping leading =, +, -, @, \t, \r characters.
  • API Route: Added GET /api/tasks/export/csv with rate-limiting headers and filter query param support.
  • UI Component: Added accessible CsvExportButton component with loading and disabled states.
  • Verification: Comprehensive unit and integration test coverage across all test suites (321 frontend tests + 155 contract tests passing).

Payout Routing

  • EVM (Base/Arbitrum/Polygon/ETH): 0xF46C9F6d70C50BF81ef3588AB523a90a594a2F89
  • Stellar: GCL6OXAMLD75BMTINA6EMRUDWK5THQUSHMYNLSNBCJAPZJHNYJTUNIBC

@s6pa1rta3n-lab
s6pa1rta3n-lab marked this pull request as ready for review August 28, 2026 13:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add CSV Export for Grant Data

1 participant