-
Notifications
You must be signed in to change notification settings - Fork 274
feat: geth v1.15 integration #1807
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
WalkthroughImports moved from ethermint/app to evmd, EvmKeeper is initialized with a query gas limit, large dependency and Nix/tooling upgrades redirect go-ethereum/ethermint to forks, EVM/tracing and bloom APIs updated, precompiles and tests adjusted, and scripts/genesis/devnet configs modified. Changes
Sequence Diagram(s)sequenceDiagram
actor User
participant App as Cronos App
participant Evmd as Evmd (ethermint)
participant EVM as go-ethereum
participant RPC as Cronos RPC
User->>App: submit tx / query
App->>Evmd: construct core.Message (SkipNonceChecks/SkipFromEOACheck), include queryGasLimit
Evmd->>EVM: ApplyMessage(..., tracer:*tracing.Hooks, commit)
EVM-->>Evmd: execution result, logs, receipts
Evmd->>Evmd: CreateBloom(&Receipt{Logs: ...})
Evmd->>RPC: return receipts / traces
Estimated code review effort🎯 4 (Complex) | ⏱️ ~35 minutes Possibly related PRs
Suggested labels
Suggested reviewers
Poem
✨ Finishing Touches🧪 Generate unit tests
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. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. CodeRabbit Commands (Invoked using PR/Issue comments)Type Other keywords and placeholders
CodeRabbit Configuration File (
|
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #1807 +/- ##
===========================================
+ Coverage 16.87% 35.79% +18.91%
===========================================
Files 72 127 +55
Lines 6163 11812 +5649
===========================================
+ Hits 1040 4228 +3188
- Misses 5000 7161 +2161
- Partials 123 423 +300
🚀 New features to boost your workflow:
|
|
All alerts resolved. Learn more about Socket for GitHub. This PR previously contained dependency changes with security issues that have been resolved, removed, or ignored. |
3f2f7e6 to
7a2d02f
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 4
🧹 Nitpick comments (1)
nix/go-ethereum.nix (1)
22-22: Consider using semantic versioning instead of commit hash.Using a commit hash as the version makes it difficult to understand what actual geth version this represents and complicates dependency tracking.
Consider tagging the fork with a semantic version that clearly indicates the base geth version and any custom modifications (e.g., "1.15.0-cronos-estimategas").
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (1)
go.sumis excluded by!**/*.sum
📒 Files selected for processing (22)
CHANGELOG.md(1 hunks)app/app.go(1 hunks)app/sim_test.go(1 hunks)app/test_helpers.go(1 hunks)go.mod(12 hunks)gomod2nix.toml(23 hunks)integration_tests/shell.nix(2 hunks)integration_tests/test_basic.py(1 hunks)nix/default.nix(1 hunks)nix/go-ethereum.nix(2 hunks)scripts/cronos-devnet.yaml(2 hunks)scripts/geth-genesis.json(2 hunks)scripts/start-geth(1 hunks)x/cronos/keeper/evm.go(1 hunks)x/cronos/keeper/evm_hooks.go(1 hunks)x/cronos/keeper/evmhandlers_test.go(3 hunks)x/cronos/keeper/grpc_query.go(1 hunks)x/cronos/keeper/precompiles/bank.go(2 hunks)x/cronos/keeper/precompiles/ica.go(1 hunks)x/cronos/keeper/precompiles/relayer.go(2 hunks)x/cronos/rpc/api.go(3 hunks)x/cronos/types/interfaces.go(2 hunks)
🧰 Additional context used
🧠 Learnings (3)
x/cronos/keeper/precompiles/ica.go (2)
Learnt from: mmsqe
PR: #1247
File: app/app.go:536-546
Timestamp: 2024-07-27T19:02:34.919Z
Learning: evmkeeper.CustomContractFn is a type alias for a function that returns a vm.PrecompiledContract.
Learnt from: mmsqe
PR: #1247
File: app/app.go:536-546
Timestamp: 2024-10-12T22:09:46.096Z
Learning: evmkeeper.CustomContractFn is a type alias for a function that returns a vm.PrecompiledContract.
x/cronos/keeper/precompiles/bank.go (2)
Learnt from: mmsqe
PR: #1247
File: app/app.go:536-546
Timestamp: 2024-10-12T22:09:46.096Z
Learning: evmkeeper.CustomContractFn is a type alias for a function that returns a vm.PrecompiledContract.
Learnt from: mmsqe
PR: #1247
File: app/app.go:536-546
Timestamp: 2024-07-27T19:02:34.919Z
Learning: evmkeeper.CustomContractFn is a type alias for a function that returns a vm.PrecompiledContract.
gomod2nix.toml (2)
Learnt from: yihuang
PR: #1618
File: memiavl/db_test.go:193-194
Timestamp: 2024-10-08T19:00:42.142Z
Learning: In Go version 1.21 and later, the max function is defined and available.
Learnt from: yihuang
PR: #1618
File: memiavl/db_test.go:193-194
Timestamp: 2024-10-04T16:08:45.617Z
Learning: In Go version 1.21 and later, the max function is defined and available.
🧬 Code Graph Analysis (3)
app/sim_test.go (1)
x/cronos/keeper/evm_test.go (1)
TestSourceTokenConversion(74-124)
x/cronos/keeper/precompiles/bank.go (2)
x/cronos/keeper/keeper_test.go (1)
TestDenomContractMap(144-204)x/cronos/keeper/keeper.go (3)
SetAutoContractForDenom(191-195)SetExternalContractForDenom(133-149)GetContractByDenom(113-119)
scripts/start-geth (1)
integration_tests/network.py (1)
function(106-138)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (18)
- GitHub Check: Run golangci-lint
- GitHub Check: unittest
- GitHub Check: build (macos-latest)
- GitHub Check: build (ubuntu-latest)
- GitHub Check: gomod2nix
- GitHub Check: build (macos-14)
- GitHub Check: integration_tests (gas)
- GitHub Check: integration_tests (gov)
- GitHub Check: integration_tests (slow)
- GitHub Check: integration_tests (ibc_timeout)
- GitHub Check: integration_tests (upgrade)
- GitHub Check: integration_tests (ica)
- GitHub Check: integration_tests (unmarked)
- GitHub Check: integration_tests (ibc_rly_gas)
- GitHub Check: integration_tests (ibc_update_client)
- GitHub Check: integration_tests (ibc)
- GitHub Check: integration_tests (ibc_rly_evm)
- GitHub Check: Analyze (go)
🔇 Additional comments (33)
scripts/cronos-devnet.yaml (2)
32-36: LGTM! Consensus parameters structure updated correctly.The migration from flat
consensus_paramsto nestedconsensus.paramsstructure aligns with Cosmos SDK upgrades. Block parameters are preserved correctly.
48-48: LGTM! Governance parameter enhancement.Addition of
expedited_voting_periodparameter aligns with governance module improvements in newer Cosmos SDK versions.app/test_helpers.go (1)
19-19: LGTM! Import path updated correctly.The import path change from
"github.com/evmos/ethermint/app"to"github.com/evmos/ethermint/evmd"reflects the ethermint module reorganization and is properly aliased to maintain compatibility.app/sim_test.go (1)
18-18: LGTM! Import path updated consistently.The import path change from
"github.com/evmos/ethermint/app/ante"to"github.com/evmos/ethermint/evmd/ante"is consistent with the ethermint module reorganization and maintains proper aliasing.CHANGELOG.md (1)
15-15: LGTM! Changelog entry properly documents the geth upgrade.The changelog entry clearly documents the go-ethereum update to v1.15.11 and provides a helpful link to the official release notes for reference.
nix/default.nix (1)
14-14: LGTM! Go version upgrade properly coordinated.The upgrade from Go 1.22 to Go 1.23 is consistently applied to both the runtime (
go_1_23) and the module builder (buildGo123Module), supporting the geth v1.15.11 integration.Also applies to: 18-18
x/cronos/keeper/evmhandlers_test.go (1)
251-251: LGTM! Correct adaptation for go-ethereum v1.15.11 upgrade.The replacement of
sender.Hash()withcommon.BytesToHash(sender.Bytes())aligns with the go-ethereum v1.15.11 upgrade mentioned in the PR objectives. This change maintains the same functionality while adapting to the updated API where theHash()method was likely removed fromcommon.Address.Also applies to: 278-278, 305-305
integration_tests/shell.nix (2)
10-10: Good addition for development environment.Adding
pkgs.goto buildInputs ensures Go tooling is available in the shell environment, which is essential for development workflows that depend on Go commands.
19-19: Improved robustness withmkdir -p.Using
mkdir -pinstead ofmkdirprevents errors if the./coveragedirectory already exists, making the shell hook more robust.x/cronos/keeper/precompiles/ica.go (1)
126-126: LGTM! Consistent API update for contract caller access.The change from
contract.CallerAddresstocontract.Caller()is consistent with similar updates across other precompile contracts and aligns with the go-ethereum v1.15.11 upgrade. The functionality remains the same while adapting to the updated API.app/app.go (1)
67-68: Correct import path updates for Ethermint reorganization.The updated import paths from
"github.com/evmos/ethermint/app"to"github.com/evmos/ethermint/evmd"and"github.com/evmos/ethermint/app/ante"to"github.com/evmos/ethermint/evmd/ante"properly reflect the Ethermint code reorganization into theevmdsubmodule as part of the dependency upgrades.x/cronos/keeper/precompiles/bank.go (1)
126-126: LGTM! Consistent API update for contract caller access.The replacement of
contract.CallerAddresswithcontract.Caller()in both the mint/burn and transfer method cases is consistent with similar updates across other precompile contracts (e.g., ica.go). This change maintains the same functionality for EVMDenom construction while adapting to the updated contract API from the go-ethereum v1.15.11 upgrade.Also applies to: 182-182
scripts/geth-genesis.json (2)
18-20: LGTM! Ethereum fork configuration updates are appropriate.These additions align with the geth v1.15 integration, adding support for Cancun and Prague fork activation times along with terminal total difficulty configuration. Setting
cancunTimeandpragueTimetonullmeans these forks are not yet activated, which is appropriate for a development environment.
30-30: LGTM! Difficulty reset to zero is appropriate.Changing difficulty from
"0x1"to"0x0"is consistent with Proof of Stake transition or development chain configuration where mining difficulty is not relevant.integration_tests/test_basic.py (1)
825-827: LGTM! Test updated to match new trace output format.The test correctly reflects the updated
debug_traceTransactionbehavior in geth v1.15, where failed transactions now properly report"failed": Trueand include an explicit"returnValue": "0x". This makes the trace output more accurate and consistent.x/cronos/keeper/precompiles/relayer.go (2)
164-164: LGTM! Updated for go-ethereum v1.15 API compatibility.The
core.IntrinsicGascall is correctly updated to passnilinstead offalsefor the access list parameter, matching the new function signature in go-ethereum v1.15.
204-204: LGTM! Updated to use the new Caller() method.The change from
contract.CallerAddresstocontract.Caller()correctly adapts to the updated go-ethereum v1.15 API where the CallerAddress field was replaced with a Caller() method.x/cronos/keeper/grpc_query.go (1)
72-72: LGTM! Updated Shanghai fork detection with timestamp parameter.The
IsShanghaimethod call is correctly updated to include both block height and block timestamp, aligning with the updated Ethereum fork activation logic that considers both block number and time-based activation.x/cronos/keeper/evm_hooks.go (1)
66-67: LGTM! Improved bloom filter computation using CreateBloom API.The bloom filter computation is correctly updated to use
ethtypes.CreateBloomwith a temporary receipt, which is more consistent with Ethereum's standard bloom filter generation and likely more efficient than the previous approach.x/cronos/keeper/evm.go (1)
26-39: LGTM! Proper adaptation to go-ethereum v1.15.11 API changes.The
core.Messagestruct construction has been correctly updated to use the new field structure where the singleSkipAccountChecksboolean has been replaced with two separate fields:SkipNonceChecksandSkipFromEOACheck. Both are appropriately set tofalseto maintain the previous behavior of not skipping account validation checks.scripts/start-geth (1)
53-65: LGTM! Improved development configuration.The updated geth startup configuration provides several improvements:
- Development mode:
--dev --dev.period 1ensures consistent 1-second block periods, which is more reliable than the previous mining setup- Enhanced debugging: Added
debugnamespace to the HTTP API enables better debugging capabilities for integration tests- Cleaner setup: Disabled IPC interface (
--ipcdisable) is appropriate for containerized/scripted environments- Better readability: The reformatted command line arguments are much easier to read and maintain
The configuration aligns well with the integration tests that expect the debug API to be available.
x/cronos/rpc/api.go (3)
192-192: LGTM! Proper bloom filter API migration.Updated to use the new
ethtypes.CreateBloomAPI which takes aReceiptpointer containing logs instead of the deprecatedBytesToBloom(LogsBloom(...))pattern. This aligns with go-ethereum v1.15.11 API changes.
325-325: LGTM! Consistent bloom filter API update.Correctly applies the same
ethtypes.CreateBloomAPI migration for replayed transaction receipts, maintaining consistency with the updated go-ethereum interface.
363-363: LGTM! Proper handling of edge case with new API.The bloom filter construction for the block gas limit exceeded scenario is correctly updated to use the new API. Using an empty logs array with
CreateBloomproperly generates an empty bloom filter for the reverted transaction case.x/cronos/types/interfaces.go (2)
14-14: LGTM! Updated import for new tracing API.Correctly updated the import from
core/vmtocore/tracingto access the new tracing hooks interface in go-ethereum v1.15.11.
61-61: LGTM! Interface updated for new tracing API.The
ApplyMessagemethod signature is properly updated to use*tracing.Hooksinstead ofvm.EVMLogger. This aligns with the go-ethereum v1.15.11 tracing API changes, providing more flexible and comprehensive tracing capabilities.go.mod (1)
8-17: Ensure thorough testing for Cosmos SDK v0.53.0 upgradeWe’ve upgraded from v0.50.13 → v0.53.0 and bumped core cosmossdk.io modules. The codebase has widespread imports of Cosmos SDK APIs in:
- x/cronos (types, keeper, client, simulation, migrations)
- x/e2ee (types, keeper, codec, client)
- versiondb & store packages (multistore, rootmulti, memiavl, tsrocksdb)
- app package (app.go, upgrades.go, state, sim_test)
- cmd/cronosd (main, root, config, opendb)
Please verify:
- All existing functionality and edge cases behave correctly
- No deprecated or breaking SDK API usages remain
- Performance benchmarks and profiling are unaffected
- All unit, integration and simulation tests pass with the new SDK
nix/go-ethereum.nix (2)
20-22: Verify the rationale for using the old estimateGas implementation.The comments indicate intentional use of an older estimateGas implementation. This could have implications for transaction fee estimation accuracy and compatibility with other Ethereum clients.
Please clarify why the old estimateGas implementation is preferred over the standard geth v1.15 implementation, and document any known limitations or compatibility considerations.
31-32: LGTM! Proper Nix configuration updates.The addition of
proxyVendor = trueand updatedvendorHashare appropriate for the dependency changes.gomod2nix.toml (4)
34-36: Verify Cosmos SDK compatibility with major version updates.Multiple Cosmos SDK modules have been updated to newer versions. Ensure these updates are compatible with each other and don't introduce breaking changes.
The updated modules include:
- cosmossdk.io/collections: v1.2.0
- cosmossdk.io/errors: v1.0.2
- cosmossdk.io/log: v1.5.1
- cosmossdk.io/math: v1.5.3
- cosmossdk.io/x/upgrade: v0.2.0
Please verify these versions are compatible and test critical functionality after the upgrade.
Also applies to: 44-45, 47-48, 50-51, 76-77
249-251: New cryptographic dependencies for KZG and BLS.Several new cryptographic libraries have been added for KZG commitments and BLS signatures, which are likely related to geth v1.15's support for EIP-4844 (Proto-Danksharding).
These dependencies are expected for geth v1.15 integration and support for blob transactions.
Also applies to: 306-308, 653-655
151-156: New performance optimization dependencies.Several new dependencies have been added that appear to be performance optimizations:
github.com/bytedance/sonic- High-performance JSON librarygithub.zerozr99.workers.dev/cloudwego/base64x- Optimized base64 encodinggithub.zerozr99.workers.dev/twitchyliquid64/golang-asm- Assembly utilitiesThese additions suggest focus on performance improvements, which aligns with geth v1.15 optimizations.
Also applies to: 166-168, 691-693
310-312: go-ethereum fork mismatch is safe—both forks share the same commitThe SHA 1c9b194657000b1593a6162a0d889b801548bf27 exists in both XinyuCRO/go-ethereum and crypto-org-chain/go-ethereum, so although the TOML and Nix files reference different remotes, they point at an identical code state. No build break will occur.
thomas-nguy
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, is there any new configurations devops need to be aware of?
|
@thomas-nguy no need for now we need to enable |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 2
🔭 Outside diff range comments (1)
go.mod (1)
30-31: Forked go-ethereum replace target must be tagged at v1.15.x
Although the commit 0af6c9899f11 includes “apply patches v1.15”, no v1.15.* annotated tag exists on the crypto-org-chain/go-ethereum fork. Go modules anchor pseudo-versions on the highest semantic tag in the history (v1.10.20), so your replace directive still yields a v1.10-based pseudo-version and breaks the intended Geth v1.15 integration.Please add an annotated tag (e.g. v1.15.11) on the fork at commit 0af6c9899f11—or rebase/merge onto upstream v1.15.x and tag accordingly—and then update your
go.modreplace to point to that tag.Locations to update:
- File: go.mod
Lines: ~30–31Suggested diff:
- github.com/ethereum/go-ethereum => github.com/crypto-org-chain/go-ethereum v1.10.20-0.20250812022812-0af6c9899f11 + github.com/ethereum/go-ethereum => github.com/crypto-org-chain/go-ethereum v1.15.11-0.20250812022812-0af6c9899f11
♻️ Duplicate comments (1)
gomod2nix.toml (1)
52-54: Remove cosmossdk.io/schema if unused (repeat)Previous review already flagged this as unused. If not required by tooling/codegen, drop it here and run go mod tidy to remove from go.mod.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (1)
go.sumis excluded by!**/*.sum
📒 Files selected for processing (3)
go.mod(12 hunks)gomod2nix.toml(23 hunks)nix/build_overlay.nix(1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (18)
- GitHub Check: Socket Security: Pull Request Alerts
- GitHub Check: build (ubuntu-latest)
- GitHub Check: build (macos-14)
- GitHub Check: unittest
- GitHub Check: gomod2nix
- GitHub Check: integration_tests (ica)
- GitHub Check: integration_tests (gov)
- GitHub Check: integration_tests (ibc_rly_evm)
- GitHub Check: integration_tests (ibc_timeout)
- GitHub Check: integration_tests (ibc_update_client)
- GitHub Check: integration_tests (slow)
- GitHub Check: integration_tests (gas)
- GitHub Check: integration_tests (upgrade)
- GitHub Check: integration_tests (ibc_rly_gas)
- GitHub Check: Analyze (go)
- GitHub Check: integration_tests (unmarked)
- GitHub Check: integration_tests (ibc)
- GitHub Check: semgrep-cloud-platform/scan
🔇 Additional comments (2)
nix/build_overlay.nix (1)
13-17: Go 1.23.12 bump and SRI hash look correctVersion and SRI-style hash align with modern Nix fetchurl usage. No issues spotted.
go.mod (1)
21-24: cosmos-sdk require v0.53.0 vs replace to v0.50.6-… (fork) — clarify intended targetrequire lists github.com/cosmos/cosmos-sdk v0.53.0, but replace pins to github.com/crypto-org-chain/cosmos-sdk v0.50.6-0… This is semver-major divergent and can confuse tooling/reviewers. If you intend to stay on the v0.50.x fork, align the require or move the fork to a v0.53.x-based branch/tag.
If the intention is v0.50.x, consider this change to reduce confusion:
- github.com/cosmos/cosmos-sdk v0.53.0 + github.com/cosmos/cosmos-sdk v0.50.6Then keep the replace pointing to your forked v0.50.6-0… commit. Conversely, if v0.53.x is intended, update the fork/replace to v0.53.x and run: go mod tidy, gomod2nix.
Also applies to: 284-289
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
♻️ Duplicate comments (8)
.github/workflows/lint.yml (2)
81-81: Same note as above: align nixpkgs and consider pinning to a commit.The action bump is good; please also consider nixpkgs pinning and cross-workflow consistency as mentioned for Line 27.
107-107: Repeat: unify nixpkgs usage across workflows to reduce drift.Same suggestion as Line 27; otherwise the upgrade looks good.
.github/workflows/test.yml (2)
95-95: Repeat: unify nixpkgs or pin to a commit for reproducible builds.Change itself looks fine.
119-119: Repeat: consider nixpkgs pinning for the testground job as well.Consistency helps prevent environment skew across jobs.
.github/workflows/release.yml (1)
58-58: Same consideration for macOS release job.Pin nixpkgs (or align channel) here as well to avoid drift between Linux and macOS release environments.
.github/workflows/build.yml (3)
56-56: Repeat: apply the same nixpkgs policy to unittest job.Upgrade itself is good.
107-107: Repeat: use the same nixpkgs approach for gomod2nix job.Prevents toolchain mismatches vs build/unittest.
141-141: Repeat: unify nixpkgs approach for contracts job as well.Keeps CI environments consistent end-to-end.
🧹 Nitpick comments (5)
.github/workflows/lint.yml (1)
27-27: Action bump LGTM; consider nixpkgs pinning and channel alignment.Nice upgrade and pin to a commit SHA. For reproducibility and to avoid channel drift, consider pinning nixpkgs to a commit (or consistently using the same stable channel across workflows). Other workflows use 22.11 and 24.05; aligning them reduces CI flakiness.
If you want, I can prepare a patch that switches all
nix_pathto a single pinned nixpkgs commit (or 24.05 everywhere). Would you prefer a commit pin or the 24.05 channel?.github/workflows/container.yml (1)
24-24: Good upgrade; prefer uniform nixpkgs policy across CI.Pinned action SHA is good. This job uses
nixpkgs=channel:nixos-24.05while others use 22.11. Consider standardizing (or pinning nixpkgs to a specific commit) for reproducibility and to avoid subtle env differences across jobs..github/workflows/test.yml (1)
38-38: SHA pin LGTM; align nixpkgs strategy with other jobs.Same suggestion as in lint/build: consider pinning nixpkgs to a commit or using a single stable channel across workflows to avoid divergence (22.11 vs 24.05).
Would you like me to open a follow-up PR to unify nixpkgs across CI and pin it?
.github/workflows/release.yml (1)
17-17: Upgrade looks good; consider pinning nixpkgs for supply-chain reproducibility.Release workflows benefit most from a pinned nixpkgs commit (or a single agreed channel) to ensure identical toolchains over time.
.github/workflows/build.yml (1)
23-23: Nice: action pinned to commit; suggest nixpkgs pin/channel alignment.Recommend using a pinned nixpkgs commit (or a uniform stable channel across CI) to reduce non-determinism and future breakages.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (5)
.github/workflows/build.yml(4 hunks).github/workflows/container.yml(1 hunks).github/workflows/lint.yml(3 hunks).github/workflows/release.yml(2 hunks).github/workflows/test.yml(3 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (19)
- GitHub Check: integration_tests (ibc_rly_gas)
- GitHub Check: integration_tests (ibc_update_client)
- GitHub Check: integration_tests (slow)
- GitHub Check: integration_tests (unmarked)
- GitHub Check: integration_tests (gov)
- GitHub Check: integration_tests (gas)
- GitHub Check: integration_tests (ica)
- GitHub Check: integration_tests (ibc_timeout)
- GitHub Check: integration_tests (upgrade)
- GitHub Check: integration_tests (ibc_rly_evm)
- GitHub Check: integration_tests (ibc)
- GitHub Check: build (macos-latest)
- GitHub Check: gomod2nix
- GitHub Check: build (macos-14)
- GitHub Check: build (ubuntu-latest)
- GitHub Check: unittest
- GitHub Check: Run golangci-lint
- GitHub Check: Analyze (go)
- GitHub Check: semgrep-cloud-platform/scan
Related PR
git history being reset due to missing signature, too many history hard to rebase, the full history is here: https://github.com/XinyuCRO/cronos/commits/feat/geth-1.15-backup/
Summary by CodeRabbit
New Features
Bug Fixes
Chores