cronos
cronos copied to clipboard
feat(backport): add support for eth_getBlockReceipts
👮🏻👮🏻👮🏻 !!!! REFERENCE THE PROBLEM YOUR ARE SOLVING IN THE PR TITLE AND DESCRIBE YOUR SOLUTION HERE !!!! DO NOT FORGET !!!! 👮🏻👮🏻👮🏻
PR Checklist:
- [ ] Have you read the CONTRIBUTING.md?
- [ ] Does your PR follow the C4 patch requirements?
- [ ] Have you rebased your work on top of the latest master?
- [ ] Have you checked your code compiles? (
make) - [ ] Have you included tests for any non-trivial functionality?
- [ ] Have you checked your code passes the unit tests? (
make test) - [ ] Have you checked your code formatting is correct? (
go fmt) - [ ] Have you checked your basic code style is fine? (
golangci-lint run) - [ ] If you added any dependencies, have you checked they do not contain any known vulnerabilities? (
go list -json -m all | nancy sleuth) - [ ] If your changes affect the client infrastructure, have you run the integration test?
- [ ] If your changes affect public APIs, does your PR follow the C4 evolution of public contracts?
- [ ] If your code changes public APIs, have you incremented the crate version numbers and documented your changes in the CHANGELOG.md?
- [ ] If you are contributing for the first time, please read the agreement in CONTRIBUTING.md now and add a comment to this pull request stating that your PR is in accordance with the Developer's Certificate of Origin.
Thank you for your code, it's appreciated! :)
Summary by CodeRabbit
-
New Features
- Added support for the JSON-RPC method
eth_getBlockReceipts.
- Added support for the JSON-RPC method
-
Documentation
- Updated documentation to include the new
eth_getBlockReceiptsmethod and revised several external reference URLs for improved accuracy. - Removed an outdated reference in architecture documentation.
- Updated documentation to include the new
-
Chores
- Bumped Ethermint dependency version.
- Updated package version to 1.4.8.
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
| Diff | Package | Supply Chain Security |
Vulnerability | Quality | Maintenance | License |
|---|---|---|---|---|---|---|
| golang/github.com/crypto-org-chain/ethermint@v0.6.1-0.20250409022716-434f46d2a46c ⏵ v0.6.1-0.20250618065241-823fc683e6f0 |
Walkthrough
This update introduces version 1.4.8, highlighted by support for the eth_getBlockReceipts JSON-RPC method. Documentation links were refreshed, a module dependency was updated, and integration tests were enhanced to validate the new block receipts feature. Minor documentation references and metadata were also adjusted.
Changes
| Files/Group | Change Summary |
|---|---|
| CHANGELOG.md | Added release entry for v1.4.8, noting support for eth_getBlockReceipts. |
| default.nix | Updated cronosd version from v1.4.7 to v1.4.8. |
| go.mod, gomod2nix.toml | Updated Ethermint module version and hash in both Go and Nix configuration files. |
| docs/api/json-rpc/endpoints.md, docs/api/json-rpc/events.md, docs/api/json-rpc/server.md | Updated Ethereum JSON-RPC documentation URLs; added eth_getBlockReceipts to supported methods. |
| docs/architecture/adr-001.md | Updated Cosmos SDK migration reference URL to point to the main branch. |
| docs/architecture/adr-008.md | Removed "x/erc20 module" reference from ADR. |
| integration_tests/test_basic.py | Enhanced test to validate eth_getBlockReceipts output against transaction receipts. |
Sequence Diagram(s)
sequenceDiagram
participant TestSuite
participant JSONRPC_Server
participant Blockchain
TestSuite->>JSONRPC_Server: eth_getBlockReceipts(blockNumber)
JSONRPC_Server->>Blockchain: Fetch all receipts for blockNumber
Blockchain-->>JSONRPC_Server: Return receipts list
JSONRPC_Server-->>TestSuite: Return receipts list
TestSuite->>TestSuite: Compare block receipts to individual tx receipts
Suggested reviewers
- JayT106
- yihuang
Poem
A hop, a skip, a version hop,
Noweth_getBlockReceiptsjoins the crop!
Docs refreshed with links anew,
Tests inspect what blocks now do.
With 1.4.8, we leap ahead—
A rabbit’s joy in every thread! 🐇✨
📜 Recent review details
Configuration used: CodeRabbit UI Review profile: CHILL Plan: Pro
📥 Commits
Reviewing files that changed from the base of the PR and between 69d0b1d6225baff72775529f1a11f4b81f17e8b0 and 6457bb2015171de3521397028e8909251c5a3294.
📒 Files selected for processing (1)
CHANGELOG.md(1 hunks)
🧰 Additional context used
🪛 markdownlint-cli2 (0.17.2)
CHANGELOG.md
9-9: Emphasis used instead of a heading null
(MD036, no-emphasis-as-heading)
⏰ Context from checks skipped due to timeout of 90000ms (17)
- GitHub Check: gomod2nix
- GitHub Check: build (macos-14)
- GitHub Check: build (macos-latest)
- GitHub Check: build (ubuntu-latest)
- GitHub Check: unittest
- GitHub Check: integration_tests (slow)
- GitHub Check: integration_tests (ibc_update_client)
- GitHub Check: integration_tests (ica)
- GitHub Check: integration_tests (gas)
- GitHub Check: integration_tests (upgrade)
- GitHub Check: integration_tests (gov)
- GitHub Check: integration_tests (ibc_rly_gas)
- GitHub Check: integration_tests (ibc_timeout)
- GitHub Check: integration_tests (ibc_rly_evm)
- GitHub Check: integration_tests (ibc)
- GitHub Check: Run golangci-lint
- GitHub Check: integration_tests (unmarked)
🔇 Additional comments (1)
CHANGELOG.md (1)
9-16: Changelog entry LGTMThe new
v1.4.8entry is correctly dated, follows the repository’s existing format, and includes the proper PR link. No further action required.
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.
🪧 Tips
Chat
There are 3 ways to chat with CodeRabbit:
- Review comments: Directly reply to a review comment made by CodeRabbit. Example:
I pushed a fix in commit <commit_id>, please review it.Explain this complex logic.Open a follow-up GitHub issue for this discussion.
- Files and specific lines of code (under the "Files changed" tab): Tag
@coderabbitaiin a new review comment at the desired location with your query. Examples:@coderabbitai explain this code block.@coderabbitai modularize this function.
- PR comments: Tag
@coderabbitaiin a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:@coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.@coderabbitai read src/utils.ts and explain its main purpose.@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.@coderabbitai help me debug CodeRabbit configuration file.
Support
Need help? Create a ticket on our support page for assistance with any issues or questions.
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.
CodeRabbit Commands (Invoked using PR comments)
@coderabbitai pauseto pause the reviews on a PR.@coderabbitai resumeto resume the paused reviews.@coderabbitai reviewto trigger an incremental review. This is useful when automatic reviews are disabled for the repository.@coderabbitai full reviewto do a full review from scratch and review all the files again.@coderabbitai summaryto regenerate the summary of the PR.@coderabbitai generate docstringsto generate docstrings for this PR.@coderabbitai generate sequence diagramto generate a sequence diagram of the changes in this PR.@coderabbitai resolveresolve all the CodeRabbit review comments.@coderabbitai configurationto show the current CodeRabbit configuration for the repository.@coderabbitai helpto get help.
Other keywords and placeholders
- Add
@coderabbitai ignoreanywhere in the PR description to prevent this PR from being reviewed. - Add
@coderabbitai summaryto generate the high-level summary at a specific location in the PR description. - Add
@coderabbitaianywhere in the PR title to generate the title automatically.
CodeRabbit Configuration File (.coderabbit.yaml)
- You can programmatically configure CodeRabbit by adding a
.coderabbit.yamlfile to the root of your repository. - Please see the configuration documentation for more information.
- If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation:
# yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json
Documentation and Community
- Visit our Documentation for detailed information on how to use CodeRabbit.
- Join our Discord Community to get help, request features, and share feedback.
- Follow us on X/Twitter for updates and announcements.
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:
Project coverage is 35.57%. Comparing base (
a3c2f70) to head (3a158b3). Report is 83 commits behind head on main.
Additional details and impacted files
@@ Coverage Diff @@
## main #1823 +/- ##
===========================================
+ Coverage 16.87% 35.57% +18.70%
===========================================
Files 72 127 +55
Lines 6163 11963 +5800
===========================================
+ Hits 1040 4256 +3216
- Misses 5000 7279 +2279
- Partials 123 428 +305
:rocket: New features to boost your workflow:
- :snowflake: Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
- :package: JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.
seems that the markdown link check failure is a false positive
LGTM, perhaps can mention it's a backport PR in the PR description.