Repository navigation
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: Victor Baranov <baranov.viktor.27@gmail.com>
There was a problem hiding this comment.
If your organization's extra usage balance is empty, an organization admin can add extra usage credits at claude.ai/admin-settings/usage. If its monthly spend limit was reached, an admin can raise it on the same page. If neither applies, contact Anthropic support.
Once extra usage is available, someone with write access to this repository can comment @claude review on this pull request to trigger a review.
|
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 818 files, which is 718 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. Usage-priced reviews support at most 300 files. ⚙️ Run configuration
⛔ Files ignored due to path filters: 2
📒 Files selected for processing: 818
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 |
There was a problem hiding this comment.
Code Review
This pull request introduces significant updates to the Blockscout codebase, including upgrading to Elixir 1.19.6 and Erlang OTP 28, replacing Poison and Jason with Elixir's built-in JSON and Utils.JSON, refactoring pagination logic with a new paginate_list helper, and adding support for ERC-8056 tokens. It also optimizes database preloads and local websocket broadcasting while removing MUD-related integrations. The review feedback highlights two important issues in TransactionView: a potential runtime KeyError when accessing log.block.hash without preloading the block association, and a performance concern where binary_part/3 could raise an expensive ArgumentError if the topic bytes are shorter than the method ID.
| "smart_contract" => smart_contract_info(transaction_or_hash), | ||
| "block_number" => log.block_number, | ||
| "block_hash" => log.block_hash, | ||
| "block_hash" => log.block.hash, |
There was a problem hiding this comment.
Accessing log.block.hash directly will cause a runtime KeyError if the :block association is not preloaded (e.g., when called from AddressController.logs/2 where only address_preloads and transaction_preloads are specified). Since block_timestamp right below defensively handles unloaded/nil blocks, block_hash should do the same to prevent 500 errors.
"block_hash" =>\n case log.block do\n %Block{hash: hash} -> hash\n _ -> nil\n end,
|
|
||
| case ABI.parse_specification([abi_item], include_events?: include_events) do | ||
| [%FunctionSelector{method_id: method_id}] when is_binary(method_id) -> | ||
| binary_part(first_topic_bytes, 0, byte_size(method_id)) == method_id |
There was a problem hiding this comment.
binary_part/3 will raise an ArgumentError if first_topic_bytes is shorter than method_id. Although this is rescued, raising exceptions in Elixir is expensive and should be avoided in hot paths like log rendering. Adding a guard check byte_size(first_topic_bytes) >= byte_size(method_id) avoids the exception.
byte_size(first_topic_bytes) >= byte_size(method_id) and\n binary_part(first_topic_bytes, 0, byte_size(method_id)) == method_id
4318494 to
4c17458
Compare
There was a problem hiding this comment.
If your organization's extra usage balance is empty, an organization admin can add extra usage credits at claude.ai/admin-settings/usage. If its monthly spend limit was reached, an admin can raise it on the same page. If neither applies, contact Anthropic support.
Once extra usage is available, someone with write access to this repository can comment @claude review on this pull request to trigger a review.
22b4839 to
823dc53
Compare
823dc53 to
3675ed9
Compare
Upstream Sync - v12.0.1
Auto-merge with upstream
v12.0.1failed. Version/workflow conflicts were auto-resolved,but the following files have code conflicts that need manual resolution:
To resolve:
v12.0.1to trigger Docker buildUpstream release notes