Conversation
chore: remove legacy stack and finalize mixin-based client API
There was a problem hiding this comment.
💡 Codex Review
aiochainscan/aiochainscan/core/client.py
Lines 572 to 575 in 0c8f916
The BlockScout V2 cursor-aware branch is only entered when abi is None and default block bounds are used; supplying an ABI (or non-default bounds) forces the generic page/offset path, which does not have access to BlockScout V2 next_page_params. That makes iter_transactions(..., abi=...) prone to returning only an initial subset of results for multi-page addresses, even though more pages are available.
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| if len(batch) < batch_size: | ||
| break |
There was a problem hiding this comment.
Preserve next_page_params in transaction batch streaming
This loop treats len(batch) < batch_size as end-of-data, but for BlockScout V2 the self.call(Method.ACCOUNT_TRANSACTIONS, ...) path only returns parsed items and discards the response next_page_params cursor, so a short page does not necessarily mean completion. In environments where BlockScout V2 returns fewer than 1000 items per page while still providing a next-page cursor, iter_transactions_streaming() (and therefore get_all_transactions()) will stop early and silently truncate transaction history.
Useful? React with 👍 / 👎.
No description provided.