From 555048cec1423493537394a2b8461662b192cc3c Mon Sep 17 00:00:00 2001 From: mmsqe Date: Mon, 23 Mar 2026 09:13:38 +0800 Subject: [PATCH 1/6] config pre-estimate --- evmd/app.go | 3 ++- server/config/config.go | 6 ++++++ server/config/toml.go | 3 +++ server/flags/flags.go | 1 + server/start.go | 3 ++- 5 files changed, 14 insertions(+), 2 deletions(-) diff --git a/evmd/app.go b/evmd/app.go index be32fb902d..5ebd8c9ff5 100644 --- a/evmd/app.go +++ b/evmd/app.go @@ -253,13 +253,14 @@ func NewExampleApp( for _, k := range oKeys { nonTransientKeys = append(nonTransientKeys, k) } + preEstimate := cast.ToBool(appOpts.Get(srvflags.EVMBlockSTMPreEstimate)) // enable block stm for parallel execution bApp.SetBlockSTMTxRunner(txnrunner.NewSTMRunner( encodingConfig.TxConfig.TxDecoder(), nonTransientKeys, min(goruntime.GOMAXPROCS(0), goruntime.NumCPU()), - true, + preEstimate, func(ms storetypes.MultiStore) string { return sdk.DefaultBondDenom }, )) diff --git a/server/config/config.go b/server/config/config.go index cffb9f6b4e..8c79c3121a 100644 --- a/server/config/config.go +++ b/server/config/config.go @@ -58,6 +58,9 @@ const ( // DefaultEnablePreimageRecording is the default value for EnablePreimageRecording DefaultEnablePreimageRecording = false + // DefaultEVMBlockSTMPreEstimate controls whether block-stm disables pre-estimation by default. + DefaultEVMBlockSTMPreEstimate = false + // DefaultMaxTxGasWanted is the default gas wanted for each eth tx returned in ante handler in check tx mode DefaultMaxTxGasWanted = 0 @@ -145,6 +148,8 @@ type EVMConfig struct { MaxTxGasWanted uint64 `mapstructure:"max-tx-gas-wanted"` // Enables tracking of SHA3 preimages in the VM EnablePreimageRecording bool `mapstructure:"cache-preimage"` + // BlockSTMPreEstimate enables pre-estimation for block-stm execution. + BlockSTMPreEstimate bool `mapstructure:"block-stm-pre-estimate"` // EVMChainID defines the EIP-155 replay-protection chain ID. EVMChainID uint64 `mapstructure:"evm-chain-id"` // MinTip defines the minimum priority fee for the mempool @@ -295,6 +300,7 @@ func DefaultEVMConfig() *EVMConfig { MaxTxGasWanted: DefaultMaxTxGasWanted, EVMChainID: DefaultEVMChainID, EnablePreimageRecording: DefaultEnablePreimageRecording, + BlockSTMPreEstimate: DefaultEVMBlockSTMPreEstimate, MinTip: DefaultEVMMinTip, GethMetricsAddress: DefaultGethMetricsAddress, Mempool: DefaultMempoolConfig(), diff --git a/server/config/toml.go b/server/config/toml.go index 5e32ef9f91..40fe82e835 100644 --- a/server/config/toml.go +++ b/server/config/toml.go @@ -19,6 +19,9 @@ max-tx-gas-wanted = {{ .EVM.MaxTxGasWanted }} # EnablePreimageRecording enables tracking of SHA3 preimages in the VM cache-preimage = {{ .EVM.EnablePreimageRecording }} +# BlockSTMPreEstimate is the flag to enable pre-estimation for block-stm execution. +block-stm-pre-estimate = {{ .EVM.BlockSTMPreEstimate }} + # EVMChainID is the EIP-155 compatible replay protection chain ID. This is separate from the Cosmos chain ID. evm-chain-id = {{ .EVM.EVMChainID }} diff --git a/server/flags/flags.go b/server/flags/flags.go index 2eead2c228..419fb854fa 100644 --- a/server/flags/flags.go +++ b/server/flags/flags.go @@ -67,6 +67,7 @@ const ( const ( EVMTracer = "evm.tracer" EVMMaxTxGasWanted = "evm.max-tx-gas-wanted" + EVMBlockSTMPreEstimate = "evm.block-stm-pre-estimate" EVMEnablePreimageRecording = "evm.cache-preimage" EVMChainID = "evm.evm-chain-id" EVMMinTip = "evm.min-tip" diff --git a/server/start.go b/server/start.go index cfbd5354bc..5d3b4a054c 100644 --- a/server/start.go +++ b/server/start.go @@ -219,7 +219,8 @@ which accepts a path for the resulting pprof file. cmd.Flags().String(srvflags.EVMTracer, cosmosevmserverconfig.DefaultEVMTracer, "the EVM tracer type to collect execution traces from the EVM transaction execution (json|struct|access_list|markdown)") //nolint:lll cmd.Flags().Uint64(srvflags.EVMMaxTxGasWanted, cosmosevmserverconfig.DefaultMaxTxGasWanted, "the gas wanted for each eth tx returned in ante handler in check tx mode") //nolint:lll - cmd.Flags().Bool(srvflags.EVMEnablePreimageRecording, cosmosevmserverconfig.DefaultEnablePreimageRecording, "Enables tracking of SHA3 preimages in the EVM (not implemented yet)") //nolint:lll + cmd.Flags().Bool(srvflags.EVMBlockSTMPreEstimate, cosmosevmserverconfig.DefaultEVMBlockSTMPreEstimate, "enable pre-estimation for block-stm execution") + cmd.Flags().Bool(srvflags.EVMEnablePreimageRecording, cosmosevmserverconfig.DefaultEnablePreimageRecording, "Enables tracking of SHA3 preimages in the EVM (not implemented yet)") //nolint:lll cmd.Flags().Uint64(srvflags.EVMChainID, cosmosevmserverconfig.DefaultEVMChainID, "the EIP-155 compatible replay protection chain ID") cmd.Flags().Uint64(srvflags.EVMMinTip, cosmosevmserverconfig.DefaultEVMMinTip, "the minimum priority fee for the mempool") cmd.Flags().String(srvflags.EvmGethMetricsAddress, cosmosevmserverconfig.DefaultGethMetricsAddress, "the address to bind the geth metrics server to") From eea16ff6d043ac2a90de96067ed651746e95c8af Mon Sep 17 00:00:00 2001 From: mmsqe Date: Mon, 23 Mar 2026 09:27:20 +0800 Subject: [PATCH 2/6] feat: add Block-STM configuration support --- CHANGELOG.md | 1 + evmd/app.go | 32 ++++++++++++++++++++++++-------- server/config/config.go | 29 +++++++++++++++++++++++++++++ server/config/toml.go | 6 ++++++ server/flags/flags.go | 2 ++ server/start.go | 2 ++ 6 files changed, 64 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 06a5b48248..939af6a5a8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,6 +19,7 @@ - [\#589](https://github.com/cosmos/evm/pull/589) Remove parallelization blockers via migration from transient to object store, refactoring of gas, indexing, and bloom utilities. - [\#768](https://github.com/cosmos/evm/pull/768) Added ICS-02 Client Router precompile - [\#815](https://github.com/cosmos/evm/pull/815) Support for multi gRPC query clients serve with old binary. +- [\#1085](https://github.com/cosmos/evm/pull/1085) Add Block-STM configuration support: `evm.block-executor`, `evm.block-stm-workers` and `evm.block-stm-pre-estimate`. ### BUG FIXES diff --git a/evmd/app.go b/evmd/app.go index 5ebd8c9ff5..4347f89e97 100644 --- a/evmd/app.go +++ b/evmd/app.go @@ -29,6 +29,7 @@ import ( evmmempool "github.com/cosmos/evm/mempool" precompiletypes "github.com/cosmos/evm/precompiles/types" cosmosevmserver "github.com/cosmos/evm/server" + srvconfig "github.com/cosmos/evm/server/config" srvflags "github.com/cosmos/evm/server/flags" "github.com/cosmos/evm/utils" "github.com/cosmos/evm/x/erc20" @@ -253,16 +254,31 @@ func NewExampleApp( for _, k := range oKeys { nonTransientKeys = append(nonTransientKeys, k) } + + workers := cast.ToInt(appOpts.Get(srvflags.EVMBlockSTMWorkers)) + if workers <= 0 { + workers = min(goruntime.GOMAXPROCS(0), goruntime.NumCPU()) + } preEstimate := cast.ToBool(appOpts.Get(srvflags.EVMBlockSTMPreEstimate)) + executor := cast.ToString(appOpts.Get(srvflags.EVMBlockExecutor)) + if executor == "" { + executor = srvconfig.DefaultEVMBlockExecutor + } - // enable block stm for parallel execution - bApp.SetBlockSTMTxRunner(txnrunner.NewSTMRunner( - encodingConfig.TxConfig.TxDecoder(), - nonTransientKeys, - min(goruntime.GOMAXPROCS(0), goruntime.NumCPU()), - preEstimate, - func(ms storetypes.MultiStore) string { return sdk.DefaultBondDenom }, - )) + switch executor { + case srvconfig.BlockExecutorBlockSTM: + bApp.SetBlockSTMTxRunner(txnrunner.NewSTMRunner( + encodingConfig.TxConfig.TxDecoder(), + nonTransientKeys, + workers, + preEstimate, + func(ms storetypes.MultiStore) string { return sdk.DefaultBondDenom }, + )) + case srvconfig.BlockExecutorSequential: + // Use BaseApp's default sequential execution. + default: + panic(fmt.Errorf("unknown EVM block executor: %s", executor)) + } // disable block gas meter bApp.SetDisableBlockGasMeter(true) diff --git a/server/config/config.go b/server/config/config.go index 8c79c3121a..0cf453637b 100644 --- a/server/config/config.go +++ b/server/config/config.go @@ -58,6 +58,13 @@ const ( // DefaultEnablePreimageRecording is the default value for EnablePreimageRecording DefaultEnablePreimageRecording = false + // DefaultEVMBlockExecutor is the default transaction executor for block execution. + DefaultEVMBlockExecutor = BlockExecutorBlockSTM + + // DefaultEVMBlockSTMWorkers is the default worker count for block-stm execution. + // 0 means auto-detect based on CPU in the app wiring. + DefaultEVMBlockSTMWorkers = 0 + // DefaultEVMBlockSTMPreEstimate controls whether block-stm disables pre-estimation by default. DefaultEVMBlockSTMPreEstimate = false @@ -129,6 +136,13 @@ const ( var evmTracers = []string{"json", "markdown", "struct", "access_list"} +const ( + BlockExecutorSequential = "sequential" + BlockExecutorBlockSTM = "block-stm" +) + +var blockExecutors = []string{BlockExecutorSequential, BlockExecutorBlockSTM} + // Config defines the server's top level configuration. It includes the default app config // from the SDK as well as the EVM configuration to enable the JSON-RPC APIs. type Config struct { @@ -146,6 +160,11 @@ type EVMConfig struct { Tracer string `mapstructure:"tracer"` // MaxTxGasWanted defines the gas wanted for each eth tx returned in ante handler in check tx mode. MaxTxGasWanted uint64 `mapstructure:"max-tx-gas-wanted"` + // BlockExecutor selects the block transaction execution strategy. + BlockExecutor string `mapstructure:"block-executor"` + // BlockSTMWorkers is the worker count for block-stm execution. + // 0 means auto-detect based on CPU in the app wiring. + BlockSTMWorkers int `mapstructure:"block-stm-workers"` // Enables tracking of SHA3 preimages in the VM EnablePreimageRecording bool `mapstructure:"cache-preimage"` // BlockSTMPreEstimate enables pre-estimation for block-stm execution. @@ -298,6 +317,8 @@ func DefaultEVMConfig() *EVMConfig { return &EVMConfig{ Tracer: DefaultEVMTracer, MaxTxGasWanted: DefaultMaxTxGasWanted, + BlockExecutor: DefaultEVMBlockExecutor, + BlockSTMWorkers: DefaultEVMBlockSTMWorkers, EVMChainID: DefaultEVMChainID, EnablePreimageRecording: DefaultEnablePreimageRecording, BlockSTMPreEstimate: DefaultEVMBlockSTMPreEstimate, @@ -313,6 +334,14 @@ func (c EVMConfig) Validate() error { return fmt.Errorf("invalid tracer type %s, available types: %v", c.Tracer, evmTracers) } + if !strings.StringInSlice(c.BlockExecutor, blockExecutors) { + return fmt.Errorf("invalid block executor %q, available types: %v", c.BlockExecutor, blockExecutors) + } + + if c.BlockSTMWorkers < 0 { + return fmt.Errorf("invalid block-stm-workers %d: must be >= 0", c.BlockSTMWorkers) + } + if _, err := netip.ParseAddrPort(c.GethMetricsAddress); err != nil { return fmt.Errorf("invalid geth metrics address %q: %w", c.GethMetricsAddress, err) } diff --git a/server/config/toml.go b/server/config/toml.go index 40fe82e835..52930fe3b5 100644 --- a/server/config/toml.go +++ b/server/config/toml.go @@ -16,6 +16,12 @@ tracer = "{{ .EVM.Tracer }}" # MaxTxGasWanted defines the gas wanted for each eth tx returned in ante handler in check tx mode. max-tx-gas-wanted = {{ .EVM.MaxTxGasWanted }} +# BlockExecutor sets block execution mode: "block-stm" or "sequential". +block-executor = "{{ .EVM.BlockExecutor }}" + +# BlockSTMWorkers sets the number of workers for block-stm execution (0 = auto). +block-stm-workers = {{ .EVM.BlockSTMWorkers }} + # EnablePreimageRecording enables tracking of SHA3 preimages in the VM cache-preimage = {{ .EVM.EnablePreimageRecording }} diff --git a/server/flags/flags.go b/server/flags/flags.go index 419fb854fa..2a849bed96 100644 --- a/server/flags/flags.go +++ b/server/flags/flags.go @@ -67,6 +67,8 @@ const ( const ( EVMTracer = "evm.tracer" EVMMaxTxGasWanted = "evm.max-tx-gas-wanted" + EVMBlockExecutor = "evm.block-executor" + EVMBlockSTMWorkers = "evm.block-stm-workers" EVMBlockSTMPreEstimate = "evm.block-stm-pre-estimate" EVMEnablePreimageRecording = "evm.cache-preimage" EVMChainID = "evm.evm-chain-id" diff --git a/server/start.go b/server/start.go index 5d3b4a054c..6df5bb53c5 100644 --- a/server/start.go +++ b/server/start.go @@ -219,6 +219,8 @@ which accepts a path for the resulting pprof file. cmd.Flags().String(srvflags.EVMTracer, cosmosevmserverconfig.DefaultEVMTracer, "the EVM tracer type to collect execution traces from the EVM transaction execution (json|struct|access_list|markdown)") //nolint:lll cmd.Flags().Uint64(srvflags.EVMMaxTxGasWanted, cosmosevmserverconfig.DefaultMaxTxGasWanted, "the gas wanted for each eth tx returned in ante handler in check tx mode") //nolint:lll + cmd.Flags().String(srvflags.EVMBlockExecutor, cosmosevmserverconfig.DefaultEVMBlockExecutor, "block executor mode (block-stm|sequential)") + cmd.Flags().Int(srvflags.EVMBlockSTMWorkers, cosmosevmserverconfig.DefaultEVMBlockSTMWorkers, "number of workers for block-stm execution (0 = auto)") cmd.Flags().Bool(srvflags.EVMBlockSTMPreEstimate, cosmosevmserverconfig.DefaultEVMBlockSTMPreEstimate, "enable pre-estimation for block-stm execution") cmd.Flags().Bool(srvflags.EVMEnablePreimageRecording, cosmosevmserverconfig.DefaultEnablePreimageRecording, "Enables tracking of SHA3 preimages in the EVM (not implemented yet)") //nolint:lll cmd.Flags().Uint64(srvflags.EVMChainID, cosmosevmserverconfig.DefaultEVMChainID, "the EIP-155 compatible replay protection chain ID") From 8cb3453bad5920773d1595de8ef9929b4d3f1167 Mon Sep 17 00:00:00 2001 From: mmsqe Date: Wed, 1 Apr 2026 09:45:26 +0800 Subject: [PATCH 3/6] use sdk flag --- evmd/app.go | 13 ++++++------- evmd/go.mod | 1 + evmd/go.sum | 4 ++-- go.mod | 5 +---- go.sum | 12 ++---------- server/config/config.go | 35 ----------------------------------- server/config/toml.go | 9 --------- server/flags/flags.go | 3 --- server/start.go | 6 +++--- 9 files changed, 15 insertions(+), 73 deletions(-) diff --git a/evmd/app.go b/evmd/app.go index 4347f89e97..3a506f05d5 100644 --- a/evmd/app.go +++ b/evmd/app.go @@ -29,7 +29,6 @@ import ( evmmempool "github.com/cosmos/evm/mempool" precompiletypes "github.com/cosmos/evm/precompiles/types" cosmosevmserver "github.com/cosmos/evm/server" - srvconfig "github.com/cosmos/evm/server/config" srvflags "github.com/cosmos/evm/server/flags" "github.com/cosmos/evm/utils" "github.com/cosmos/evm/x/erc20" @@ -255,18 +254,18 @@ func NewExampleApp( nonTransientKeys = append(nonTransientKeys, k) } - workers := cast.ToInt(appOpts.Get(srvflags.EVMBlockSTMWorkers)) + workers := cast.ToInt(appOpts.Get(sdkserver.FlagBlockSTMWorkers)) if workers <= 0 { workers = min(goruntime.GOMAXPROCS(0), goruntime.NumCPU()) } - preEstimate := cast.ToBool(appOpts.Get(srvflags.EVMBlockSTMPreEstimate)) - executor := cast.ToString(appOpts.Get(srvflags.EVMBlockExecutor)) + preEstimate := cast.ToBool(appOpts.Get(sdkserver.FlagBlockSTMPreEstimate)) + executor := cast.ToString(appOpts.Get(sdkserver.FlagBlockExecutor)) if executor == "" { - executor = srvconfig.DefaultEVMBlockExecutor + executor = config.DefaultBlockExecutor } switch executor { - case srvconfig.BlockExecutorBlockSTM: + case config.BlockExecutorBlockSTM: bApp.SetBlockSTMTxRunner(txnrunner.NewSTMRunner( encodingConfig.TxConfig.TxDecoder(), nonTransientKeys, @@ -274,7 +273,7 @@ func NewExampleApp( preEstimate, func(ms storetypes.MultiStore) string { return sdk.DefaultBondDenom }, )) - case srvconfig.BlockExecutorSequential: + case config.BlockExecutorSequential: // Use BaseApp's default sequential execution. default: panic(fmt.Errorf("unknown EVM block executor: %s", executor)) diff --git a/evmd/go.mod b/evmd/go.mod index b4e11c52ec..460a4a8740 100644 --- a/evmd/go.mod +++ b/evmd/go.mod @@ -375,6 +375,7 @@ require ( replace ( // use cosmos fork of keyring github.com/99designs/keyring => github.com/cosmos/keyring v1.2.0 + github.com/cosmos/cosmos-sdk => github.com/mmsqe/cosmos-sdk v0.46.0-beta2.0.20260401014139-cd1820ca51ea github.com/cosmos/evm => ../ // use Cosmos geth fork // branch: release/1.16 diff --git a/evmd/go.sum b/evmd/go.sum index 07dab17031..10fb77588f 100644 --- a/evmd/go.sum +++ b/evmd/go.sum @@ -268,8 +268,6 @@ github.com/cosmos/cosmos-db v1.1.3 h1:7QNT77+vkefostcKkhrzDK9uoIEryzFrU9eoMeaQOP github.com/cosmos/cosmos-db v1.1.3/go.mod h1:kN+wGsnwUJZYn8Sy5Q2O0vCYA99MJllkKASbs6Unb9U= github.com/cosmos/cosmos-proto v1.0.0-beta.5 h1:eNcayDLpip+zVLRLYafhzLvQlSmyab+RC5W7ZfmxJLA= github.com/cosmos/cosmos-proto v1.0.0-beta.5/go.mod h1:hQGLpiIUloJBMdQMMWb/4wRApmI9hjHH05nefC0Ojec= -github.com/cosmos/cosmos-sdk v0.54.0-rc.1.0.20260311165803-2c527014f3ee h1:gAqxehRc0hIEOzw/pUQWDVADds7P0PnGEeRXUsKZHRw= -github.com/cosmos/cosmos-sdk v0.54.0-rc.1.0.20260311165803-2c527014f3ee/go.mod h1:iH4LQxDSImD6nwxmj+dyfUurZy0dlhBjQluMwidHKBE= github.com/cosmos/cosmos-sdk/log/v2 v2.0.2-0.20260302180736-2fbcc8d5f49e h1:mZfv3i0jUvAp2m2mMPVb9fhgLjnh98aDbYbPddV3YR8= github.com/cosmos/cosmos-sdk/log/v2 v2.0.2-0.20260302180736-2fbcc8d5f49e/go.mod h1:Mvss71xjzwK7lywM5hO+Emne4BcAgK+YhkiiO1NU7mQ= github.com/cosmos/go-bip39 v1.0.0 h1:pcomnQdrdH22njcAatO0yWojsUnCO3y2tNoV1cb6hHY= @@ -787,6 +785,8 @@ github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyua github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/pointerstructure v1.2.0 h1:O+i9nHnXS3l/9Wu7r4NrEdwA2VFTicjUEN1uBnDo34A= github.com/mitchellh/pointerstructure v1.2.0/go.mod h1:BRAsLI5zgXmw97Lf6s25bs8ohIXc3tViBH44KcwB2g4= +github.com/mmsqe/cosmos-sdk v0.46.0-beta2.0.20260401014139-cd1820ca51ea h1:ZrmbujQgY+9HsOZ+pPFRV219x3MlmFlkmNHwiyNIehE= +github.com/mmsqe/cosmos-sdk v0.46.0-beta2.0.20260401014139-cd1820ca51ea/go.mod h1:iH4LQxDSImD6nwxmj+dyfUurZy0dlhBjQluMwidHKBE= github.com/moby/sys/user v0.4.0 h1:jhcMKit7SA80hivmFJcbB1vqmw//wU61Zdui2eQXuMs= github.com/moby/sys/user v0.4.0/go.mod h1:bG+tYYYJgaMtRKgEmuueC0hJEAZWwtIbZTB+85uoHjs= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= diff --git a/go.mod b/go.mod index cd0ff704cd..d5ae81ad20 100644 --- a/go.mod +++ b/go.mod @@ -115,7 +115,6 @@ require ( github.com/cenkalti/backoff/v4 v4.3.0 // indirect github.com/cenkalti/backoff/v5 v5.0.3 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect - github.com/chigopher/pathlib v0.19.1 // indirect github.com/chzyer/readline v1.5.1 // indirect github.com/cloudwego/base64x v0.1.6 // indirect github.com/cncf/xds/go v0.0.0-20251210132809-ee656c7534f5 // indirect @@ -196,14 +195,12 @@ require ( github.com/hdevalence/ed25519consensus v0.2.0 // indirect github.com/holiman/bloomfilter/v2 v2.0.3 // indirect github.com/huandu/skiplist v1.2.1 // indirect - github.com/huandu/xstrings v1.4.0 // indirect github.com/huin/goupnp v1.3.0 // indirect github.com/iancoleman/strcase v0.3.0 // indirect github.com/inconshreveable/mousetrap v1.1.0 // indirect github.com/ipfs/go-cid v0.5.0 // indirect github.com/jackpal/go-nat-pmp v1.0.2 // indirect github.com/jbenet/go-temp-err-catcher v0.1.0 // indirect - github.com/jinzhu/copier v0.4.0 // indirect github.com/jmhodges/levigo v1.0.0 // indirect github.com/klauspost/compress v1.18.4 // indirect github.com/klauspost/cpuid/v2 v2.3.0 // indirect @@ -309,7 +306,6 @@ require ( github.com/tklauser/numcpus v0.11.0 // indirect github.com/twitchyliquid64/golang-asm v0.15.1 // indirect github.com/ulikunitz/xz v0.5.15 // indirect - github.com/vektra/mockery/v2 v2.53.6 // indirect github.com/wlynxg/anet v0.0.5 // indirect github.com/yusufpapurcu/wmi v1.2.4 // indirect github.com/zondax/golem v0.27.0 // indirect @@ -374,6 +370,7 @@ require ( replace ( // use cosmos fork of keyring github.com/99designs/keyring => github.com/cosmos/keyring v1.2.0 + github.com/cosmos/cosmos-sdk => github.com/mmsqe/cosmos-sdk v0.46.0-beta2.0.20260401014139-cd1820ca51ea // use Cosmos geth fork // branch: release/1.16 github.com/ethereum/go-ethereum => github.com/cosmos/go-ethereum v1.16.2-cosmos-1.0.20260126204437-32ededcf907f diff --git a/go.sum b/go.sum index 9db6116c6a..136a53ac95 100644 --- a/go.sum +++ b/go.sum @@ -201,8 +201,6 @@ github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UF github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/chenzhuoyu/base64x v0.0.0-20211019084208-fb5309c8db06/go.mod h1:DH46F32mSOjUmXrMHnKwZdA8wcEefY7UVqBKYGjpdQY= github.com/chenzhuoyu/base64x v0.0.0-20221115062448-fe3a3abad311/go.mod h1:b583jCggY9gE99b6G5LEC39OIiVsWj+R97kbl5odCEk= -github.com/chigopher/pathlib v0.19.1 h1:RoLlUJc0CqBGwq239cilyhxPNLXTK+HXoASGyGznx5A= -github.com/chigopher/pathlib v0.19.1/go.mod h1:tzC1dZLW8o33UQpWkNkhvPwL5n4yyFRFm/jL1YGWFvY= github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= github.com/chzyer/logex v1.2.1 h1:XHDu3E6q+gdHgsdTPH6ImJMIp436vR6MPtH8gP05QzM= github.com/chzyer/logex v1.2.1/go.mod h1:JLbx6lG2kDbNRFnfkgvh4eRJRPX1QCoOIWomwysCBrQ= @@ -265,8 +263,6 @@ github.com/cosmos/cosmos-db v1.1.3 h1:7QNT77+vkefostcKkhrzDK9uoIEryzFrU9eoMeaQOP github.com/cosmos/cosmos-db v1.1.3/go.mod h1:kN+wGsnwUJZYn8Sy5Q2O0vCYA99MJllkKASbs6Unb9U= github.com/cosmos/cosmos-proto v1.0.0-beta.5 h1:eNcayDLpip+zVLRLYafhzLvQlSmyab+RC5W7ZfmxJLA= github.com/cosmos/cosmos-proto v1.0.0-beta.5/go.mod h1:hQGLpiIUloJBMdQMMWb/4wRApmI9hjHH05nefC0Ojec= -github.com/cosmos/cosmos-sdk v0.54.0-rc.1.0.20260311165803-2c527014f3ee h1:gAqxehRc0hIEOzw/pUQWDVADds7P0PnGEeRXUsKZHRw= -github.com/cosmos/cosmos-sdk v0.54.0-rc.1.0.20260311165803-2c527014f3ee/go.mod h1:iH4LQxDSImD6nwxmj+dyfUurZy0dlhBjQluMwidHKBE= github.com/cosmos/cosmos-sdk/log/v2 v2.0.2-0.20260302180736-2fbcc8d5f49e h1:mZfv3i0jUvAp2m2mMPVb9fhgLjnh98aDbYbPddV3YR8= github.com/cosmos/cosmos-sdk/log/v2 v2.0.2-0.20260302180736-2fbcc8d5f49e/go.mod h1:Mvss71xjzwK7lywM5hO+Emne4BcAgK+YhkiiO1NU7mQ= github.com/cosmos/go-bip39 v1.0.0 h1:pcomnQdrdH22njcAatO0yWojsUnCO3y2tNoV1cb6hHY= @@ -611,8 +607,6 @@ github.com/huandu/go-assert v1.1.5 h1:fjemmA7sSfYHJD7CUqs9qTwwfdNAx7/j2/ZlHXzNB3 github.com/huandu/go-assert v1.1.5/go.mod h1:yOLvuqZwmcHIC5rIzrBhT7D3Q9c3GFnd0JrPVhn/06U= github.com/huandu/skiplist v1.2.1 h1:dTi93MgjwErA/8idWTzIw4Y1kZsMWx35fmI2c8Rij7w= github.com/huandu/skiplist v1.2.1/go.mod h1:7v3iFjLcSAzO4fN5B8dvebvo/qsfumiLiDXMrPiHF9w= -github.com/huandu/xstrings v1.4.0 h1:D17IlohoQq4UcpqD7fDk80P7l+lwAmlFaBHgOipl2FU= -github.com/huandu/xstrings v1.4.0/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE= github.com/hudl/fargo v1.3.0/go.mod h1:y3CKSmjA+wD2gak7sUSXTAoopbhU08POFhmITJgmKTg= github.com/huin/goupnp v1.3.0 h1:UvLUlWDNpoUdYzb2TCn+MuTWtcjXKSza2n6CBdQ0xXc= github.com/huin/goupnp v1.3.0/go.mod h1:gnGPsThkYa7bFi/KWmEysQRf48l2dvR5bxr2OFckNX8= @@ -642,8 +636,6 @@ github.com/jhump/protoreflect v1.18.0 h1:TOz0MSR/0JOZ5kECB/0ufGnC2jdsgZ123Rd/k4Z github.com/jhump/protoreflect v1.18.0/go.mod h1:ezWcltJIVF4zYdIFM+D/sHV4Oh5LNU08ORzCGfwvTz8= github.com/jhump/protoreflect/v2 v2.0.0-beta.1 h1:Dw1rslK/VotaUGYsv53XVWITr+5RCPXfvvlGrM/+B6w= github.com/jhump/protoreflect/v2 v2.0.0-beta.1/go.mod h1:D9LBEowZyv8/iSu97FU2zmXG3JxVTmNw21mu63niFzU= -github.com/jinzhu/copier v0.4.0 h1:w3ciUoD19shMCRargcpm0cm91ytaBhDvuRpz1ODO/U8= -github.com/jinzhu/copier v0.4.0/go.mod h1:DfbEm0FYsaqBcKcFuvmOZb218JkPGtvSHsKg8S8hyyg= github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= github.com/jmhodges/levigo v1.0.0 h1:q5EC36kV79HWeTBWsod3mG11EgStG3qArTKcvlksN1U= github.com/jmhodges/levigo v1.0.0/go.mod h1:Q6Qx+uH3RAqyK4rFQroq9RL7mdkABMcfhEI+nNuzMJQ= @@ -775,6 +767,8 @@ github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyua github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/pointerstructure v1.2.0 h1:O+i9nHnXS3l/9Wu7r4NrEdwA2VFTicjUEN1uBnDo34A= github.com/mitchellh/pointerstructure v1.2.0/go.mod h1:BRAsLI5zgXmw97Lf6s25bs8ohIXc3tViBH44KcwB2g4= +github.com/mmsqe/cosmos-sdk v0.46.0-beta2.0.20260401014139-cd1820ca51ea h1:ZrmbujQgY+9HsOZ+pPFRV219x3MlmFlkmNHwiyNIehE= +github.com/mmsqe/cosmos-sdk v0.46.0-beta2.0.20260401014139-cd1820ca51ea/go.mod h1:iH4LQxDSImD6nwxmj+dyfUurZy0dlhBjQluMwidHKBE= github.com/moby/sys/user v0.4.0 h1:jhcMKit7SA80hivmFJcbB1vqmw//wU61Zdui2eQXuMs= github.com/moby/sys/user v0.4.0/go.mod h1:bG+tYYYJgaMtRKgEmuueC0hJEAZWwtIbZTB+85uoHjs= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= @@ -1123,8 +1117,6 @@ github.com/urfave/cli v1.22.1 h1:+mkCCcOFKPnCmVYVcURKps1Xe+3zP90gSYGNfRkjoIY= github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= github.com/urfave/cli/v2 v2.27.5 h1:WoHEJLdsXr6dDWoJgMq/CboDmyY/8HMMH1fTECbih+w= github.com/urfave/cli/v2 v2.27.5/go.mod h1:3Sevf16NykTbInEnD0yKkjDAeZDS0A6bzhBH5hrMvTQ= -github.com/vektra/mockery/v2 v2.53.6 h1:qfUB6saauu652ZlMF/mEdlj7B/A0fw2XR0XBACBrf7Y= -github.com/vektra/mockery/v2 v2.53.6/go.mod h1:fjxC+mskIZqf67+z34pHxRRyyZnPnWNA36Cirf01Pkg= github.com/wlynxg/anet v0.0.3/go.mod h1:eay5PRQr7fIVAMbTbchTnO9gG65Hg/uYGdc7mguHxoA= github.com/wlynxg/anet v0.0.5 h1:J3VJGi1gvo0JwZ/P1/Yc/8p63SoW98B5dHkYDmpgvvU= github.com/wlynxg/anet v0.0.5/go.mod h1:eay5PRQr7fIVAMbTbchTnO9gG65Hg/uYGdc7mguHxoA= diff --git a/server/config/config.go b/server/config/config.go index 0cf453637b..cffb9f6b4e 100644 --- a/server/config/config.go +++ b/server/config/config.go @@ -58,16 +58,6 @@ const ( // DefaultEnablePreimageRecording is the default value for EnablePreimageRecording DefaultEnablePreimageRecording = false - // DefaultEVMBlockExecutor is the default transaction executor for block execution. - DefaultEVMBlockExecutor = BlockExecutorBlockSTM - - // DefaultEVMBlockSTMWorkers is the default worker count for block-stm execution. - // 0 means auto-detect based on CPU in the app wiring. - DefaultEVMBlockSTMWorkers = 0 - - // DefaultEVMBlockSTMPreEstimate controls whether block-stm disables pre-estimation by default. - DefaultEVMBlockSTMPreEstimate = false - // DefaultMaxTxGasWanted is the default gas wanted for each eth tx returned in ante handler in check tx mode DefaultMaxTxGasWanted = 0 @@ -136,13 +126,6 @@ const ( var evmTracers = []string{"json", "markdown", "struct", "access_list"} -const ( - BlockExecutorSequential = "sequential" - BlockExecutorBlockSTM = "block-stm" -) - -var blockExecutors = []string{BlockExecutorSequential, BlockExecutorBlockSTM} - // Config defines the server's top level configuration. It includes the default app config // from the SDK as well as the EVM configuration to enable the JSON-RPC APIs. type Config struct { @@ -160,15 +143,8 @@ type EVMConfig struct { Tracer string `mapstructure:"tracer"` // MaxTxGasWanted defines the gas wanted for each eth tx returned in ante handler in check tx mode. MaxTxGasWanted uint64 `mapstructure:"max-tx-gas-wanted"` - // BlockExecutor selects the block transaction execution strategy. - BlockExecutor string `mapstructure:"block-executor"` - // BlockSTMWorkers is the worker count for block-stm execution. - // 0 means auto-detect based on CPU in the app wiring. - BlockSTMWorkers int `mapstructure:"block-stm-workers"` // Enables tracking of SHA3 preimages in the VM EnablePreimageRecording bool `mapstructure:"cache-preimage"` - // BlockSTMPreEstimate enables pre-estimation for block-stm execution. - BlockSTMPreEstimate bool `mapstructure:"block-stm-pre-estimate"` // EVMChainID defines the EIP-155 replay-protection chain ID. EVMChainID uint64 `mapstructure:"evm-chain-id"` // MinTip defines the minimum priority fee for the mempool @@ -317,11 +293,8 @@ func DefaultEVMConfig() *EVMConfig { return &EVMConfig{ Tracer: DefaultEVMTracer, MaxTxGasWanted: DefaultMaxTxGasWanted, - BlockExecutor: DefaultEVMBlockExecutor, - BlockSTMWorkers: DefaultEVMBlockSTMWorkers, EVMChainID: DefaultEVMChainID, EnablePreimageRecording: DefaultEnablePreimageRecording, - BlockSTMPreEstimate: DefaultEVMBlockSTMPreEstimate, MinTip: DefaultEVMMinTip, GethMetricsAddress: DefaultGethMetricsAddress, Mempool: DefaultMempoolConfig(), @@ -334,14 +307,6 @@ func (c EVMConfig) Validate() error { return fmt.Errorf("invalid tracer type %s, available types: %v", c.Tracer, evmTracers) } - if !strings.StringInSlice(c.BlockExecutor, blockExecutors) { - return fmt.Errorf("invalid block executor %q, available types: %v", c.BlockExecutor, blockExecutors) - } - - if c.BlockSTMWorkers < 0 { - return fmt.Errorf("invalid block-stm-workers %d: must be >= 0", c.BlockSTMWorkers) - } - if _, err := netip.ParseAddrPort(c.GethMetricsAddress); err != nil { return fmt.Errorf("invalid geth metrics address %q: %w", c.GethMetricsAddress, err) } diff --git a/server/config/toml.go b/server/config/toml.go index 52930fe3b5..5e32ef9f91 100644 --- a/server/config/toml.go +++ b/server/config/toml.go @@ -16,18 +16,9 @@ tracer = "{{ .EVM.Tracer }}" # MaxTxGasWanted defines the gas wanted for each eth tx returned in ante handler in check tx mode. max-tx-gas-wanted = {{ .EVM.MaxTxGasWanted }} -# BlockExecutor sets block execution mode: "block-stm" or "sequential". -block-executor = "{{ .EVM.BlockExecutor }}" - -# BlockSTMWorkers sets the number of workers for block-stm execution (0 = auto). -block-stm-workers = {{ .EVM.BlockSTMWorkers }} - # EnablePreimageRecording enables tracking of SHA3 preimages in the VM cache-preimage = {{ .EVM.EnablePreimageRecording }} -# BlockSTMPreEstimate is the flag to enable pre-estimation for block-stm execution. -block-stm-pre-estimate = {{ .EVM.BlockSTMPreEstimate }} - # EVMChainID is the EIP-155 compatible replay protection chain ID. This is separate from the Cosmos chain ID. evm-chain-id = {{ .EVM.EVMChainID }} diff --git a/server/flags/flags.go b/server/flags/flags.go index 2a849bed96..2eead2c228 100644 --- a/server/flags/flags.go +++ b/server/flags/flags.go @@ -67,9 +67,6 @@ const ( const ( EVMTracer = "evm.tracer" EVMMaxTxGasWanted = "evm.max-tx-gas-wanted" - EVMBlockExecutor = "evm.block-executor" - EVMBlockSTMWorkers = "evm.block-stm-workers" - EVMBlockSTMPreEstimate = "evm.block-stm-pre-estimate" EVMEnablePreimageRecording = "evm.cache-preimage" EVMChainID = "evm.evm-chain-id" EVMMinTip = "evm.min-tip" diff --git a/server/start.go b/server/start.go index 6df5bb53c5..97ad7cba45 100644 --- a/server/start.go +++ b/server/start.go @@ -219,9 +219,9 @@ which accepts a path for the resulting pprof file. cmd.Flags().String(srvflags.EVMTracer, cosmosevmserverconfig.DefaultEVMTracer, "the EVM tracer type to collect execution traces from the EVM transaction execution (json|struct|access_list|markdown)") //nolint:lll cmd.Flags().Uint64(srvflags.EVMMaxTxGasWanted, cosmosevmserverconfig.DefaultMaxTxGasWanted, "the gas wanted for each eth tx returned in ante handler in check tx mode") //nolint:lll - cmd.Flags().String(srvflags.EVMBlockExecutor, cosmosevmserverconfig.DefaultEVMBlockExecutor, "block executor mode (block-stm|sequential)") - cmd.Flags().Int(srvflags.EVMBlockSTMWorkers, cosmosevmserverconfig.DefaultEVMBlockSTMWorkers, "number of workers for block-stm execution (0 = auto)") - cmd.Flags().Bool(srvflags.EVMBlockSTMPreEstimate, cosmosevmserverconfig.DefaultEVMBlockSTMPreEstimate, "enable pre-estimation for block-stm execution") + cmd.Flags().String(server.FlagBlockExecutor, serverconfig.DefaultBlockExecutor, "block executor mode (block-stm|sequential)") + cmd.Flags().Int(server.FlagBlockSTMWorkers, serverconfig.DefaultBlockSTMWorkers, "number of workers for block-stm execution (0 = auto)") + cmd.Flags().Bool(server.FlagBlockSTMPreEstimate, serverconfig.DefaultBlockSTMPreEstimate, "enable pre-estimation for block-stm execution") cmd.Flags().Bool(srvflags.EVMEnablePreimageRecording, cosmosevmserverconfig.DefaultEnablePreimageRecording, "Enables tracking of SHA3 preimages in the EVM (not implemented yet)") //nolint:lll cmd.Flags().Uint64(srvflags.EVMChainID, cosmosevmserverconfig.DefaultEVMChainID, "the EIP-155 compatible replay protection chain ID") cmd.Flags().Uint64(srvflags.EVMMinTip, cosmosevmserverconfig.DefaultEVMMinTip, "the minimum priority fee for the mempool") From a17d7c7e291a9463a85635ffb96a8b438892e835 Mon Sep 17 00:00:00 2001 From: mmsqe Date: Wed, 27 May 2026 10:33:07 +0800 Subject: [PATCH 4/6] apply --- evmd/app.go | 10 ++----- tests/speedtest/go.mod | 2 ++ tests/speedtest/go.sum | 31 +++++++++++++--------- tests/systemtests/go.mod | 1 + tests/systemtests/go.sum | 31 +++++++++++++--------- testutil/integration/evm/network/config.go | 2 +- x/vm/runner/runner.go | 23 +++++++++++----- 7 files changed, 59 insertions(+), 41 deletions(-) diff --git a/evmd/app.go b/evmd/app.go index 204345c2e2..0a550bb688 100644 --- a/evmd/app.go +++ b/evmd/app.go @@ -5,7 +5,6 @@ import ( "errors" "fmt" "os" - goruntime "runtime" "github.com/ethereum/go-ethereum/common" "github.com/spf13/cast" @@ -61,7 +60,6 @@ import ( "cosmossdk.io/log/v2" "github.com/cosmos/cosmos-sdk/baseapp" - "github.com/cosmos/cosmos-sdk/baseapp/txnrunner" "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/client/flags" "github.com/cosmos/cosmos-sdk/client/grpc/cmtservice" @@ -779,15 +777,11 @@ func NewExampleApp( vmModule.HydrateGlobals(ctx) } - vmrunner.SetRunner(bApp, txnrunner.NewSTMRunner( - txDecoder, - nonTransientKeys, - min(goruntime.GOMAXPROCS(0), goruntime.NumCPU()), - true, + vmrunner.SetRunner(bApp, appOpts, nonTransientKeys, txDecoder, func(ms storetypes.MultiStore) string { return app.EVMKeeper.GetParams(sdk.NewContext(ms, cmtproto.Header{}, false, log.NewNopLogger())).EvmDenom }, - )) + ) return app } diff --git a/tests/speedtest/go.mod b/tests/speedtest/go.mod index 45d69e446a..a73b49192b 100644 --- a/tests/speedtest/go.mod +++ b/tests/speedtest/go.mod @@ -368,3 +368,5 @@ require ( pgregory.net/rapid v1.3.0 // indirect sigs.k8s.io/yaml v1.6.0 // indirect ) + +replace github.com/cosmos/cosmos-sdk => github.com/mmsqe/cosmos-sdk v0.46.0-beta2.0.20260527022414-b046b56da13a diff --git a/tests/speedtest/go.sum b/tests/speedtest/go.sum index 8b598ee030..e95eac59b0 100644 --- a/tests/speedtest/go.sum +++ b/tests/speedtest/go.sum @@ -265,8 +265,6 @@ github.com/cosmos/cosmos-db v1.1.3 h1:7QNT77+vkefostcKkhrzDK9uoIEryzFrU9eoMeaQOP github.com/cosmos/cosmos-db v1.1.3/go.mod h1:kN+wGsnwUJZYn8Sy5Q2O0vCYA99MJllkKASbs6Unb9U= github.com/cosmos/cosmos-proto v1.0.0-beta.5 h1:eNcayDLpip+zVLRLYafhzLvQlSmyab+RC5W7ZfmxJLA= github.com/cosmos/cosmos-proto v1.0.0-beta.5/go.mod h1:hQGLpiIUloJBMdQMMWb/4wRApmI9hjHH05nefC0Ojec= -github.com/cosmos/cosmos-sdk v0.54.3 h1:oUxbIACmHZV13IZXl59y+mIEOCFlUAjXV9p1rqrYcEg= -github.com/cosmos/cosmos-sdk v0.54.3/go.mod h1:Unt21RO+q1EebU6gcUPKYVzpAQSr4KIHjaOmjpz2twA= github.com/cosmos/cosmos-sdk/store/v2 v2.0.0 h1:5CFXBU5cHIvxMpz5QBrTwR5DL/W3uZL2BYYMoDp4siY= github.com/cosmos/cosmos-sdk/store/v2 v2.0.0/go.mod h1:XyRyi5fGjIcokBqS1cyA8/QVbVNy4ui8hmpk1gezuHo= github.com/cosmos/go-bip39 v1.0.0 h1:pcomnQdrdH22njcAatO0yWojsUnCO3y2tNoV1cb6hHY= @@ -577,8 +575,9 @@ github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= -github.com/hashicorp/go-uuid v1.0.1 h1:fv1ep09latC32wFoVwnqcnKJGnMSdBanPczbHAYm1BE= github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go-uuid v1.0.3 h1:2gKiV6YVmrJ1i2CKKa9obLvRieoRGviZFL26PcT/Co8= +github.com/hashicorp/go-uuid v1.0.3/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-version v1.2.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/go-version v1.9.0 h1:CeOIz6k+LoN3qX9Z0tyQrPtiB1DFYRPfCIBtaXPSCnA= github.com/hashicorp/go-version v1.9.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= @@ -604,8 +603,9 @@ github.com/holiman/bloomfilter/v2 v2.0.3/go.mod h1:zpoh+gs7qcpqrHr3dB55AMiJwo0iU github.com/holiman/uint256 v1.3.2 h1:a9EgMPSC1AAaj1SZL5zIQD3WbwTuHrMGOerLjGmM/TA= github.com/holiman/uint256 v1.3.2/go.mod h1:EOMSn4q6Nyt9P6efbI3bueV4e1b3dGlUCXeiRV4ng7E= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= -github.com/huandu/go-assert v1.1.5 h1:fjemmA7sSfYHJD7CUqs9qTwwfdNAx7/j2/ZlHXzNB3c= github.com/huandu/go-assert v1.1.5/go.mod h1:yOLvuqZwmcHIC5rIzrBhT7D3Q9c3GFnd0JrPVhn/06U= +github.com/huandu/go-assert v1.1.6 h1:oaAfYxq9KNDi9qswn/6aE0EydfxSa+tWZC1KabNitYs= +github.com/huandu/go-assert v1.1.6/go.mod h1:JuIfbmYG9ykwvuxoJ3V8TB5QP+3+ajIA54Y44TmkMxs= github.com/huandu/skiplist v1.2.1 h1:dTi93MgjwErA/8idWTzIw4Y1kZsMWx35fmI2c8Rij7w= github.com/huandu/skiplist v1.2.1/go.mod h1:7v3iFjLcSAzO4fN5B8dvebvo/qsfumiLiDXMrPiHF9w= github.com/hudl/fargo v1.3.0/go.mod h1:y3CKSmjA+wD2gak7sUSXTAoopbhU08POFhmITJgmKTg= @@ -636,8 +636,8 @@ github.com/jessevdk/go-flags v0.0.0-20141203071132-1679536dcc89/go.mod h1:4FA24M github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= github.com/jhump/protoreflect v1.18.0 h1:TOz0MSR/0JOZ5kECB/0ufGnC2jdsgZ123Rd/k4Z5/2w= github.com/jhump/protoreflect v1.18.0/go.mod h1:ezWcltJIVF4zYdIFM+D/sHV4Oh5LNU08ORzCGfwvTz8= -github.com/jhump/protoreflect/v2 v2.0.0-beta.1 h1:Dw1rslK/VotaUGYsv53XVWITr+5RCPXfvvlGrM/+B6w= -github.com/jhump/protoreflect/v2 v2.0.0-beta.1/go.mod h1:D9LBEowZyv8/iSu97FU2zmXG3JxVTmNw21mu63niFzU= +github.com/jhump/protoreflect/v2 v2.0.0-beta.2 h1:qZU+rEZUOYTz1Bnhi3xbwn+VxdXkLVeEpAeZzVXLY88= +github.com/jhump/protoreflect/v2 v2.0.0-beta.2/go.mod h1:4tnOYkB/mq7QTyS3YKtVtNrJv4Psqout8HA1U+hZtgM= github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= github.com/jmhodges/levigo v1.0.0 h1:q5EC36kV79HWeTBWsod3mG11EgStG3qArTKcvlksN1U= github.com/jmhodges/levigo v1.0.0/go.mod h1:Q6Qx+uH3RAqyK4rFQroq9RL7mdkABMcfhEI+nNuzMJQ= @@ -713,8 +713,8 @@ github.com/magiconair/properties v1.8.10 h1:s31yESBquKXCV9a/ScB3ESkOjUYYv+X0rg8S github.com/magiconair/properties v1.8.10/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0= github.com/manifoldco/promptui v0.9.0 h1:3V4HzJk1TtXW1MTZMP7mdlwbBpIinw3HztaIlYthEiA= github.com/manifoldco/promptui v0.9.0/go.mod h1:ka04sppxSGFAtxX0qhlYQjISsg9mR4GWtQEhdbn6Pgg= -github.com/marcopolo/simnet v0.0.4 h1:50Kx4hS9kFGSRIbrt9xUS3NJX33EyPqHVmpXvaKLqrY= -github.com/marcopolo/simnet v0.0.4/go.mod h1:tfQF1u2DmaB6WHODMtQaLtClEf3a296CKQLq5gAsIS0= +github.com/marcopolo/simnet v0.0.7 h1:DpH8BMGsF9+1w13L8rvCaAhb6nYJdY+dIXncDrssvUs= +github.com/marcopolo/simnet v0.0.7/go.mod h1:tfQF1u2DmaB6WHODMtQaLtClEf3a296CKQLq5gAsIS0= github.com/marten-seemann/tcp v0.0.0-20210406111302-dfbc87cc63fd h1:br0buuQ854V8u83wA0rVZ8ttrq5CpaPZdvrK0LP2lOk= github.com/marten-seemann/tcp v0.0.0-20210406111302-dfbc87cc63fd/go.mod h1:QuCEs1Nt24+FYQEqAAncTDPJIuGs+LxK1MCiFL25pMU= github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= @@ -761,6 +761,8 @@ github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyua github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/pointerstructure v1.2.1 h1:ZhBBeX8tSlRpu/FFhXH4RC4OJzFlqsQhoHZAz4x7TIw= github.com/mitchellh/pointerstructure v1.2.1/go.mod h1:BRAsLI5zgXmw97Lf6s25bs8ohIXc3tViBH44KcwB2g4= +github.com/mmsqe/cosmos-sdk v0.46.0-beta2.0.20260527022414-b046b56da13a h1:+W8zEs/hrYs++1yyh1apdegfucfqsCkIIJpr7unj+to= +github.com/mmsqe/cosmos-sdk v0.46.0-beta2.0.20260527022414-b046b56da13a/go.mod h1:aCGdP/eq33ygZ2HiJXsnj/7aowowh4II+JjMaQ6GmQg= github.com/moby/sys/user v0.4.0 h1:jhcMKit7SA80hivmFJcbB1vqmw//wU61Zdui2eQXuMs= github.com/moby/sys/user v0.4.0/go.mod h1:bG+tYYYJgaMtRKgEmuueC0hJEAZWwtIbZTB+85uoHjs= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= @@ -811,8 +813,9 @@ github.com/nats-io/nkeys v0.1.3/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxzi github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= -github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= +github.com/nxadm/tail v1.4.11 h1:8feyoE3OzPrcshW5/MJ4sGESc5cqmGkGCWlco4l0bqY= +github.com/nxadm/tail v1.4.11/go.mod h1:OTaG3NK980DZzxbRq6lEuzgU+mug70nY11sMd4JXXHc= github.com/oasisprotocol/curve25519-voi v0.0.0-20251114093237-2ab5a27a1729 h1:yfQ2sO9WJXUAIUR+g7NUkxJSKCAFJcR5sUDu+ZmjTZI= github.com/oasisprotocol/curve25519-voi v0.0.0-20251114093237-2ab5a27a1729/go.mod h1:hVoHR2EVESiICEMbg137etN/Lx+lSrHPTD39Z/uE+2s= github.com/oklog/oklog v0.3.2/go.mod h1:FCV+B7mhrz4o+ueLpx+KqkyXRGMWOYEvfiXtdGtbWGs= @@ -859,8 +862,9 @@ github.com/ory/dockertest v3.3.5+incompatible h1:iLLK6SQwIhcbrG783Dghaaa3WPzGc+4 github.com/ory/dockertest v3.3.5+incompatible/go.mod h1:1vX4m9wsvi00u5bseYwXaSnhNrne+V0E6LAcBILJdPs= github.com/pact-foundation/pact-go v1.0.4/go.mod h1:uExwJY4kCzNPcHRj+hCR/HBbOOIwwtUjcrb0b5/5kLM= github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= -github.com/pascaldekloe/goe v0.1.0 h1:cBOtyMzM9HTpWjXfbbunk26uA6nG3a8n06Wieeh0MwY= github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= +github.com/pascaldekloe/goe v0.1.1 h1:Ah6WQ56rZONR3RW3qWa2NCZ6JAVvSpUcoLBaOmYFt9Q= +github.com/pascaldekloe/goe v0.1.1/go.mod h1:KSyfaxQOh0HZPjDP1FL/kFtbqYqrALJTaMafFUIccqU= github.com/pbnjay/memory v0.0.0-20210728143218-7b4eea64cf58 h1:onHthvaw9LFnH4t2DcNVpwGmV9E1BkGknEliJkfwQj0= github.com/pbnjay/memory v0.0.0-20210728143218-7b4eea64cf58/go.mod h1:DXv8WO4yhMYhSNPKjeNKa5WY9YCIEBRbNzFFPJbWO6Y= github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k= @@ -1011,8 +1015,8 @@ github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPx github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= -github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= -github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= +github.com/sirupsen/logrus v1.9.4 h1:TsZE7l11zFCLZnZ+teH4Umoq5BhEIfIzfRDZ1Uzql2w= +github.com/sirupsen/logrus v1.9.4/go.mod h1:ftWc9WdOfJ0a92nsE2jF5u5ZwH8Bv2zdeOC42RjbV2g= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= @@ -1438,8 +1442,9 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20220517211312-f3a8303e98df h1:5Pf6pFKu98ODmgnpvkJ3kFUOQGGLIzLIkbzUHp47618= golang.org/x/xerrors v0.0.0-20220517211312-f3a8303e98df/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= +golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da h1:noIWHXmPHxILtqtCOPIhSt0ABwskkZKjD3bXGnZGpNY= +golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da/go.mod h1:NDW/Ps6MPRej6fsCIbMTohpP40sJ/P/vI1MoTEGwX90= gonum.org/v1/gonum v0.17.0 h1:VbpOemQlsSMrYmn7T2OUvQ4dqxQXU+ouZFQsZOx50z4= gonum.org/v1/gonum v0.17.0/go.mod h1:El3tOrEuMpv2UdMrbNlKEh9vd86bmQ6vqIcDwxEOc1E= google.golang.org/api v0.3.1/go.mod h1:6wY9I6uQWHQ8EM57III9mq/AjF+i8G65rmVagqKMtkk= diff --git a/tests/systemtests/go.mod b/tests/systemtests/go.mod index f263d163be..6fee27f339 100644 --- a/tests/systemtests/go.mod +++ b/tests/systemtests/go.mod @@ -301,6 +301,7 @@ require ( ) replace ( + github.com/cosmos/cosmos-sdk => github.com/mmsqe/cosmos-sdk v0.46.0-beta2.0.20260527022414-b046b56da13a github.com/cosmos/evm => ../.. github.com/ethereum/go-ethereum => github.com/cosmos/go-ethereum v1.17.2-cosmos-0 ) diff --git a/tests/systemtests/go.sum b/tests/systemtests/go.sum index 4f9897a107..81de7689e5 100644 --- a/tests/systemtests/go.sum +++ b/tests/systemtests/go.sum @@ -228,8 +228,6 @@ github.com/cosmos/cosmos-db v1.1.3 h1:7QNT77+vkefostcKkhrzDK9uoIEryzFrU9eoMeaQOP github.com/cosmos/cosmos-db v1.1.3/go.mod h1:kN+wGsnwUJZYn8Sy5Q2O0vCYA99MJllkKASbs6Unb9U= github.com/cosmos/cosmos-proto v1.0.0-beta.5 h1:eNcayDLpip+zVLRLYafhzLvQlSmyab+RC5W7ZfmxJLA= github.com/cosmos/cosmos-proto v1.0.0-beta.5/go.mod h1:hQGLpiIUloJBMdQMMWb/4wRApmI9hjHH05nefC0Ojec= -github.com/cosmos/cosmos-sdk v0.54.3 h1:oUxbIACmHZV13IZXl59y+mIEOCFlUAjXV9p1rqrYcEg= -github.com/cosmos/cosmos-sdk v0.54.3/go.mod h1:Unt21RO+q1EebU6gcUPKYVzpAQSr4KIHjaOmjpz2twA= github.com/cosmos/cosmos-sdk/store/v2 v2.0.0 h1:5CFXBU5cHIvxMpz5QBrTwR5DL/W3uZL2BYYMoDp4siY= github.com/cosmos/cosmos-sdk/store/v2 v2.0.0/go.mod h1:XyRyi5fGjIcokBqS1cyA8/QVbVNy4ui8hmpk1gezuHo= github.com/cosmos/cosmos-sdk/tools/systemtests v0.0.0-20260505173942-e77c24c3eda7 h1:ohumeEjaD6E0R8lGMz3KdXNKbmb098Zm/Qst+7foKHU= @@ -525,8 +523,9 @@ github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= -github.com/hashicorp/go-uuid v1.0.1 h1:fv1ep09latC32wFoVwnqcnKJGnMSdBanPczbHAYm1BE= github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go-uuid v1.0.3 h1:2gKiV6YVmrJ1i2CKKa9obLvRieoRGviZFL26PcT/Co8= +github.com/hashicorp/go-uuid v1.0.3/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-version v1.2.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/go-version v1.9.0 h1:CeOIz6k+LoN3qX9Z0tyQrPtiB1DFYRPfCIBtaXPSCnA= github.com/hashicorp/go-version v1.9.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= @@ -552,8 +551,9 @@ github.com/holiman/bloomfilter/v2 v2.0.3/go.mod h1:zpoh+gs7qcpqrHr3dB55AMiJwo0iU github.com/holiman/uint256 v1.3.2 h1:a9EgMPSC1AAaj1SZL5zIQD3WbwTuHrMGOerLjGmM/TA= github.com/holiman/uint256 v1.3.2/go.mod h1:EOMSn4q6Nyt9P6efbI3bueV4e1b3dGlUCXeiRV4ng7E= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= -github.com/huandu/go-assert v1.1.5 h1:fjemmA7sSfYHJD7CUqs9qTwwfdNAx7/j2/ZlHXzNB3c= github.com/huandu/go-assert v1.1.5/go.mod h1:yOLvuqZwmcHIC5rIzrBhT7D3Q9c3GFnd0JrPVhn/06U= +github.com/huandu/go-assert v1.1.6 h1:oaAfYxq9KNDi9qswn/6aE0EydfxSa+tWZC1KabNitYs= +github.com/huandu/go-assert v1.1.6/go.mod h1:JuIfbmYG9ykwvuxoJ3V8TB5QP+3+ajIA54Y44TmkMxs= github.com/huandu/skiplist v1.2.1 h1:dTi93MgjwErA/8idWTzIw4Y1kZsMWx35fmI2c8Rij7w= github.com/huandu/skiplist v1.2.1/go.mod h1:7v3iFjLcSAzO4fN5B8dvebvo/qsfumiLiDXMrPiHF9w= github.com/hudl/fargo v1.3.0/go.mod h1:y3CKSmjA+wD2gak7sUSXTAoopbhU08POFhmITJgmKTg= @@ -576,8 +576,8 @@ github.com/jbenet/go-temp-err-catcher v0.1.0 h1:zpb3ZH6wIE8Shj2sKS+khgRvf7T7RABo github.com/jbenet/go-temp-err-catcher v0.1.0/go.mod h1:0kJRvmDZXNMIiJirNPEYfhpPwbGVtZVWC34vc5WLsDk= github.com/jhump/protoreflect v1.18.0 h1:TOz0MSR/0JOZ5kECB/0ufGnC2jdsgZ123Rd/k4Z5/2w= github.com/jhump/protoreflect v1.18.0/go.mod h1:ezWcltJIVF4zYdIFM+D/sHV4Oh5LNU08ORzCGfwvTz8= -github.com/jhump/protoreflect/v2 v2.0.0-beta.1 h1:Dw1rslK/VotaUGYsv53XVWITr+5RCPXfvvlGrM/+B6w= -github.com/jhump/protoreflect/v2 v2.0.0-beta.1/go.mod h1:D9LBEowZyv8/iSu97FU2zmXG3JxVTmNw21mu63niFzU= +github.com/jhump/protoreflect/v2 v2.0.0-beta.2 h1:qZU+rEZUOYTz1Bnhi3xbwn+VxdXkLVeEpAeZzVXLY88= +github.com/jhump/protoreflect/v2 v2.0.0-beta.2/go.mod h1:4tnOYkB/mq7QTyS3YKtVtNrJv4Psqout8HA1U+hZtgM= github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= github.com/jmhodges/levigo v1.0.0 h1:q5EC36kV79HWeTBWsod3mG11EgStG3qArTKcvlksN1U= github.com/jmhodges/levigo v1.0.0/go.mod h1:Q6Qx+uH3RAqyK4rFQroq9RL7mdkABMcfhEI+nNuzMJQ= @@ -651,8 +651,8 @@ github.com/magiconair/properties v1.8.10 h1:s31yESBquKXCV9a/ScB3ESkOjUYYv+X0rg8S github.com/magiconair/properties v1.8.10/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0= github.com/manifoldco/promptui v0.9.0 h1:3V4HzJk1TtXW1MTZMP7mdlwbBpIinw3HztaIlYthEiA= github.com/manifoldco/promptui v0.9.0/go.mod h1:ka04sppxSGFAtxX0qhlYQjISsg9mR4GWtQEhdbn6Pgg= -github.com/marcopolo/simnet v0.0.4 h1:50Kx4hS9kFGSRIbrt9xUS3NJX33EyPqHVmpXvaKLqrY= -github.com/marcopolo/simnet v0.0.4/go.mod h1:tfQF1u2DmaB6WHODMtQaLtClEf3a296CKQLq5gAsIS0= +github.com/marcopolo/simnet v0.0.7 h1:DpH8BMGsF9+1w13L8rvCaAhb6nYJdY+dIXncDrssvUs= +github.com/marcopolo/simnet v0.0.7/go.mod h1:tfQF1u2DmaB6WHODMtQaLtClEf3a296CKQLq5gAsIS0= github.com/marten-seemann/tcp v0.0.0-20210406111302-dfbc87cc63fd h1:br0buuQ854V8u83wA0rVZ8ttrq5CpaPZdvrK0LP2lOk= github.com/marten-seemann/tcp v0.0.0-20210406111302-dfbc87cc63fd/go.mod h1:QuCEs1Nt24+FYQEqAAncTDPJIuGs+LxK1MCiFL25pMU= github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= @@ -696,6 +696,8 @@ github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyua github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/pointerstructure v1.2.0 h1:O+i9nHnXS3l/9Wu7r4NrEdwA2VFTicjUEN1uBnDo34A= github.com/mitchellh/pointerstructure v1.2.0/go.mod h1:BRAsLI5zgXmw97Lf6s25bs8ohIXc3tViBH44KcwB2g4= +github.com/mmsqe/cosmos-sdk v0.46.0-beta2.0.20260527022414-b046b56da13a h1:+W8zEs/hrYs++1yyh1apdegfucfqsCkIIJpr7unj+to= +github.com/mmsqe/cosmos-sdk v0.46.0-beta2.0.20260527022414-b046b56da13a/go.mod h1:aCGdP/eq33ygZ2HiJXsnj/7aowowh4II+JjMaQ6GmQg= github.com/moby/sys/user v0.4.0 h1:jhcMKit7SA80hivmFJcbB1vqmw//wU61Zdui2eQXuMs= github.com/moby/sys/user v0.4.0/go.mod h1:bG+tYYYJgaMtRKgEmuueC0hJEAZWwtIbZTB+85uoHjs= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= @@ -746,8 +748,9 @@ github.com/nats-io/nkeys v0.1.3/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxzi github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= -github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= +github.com/nxadm/tail v1.4.11 h1:8feyoE3OzPrcshW5/MJ4sGESc5cqmGkGCWlco4l0bqY= +github.com/nxadm/tail v1.4.11/go.mod h1:OTaG3NK980DZzxbRq6lEuzgU+mug70nY11sMd4JXXHc= github.com/oasisprotocol/curve25519-voi v0.0.0-20251114093237-2ab5a27a1729 h1:yfQ2sO9WJXUAIUR+g7NUkxJSKCAFJcR5sUDu+ZmjTZI= github.com/oasisprotocol/curve25519-voi v0.0.0-20251114093237-2ab5a27a1729/go.mod h1:hVoHR2EVESiICEMbg137etN/Lx+lSrHPTD39Z/uE+2s= github.com/oklog/oklog v0.3.2/go.mod h1:FCV+B7mhrz4o+ueLpx+KqkyXRGMWOYEvfiXtdGtbWGs= @@ -790,8 +793,9 @@ github.com/ory/dockertest v3.3.5+incompatible h1:iLLK6SQwIhcbrG783Dghaaa3WPzGc+4 github.com/ory/dockertest v3.3.5+incompatible/go.mod h1:1vX4m9wsvi00u5bseYwXaSnhNrne+V0E6LAcBILJdPs= github.com/pact-foundation/pact-go v1.0.4/go.mod h1:uExwJY4kCzNPcHRj+hCR/HBbOOIwwtUjcrb0b5/5kLM= github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= -github.com/pascaldekloe/goe v0.1.0 h1:cBOtyMzM9HTpWjXfbbunk26uA6nG3a8n06Wieeh0MwY= github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= +github.com/pascaldekloe/goe v0.1.1 h1:Ah6WQ56rZONR3RW3qWa2NCZ6JAVvSpUcoLBaOmYFt9Q= +github.com/pascaldekloe/goe v0.1.1/go.mod h1:KSyfaxQOh0HZPjDP1FL/kFtbqYqrALJTaMafFUIccqU= github.com/pbnjay/memory v0.0.0-20210728143218-7b4eea64cf58 h1:onHthvaw9LFnH4t2DcNVpwGmV9E1BkGknEliJkfwQj0= github.com/pbnjay/memory v0.0.0-20210728143218-7b4eea64cf58/go.mod h1:DXv8WO4yhMYhSNPKjeNKa5WY9YCIEBRbNzFFPJbWO6Y= github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k= @@ -938,8 +942,8 @@ github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPx github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= -github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= -github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= +github.com/sirupsen/logrus v1.9.4 h1:TsZE7l11zFCLZnZ+teH4Umoq5BhEIfIzfRDZ1Uzql2w= +github.com/sirupsen/logrus v1.9.4/go.mod h1:ftWc9WdOfJ0a92nsE2jF5u5ZwH8Bv2zdeOC42RjbV2g= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= @@ -1326,8 +1330,9 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20220517211312-f3a8303e98df h1:5Pf6pFKu98ODmgnpvkJ3kFUOQGGLIzLIkbzUHp47618= golang.org/x/xerrors v0.0.0-20220517211312-f3a8303e98df/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= +golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da h1:noIWHXmPHxILtqtCOPIhSt0ABwskkZKjD3bXGnZGpNY= +golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da/go.mod h1:NDW/Ps6MPRej6fsCIbMTohpP40sJ/P/vI1MoTEGwX90= gonum.org/v1/gonum v0.17.0 h1:VbpOemQlsSMrYmn7T2OUvQ4dqxQXU+ouZFQsZOx50z4= gonum.org/v1/gonum v0.17.0/go.mod h1:El3tOrEuMpv2UdMrbNlKEh9vd86bmQ6vqIcDwxEOc1E= google.golang.org/api v0.3.1/go.mod h1:6wY9I6uQWHQ8EM57III9mq/AjF+i8G65rmVagqKMtkk= diff --git a/testutil/integration/evm/network/config.go b/testutil/integration/evm/network/config.go index c49cee1253..70201a7b43 100644 --- a/testutil/integration/evm/network/config.go +++ b/testutil/integration/evm/network/config.go @@ -121,7 +121,7 @@ func WithChainID(chainID testconstants.ChainID) ConfigOption { evmCoinInfo, found := testconstants.ExampleChainCoinInfo[chainID] if !found { panic(fmt.Sprintf( - "chain id %q not found in chain coin info; available: %v", + "chain id %v not found in chain coin info; available: %v", chainID, testconstants.ExampleChainCoinInfo, )) diff --git a/x/vm/runner/runner.go b/x/vm/runner/runner.go index c0e40610d6..1cc083b003 100644 --- a/x/vm/runner/runner.go +++ b/x/vm/runner/runner.go @@ -10,16 +10,27 @@ import ( evmtypes "github.com/cosmos/evm/x/vm/types" "github.com/cosmos/cosmos-sdk/baseapp" + "github.com/cosmos/cosmos-sdk/baseapp/blockexec" + "github.com/cosmos/cosmos-sdk/server/config" + servertypes "github.com/cosmos/cosmos-sdk/server/types" storetypes "github.com/cosmos/cosmos-sdk/store/v2/types" sdk "github.com/cosmos/cosmos-sdk/types" ) -// SetRunner installs inner as bApp's block tx runner, wrapped so -// PatchTxResponses runs once per block. Works for sequential and BlockSTM -// runners alike; the SDK's SetBlockSTMTxRunner name is the same setter for -// both. -func SetRunner(bApp *baseapp.BaseApp, inner sdk.TxRunner) { - bApp.SetBlockSTMTxRunner(Wrap(inner)) +// SetRunner installs the EVM block tx runner: Block-STM with pre-estimate, +// wrapped so PatchTxResponses runs once per block. +func SetRunner( + bApp *baseapp.BaseApp, + appOpts servertypes.AppOptions, + stores []storetypes.StoreKey, + txDecoder sdk.TxDecoder, + coinDenom func(storetypes.MultiStore) string, +) { + blockexec.Apply(bApp, appOpts, stores, txDecoder, coinDenom, + blockexec.WithDefaultExecutor(config.BlockExecutorBlockSTM), + blockexec.WithDefaultPreEstimate(true), + blockexec.WithRunnerWrap(Wrap), + ) } // Wrap returns a TxRunner that delegates to inner and then applies From 8b03ec2605ab54f979f8d1a24fd2d86c00678ad9 Mon Sep 17 00:00:00 2001 From: mmsqe Date: Fri, 29 May 2026 09:24:50 +0800 Subject: [PATCH 5/6] align main behaviour --- evmd/config/config.go | 5 +++++ evmd/go.mod | 2 +- evmd/go.sum | 4 ++-- go.mod | 2 +- go.sum | 4 ++-- server/start.go | 4 ++-- tests/speedtest/go.mod | 2 +- tests/speedtest/go.sum | 4 ++-- tests/systemtests/go.mod | 2 +- tests/systemtests/go.sum | 4 ++-- x/vm/runner/runner.go | 10 ++++++++-- 11 files changed, 27 insertions(+), 16 deletions(-) diff --git a/evmd/config/config.go b/evmd/config/config.go index 3716161229..deb79074a3 100644 --- a/evmd/config/config.go +++ b/evmd/config/config.go @@ -34,6 +34,11 @@ func InitAppConfig(denom string, evmChainID uint64) (string, interface{}) { // In this example application, we set the min gas prices to 0. srvCfg.MinGasPrices = "0" + denom + // Default to Block-STM with pre-estimation, matching historical EVM + // behavior. Operators can override these in app.toml. + srvCfg.BlockExecutor = serverconfig.BlockExecutorBlockSTM + srvCfg.BlockSTMPreEstimate = true + evmCfg := cosmosevmserverconfig.DefaultEVMConfig() evmCfg.EVMChainID = evmChainID diff --git a/evmd/go.mod b/evmd/go.mod index 7bc8f17565..bc04b9957f 100644 --- a/evmd/go.mod +++ b/evmd/go.mod @@ -373,7 +373,7 @@ require ( replace ( // use cosmos fork of keyring github.com/99designs/keyring => github.com/cosmos/keyring v1.2.0 - github.com/cosmos/cosmos-sdk => github.com/mmsqe/cosmos-sdk v0.46.0-beta2.0.20260527022414-b046b56da13a + github.com/cosmos/cosmos-sdk => github.com/mmsqe/cosmos-sdk v0.46.0-beta2.0.20260529012030-18b9c88542cf github.com/cosmos/evm => ../ // use Cosmos geth fork // branch: release/1.17 diff --git a/evmd/go.sum b/evmd/go.sum index ef08dbbb56..57aa3c7977 100644 --- a/evmd/go.sum +++ b/evmd/go.sum @@ -787,8 +787,8 @@ github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyua github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/pointerstructure v1.2.1 h1:ZhBBeX8tSlRpu/FFhXH4RC4OJzFlqsQhoHZAz4x7TIw= github.com/mitchellh/pointerstructure v1.2.1/go.mod h1:BRAsLI5zgXmw97Lf6s25bs8ohIXc3tViBH44KcwB2g4= -github.com/mmsqe/cosmos-sdk v0.46.0-beta2.0.20260527022414-b046b56da13a h1:+W8zEs/hrYs++1yyh1apdegfucfqsCkIIJpr7unj+to= -github.com/mmsqe/cosmos-sdk v0.46.0-beta2.0.20260527022414-b046b56da13a/go.mod h1:aCGdP/eq33ygZ2HiJXsnj/7aowowh4II+JjMaQ6GmQg= +github.com/mmsqe/cosmos-sdk v0.46.0-beta2.0.20260529012030-18b9c88542cf h1:D4s6y1EhX8a4qN1rIMbI9zwPmy4bIorYloPUqfCBO8s= +github.com/mmsqe/cosmos-sdk v0.46.0-beta2.0.20260529012030-18b9c88542cf/go.mod h1:aCGdP/eq33ygZ2HiJXsnj/7aowowh4II+JjMaQ6GmQg= github.com/moby/sys/user v0.4.0 h1:jhcMKit7SA80hivmFJcbB1vqmw//wU61Zdui2eQXuMs= github.com/moby/sys/user v0.4.0/go.mod h1:bG+tYYYJgaMtRKgEmuueC0hJEAZWwtIbZTB+85uoHjs= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= diff --git a/go.mod b/go.mod index a58b105e3f..8f2d2df9c2 100644 --- a/go.mod +++ b/go.mod @@ -375,7 +375,7 @@ require ( replace ( // use cosmos fork of keyring github.com/99designs/keyring => github.com/cosmos/keyring v1.2.0 - github.com/cosmos/cosmos-sdk => github.com/mmsqe/cosmos-sdk v0.46.0-beta2.0.20260527022414-b046b56da13a + github.com/cosmos/cosmos-sdk => github.com/mmsqe/cosmos-sdk v0.46.0-beta2.0.20260529012030-18b9c88542cf // use Cosmos geth fork // branch: release/1.17 github.com/ethereum/go-ethereum => github.com/cosmos/go-ethereum v1.17.2-cosmos-0 diff --git a/go.sum b/go.sum index 5d138a2367..371a087595 100644 --- a/go.sum +++ b/go.sum @@ -776,8 +776,8 @@ github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyua github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/pointerstructure v1.2.1 h1:ZhBBeX8tSlRpu/FFhXH4RC4OJzFlqsQhoHZAz4x7TIw= github.com/mitchellh/pointerstructure v1.2.1/go.mod h1:BRAsLI5zgXmw97Lf6s25bs8ohIXc3tViBH44KcwB2g4= -github.com/mmsqe/cosmos-sdk v0.46.0-beta2.0.20260527022414-b046b56da13a h1:+W8zEs/hrYs++1yyh1apdegfucfqsCkIIJpr7unj+to= -github.com/mmsqe/cosmos-sdk v0.46.0-beta2.0.20260527022414-b046b56da13a/go.mod h1:aCGdP/eq33ygZ2HiJXsnj/7aowowh4II+JjMaQ6GmQg= +github.com/mmsqe/cosmos-sdk v0.46.0-beta2.0.20260529012030-18b9c88542cf h1:D4s6y1EhX8a4qN1rIMbI9zwPmy4bIorYloPUqfCBO8s= +github.com/mmsqe/cosmos-sdk v0.46.0-beta2.0.20260529012030-18b9c88542cf/go.mod h1:aCGdP/eq33ygZ2HiJXsnj/7aowowh4II+JjMaQ6GmQg= github.com/moby/sys/user v0.4.0 h1:jhcMKit7SA80hivmFJcbB1vqmw//wU61Zdui2eQXuMs= github.com/moby/sys/user v0.4.0/go.mod h1:bG+tYYYJgaMtRKgEmuueC0hJEAZWwtIbZTB+85uoHjs= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= diff --git a/server/start.go b/server/start.go index 5620017f42..6b44c5be19 100644 --- a/server/start.go +++ b/server/start.go @@ -224,9 +224,9 @@ which accepts a path for the resulting pprof file. cmd.Flags().String(srvflags.EVMTracer, cosmosevmserverconfig.DefaultEVMTracer, "the EVM tracer type to collect execution traces from the EVM transaction execution (json|struct|access_list|markdown)") //nolint:lll cmd.Flags().Uint64(srvflags.EVMMaxTxGasWanted, cosmosevmserverconfig.DefaultMaxTxGasWanted, "the gas wanted for each eth tx returned in ante handler in check tx mode") //nolint:lll - cmd.Flags().String(server.FlagBlockExecutor, serverconfig.DefaultBlockExecutor, "block executor mode (block-stm|sequential)") + cmd.Flags().String(server.FlagBlockExecutor, serverconfig.BlockExecutorBlockSTM, "block executor mode (block-stm|sequential)") cmd.Flags().Int(server.FlagBlockSTMWorkers, serverconfig.DefaultBlockSTMWorkers, "number of workers for block-stm execution (0 = auto)") - cmd.Flags().Bool(server.FlagBlockSTMPreEstimate, serverconfig.DefaultBlockSTMPreEstimate, "enable pre-estimation for block-stm execution") + cmd.Flags().Bool(server.FlagBlockSTMPreEstimate, true, "enable pre-estimation for block-stm execution") cmd.Flags().Bool(srvflags.EVMEnablePreimageRecording, cosmosevmserverconfig.DefaultEnablePreimageRecording, "Enables tracking of SHA3 preimages in the EVM (not implemented yet)") //nolint:lll cmd.Flags().Uint64(srvflags.EVMChainID, cosmosevmserverconfig.DefaultEVMChainID, "the EIP-155 compatible replay protection chain ID") cmd.Flags().Uint64(srvflags.EVMMinTip, cosmosevmserverconfig.DefaultEVMMinTip, "the minimum priority fee for the mempool") diff --git a/tests/speedtest/go.mod b/tests/speedtest/go.mod index a73b49192b..78d77c2686 100644 --- a/tests/speedtest/go.mod +++ b/tests/speedtest/go.mod @@ -369,4 +369,4 @@ require ( sigs.k8s.io/yaml v1.6.0 // indirect ) -replace github.com/cosmos/cosmos-sdk => github.com/mmsqe/cosmos-sdk v0.46.0-beta2.0.20260527022414-b046b56da13a +replace github.com/cosmos/cosmos-sdk => github.com/mmsqe/cosmos-sdk v0.46.0-beta2.0.20260529012030-18b9c88542cf diff --git a/tests/speedtest/go.sum b/tests/speedtest/go.sum index e95eac59b0..5046fea3e0 100644 --- a/tests/speedtest/go.sum +++ b/tests/speedtest/go.sum @@ -761,8 +761,8 @@ github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyua github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/pointerstructure v1.2.1 h1:ZhBBeX8tSlRpu/FFhXH4RC4OJzFlqsQhoHZAz4x7TIw= github.com/mitchellh/pointerstructure v1.2.1/go.mod h1:BRAsLI5zgXmw97Lf6s25bs8ohIXc3tViBH44KcwB2g4= -github.com/mmsqe/cosmos-sdk v0.46.0-beta2.0.20260527022414-b046b56da13a h1:+W8zEs/hrYs++1yyh1apdegfucfqsCkIIJpr7unj+to= -github.com/mmsqe/cosmos-sdk v0.46.0-beta2.0.20260527022414-b046b56da13a/go.mod h1:aCGdP/eq33ygZ2HiJXsnj/7aowowh4II+JjMaQ6GmQg= +github.com/mmsqe/cosmos-sdk v0.46.0-beta2.0.20260529012030-18b9c88542cf h1:D4s6y1EhX8a4qN1rIMbI9zwPmy4bIorYloPUqfCBO8s= +github.com/mmsqe/cosmos-sdk v0.46.0-beta2.0.20260529012030-18b9c88542cf/go.mod h1:aCGdP/eq33ygZ2HiJXsnj/7aowowh4II+JjMaQ6GmQg= github.com/moby/sys/user v0.4.0 h1:jhcMKit7SA80hivmFJcbB1vqmw//wU61Zdui2eQXuMs= github.com/moby/sys/user v0.4.0/go.mod h1:bG+tYYYJgaMtRKgEmuueC0hJEAZWwtIbZTB+85uoHjs= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= diff --git a/tests/systemtests/go.mod b/tests/systemtests/go.mod index 6fee27f339..a653740376 100644 --- a/tests/systemtests/go.mod +++ b/tests/systemtests/go.mod @@ -301,7 +301,7 @@ require ( ) replace ( - github.com/cosmos/cosmos-sdk => github.com/mmsqe/cosmos-sdk v0.46.0-beta2.0.20260527022414-b046b56da13a + github.com/cosmos/cosmos-sdk => github.com/mmsqe/cosmos-sdk v0.46.0-beta2.0.20260529012030-18b9c88542cf github.com/cosmos/evm => ../.. github.com/ethereum/go-ethereum => github.com/cosmos/go-ethereum v1.17.2-cosmos-0 ) diff --git a/tests/systemtests/go.sum b/tests/systemtests/go.sum index 81de7689e5..6200c2c198 100644 --- a/tests/systemtests/go.sum +++ b/tests/systemtests/go.sum @@ -696,8 +696,8 @@ github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyua github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/pointerstructure v1.2.0 h1:O+i9nHnXS3l/9Wu7r4NrEdwA2VFTicjUEN1uBnDo34A= github.com/mitchellh/pointerstructure v1.2.0/go.mod h1:BRAsLI5zgXmw97Lf6s25bs8ohIXc3tViBH44KcwB2g4= -github.com/mmsqe/cosmos-sdk v0.46.0-beta2.0.20260527022414-b046b56da13a h1:+W8zEs/hrYs++1yyh1apdegfucfqsCkIIJpr7unj+to= -github.com/mmsqe/cosmos-sdk v0.46.0-beta2.0.20260527022414-b046b56da13a/go.mod h1:aCGdP/eq33ygZ2HiJXsnj/7aowowh4II+JjMaQ6GmQg= +github.com/mmsqe/cosmos-sdk v0.46.0-beta2.0.20260529012030-18b9c88542cf h1:D4s6y1EhX8a4qN1rIMbI9zwPmy4bIorYloPUqfCBO8s= +github.com/mmsqe/cosmos-sdk v0.46.0-beta2.0.20260529012030-18b9c88542cf/go.mod h1:aCGdP/eq33ygZ2HiJXsnj/7aowowh4II+JjMaQ6GmQg= github.com/moby/sys/user v0.4.0 h1:jhcMKit7SA80hivmFJcbB1vqmw//wU61Zdui2eQXuMs= github.com/moby/sys/user v0.4.0/go.mod h1:bG+tYYYJgaMtRKgEmuueC0hJEAZWwtIbZTB+85uoHjs= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= diff --git a/x/vm/runner/runner.go b/x/vm/runner/runner.go index 1cc083b003..35ccc0ce32 100644 --- a/x/vm/runner/runner.go +++ b/x/vm/runner/runner.go @@ -17,8 +17,10 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" ) -// SetRunner installs the EVM block tx runner: Block-STM with pre-estimate, -// wrapped so PatchTxResponses runs once per block. +// SetRunner installs the EVM block tx runner, wrapped so PatchTxResponses runs +// once per block. It defaults to Block-STM with pre-estimation enabled; the +// WithDefault* values apply only when appOpts omits the setting (e.g. tests), +// otherwise the flag and app.toml value win. func SetRunner( bApp *baseapp.BaseApp, appOpts servertypes.AppOptions, @@ -55,3 +57,7 @@ func (r *patchingRunner) Run( } return evmtypes.PatchTxResponses(results) } + +// Unwrap exposes the underlying runner so BaseApp's parallel-execution guards +// can see through the wrapper. +func (r *patchingRunner) Unwrap() sdk.TxRunner { return r.inner } From d96bcaebe6c8e6d15d0b453624582f8f21cbad9b Mon Sep 17 00:00:00 2001 From: mmsqe Date: Fri, 5 Jun 2026 23:48:51 +0800 Subject: [PATCH 6/6] bump deps --- evmd/go.mod | 5 ++--- evmd/go.sum | 4 ++-- go.mod | 5 ++--- go.sum | 4 ++-- tests/speedtest/go.mod | 6 ++---- tests/speedtest/go.sum | 4 ++-- tests/systemtests/go.mod | 5 ++--- tests/systemtests/go.sum | 4 ++-- 8 files changed, 16 insertions(+), 21 deletions(-) diff --git a/evmd/go.mod b/evmd/go.mod index bc04b9957f..c30f0f11e0 100644 --- a/evmd/go.mod +++ b/evmd/go.mod @@ -1,6 +1,6 @@ module github.com/cosmos/evm/evmd -go 1.26.3 +go 1.26.4 require ( cosmossdk.io/api v1.0.0 @@ -12,7 +12,7 @@ require ( cosmossdk.io/tools/confix v0.1.2 github.com/cometbft/cometbft v0.39.3 github.com/cosmos/cosmos-db v1.1.3 - github.com/cosmos/cosmos-sdk v0.54.3 + github.com/cosmos/cosmos-sdk v0.54.4-0.20260605153940-cc1e364cdb94 github.com/cosmos/cosmos-sdk/store/v2 v2.0.0 github.com/cosmos/evm v0.2.0 github.com/cosmos/gogoproto v1.7.2 @@ -373,7 +373,6 @@ require ( replace ( // use cosmos fork of keyring github.com/99designs/keyring => github.com/cosmos/keyring v1.2.0 - github.com/cosmos/cosmos-sdk => github.com/mmsqe/cosmos-sdk v0.46.0-beta2.0.20260529012030-18b9c88542cf github.com/cosmos/evm => ../ // use Cosmos geth fork // branch: release/1.17 diff --git a/evmd/go.sum b/evmd/go.sum index 57aa3c7977..d1a7b1de93 100644 --- a/evmd/go.sum +++ b/evmd/go.sum @@ -273,6 +273,8 @@ github.com/cosmos/cosmos-db v1.1.3 h1:7QNT77+vkefostcKkhrzDK9uoIEryzFrU9eoMeaQOP github.com/cosmos/cosmos-db v1.1.3/go.mod h1:kN+wGsnwUJZYn8Sy5Q2O0vCYA99MJllkKASbs6Unb9U= github.com/cosmos/cosmos-proto v1.0.0-beta.5 h1:eNcayDLpip+zVLRLYafhzLvQlSmyab+RC5W7ZfmxJLA= github.com/cosmos/cosmos-proto v1.0.0-beta.5/go.mod h1:hQGLpiIUloJBMdQMMWb/4wRApmI9hjHH05nefC0Ojec= +github.com/cosmos/cosmos-sdk v0.54.4-0.20260605153940-cc1e364cdb94 h1:NnBy3/dNQeI6b98FWQDj4MYeRTN1jG7BMyEJ1zQAGwY= +github.com/cosmos/cosmos-sdk v0.54.4-0.20260605153940-cc1e364cdb94/go.mod h1:692aLE1NgRv/U/jrfT2eBSaKgmFKlsFajUqGkv/gFmk= github.com/cosmos/cosmos-sdk/store/v2 v2.0.0 h1:5CFXBU5cHIvxMpz5QBrTwR5DL/W3uZL2BYYMoDp4siY= github.com/cosmos/cosmos-sdk/store/v2 v2.0.0/go.mod h1:XyRyi5fGjIcokBqS1cyA8/QVbVNy4ui8hmpk1gezuHo= github.com/cosmos/go-bip39 v1.0.0 h1:pcomnQdrdH22njcAatO0yWojsUnCO3y2tNoV1cb6hHY= @@ -787,8 +789,6 @@ github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyua github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/pointerstructure v1.2.1 h1:ZhBBeX8tSlRpu/FFhXH4RC4OJzFlqsQhoHZAz4x7TIw= github.com/mitchellh/pointerstructure v1.2.1/go.mod h1:BRAsLI5zgXmw97Lf6s25bs8ohIXc3tViBH44KcwB2g4= -github.com/mmsqe/cosmos-sdk v0.46.0-beta2.0.20260529012030-18b9c88542cf h1:D4s6y1EhX8a4qN1rIMbI9zwPmy4bIorYloPUqfCBO8s= -github.com/mmsqe/cosmos-sdk v0.46.0-beta2.0.20260529012030-18b9c88542cf/go.mod h1:aCGdP/eq33ygZ2HiJXsnj/7aowowh4II+JjMaQ6GmQg= github.com/moby/sys/user v0.4.0 h1:jhcMKit7SA80hivmFJcbB1vqmw//wU61Zdui2eQXuMs= github.com/moby/sys/user v0.4.0/go.mod h1:bG+tYYYJgaMtRKgEmuueC0hJEAZWwtIbZTB+85uoHjs= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= diff --git a/go.mod b/go.mod index 8f2d2df9c2..5a8c0a37c8 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module github.com/cosmos/evm -go 1.26.3 +go 1.26.4 require ( cosmossdk.io/api v1.0.0 @@ -14,7 +14,7 @@ require ( github.com/cometbft/cometbft v0.39.3 github.com/cosmos/cosmos-db v1.1.3 github.com/cosmos/cosmos-proto v1.0.0-beta.5 - github.com/cosmos/cosmos-sdk v0.54.3 + github.com/cosmos/cosmos-sdk v0.54.4-0.20260605153940-cc1e364cdb94 github.com/cosmos/cosmos-sdk/store/v2 v2.0.0 github.com/cosmos/go-bip39 v1.0.0 github.com/cosmos/gogoproto v1.7.2 @@ -375,7 +375,6 @@ require ( replace ( // use cosmos fork of keyring github.com/99designs/keyring => github.com/cosmos/keyring v1.2.0 - github.com/cosmos/cosmos-sdk => github.com/mmsqe/cosmos-sdk v0.46.0-beta2.0.20260529012030-18b9c88542cf // use Cosmos geth fork // branch: release/1.17 github.com/ethereum/go-ethereum => github.com/cosmos/go-ethereum v1.17.2-cosmos-0 diff --git a/go.sum b/go.sum index 371a087595..2fded6548e 100644 --- a/go.sum +++ b/go.sum @@ -269,6 +269,8 @@ github.com/cosmos/cosmos-db v1.1.3 h1:7QNT77+vkefostcKkhrzDK9uoIEryzFrU9eoMeaQOP github.com/cosmos/cosmos-db v1.1.3/go.mod h1:kN+wGsnwUJZYn8Sy5Q2O0vCYA99MJllkKASbs6Unb9U= github.com/cosmos/cosmos-proto v1.0.0-beta.5 h1:eNcayDLpip+zVLRLYafhzLvQlSmyab+RC5W7ZfmxJLA= github.com/cosmos/cosmos-proto v1.0.0-beta.5/go.mod h1:hQGLpiIUloJBMdQMMWb/4wRApmI9hjHH05nefC0Ojec= +github.com/cosmos/cosmos-sdk v0.54.4-0.20260605153940-cc1e364cdb94 h1:NnBy3/dNQeI6b98FWQDj4MYeRTN1jG7BMyEJ1zQAGwY= +github.com/cosmos/cosmos-sdk v0.54.4-0.20260605153940-cc1e364cdb94/go.mod h1:692aLE1NgRv/U/jrfT2eBSaKgmFKlsFajUqGkv/gFmk= github.com/cosmos/cosmos-sdk/store/v2 v2.0.0 h1:5CFXBU5cHIvxMpz5QBrTwR5DL/W3uZL2BYYMoDp4siY= github.com/cosmos/cosmos-sdk/store/v2 v2.0.0/go.mod h1:XyRyi5fGjIcokBqS1cyA8/QVbVNy4ui8hmpk1gezuHo= github.com/cosmos/go-bip39 v1.0.0 h1:pcomnQdrdH22njcAatO0yWojsUnCO3y2tNoV1cb6hHY= @@ -776,8 +778,6 @@ github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyua github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/pointerstructure v1.2.1 h1:ZhBBeX8tSlRpu/FFhXH4RC4OJzFlqsQhoHZAz4x7TIw= github.com/mitchellh/pointerstructure v1.2.1/go.mod h1:BRAsLI5zgXmw97Lf6s25bs8ohIXc3tViBH44KcwB2g4= -github.com/mmsqe/cosmos-sdk v0.46.0-beta2.0.20260529012030-18b9c88542cf h1:D4s6y1EhX8a4qN1rIMbI9zwPmy4bIorYloPUqfCBO8s= -github.com/mmsqe/cosmos-sdk v0.46.0-beta2.0.20260529012030-18b9c88542cf/go.mod h1:aCGdP/eq33ygZ2HiJXsnj/7aowowh4II+JjMaQ6GmQg= github.com/moby/sys/user v0.4.0 h1:jhcMKit7SA80hivmFJcbB1vqmw//wU61Zdui2eQXuMs= github.com/moby/sys/user v0.4.0/go.mod h1:bG+tYYYJgaMtRKgEmuueC0hJEAZWwtIbZTB+85uoHjs= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= diff --git a/tests/speedtest/go.mod b/tests/speedtest/go.mod index 78d77c2686..b465299430 100644 --- a/tests/speedtest/go.mod +++ b/tests/speedtest/go.mod @@ -1,6 +1,6 @@ module github.com/cosmos/evm/tests/speedtest -go 1.26.3 +go 1.26.4 replace ( github.com/cosmos/evm => ../../ @@ -13,7 +13,7 @@ replace ( require ( cosmossdk.io/log/v2 v2.1.0 github.com/cosmos/cosmos-db v1.1.3 - github.com/cosmos/cosmos-sdk v0.54.3 + github.com/cosmos/cosmos-sdk v0.54.4-0.20260605153940-cc1e364cdb94 github.com/cosmos/evm v0.2.0 github.com/cosmos/evm/evmd v0.0.0-20251112193856-d450ea1d6bd0 github.com/ethereum/go-ethereum v1.16.8 @@ -368,5 +368,3 @@ require ( pgregory.net/rapid v1.3.0 // indirect sigs.k8s.io/yaml v1.6.0 // indirect ) - -replace github.com/cosmos/cosmos-sdk => github.com/mmsqe/cosmos-sdk v0.46.0-beta2.0.20260529012030-18b9c88542cf diff --git a/tests/speedtest/go.sum b/tests/speedtest/go.sum index 5046fea3e0..efdc956b68 100644 --- a/tests/speedtest/go.sum +++ b/tests/speedtest/go.sum @@ -265,6 +265,8 @@ github.com/cosmos/cosmos-db v1.1.3 h1:7QNT77+vkefostcKkhrzDK9uoIEryzFrU9eoMeaQOP github.com/cosmos/cosmos-db v1.1.3/go.mod h1:kN+wGsnwUJZYn8Sy5Q2O0vCYA99MJllkKASbs6Unb9U= github.com/cosmos/cosmos-proto v1.0.0-beta.5 h1:eNcayDLpip+zVLRLYafhzLvQlSmyab+RC5W7ZfmxJLA= github.com/cosmos/cosmos-proto v1.0.0-beta.5/go.mod h1:hQGLpiIUloJBMdQMMWb/4wRApmI9hjHH05nefC0Ojec= +github.com/cosmos/cosmos-sdk v0.54.4-0.20260605153940-cc1e364cdb94 h1:NnBy3/dNQeI6b98FWQDj4MYeRTN1jG7BMyEJ1zQAGwY= +github.com/cosmos/cosmos-sdk v0.54.4-0.20260605153940-cc1e364cdb94/go.mod h1:692aLE1NgRv/U/jrfT2eBSaKgmFKlsFajUqGkv/gFmk= github.com/cosmos/cosmos-sdk/store/v2 v2.0.0 h1:5CFXBU5cHIvxMpz5QBrTwR5DL/W3uZL2BYYMoDp4siY= github.com/cosmos/cosmos-sdk/store/v2 v2.0.0/go.mod h1:XyRyi5fGjIcokBqS1cyA8/QVbVNy4ui8hmpk1gezuHo= github.com/cosmos/go-bip39 v1.0.0 h1:pcomnQdrdH22njcAatO0yWojsUnCO3y2tNoV1cb6hHY= @@ -761,8 +763,6 @@ github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyua github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/pointerstructure v1.2.1 h1:ZhBBeX8tSlRpu/FFhXH4RC4OJzFlqsQhoHZAz4x7TIw= github.com/mitchellh/pointerstructure v1.2.1/go.mod h1:BRAsLI5zgXmw97Lf6s25bs8ohIXc3tViBH44KcwB2g4= -github.com/mmsqe/cosmos-sdk v0.46.0-beta2.0.20260529012030-18b9c88542cf h1:D4s6y1EhX8a4qN1rIMbI9zwPmy4bIorYloPUqfCBO8s= -github.com/mmsqe/cosmos-sdk v0.46.0-beta2.0.20260529012030-18b9c88542cf/go.mod h1:aCGdP/eq33ygZ2HiJXsnj/7aowowh4II+JjMaQ6GmQg= github.com/moby/sys/user v0.4.0 h1:jhcMKit7SA80hivmFJcbB1vqmw//wU61Zdui2eQXuMs= github.com/moby/sys/user v0.4.0/go.mod h1:bG+tYYYJgaMtRKgEmuueC0hJEAZWwtIbZTB+85uoHjs= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= diff --git a/tests/systemtests/go.mod b/tests/systemtests/go.mod index a653740376..840f264e60 100644 --- a/tests/systemtests/go.mod +++ b/tests/systemtests/go.mod @@ -1,11 +1,11 @@ module github.com/cosmos/evm/tests/systemtests -go 1.26.3 +go 1.26.4 require ( cosmossdk.io/math v1.5.3 github.com/cometbft/cometbft v0.39.3 - github.com/cosmos/cosmos-sdk v0.54.3 + github.com/cosmos/cosmos-sdk v0.54.4-0.20260605153940-cc1e364cdb94 github.com/cosmos/cosmos-sdk/tools/systemtests v0.0.0-20260505173942-e77c24c3eda7 github.com/cosmos/evm v0.5.0-rc.0 github.com/creachadair/tomledit v0.0.29 @@ -301,7 +301,6 @@ require ( ) replace ( - github.com/cosmos/cosmos-sdk => github.com/mmsqe/cosmos-sdk v0.46.0-beta2.0.20260529012030-18b9c88542cf github.com/cosmos/evm => ../.. github.com/ethereum/go-ethereum => github.com/cosmos/go-ethereum v1.17.2-cosmos-0 ) diff --git a/tests/systemtests/go.sum b/tests/systemtests/go.sum index 6200c2c198..9b726ac83b 100644 --- a/tests/systemtests/go.sum +++ b/tests/systemtests/go.sum @@ -228,6 +228,8 @@ github.com/cosmos/cosmos-db v1.1.3 h1:7QNT77+vkefostcKkhrzDK9uoIEryzFrU9eoMeaQOP github.com/cosmos/cosmos-db v1.1.3/go.mod h1:kN+wGsnwUJZYn8Sy5Q2O0vCYA99MJllkKASbs6Unb9U= github.com/cosmos/cosmos-proto v1.0.0-beta.5 h1:eNcayDLpip+zVLRLYafhzLvQlSmyab+RC5W7ZfmxJLA= github.com/cosmos/cosmos-proto v1.0.0-beta.5/go.mod h1:hQGLpiIUloJBMdQMMWb/4wRApmI9hjHH05nefC0Ojec= +github.com/cosmos/cosmos-sdk v0.54.4-0.20260605153940-cc1e364cdb94 h1:NnBy3/dNQeI6b98FWQDj4MYeRTN1jG7BMyEJ1zQAGwY= +github.com/cosmos/cosmos-sdk v0.54.4-0.20260605153940-cc1e364cdb94/go.mod h1:692aLE1NgRv/U/jrfT2eBSaKgmFKlsFajUqGkv/gFmk= github.com/cosmos/cosmos-sdk/store/v2 v2.0.0 h1:5CFXBU5cHIvxMpz5QBrTwR5DL/W3uZL2BYYMoDp4siY= github.com/cosmos/cosmos-sdk/store/v2 v2.0.0/go.mod h1:XyRyi5fGjIcokBqS1cyA8/QVbVNy4ui8hmpk1gezuHo= github.com/cosmos/cosmos-sdk/tools/systemtests v0.0.0-20260505173942-e77c24c3eda7 h1:ohumeEjaD6E0R8lGMz3KdXNKbmb098Zm/Qst+7foKHU= @@ -696,8 +698,6 @@ github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyua github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/pointerstructure v1.2.0 h1:O+i9nHnXS3l/9Wu7r4NrEdwA2VFTicjUEN1uBnDo34A= github.com/mitchellh/pointerstructure v1.2.0/go.mod h1:BRAsLI5zgXmw97Lf6s25bs8ohIXc3tViBH44KcwB2g4= -github.com/mmsqe/cosmos-sdk v0.46.0-beta2.0.20260529012030-18b9c88542cf h1:D4s6y1EhX8a4qN1rIMbI9zwPmy4bIorYloPUqfCBO8s= -github.com/mmsqe/cosmos-sdk v0.46.0-beta2.0.20260529012030-18b9c88542cf/go.mod h1:aCGdP/eq33ygZ2HiJXsnj/7aowowh4II+JjMaQ6GmQg= github.com/moby/sys/user v0.4.0 h1:jhcMKit7SA80hivmFJcbB1vqmw//wU61Zdui2eQXuMs= github.com/moby/sys/user v0.4.0/go.mod h1:bG+tYYYJgaMtRKgEmuueC0hJEAZWwtIbZTB+85uoHjs= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=