Sync upstream v11.3.0 (merge conflicts) - #230
Conversation
Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…cout#14654) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…4761) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…#14764) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Victor Baranov <baranov.viktor.27@gmail.com>
Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> Co-authored-by: Victor Baranov <baranov.viktor.27@gmail.com>
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
Important Review skippedToo many files! This PR contains 127 files, which is 27 over the limit of 100. To get a review, reduce the PR to 100 files or fewer by splitting it into smaller PRs or changing its base branch. Upgrade to a paid plan to raise the limit. This review couldn't start because sufficient usage credits or metered capacity aren't available. Add credits or update usage-based reviews in the billing tab, then retry. ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Advanced Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (127)
You can disable this status message by setting the Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: serverGenReqId_fa223f10-b69a-45f2-b50b-36fd2dd1dc67) |
There was a problem hiding this comment.
Code Review
This pull request implements a major refactoring of the address and token counter systems, introducing incremental consolidation to replace legacy cache modules. Key additions include new cache management modules (AddressCounters, TokenCounters, AddressCountersConsolidator, TokenCountersConsolidator, and Propagator) and several background migrations for backfilling data and reindexing blocks. The PR also includes performance optimizations for transaction preloading and improvements to JSON-RPC batching logic. The review identified two compilation errors: a missing assoc/2 import in apps/explorer/lib/explorer/etherscan/logs.ex and a missing alias for Explorer.QueryHelper in apps/explorer/lib/explorer/chain/import/runner/address/current_token_balances.ex.
| import Ecto.Query, | ||
| only: [dynamic: 2, from: 2, join: 5, limit: 2, where: 2, where: 3, subquery: 1, order_by: 3, union_all: 2] |
There was a problem hiding this comment.
The assoc/2 macro is used in where_consensus/1 (line 142) but is not imported in the Ecto.Query only list at the top of the file. This will cause a compilation error (undefined function assoc/2). Please add assoc: 2 to the imported functions list.
import Ecto.Query,
only: [assoc: 2, dynamic: 2, from: 2, join: 5, limit: 2, where: 2, where: 3, subquery: 1, order_by: 3, union_all: 2]
|
|
||
| query = | ||
| from(ctb in CurrentTokenBalance, | ||
| where: ^QueryHelper.tuple_in([:address_hash, :token_contract_address_hash], ids), |
There was a problem hiding this comment.
The QueryHelper module is referenced here but does not appear to be aliased or imported in this module. To prevent compilation errors, please use the fully qualified name Explorer.QueryHelper.tuple_in or ensure Explorer.QueryHelper is aliased.
where: ^Explorer.QueryHelper.tuple_in([:address_hash, :token_contract_address_hash], ids),
9079859 to
183396e
Compare
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: serverGenReqId_fed3ad7c-d98f-4a3f-aab3-3d64bf305039) |
183396e to
36d424c
Compare
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: serverGenReqId_c4d133bc-71d3-4255-9dde-378de9cee6c6) |
36d424c to
d0817a9
Compare
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: serverGenReqId_62f6057b-29f3-4a35-a7b9-ca868252a3a7) |
Upstream Sync - v11.3.0
Auto-merge with upstream
v11.3.0failed. Version/workflow conflicts were auto-resolved,but the following files have code conflicts that need manual resolution:
To resolve:
v11.3.0to trigger Docker buildUpstream release notes
Note
High Risk
Wide-ranging changes to query preloading, counter caches, stats API fields, and JSON-RPC batch behavior affect core API and indexer paths; operators must adopt new env vars and handle removed
total_gas_used.Overview
Release 11.3.0 brings upstream Blockscout changes: OP Stack support, API/DB performance work, JSON-RPC batching fixes, and several API surface adjustments.
OP Stack & indexing: Post-exec transactions (type
0x7D) get compatibility defaults inEthereumJSONRPC.Transaction, UI/API labels (op_stack_post_exec_transaction, “Post exec tx”), and receipt parsing tests. Ethereum JSON-RPC HTTP now splits batch requests by method→URL mapping (responses matched byid, order not guaranteed); the request coordinator tracks multiple methods for throttling.Counters & caching: Address and token transaction/holder counts move from periodic full recomputation to incremental consolidation (
AddressCounters/TokenCounters+ consolidators, backfill migrators, many newCACHE_*andMIGRATION_*env vars). The total gas usage aggregate (GasUsageSum) is removed from chain stats, v2 stats schema, and the dashboard tooltip. Cache propagation is decoupled from block import viaExplorer.Chain.Cache.Propagator.API/query performance:
Chain.preload_address_participants/4deduplicates from/to/contract address loads across v1/v2 controllers, main page, token transfers, and websocket notifier paths; list endpoints use lighter existence checks (Address.check_address_exists) and hash-based coin balance queries.join_associationsis reworked so to-many associations preload withdistinctinstead of joins that broke paginated block/uncle listings.Other: CryptoCompare API key header support,
eth_getBalancehex block numbers, scam-address ETS cache, configurable Postgrex prepare mode, token transfer broadcasts skip work when v1/v2 have no subscribers, and version bumps to 11.3.0 with a large CHANGELOG. The fork PR note still flags unresolved merge conflicts indocker-compose/envs/common-blockscout.envandmix.lockoutside this diff snippet.Reviewed by Cursor Bugbot for commit d0817a9. Configure here.