-
Notifications
You must be signed in to change notification settings - Fork 5
feat(address): add transaction history search with binary search algorithm #154
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
AugustoL
wants to merge
9
commits into
openscan-explorer:main
Choose a base branch
from
AugustoL:feat/address-transactions
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
feat(address): add transaction history search with binary search algorithm #154
AugustoL
wants to merge
9
commits into
openscan-explorer:main
from
AugustoL:feat/address-transactions
Conversation
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
- Update waitForLoad() to wait for blocksHeaderInfo which only appears when data is loaded, fixing race condition with loading state - Use exact regex match for Gas column header to avoid ambiguity with Gas Price column
- Add dotenv to load environment variables from .env file - Inject INFURA_E2E_API_KEY and ALCHEMY_E2E_API_KEY via localStorage - RPC endpoints are prepended to mainnet for more reliable e2e tests
- Load .env file using dotenv for API keys - Increase retries: 6 for CI, 3 for local - Increase workers: 2 for CI (parallel execution) - Add documentation for RPC API key env vars
- Add waitForNavigationLoad() method to TxsPage - Wait for loading state to start AND finish after pagination clicks - Wait for URL changes before checking button states - Use exact regex match for Gas column to avoid ambiguity
- Wait for either address content or error page - Pass test if error page shown (RPC flakiness, not test failure)
…/claude-gh-action Create claude.yml gh workflow
…st-race-condition fix(e2e): resolve race condition in txs page tests
…rithm - Implement binary search on blockchain state (nonce/balance) to find address transactions without requiring an indexer - Add streaming support to display transactions as they are found - Support internal transaction detection by scanning calldata and logs - Add search controls with configurable limits (5, 10, 50, all) - Add Load More functionality to fetch older transactions - Add progress bar with cancel button during search - Display Block column in transaction history table - Optimize internal tx detection to check calldata first (no RPC calls) - Add rate limiting with smaller batches to avoid 429 errors
|
🚀 Preview: https://pr-154--openscan.netlify.app |
Member
MatiasOS
requested changes
Jan 17, 2026
Member
MatiasOS
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Previous comment
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.



Description
Implement a binary search algorithm on blockchain state (nonce/balance) to find address transactions without requiring an indexer. This enables transaction history for any address on any network directly from RPC.
Related Issue
N/A
Type of Change
Changes Made
Screenshots (if applicable)
N/A
Checklist
npm run format:fixandnpm run lint:fixnpm run typecheckwith no errorsnpm run test:runAdditional Notes
This feature allows OpenScan to show transaction history for any address without relying on third-party indexers. The binary search algorithm efficiently finds transactions by checking the address's nonce/balance at different block heights.