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>
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) |
d0817a9 to
4fd18e5
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_a42bc225-dc86-48d2-8fb5-78107a85d15c) |
4fd18e5 to
4f1535d
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_024e3339-258d-4962-9ab3-4392bc0821b7) |
4f1535d to
5b4feec
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_b19f5b28-e3ca-4418-8a91-f656616ded21) |
5b4feec to
ca8562f
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_4d74dc8b-b30e-42c9-a18c-a127c517d687) |
ca8562f to
6017d02
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_e1edd484-2c02-4f74-aefc-6fc831b7fd52) |
6017d02 to
b21acd3
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_ff6dbb9c-c897-4b22-bbe8-59f92cf338e3) |
b21acd3 to
fb4a1a6
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_95c0ecbe-61a4-4718-b377-b7e1838925fd) |
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, counter semantics, association loading, JSON-RPC batching, and stats/API surface area affect core explorer behavior and deploy configuration; operators must adopt new env vars and expect removed
total_gas_usedand deprecated counter settings.Overview
Release 11.3.0 brings upstream Blockscout changes: OP Stack post-exec transactions (
0x7D) are normalized in the JSON-RPC layer and surfaced in API/UI transaction types; CryptoCompare can useMARKET_CRYPTOCOMPARE_API_KEY; eth_getBalance accepts hex block numbers.Counters and caching replace per-address DB counter fields and several legacy counter caches with incremental address/token counter consolidation (
AddressCounters/TokenCounters+ migrators/backfill env vars). The total gas used aggregate (GasUsageSum) and related dashboard/API fields are removed. Cache updates are decoupled from block import viaExplorer.Chain.Cache.Propagator, with new propagation tuning env vars.Query/API performance is a major theme:
Chain.preload_address_participants/4deduplicates from/to/contract address preloads across v2 address/transaction/token endpoints, main page, websockets, and legacy token transfer JSON; list endpoints often useAddress.check_address_existsand hash-based coin balance queries instead of loading full addresses.join_associationsavoids joining to-many associations in ways that broke pagination (uncle/default block lists). Scam-address caching, configurable Postgrex prepare mode, deduplicated preloads, and related indexer/API tweaks round out the perf work.JSON-RPC HTTP now splits batches by URL type (e.g.
eth_callvs default) while merging groups that share endpoints; batch response order is not guaranteed (match by id). Realtime notifier work skips v1 token-transfer broadcasts when nobody is subscribed and aligns preload paths with the participant helper.Docs/version:
CHANGELOG.mddocuments features, fixes, and many new/deprecated env vars; app versions bump to 11.3.0. This fork PR still notes unresolved merge conflicts indocker-compose/envs/common-blockscout.envandmix.lock.Reviewed by Cursor Bugbot for commit fb4a1a6. Configure here.