Repository navigation
feat: transaction history with filtering by wallet (#887) - #953
Open
adenueltech wants to merge 2 commits into
Open
adenueltech wants to merge 2 commits into
adenueltech wants to merge 2 commits into
Conversation
- Fetch payment history from Horizon (/accounts/{id}/payments, joined with
transactions) with cursor-based loading of older pages
- Normalise payments, path payments, account creation/merge and contract calls
- New /transactions page: select connected, saved or manually added wallets;
filter by date range, type, direction and asset; free-text search over hash,
addresses, memo and amount; details panel with explorer link; pagination
- Export filtered results as CSV (escaped, formula-injection safe) or JSON
- Navigation links and unit tests
Closes Stellar-split#887
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
|
@adenueltech is attempting to deploy a commit to the kingsman-99's projects Team on Vercel. A member of the Team first needs to authorize it. |
|
@adenueltech Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits. You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀 |
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #887
Summary
Adds a
/transactionspage showing on-chain transaction history fetched from Horizon, filterable by wallet, date range and transaction type.Changes
src/lib/transactionHistory.tsfetchTransactionHistory()calls Horizon/accounts/{id}/payments?join=transactionsand uses cursors to load older pages. A 404 (unfunded account) counts as an empty history.TxRecordshape, with direction (incoming/outgoing/self), counterparty, memo and fee.filterTransactions()filters by wallet, type, direction, asset and date range, plus free-text search over hash, addresses, memo and amount. The filters can be used alone or together.mergeHistories()combines several wallets and removes duplicates.paginate()handles client-side paging.transactionsToCSV()escapes values and protects against formula injection.transactionsToJSON()exports JSON.src/app/transactions/page.tsxG…address you add.Testing
src/lib/__tests__/transactionHistory.test.ts: 12 tests covering normalisation, each filter alone and combined, search, merging and dedup, pagination edge cases, CSV escaping and formula protection, valid JSON, and Horizon fetch, cursor and error handling.npx vitest runon the new and related tests passes,tscreports no errors in the changed files, andnext lintis clean.🤖 Generated with Claude Code