[WIP] Backport upstream changes#2
Draft
maxim-inj wants to merge 301 commits into
Draft
Conversation
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
* Problem: CacheWrapWithTrace is not supported * align nixpkgs * deps * fix build
* Problem: incorrect spendable balance when debug trace tx * fix * Update tests/integration_tests/test_tracers.py Co-authored-by: mmsqe <[email protected]> Signed-off-by: yihuang <[email protected]> --------- Signed-off-by: yihuang <[email protected]> Co-authored-by: yihuang <[email protected]>
…c rpc (#576) * Problem: no specific dir for the log from debug_goTrace * lint * allow any * revert * cleanup * fix format * fix config * Apply suggestions from code review --------- Co-authored-by: HuangYi <[email protected]>
* Problem: eth_getLogs miss logs with batch transactions. * Update CHANGELOG.md Signed-off-by: yihuang <[email protected]> --------- Signed-off-by: yihuang <[email protected]>
* build(deps): bump golang.org/x/net from 0.12.0 to 0.15.0 Bumps [golang.org/x/net](https://github.com/golang/net) from 0.12.0 to 0.15.0. - [Commits](golang/net@v0.12.0...v0.15.0) --- updated-dependencies: - dependency-name: golang.org/x/net dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> * fix: vulncheck * feat: upgrade go version in nix --------- Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Xinyu Zhao <[email protected]>
* update deps and fix script * fix labeler * upgrade deps --------- Co-authored-by: Xinyu <[email protected]>
* build(deps): bump github.com/onsi/gomega from 1.26.0 to 1.27.10 Bumps [github.com/onsi/gomega](https://github.com/onsi/gomega) from 1.26.0 to 1.27.10. - [Release notes](https://github.com/onsi/gomega/releases) - [Changelog](https://github.com/onsi/gomega/blob/master/CHANGELOG.md) - [Commits](onsi/gomega@v1.26.0...v1.27.10) --- updated-dependencies: - dependency-name: github.com/onsi/gomega dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> * ci: use codecov/codecov-action@v5 --------- Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Xinyu Zhao <[email protected]>
* build(deps): bump github.com/onsi/ginkgo/v2 from 2.7.0 to 2.12.0 Bumps [github.com/onsi/ginkgo/v2](https://github.com/onsi/ginkgo) from 2.7.0 to 2.12.0. - [Release notes](https://github.com/onsi/ginkgo/releases) - [Changelog](https://github.com/onsi/ginkgo/blob/master/CHANGELOG.md) - [Commits](onsi/ginkgo@v2.7.0...v2.12.0) --- updated-dependencies: - dependency-name: github.com/onsi/ginkgo/v2 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> * fix: typo --------- Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Xinyu Zhao <[email protected]>
…102358-957c09536969 to 0.3.0 (#334) * build(deps): bump github.com/status-im/keycard-go Bumps [github.com/status-im/keycard-go](https://github.com/status-im/keycard-go) from 0.0.0-20200402102358-957c09536969 to 0.3.0. - [Release notes](https://github.com/status-im/keycard-go/releases) - [Commits](https://github.com/status-im/keycard-go/commits/v0.3.0) --- updated-dependencies: - dependency-name: github.com/status-im/keycard-go dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> * fix: type to acquire codecov token in old branch --------- Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Xinyu Zhao <[email protected]>
Bumps [github.com/cosmos/cosmos-db](https://github.com/cosmos/cosmos-db) from 1.0.3-0.20240408151834-e75f6e4b28d8 to 1.1.3. - [Changelog](https://github.com/cosmos/cosmos-db/blob/main/CHANGELOG.md) - [Commits](https://github.com/cosmos/cosmos-db/commits/v1.1.3) --- updated-dependencies: - dependency-name: github.com/cosmos/cosmos-db dependency-version: 1.1.3 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [cosmossdk.io/math](https://github.com/cosmos/cosmos-sdk) from 1.4.0 to 1.5.3. - [Release notes](https://github.com/cosmos/cosmos-sdk/releases) - [Changelog](https://github.com/cosmos/cosmos-sdk/blob/main/CHANGELOG.md) - [Commits](cosmos/cosmos-sdk@log/v1.4.0...math/v1.5.3) --- updated-dependencies: - dependency-name: cosmossdk.io/math dependency-version: 1.5.3 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Xinyu <[email protected]>
Bumps [github.com/tidwall/gjson](https://github.com/tidwall/gjson) from 1.14.4 to 1.18.0. - [Commits](tidwall/gjson@v1.14.4...v1.18.0) --- updated-dependencies: - dependency-name: github.com/tidwall/gjson dependency-version: 1.18.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [github.com/spf13/viper](https://github.com/spf13/viper) from 1.19.0 to 1.20.1. - [Release notes](https://github.com/spf13/viper/releases) - [Commits](spf13/viper@v1.19.0...v1.20.1) --- updated-dependencies: - dependency-name: github.com/spf13/viper dependency-version: 1.20.1 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Xinyu <[email protected]>
…#619) Bumps [github.com/hashicorp/go-metrics](https://github.com/hashicorp/go-metrics) from 0.5.3 to 0.5.4. - [Release notes](https://github.com/hashicorp/go-metrics/releases) - [Commits](hashicorp/go-metrics@v0.5.3...v0.5.4) --- updated-dependencies: - dependency-name: github.com/hashicorp/go-metrics dependency-version: 0.5.4 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [github.com/spf13/cast](https://github.com/spf13/cast) from 1.8.0 to 1.9.2. - [Release notes](https://github.com/spf13/cast/releases) - [Commits](spf13/cast@v1.8.0...v1.9.2) --- updated-dependencies: - dependency-name: github.com/spf13/cast dependency-version: 1.9.2 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Xinyu <[email protected]>
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.67.3 to 1.73.0. - [Release notes](https://github.com/grpc/grpc-go/releases) - [Commits](grpc/grpc-go@v1.67.3...v1.73.0) --- updated-dependencies: - dependency-name: google.golang.org/grpc dependency-version: 1.73.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [cosmossdk.io/x/upgrade](https://github.com/cosmos/cosmos-sdk) from 0.1.4 to 0.2.0. - [Release notes](https://github.com/cosmos/cosmos-sdk/releases) - [Changelog](https://github.com/cosmos/cosmos-sdk/blob/v0.2.0/CHANGELOG.md) - [Commits](cosmos/cosmos-sdk@x/upgrade/v0.1.4...v0.2.0) --- updated-dependencies: - dependency-name: cosmossdk.io/x/upgrade dependency-version: 0.2.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [cosmossdk.io/collections](https://github.com/cosmos/cosmos-sdk) from 0.4.0 to 1.3.0. - [Release notes](https://github.com/cosmos/cosmos-sdk/releases) - [Changelog](https://github.com/cosmos/cosmos-sdk/blob/main/CHANGELOG.md) - [Commits](cosmos/cosmos-sdk@v0.4.0...log/v1.3.0) --- updated-dependencies: - dependency-name: cosmossdk.io/collections dependency-version: 1.3.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [brace-expansion](https://github.com/juliangruber/brace-expansion) from 1.1.11 to 1.1.12. - [Release notes](https://github.com/juliangruber/brace-expansion/releases) - [Commits](juliangruber/brace-expansion@1.1.11...v1.1.12) --- updated-dependencies: - dependency-name: brace-expansion dependency-version: 1.1.12 dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Xinyu <[email protected]>
Bumps [undici](https://github.com/nodejs/undici) from 5.28.2 to 5.29.0. - [Release notes](https://github.com/nodejs/undici/releases) - [Commits](nodejs/undici@v5.28.2...v5.29.0) --- updated-dependencies: - dependency-name: undici dependency-version: 5.29.0 dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [base-x](https://github.com/cryptocoinjs/base-x) from 3.0.9 to 3.0.11. - [Commits](cryptocoinjs/base-x@v3.0.9...v3.0.11) --- updated-dependencies: - dependency-name: base-x dependency-version: 3.0.11 dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Xinyu <[email protected]>
Bumps [base-x](https://github.com/cryptocoinjs/base-x) from 3.0.9 to 3.0.11. - [Commits](cryptocoinjs/base-x@v3.0.9...v3.0.11) --- updated-dependencies: - dependency-name: base-x dependency-version: 3.0.11 dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…up (#960) Bumps the gh-actions group with 1 update: [anthropics/claude-code-action](https://github.com/anthropics/claude-code-action). Updates `anthropics/claude-code-action` from 1.0.125 to 1.0.127 - [Release notes](https://github.com/anthropics/claude-code-action/releases) - [Commits](anthropics/claude-code-action@fd1877d...1dc994e) --- updated-dependencies: - dependency-name: anthropics/claude-code-action dependency-version: 1.0.127 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: gh-actions ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…d fork (#957) * feat(geth): update go-ethereum version to `v1.16.9`, enable Osaka hardfork * doc: * fix: hash * fix: test * fix: enable precompile * fix: lint * fix: review
…ec (#962) * fix(rpc): align eth_createAccessList response with execution-apis spec * add changelog * fmt * rename AccessListResult.Accesslist to AccessList and add keeper test * add unit test TestCreateAccessList_VmError * fix review * revert defer cancel() in mock helpers, add nolint * update changelog
…nts (#972) * test(integration): fix flaky test_tracecall_diff by using fixed accounts * add changelog
* fix(rpc): align eth_feeHistory response with execution-apis spec * add changelog * handle zero-block edge case and fix omitempty in eth_feeHistory * fix FeeHistory tests using invalid FeeHistoryCap=0 config
* fix(rpc): align eth_getLogs response with execution-apis spec * return error for unknown block hash in eth_getLogs * add changelog * clean code * use errUnknowBlock
…sh lookups (#970) * fix(rpc): prevent nil panic in SignClient type assertion for block hash lookups * add changelog * fix GetBlockTransactionCountByHash
* feat: migrate to Cosmos SDK v0.54, IBC v11, and CometBFT 0.39
Upgrade core deps (cosmos-sdk/store v2, log v2, ibc-go v11), restore
crisis from contrib/x/crisis, and align app wiring (gov, NodeService,
IBC keepers, ante). Refactor EVM StateDB native actions to nested
cachemultistore layers instead of store clone/restore. Drop trace-store
from AppCreator and update server/tests. Refresh tests for auth
NextAccountNumber(ctx, AccountI) and gRPC expectations. Trim outdated
comments in app, statedb, and server startup.
* chore(lint): fix lint issues after SDK v0.54 rebase
- Apply gofumpt formatting to all changed files
- Remove unused openTraceWriter (trace-store removed from AppCreator)
- Remove unused io import in server/start.go
- Fix filters_test.go to use cosmossdk.io/log/v2 Logger interface
- Add nolint:prealloc to ante decorator slices extended with variadic extra
- Preallocate active slice in simulate.go using defaultPrecompiles map len
- Remove nolint:staticcheck directives made redundant by golangci exclusion
- Add SA1019 exclusion to golangci.yml for SDK v0.54 deprecation warnings
- Add revive exclusion for rpc/namespaces/ethereum/net package name
* fix(statedb): add double-Commit guard and address security review findings
- Add committed bool guard to StateDB.Commit() - prevents double-flush of
cachemultistore layers in block-STM or any re-entrant Commit() path
- Emit error log when --trace-store flag is set (removed in SDK v0.54 migration,
flag registration kept for backward compat but no longer has any effect)
- Scope SA1019 suppression in golangci.yml to specific affected packages
(ante, client, cmd, ethereum, evmd, server, testutil, evm/keeper, feemarket/keeper)
instead of blanket global suppression across the entire repo
* ci: bump Go version to 1.25.9 and fix nix golangci-lint PATH
go.mod now requires go >= 1.25.9 (jayt106/cosmos-sdk fork constraint).
Update all CI workflow go-version fields from 1.25.8 to 1.25.9 so
GOTOOLCHAIN=local can find a compatible toolchain.
Also fix the lint workflow: nix profile add installs its own go binary
which overrides PATH, causing golangci-lint to use go 1.25.8 and fail
the go directive check. Capture SYSTEM_GO before nix runs and prepend
it back to PATH when invoking golangci-lint.
* chore(deps): upgrade to cosmos-sdk v0.54.3 and cometbft v0.39.3
Replace jayt106 fork replace directives with official releases:
- github.com/cosmos/cosmos-sdk: v0.54.0 (jayt106 fork) → v0.54.3
- github.com/cometbft/cometbft: v0.39.0 (jayt106 fork) → v0.39.3
v0.54.3 includes the gov proposal_messages fix and CometBFT v0.39.3.
* fix: address code review, security, and simplification findings
Code review findings:
- Add TestDoubleCommit to verify the double-Commit guard contract
- Update --trace-store flag help string to say unsupported since SDK v0.54
- Add --trace-store warning to startStandAlone path (was only in startInProcess)
- Quote \$SYSTEM_GO in lint.yml PATH fix for shell correctness
Security findings:
- simulate.go: log applyAuthorization errors at DEBUG instead of silently
suppressing via //nolint:errcheck; matches state_transition.go pattern
Code simplification:
- statedb.go: remove degenerate commitMS function pointer, call
flushNativeCacheLayers directly (was always the only assignee)
- statedb.go: collapse duplicated NewWithParams multistore branching into
a single type-assertion with one panic path
- statedb.go: hoist keeper.GetState into named vars (origin/dirty/store)
in conflict-detection loop for readability; add comments clarifying
EVM-dirty-only scope and Write() vs Restore() semantic change
* chore: regenerate gomod2nix.toml for official sdk/cometbft/go-getter
* fix(ci): fix golangci-lint prealloc issues and vulncheck allowlist
Lint (golangci-lint 2.1.6 in CI):
- evmd/ante/evm_handler.go: convert decorator slice to make+append
(capacity 15+len(extra)); removes now-unused //nolint:prealloc
- evmd/ante/handler_options.go: same pattern, capacity 16+len(extra)
- rpc/namespaces/ethereum/eth/filters/filters.go: preallocate filtersBz
with capacity 1+len(topics) instead of nil slice
Vulncheck allowlist:
- Add GO-2024-2584 (cosmos-sdk slashing evasion, Fixed in: N/A) to
the allowed set in the dependency-review workflow; fix the shell
check to use grep -w so multiple IDs can be allowed
* fix(nix): patch gomod2nix vendor symlink for split-module monorepos; restore app.go ordering
- Add nix/gomod2nix-symlink-dedup.patch: skip already-present entries in
populateVendorPath to handle split-module monorepos (google.golang.org/genproto
+ genproto/googleapis/api, go.opentelemetry.io/otel + otel/exporters). Sub-module
symlinks are placed first by makeSymlinks reverse-alphabetical order, then
populateVendorPath for the parent tried to re-symlink the same paths causing
"file exists" panic. Upstream unfixed as of nix-community/gomod2nix@514283ec.
- Apply patch in nix/default.nix via bootstrapPkgs.applyPatches (same pattern
as patchedPoetry2nix)
- Restore original field/setup ordering in evmd/app.go (CrisisKeeper field
position, crisistypes.StoreKey position, skipGenesisInvariants placement)
to minimize diff from develop
- Revert ante decorator slices to composite literal form; remove prealloc
linter from golangci.yml (inconsistent behavior between local and CI
golangci-lint 2.1.6 caused nolintlint false positives)
* chore(lint): restore prealloc linter; use make+append for ante decorator slices
Prealloc was removed in the previous commit because composite literals
triggered it when followed by variadic append. Restore the linter and
use make([]T, 0, N+len(extra)) + append form which satisfies prealloc
without needing //nolint directives.
* fix(evmd): restore original crisis module ordering in begin/end blockers
SetOrderBeginBlockers and SetOrderEndBlockers had crisistypes.ModuleName
moved to the end without reason. contrib/x/crisis BeginBlocker/EndBlocker
are no-ops so ordering doesn't matter functionally. Restore original
positions to minimize diff from develop.
* fix(evmd): restore original crisis.NewAppModule position in module manager
crisis.NewAppModule was moved from after bank.NewAppModule to after
mint.NewAppModule without reason. Restore original position (minimum diff).
Parameter stays as app.CrisisKeeper (not &app.CrisisKeeper) since
CrisisKeeper is now *crisiskeeper.Keeper in contrib/x/crisis.
* fix(ci): remove GO-2024-2584 from vulncheck allowlist
GO-2024-2584 affects cosmos-sdk before v0.47.10 only. We are on v0.54.3
which is greater than v0.47.10, so govulncheck does not report it.
The allowlist entry was added in error based on a misreading of the
GitHub advisory (which covered 0.47.x and 0.50.x branches separately).
* fix(nix): fix gomod2nix patch context to match actual source
Patch context had wrong semicolon and stale line numbers, causing
patch(1) to fail during nix build. Regenerated from actual
gomod2nix@514283ec builder/symlink/symlink.go content.
* refactor(lint): revert SA1019 golangci exclusion; add inline nolint:staticcheck
Replace the scoped SA1019 exclusion in golangci.yml with per-site
//nolint:staticcheck directives in affected files. Also replace the
revive path exclusion for rpc/namespaces/ethereum/net with a package-
level //nolint:revive annotation in api.go.
* fix(lint,nix): fix gofumpt formatting, remove unused nolint, switch nix gomod2nix patch to postPatch+python
- Run gofumpt on client/testnet.go, cmd/config/config.go, testutil/network/network.go
(trailing-space alignment before nolint comments violated gofumpt)
- Remove unused //nolint:revive from rpc/namespaces/ethereum/net/api.go
(revive does not flag 'package net' in this config; nolintlint caught it)
- Replace patch-file approach in nix/default.nix with postPatch+python substituteInPlace:
patch context was fragile (tab/space mismatch with applyPatches -p1);
Python string replace is exact and line-number independent
* fix(nix): replace python3 with substituteInPlace for gomod2nix postPatch
bootstrapPkgs.applyPatches runs in minimal stdenv without python3.
substituteInPlace uses bash string ops (always available) and handles
tab/newline literals via ANSI-C quoting ($'\t\n').
* fix(nix): pin nixpkgs to fe3afaa4 for go_1_25 1.25.9
cosmos-sdk v0.54.3 requires go >= 1.25.9. Advance the nixpkgs
release-25.11 pin to the commit that bumped go_1_25 from 1.25.8 to
1.25.9, so GOTOOLCHAIN=local no longer rejects the ethermintd build.
* fix(ante): use standard fee deduction for cosmos txs to fix simulation supply invariant
SDK v0.54 simulation calls FinalizeBlock with empty Txs (running BeginBlock/EndBlock
only), then delivers actual txs via SimDeliver outside FinalizeBlock. The EVM
DeductFeeDecorator calls SendCoinsToVirtual, which parks fees in the ObjectStore.
CreditVirtualAccounts (bank EndBlock) already ran inside FinalizeBlock before
SimDeliver, so virtual coins from SimDeliver-delivered txs are never credited.
SimWriteState only flushes the KV store, discarding the ObjectStore — leaving
supply > sum(balances) in committed state, causing bank.InitGenesis to panic
on import.
Fix: cosmos and legacy EIP-712 ante handlers now use ante.NewDeductFeeDecorator
(SendCoinsFromAccountToModule, non-virtual) instead of evm.NewDeductFeeDecorator.
Cosmos txs have no gas refund so virtual fee handling is unnecessary.
Also add missing revive exclusion for rpc/namespaces/ethereum/net package.
* fix(ci): fix integration test cache - use ubuntu for upload-cache and update nixos channel
- upload-cache ran on macos-latest, integration_tests on ubuntu-latest; nix store
paths are platform-specific so the macOS cache produced 100% misses on Linux CI.
Switch upload-cache to ubuntu-latest to match.
- Update nix_path from nixos-22.11 to nixos-25.11 to match the nixpkgs pin in
nix/sources.json (fe3afaa4, release-25.11).
* fix(ante): add fee deduction regression test and trim changelog
- Add TestCosmosTxFeeDeductedInSimulate: verifies cosmos and legacy EIP-712 ante
handlers credit fee_collector in KV store (not ObjectStore) when simulate=true.
Guards against regression to evm.NewDeductFeeDecorator which parks fees in
ObjectStore and causes bank supply invariant panic in SDK v0.54 simulations.
- Trim CHANGELOG PR #894 entry to match PR title.
* fix(statedb): set committed flag early to block re-entry on partial failure
Move s.committed = true immediately after the guard check so that any
mid-Commit failure (e.g. ErrStateConflict) leaves the flag set and
prevents a second Commit() from attempting a partial double-flush.
* fix(upgrades): add sdk54 upgrade handler for SDK v0.54 / IBC v11 migrations
Existing live chains need a named upgrade plan that calls RunMigrations to
execute IBC v10→v11 and SDK v0.53→v0.54 module consensus-version migrations.
Without this handler, chains upgrading via governance proposal would skip
the module migrations and risk state inconsistencies or startup panics.
* docs(statedb): clarify flushNativeCacheLayers flush direction and origCtx relationship
Add comment to flushNativeCacheLayers explaining that cacheLayers[0].Write()
propagates into the parent cachemulti.Store (not origCtx directly), and that
EVM-dirty writes in Commit() use origCtx which targets the same parent store.
Addresses review comment r3244878007.
* ci: break upload-cache/integration_tests bootstrap deadlock
Remove needs: ["integration_tests"] from upload-cache so it runs
unconditionally on push to develop. Previously, a cold nix cache caused
integration tests to compile OpenSSL from source (>60 min), timing out
before tests started. Tests can't pass without a warm cache, and cache
can't warm without tests passing — bootstrap deadlock.
With this change, the first push to develop after a nixpkgs channel bump
will warm the cache via upload-cache regardless of test outcome. Subsequent
runs will find packages pre-built in cachix and complete in normal time.
Also bump integration_tests timeout-minutes from 60 to 90 as a safety net
for the first cold-cache run.
* ci: extend integration_tests timeout to 360 min for cold-cache bootstrap
* fix(nix): override mbedtls to strip GCC 15-only CMAKE_C_FLAGS
mbedtls 3.6.5 in nixpkgs-25.11 rev fe3afaa4 unconditionally passes
-fzero-init-padding-bits=unions via CMAKE_C_FLAGS. That flag requires
GCC 15, but stdenv in this nixpkgs pin ships gcc 14.3.0, causing the
mbedtls build to fail and cascading to librist, ffmpeg, matplotlib, and
all python3.13 test-env packages.
Strip the incompatible flag via overrideAttrs so the nix integration
test environment can build cleanly with gcc 14.
* ci: allow GO-2024-2584 in govulncheck (unfixable cosmos-sdk vuln)
GO-2024-2584 is a slashing-evasion issue in github.com/cosmos/cosmos-sdk;
the govulndb entry has "Fixed in: N/A" — no upstream patch exists for the
v0.54 line. Add it to the ALLOWED list alongside GO-2026-4479.
* fix(nix): skip p11-kit build tests (test-server.sh fails in sandbox)
p11-kit 0.25.10 in nixpkgs-25.11 rev fe3afaa4 fails test 40/67
(test-server.sh) with exit status 1 because p11tool is not found on
PATH during the nix sandbox build phase. This cascades through
gnutls → cups/ffmpeg/gnupg/glib → matplotlib/poetry/pytest-regressions,
preventing the integration test environment from being built.
Disable doCheck to skip the failing sandbox-incompatible test.
* ci: add workflow_dispatch to Tests workflow for manual cache warming
Fork PRs lack CACHIX_SIGNING_KEY so integration_tests cannot push to
cachix; every run rebuilds nix from scratch and hits the 6h timeout.
- Add workflow_dispatch trigger to Tests workflow
- Extend upload-cache guard to also fire on workflow_dispatch
Maintainers can now run upload-cache on the fork branch via the Actions
UI to pre-warm cachix before integration tests run.
* ci: enable parallel nix builds (max-jobs=auto) in integration tests
Cold nix builds on fork PRs cannot push to cachix (no CACHIX_SIGNING_KEY)
so every run starts from scratch. ubuntu-latest runners have 4 vCPUs;
setting max-jobs=auto lets nix build 4 derivations in parallel, reducing
cold-build time from ~6h to ~1.5h and fitting within the 360-min timeout.
Also add timeout-minutes=360 to upload-cache job for consistency.
* fix(nix): remove p11-kit override — causes gnutls/node.js cascade rebuild
The p11-kit overrideAttrs (doCheck=false) creates a new derivation hash.
Since gnutls depends on p11-kit, gnutls also gets a new hash not in
cache.nixos.org, forcing a from-source build. Node.js depends on gnutls
transitively, so node.js V8 also rebuilds from source — taking 4-5h and
blowing the 6h CI timeout.
The original p11-kit for nixpkgs rev fe3afaa4 IS in cache.nixos.org
(built by Hydra). Without the override, p11-kit, gnutls, and node.js
all come from binary cache and require no source build.
The p11-kit test-server.sh sandbox failure only occurs when building
from source. With cache hits, no build happens and no tests run.
* nix: update nixpkgs pin to nixos-25.11 channel HEAD (d7a713c0)
New pin (2026-05-14) natively includes the GCC14 mbedtls fix, removing
the need for the overrideAttrs workaround. Eliminates the hash cascade
that forced ffmpeg and all codec dependencies to rebuild from source on
every CI run, cutting integration test nix-build time from 3+ hours to
cache hits.
* nix: fix gomod2nix vendor for split-module monorepos (aws-sdk-go-v2, btcd)
The previous skip-if-exists patch fixed the "file exists" panic but
silently dropped root module content when sub-modules had already
created the parent directory via MkdirAll. Affected modules include
github.com/aws/aws-sdk-go-v2, github.com/btcsuite/btcd, and
google.golang.org/genproto — all monorepos where root + sub-modules
share a vendor path prefix.
Replace os.Symlink with symlinkOrMerge (added in new merge.go):
- dst missing → create symlink as usual
- dst is a symlink → skip (another module already owns the path)
- dst is a directory → recurse and symlink each src entry individually
This allows the root module's packages (e.g. aws-sdk-go-v2/aws,
btcd/chaincfg, btcd/wire) to be accessible alongside sub-module
symlinks in the same vendor directory.
* fix(nix): append symlinkOrMerge into symlink.go instead of separate merge.go
gomod2nix-symlink.drv compiles symlink.go as a single-file build
(# command-line-arguments), so adding a separate merge.go is ignored.
Append the symlinkOrMerge function body directly into symlink.go via
cat >>, and use string concatenation instead of filepath.Join to avoid
any import dependencies.
* nix: drop redundant go_1_25 overlay; remove unreferenced go vendor patch
nixpkgs 25.11 already aliases `go = go_1_25` (1.25.9) and
`buildGoModule = buildGo125Module` (all-packages.nix:8815-8816), so
the overlay override is a no-op. `go_no_vendor_checks-1.23.patch` is
not referenced anywhere.
* build(deps): pin cosmos-sdk to crypto-org-chain fork backport/26023
Replace github.com/cosmos/cosmos-sdk with the fork branch
backport/26023-staking-queue-optimization (db8ba1def35d) to pull in
the staking queue optimization.
* build(deps): pin cosmos-sdk to crypto-org-chain fork PR evmos#1814
Pin to chore/staking-v6-migration-utility branch
(crypto-org-chain/cosmos-sdk@f2bcc1893cf0) which exposes v6 staking
queue migration as a utility while keeping consensus version at 5.
* build(deps): pin cosmos-sdk to upstream v0.54.3
Drop crypto-org-chain fork replace directive. The fork only adds
staking end-block queue optimization (PR evmos#1814) which requires
calling Keeper.PopulateQueuePendingSlots from the upgrade handler —
ethermint does not call it, so the fork had no effect. Downstream
chains (e.g. Cronos) can add the replace + migration call at their
app layer.
* build(deps): remove dead btree replace directive
* fix(ci): bump x/net and use store/v2 types for v8 migration
- bump golang.org/x/net to v0.55.0 to address GO-2026-5026 IDNA vuln
- switch x/evm/migrations/v8 store key imports to cosmos-sdk/store/v2/types
to match testutil.DefaultContext signature
- use cosmossdk.io/log/v2 nop logger in filters_test to satisfy
PublicFilterAPI.logger interface
---------
Signed-off-by: JayT106 <[email protected]>
Co-authored-by: Thomas <[email protected]>
… tx (#973) * fix: setting evm hooks prevent the stateDB from committing for failed tx * Update CHANGELOG.md Signed-off-by: Xinyu <[email protected]> * fix: refund & evm events check * fix: delay commit * fix comments --------- Signed-off-by: Xinyu <[email protected]> Co-authored-by: songgaoye <[email protected]> Co-authored-by: Thomas <[email protected]> Co-authored-by: Thomas Nguy <[email protected]>
) * fix(rpc): align `eth_simulateV1` response with execution-apis spec * fix: review * fix: tests * fix: lint * fix: doc * fix: review * fix: align changes with geth --------- Signed-off-by: Xinyu <[email protected]> Co-authored-by: Thomas <[email protected]> Co-authored-by: songgaoye <[email protected]>
…pec (#965) * fix(rpc): align `eth_getBlockReceipts` response with execution-apis spec. * Update CHANGELOG.md Signed-off-by: Xinyu <[email protected]> * fix: review * fix(rpc): propagate block lookup error in eth_getBlockReceipts * omit effectiveGasPrice from receipt when baseFee unavailable for EIP-1559 txs --------- Signed-off-by: Xinyu <[email protected]> Co-authored-by: songgaoye <[email protected]>
* fix(rpc): align eth_sendRawTransaction with execution-apis * add changelog * update tests
* fix(rpc): add blockTimestamp to transaction RPC responses * add changelog * lint * test(integration): add blockTimestamp to EXPECTED_GET_TRANSACTION * guard blockTimestamp against uint64 wrap-around on zero/negative block times * check blockTimestamp value * remove redundant blockTimestamp assignment in SimBlockResult * fix reviews * fmt
…971) * fix(rpc): align eth_getBlockHash response with execution-apis spec * fix invalid type * propagate gas limit conversion error and use t.Run in TestFormatBlock * add changelog * rm IIFE and update changelog * compute transactionsRoot from EVM-only transactions in RPCBlockFromTendermintBlock * update changelog * keep transactionsRoot consistent with transactions array in fullTx mode * emit post-merge fields in newHeads and document TxHash inconsistency * lint * lint * use common.Hash for block hash field in FormatBlock
* fix(evm): align debug_trace fee with virtual ante path * fix issues * revert behavior to match ethereum * fix golang ci * fix lint * add changelog * move defer * improve tests * Apply suggestion from @thomas-nguy Signed-off-by: Thomas <[email protected]> * add tracer --------- Signed-off-by: Thomas <[email protected]>
…thods (#990) * fix(debug): apply restrict-user-input path check to all file-write methods * add unit test TestValidatePath * add changelog * fix symlink * remove symlink * fix(debug): prevent overwriting existing files in restricted mode * update unit tests
…sactionByBlockHashAndIndex (#996) * refactor(rpc): fix type consistency in buildReceiptDirect and GetTransactionByBlockHashAndIndex * add changelog
…ansaction queries (#994) * refactor(rpc): use block.Block.Hash() in GetTransactionByHash and fix test * refactor(rpc): fix typo and add block hash consistency test in GetTransactionByHash
…992) * refactor(rpc): simplify GetTransactionByBlock* and improve test coverage * add changelog * fix(rpc): revert direct int cast for idx in GetTransactionByBlockAndIndex * update unit test name
…h and newHeads (#975) * fix(rpc): align eth_getBlockByNumber response with execution-apis spec * fix lint * fix eth_feeHistory gasUsed type assertion after FormatBlock refactor * add changelog * use EVM-only trie root for transactionsRoot in HeaderByNumber, HeaderByHash, and newHeads * expand CurrentHeader to match HeaderByNumber signature * clean code * fix tests * add unit tests * Compute TxHash as the EVM-only transaction trie root (matching RPCBlockFromTendermintBlock) instead of Comet DataHash * Consolidate HeaderByNumber to a single TendermintBlockByNumber call * lint * propagate tx/result count mismatch as error in EvmMsgsFromTxs * refactor(rpc): consolidate HeaderByHash to a single TendermintBlockByHash call * fix(rpc): restore HeaderByHash on pruned nodes; add shared header helper * update unit tests * fix(rpc): enforce tx/result count invariant; error on pruned HeaderByHash with txs * fix(rpc): propagate txDecoder errors in EvmMsgsFromTxs * fix(rpc): tighten pruned-node HeaderByHash and drop bad newHeads headers * fix HeaderByHash * use EVM events to detect EVM txs in pruned-node HeaderByHash * add changelog * refactor(rpc): share ethHeaderFromBlockAndResults in HeaderByNumber; address review comments * fix(rpc): log GetBlockTransactionCount decode error; fix stale BlockBloom log * fix(rpc): restore HeaderByNumber availability on pruned nodes; address review nits * fix(rpc): scope HeaderByNumber pruned fallback to nil-body only, not RPC errors * update comments * fix(rpc): enforce (block,nil)|(nil,err) contract in TendermintBlockByNumber * fmt * fix(rpc): improve error messages in HeaderByHash pruned fallback * fix flaky test * fix typo and redundant test
* fix(rpc): relax debug trace gas calculation (#997) * fix: relax debug trace gas count * fix * fix comments * make it query and short comments * small nits * fix PR comments * make tracereplay a query input * cleanup * cleanup * revert comment and add config test * add non relax test for grpc query * test: verify TraceReplay flag is forwarded to TraceTx request Add RegisterTraceTransactionWithReplay mock helper and TestTraceTransactionWithReplay, in the style of RegisterTraceTransactionWithPredecessors, asserting that a TraceConfig with TraceReplay=true is propagated to the gRPC QueryTraceTxRequest. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]> --------- Co-authored-by: Claude Opus 4.8 (1M context) <[email protected]> * fix changelog --------- Co-authored-by: Claude Opus 4.8 (1M context) <[email protected]>
…`TxBody` sets `timeout_timestamp` (#1009)
…993) Bumps the docker group with 2 updates in the / directory: golang and alpine. Updates `golang` from 1.26.3-alpine to 1.26.4-alpine Updates `alpine` from 3.23.4 to 3.24.1 --- updated-dependencies: - dependency-name: alpine dependency-version: 3.24.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: docker - dependency-name: golang dependency-version: 1.26.4-alpine dependency-type: direct:production update-type: version-update:semver-patch dependency-group: docker ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
) * build(deps): bump github.com/quic-go/quic-go from 0.59.0 to 0.59.1 Bumps [github.com/quic-go/quic-go](https://github.com/quic-go/quic-go) from 0.59.0 to 0.59.1. - [Release notes](https://github.com/quic-go/quic-go/releases) - [Commits](quic-go/quic-go@v0.59.0...v0.59.1) --- updated-dependencies: - dependency-name: github.com/quic-go/quic-go dependency-version: 0.59.1 dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> * Merge develop and regenerate go.mod/go.sum/gomod2nix.toml --------- Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Randy Ang <[email protected]>
…tes (#1004) Bumps the gh-actions group with 4 updates in the / directory: [actions/checkout](https://github.com/actions/checkout), [aws-actions/configure-aws-credentials](https://github.com/aws-actions/configure-aws-credentials), [anthropics/claude-code-action](https://github.com/anthropics/claude-code-action) and [codecov/codecov-action](https://github.com/codecov/codecov-action). Updates `actions/checkout` from 6 to 7 - [Release notes](https://github.com/actions/checkout/releases) - [Commits](actions/checkout@v6...v7) Updates `aws-actions/configure-aws-credentials` from 6.1.1 to 6.2.0 - [Release notes](https://github.com/aws-actions/configure-aws-credentials/releases) - [Changelog](https://github.com/aws-actions/configure-aws-credentials/blob/main/CHANGELOG.md) - [Commits](aws-actions/configure-aws-credentials@d979d5b...e7f100c) Updates `anthropics/claude-code-action` from 1.0.127 to 1.0.154 - [Release notes](https://github.com/anthropics/claude-code-action/releases) - [Commits](anthropics/claude-code-action@1dc994e...30544b6) Updates `codecov/codecov-action` from 6 to 7 - [Release notes](https://github.com/codecov/codecov-action/releases) - [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md) - [Commits](codecov/codecov-action@v6...v7) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: '7' dependency-type: direct:production update-type: version-update:semver-major dependency-group: gh-actions - dependency-name: anthropics/claude-code-action dependency-version: 1.0.152 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: gh-actions - dependency-name: aws-actions/configure-aws-credentials dependency-version: 6.2.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: gh-actions - dependency-name: codecov/codecov-action dependency-version: '7' dependency-type: direct:production update-type: version-update:semver-major dependency-group: gh-actions ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: JayT106 <[email protected]>
…dates (#1005) Bumps the npm_and_yarn group with 1 update in the /tests/integration_tests/hardhat directory: [form-data](https://github.com/form-data/form-data). Updates `form-data` from 4.0.5 to 4.0.6 - [Changelog](https://github.com/form-data/form-data/blob/master/CHANGELOG.md) - [Commits](form-data/form-data@v4.0.5...v4.0.6) Updates `undici` from 6.25.0 to 5.29.0 - [Release notes](https://github.com/nodejs/undici/releases) - [Commits](nodejs/undici@v6.25.0...v5.29.0) Updates `ws` from 8.18.0 to 7.5.11 - [Release notes](https://github.com/websockets/ws/releases) - [Commits](websockets/ws@8.18.0...7.5.11) --- updated-dependencies: - dependency-name: form-data dependency-version: 4.0.6 dependency-type: indirect dependency-group: npm_and_yarn - dependency-name: undici dependency-version: 5.29.0 dependency-type: indirect dependency-group: npm_and_yarn - dependency-name: ws dependency-version: 7.5.11 dependency-type: indirect dependency-group: npm_and_yarn ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: JayT106 <[email protected]>
Bumps the pip group with 1 update in the /tests/integration_tests directory: [web3](https://github.com/ethereum/web3.py). Updates `web3` from 7.13.0 to 7.15.0 - [Changelog](https://github.com/ApeWorX/web3.py/blob/main/docs/release_notes.rst) - [Commits](ApeWorX/web3.py@v7.13.0...v7.15.0) --- updated-dependencies: - dependency-name: web3 dependency-version: 7.15.0 dependency-type: direct:production dependency-group: pip ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
… 10 updates (#995) Bumps the gomod-minor-patch group with 7 updates in the / directory: | Package | From | To | | --- | --- | --- | | [github.com/btcsuite/btcd/btcutil](https://github.com/btcsuite/btcd) | `1.1.6` | `1.2.0` | | [github.com/cosmos/ibc-go/v11](https://github.com/cosmos/ibc-go) | `11.0.0` | `11.1.0` | | [github.com/onsi/ginkgo/v2](https://github.com/onsi/ginkgo) | `2.28.0` | `2.32.0` | | [github.com/rs/zerolog](https://github.com/rs/zerolog) | `1.35.0` | `1.35.1` | | [github.com/tidwall/gjson](https://github.com/tidwall/gjson) | `1.18.0` | `1.19.0` | | [golang.org/x/net](https://github.com/golang/net) | `0.55.0` | `0.56.0` | | [google.golang.org/grpc](https://github.com/grpc/grpc-go) | `1.80.0` | `1.81.1` | Updates `github.com/btcsuite/btcd/btcutil` from 1.1.6 to 1.2.0 - [Release notes](https://github.com/btcsuite/btcd/releases) - [Changelog](https://github.com/btcsuite/btcd/blob/master/CHANGES) - [Commits](btcsuite/btcd@btcutil/v1.1.6...btcutil/v1.2.0) Updates `github.com/cosmos/ibc-go/v11` from 11.0.0 to 11.1.0 - [Release notes](https://github.com/cosmos/ibc-go/releases) - [Changelog](https://github.com/cosmos/ibc-go/blob/main/CHANGELOG.md) - [Commits](cosmos/ibc-go@v11.0.0...v11.1.0) Updates `github.com/onsi/ginkgo/v2` from 2.28.0 to 2.32.0 - [Release notes](https://github.com/onsi/ginkgo/releases) - [Changelog](https://github.com/onsi/ginkgo/blob/master/CHANGELOG.md) - [Commits](onsi/ginkgo@v2.28.0...v2.32.0) Updates `github.com/onsi/gomega` from 1.39.1 to 1.40.0 - [Release notes](https://github.com/onsi/gomega/releases) - [Changelog](https://github.com/onsi/gomega/blob/master/CHANGELOG.md) - [Commits](onsi/gomega@v1.39.1...v1.40.0) Updates `github.com/rs/zerolog` from 1.35.0 to 1.35.1 - [Commits](rs/zerolog@v1.35.0...v1.35.1) Updates `github.com/tidwall/gjson` from 1.18.0 to 1.19.0 - [Commits](tidwall/gjson@v1.18.0...v1.19.0) Updates `golang.org/x/net` from 0.55.0 to 0.56.0 - [Commits](golang/net@v0.55.0...v0.56.0) Updates `golang.org/x/sync` from 0.20.0 to 0.21.0 - [Commits](golang/sync@v0.20.0...v0.21.0) Updates `golang.org/x/text` from 0.37.0 to 0.38.0 - [Release notes](https://github.com/golang/text/releases) - [Commits](golang/text@v0.37.0...v0.38.0) Updates `google.golang.org/grpc` from 1.80.0 to 1.81.1 - [Release notes](https://github.com/grpc/grpc-go/releases) - [Commits](grpc/grpc-go@v1.80.0...v1.81.1) --- updated-dependencies: - dependency-name: github.com/btcsuite/btcd/btcutil dependency-version: 1.2.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: gomod-minor-patch - dependency-name: github.com/cosmos/ibc-go/v11 dependency-version: 11.1.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: gomod-minor-patch - dependency-name: github.com/onsi/ginkgo/v2 dependency-version: 2.29.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: gomod-minor-patch - dependency-name: github.com/onsi/gomega dependency-version: 1.40.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: gomod-minor-patch - dependency-name: github.com/rs/zerolog dependency-version: 1.35.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: gomod-minor-patch - dependency-name: github.com/tidwall/gjson dependency-version: 1.19.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: gomod-minor-patch - dependency-name: golang.org/x/net dependency-version: 0.56.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: gomod-minor-patch - dependency-name: golang.org/x/sync dependency-version: 0.21.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: gomod-minor-patch - dependency-name: golang.org/x/text dependency-version: 0.38.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: gomod-minor-patch - dependency-name: google.golang.org/grpc dependency-version: 1.81.1 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: gomod-minor-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: JayT106 <[email protected]>
Bumps the npm_and_yarn group with 1 update in the /tests/integration_tests/hardhat directory: [js-cookie](https://github.com/js-cookie/js-cookie). Updates `js-cookie` from 2.2.1 to 3.0.8 - [Release notes](https://github.com/js-cookie/js-cookie/releases) - [Commits](js-cookie/js-cookie@v2.2.1...v3.0.8) --- updated-dependencies: - dependency-name: js-cookie dependency-version: 3.0.8 dependency-type: indirect dependency-group: npm_and_yarn ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feat(rpc): add app-side mempool direct-insert path for EVM tx submission When mempool.type=app, CometBFT's BroadcastTx -> CheckTx path returns an empty/broken sync response. Add an optional direct-insert path: apps that implement MempoolTxInserter (InsertTx) route eth_sendRawTransaction, eth_sendTransaction, and miner etherbase txs through the app mempool's InsertTx, returning the real sync result. - backend: TxInserter type + WithTxInserter option, txInserter field - backend: broadcastTx helper centralizes the 3 broadcast sites; falls back to clientCtx.BroadcastTx when no inserter is registered - rpc/server: RegisterTxInserter wiring; StartJSONRPC registers the inserter when the app implements MempoolTxInserter Default flood mempool is unaffected (nil inserter -> BroadcastTx). * remove comments * update CHANGELOG
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Need to evaluate and backport some or all fixes from the upstream.
Additional issues
eth_getBlockReceiptssee Get receipts by block number ethereum/go-ethereum#19634