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) |
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 caching, DB query/join behavior, JSON-RPC batching, and counter semantics affect core API and indexer paths; verify deploy env vars and run integration tests before release.
Overview
This PR brings in Blockscout 11.3.0 (app versions and changelog), including a large set of API/indexer performance and caching changes plus OP Stack and JSON-RPC fixes.
Counters and caching: Address and token transaction/holder/gas counters move to incremental consolidation (
AddressCounters/TokenCounterswith background consolidators and backfill migrators). Several legacy counter caches andGasUsageSumare removed—total_gas_useddrops from stats API/schema and the dashboard gas tooltip. Cache propagation is decoupled from block import via a newPropagatorprocess and related env tuning; scam addresses get an ETS-backed cache.API/query performance: List endpoints load
from/to/contract participants throughChain.preload_address_participants/4instead of per-rolenecessity_by_associationpreloads.join_associationsis reworked so to-many associations use preload + distinct filtering, fixing short pages on uncle/default block listings. Many address routes useAddress.check_address_existsand hash-based coin balance fetch instead of loading full address rows.Chain/indexer features: OP Stack support adds post-exec tx type
0x7D(JSON-RPC defaults + UI/API labels) and L1 attributes tx0x7E. JSON-RPC batches split by URL type (eth_callvs default); batch responses may be out of order (match by id). CryptoCompare API key, configurable Postgrex prepare mode, andeth_getBalancewith hex block numbers are included. Realtime notifier work skips expensive preloads/broadcasts when v1/v2 subscribers are absent.Note: The PR description still calls out unresolved merge conflicts in
docker-compose/envs/common-blockscout.envandmix.lockthat are not visible in the provided diff snippet.Reviewed by Cursor Bugbot for commit 36d424c. Configure here.