From 552f18a961faceec06eba6a8268396ef3af4e620 Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Fri, 2 Aug 2024 16:41:57 +0200 Subject: [PATCH] refactor(server/v2/cometbft): Consensus get `chain-id` from viper (backport #21116) (#21164) Co-authored-by: Hieu Vu <72878483+hieuvubk@users.noreply.github.com> Co-authored-by: Julien Robert --- server/v2/cometbft/abci.go | 3 ++- server/v2/cometbft/go.mod | 2 +- server/v2/cometbft/go.sum | 6 ++++-- server/v2/cometbft/server.go | 17 +++++++++++++++++ simapp/v2/go.mod | 2 +- simapp/v2/go.sum | 4 ++-- 6 files changed, 27 insertions(+), 7 deletions(-) diff --git a/server/v2/cometbft/abci.go b/server/v2/cometbft/abci.go index 372886792e..7519b3d8c7 100644 --- a/server/v2/cometbft/abci.go +++ b/server/v2/cometbft/abci.go @@ -74,6 +74,7 @@ func NewConsensus[T transaction.Tx]( store types.Store, cfg Config, txCodec transaction.Codec[T], + chainId string, ) *Consensus[T] { return &Consensus[T]{ appName: appName, @@ -93,7 +94,7 @@ func NewConsensus[T transaction.Tx]( processProposalHandler: nil, verifyVoteExt: nil, extendVote: nil, - chainID: "", + chainID: chainId, indexedEvents: indexedEvents, initialHeight: 0, } diff --git a/server/v2/cometbft/go.mod b/server/v2/cometbft/go.mod index 9de2b2e272..def8ada2d5 100644 --- a/server/v2/cometbft/go.mod +++ b/server/v2/cometbft/go.mod @@ -20,7 +20,7 @@ require ( cosmossdk.io/core v0.12.1-0.20240802064046-23fac2f1b8ab // main cosmossdk.io/errors v1.0.1 cosmossdk.io/log v1.3.1 - cosmossdk.io/server/v2 v2.0.0-20240731205446-aee9803a0af6 // main + cosmossdk.io/server/v2 v2.0.0-20240802142126-a26970e547ab // main cosmossdk.io/server/v2/appmanager v0.0.0-20240731205446-aee9803a0af6 // main cosmossdk.io/store/v2 v2.0.0-20240731205446-aee9803a0af6 // main cosmossdk.io/x/consensus v0.0.0-00010101000000-000000000000 diff --git a/server/v2/cometbft/go.sum b/server/v2/cometbft/go.sum index 3a7475918d..d3805ae00c 100644 --- a/server/v2/cometbft/go.sum +++ b/server/v2/cometbft/go.sum @@ -24,8 +24,8 @@ cosmossdk.io/math v1.3.0 h1:RC+jryuKeytIiictDslBP9i1fhkVm6ZDmZEoNP316zE= cosmossdk.io/math v1.3.0/go.mod h1:vnRTxewy+M7BtXBNFybkuhSH4WfedVAAnERHgVFhp3k= cosmossdk.io/schema v0.1.1 h1:I0M6pgI7R10nq+/HCQfbO6BsGBZA8sQy+duR1Y3aKcA= cosmossdk.io/schema v0.1.1/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= -cosmossdk.io/server/v2 v2.0.0-20240731205446-aee9803a0af6 h1:r2BXi/s99Mq1ShLmP4QTlcUbMvVPKTMQztSbevu6Xeo= -cosmossdk.io/server/v2 v2.0.0-20240731205446-aee9803a0af6/go.mod h1:alRmtz2gedZe+goFHbNjkBPNTkShFW6HEeXiyT7hdHM= +cosmossdk.io/server/v2 v2.0.0-20240802142126-a26970e547ab h1:6IGp/R/6D4NZT+MKIoM2OkmxZG4UFh32HgwN7mYynvk= +cosmossdk.io/server/v2 v2.0.0-20240802142126-a26970e547ab/go.mod h1:alRmtz2gedZe+goFHbNjkBPNTkShFW6HEeXiyT7hdHM= cosmossdk.io/server/v2/appmanager v0.0.0-20240731205446-aee9803a0af6 h1:vrHmVjfEjEwQh90dim272gYq7OFILg4Yrv3XzreMpe4= cosmossdk.io/server/v2/appmanager v0.0.0-20240731205446-aee9803a0af6/go.mod h1:Xm5IOSjw45Sew7fiVckaTCIU5oQPs20V+54NOqR3H4o= cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc h1:R9O9d75e0qZYUsVV0zzi+D7cNLnX2JrUOQNoIPaF0Bg= @@ -337,6 +337,8 @@ github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/ github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= +github.com/mattn/go-sqlite3 v1.14.22 h1:2gZY6PC6kBnID23Tichd1K+Z0oS6nE/XwU+Vz/5o4kU= +github.com/mattn/go-sqlite3 v1.14.22/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxUwlHK0RXw+Y= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= github.com/minio/highwayhash v1.0.2 h1:Aak5U0nElisjDCfPSG79Tgzkn2gl66NxOMspRrKnA/g= github.com/minio/highwayhash v1.0.2/go.mod h1:BQskDq+xkJ12lmlUUi7U0M5Swg3EWR+dLTk+kldvVxY= diff --git a/server/v2/cometbft/server.go b/server/v2/cometbft/server.go index c85a241566..c06c56c9be 100644 --- a/server/v2/cometbft/server.go +++ b/server/v2/cometbft/server.go @@ -5,6 +5,7 @@ import ( "crypto/sha256" "encoding/json" "fmt" + "os" "path/filepath" abciserver "github.com/cometbft/cometbft/abci/server" @@ -68,6 +69,21 @@ func (s *CometBFTServer[T]) Init(appI serverv2.AppI[T], v *viper.Viper, logger l AppTomlConfig: appTomlConfig, } + chainID := v.GetString(FlagChainID) + if chainID == "" { + // fallback to genesis chain-id + reader, err := os.Open(filepath.Join(v.GetString(serverv2.FlagHome), "config", "genesis.json")) + if err != nil { + panic(err) + } + defer reader.Close() + + chainID, err = genutiltypes.ParseChainIDFromGenesis(reader) + if err != nil { + panic(fmt.Errorf("failed to parse chain-id from genesis file: %w", err)) + } + } + indexEvents := make(map[string]struct{}, len(s.config.AppTomlConfig.IndexEvents)) for _, e := range s.config.AppTomlConfig.IndexEvents { indexEvents[e] = struct{}{} @@ -86,6 +102,7 @@ func (s *CometBFTServer[T]) Init(appI serverv2.AppI[T], v *viper.Viper, logger l store, s.config, s.initTxCodec, + chainID, ) consensus.prepareProposalHandler = s.serverOptions.PrepareProposalHandler consensus.processProposalHandler = s.serverOptions.ProcessProposalHandler diff --git a/simapp/v2/go.mod b/simapp/v2/go.mod index 9f6f6ae5d5..94c5358729 100644 --- a/simapp/v2/go.mod +++ b/simapp/v2/go.mod @@ -11,7 +11,7 @@ require ( cosmossdk.io/log v1.3.1 cosmossdk.io/math v1.3.0 cosmossdk.io/runtime/v2 v2.0.0-20240801110532-c55e8d71014b // main - cosmossdk.io/server/v2 v2.0.0-20240731205446-aee9803a0af6 // main + cosmossdk.io/server/v2 v2.0.0-20240802142126-a26970e547ab // main cosmossdk.io/server/v2/cometbft v0.0.0-00010101000000-000000000000 cosmossdk.io/store/v2 v2.0.0-20240731205446-aee9803a0af6 // indirect; main cosmossdk.io/tools/confix v0.0.0-00010101000000-000000000000 diff --git a/simapp/v2/go.sum b/simapp/v2/go.sum index 4739d74cc4..5dda0a10ee 100644 --- a/simapp/v2/go.sum +++ b/simapp/v2/go.sum @@ -214,8 +214,8 @@ cosmossdk.io/runtime/v2 v2.0.0-20240801110532-c55e8d71014b h1:1xgRbIPLToBCoclz8I cosmossdk.io/runtime/v2 v2.0.0-20240801110532-c55e8d71014b/go.mod h1:08wVxHFbXSjlB0JUxTxdtLihqSj8rf8k6FuF4tJUJUU= cosmossdk.io/schema v0.1.1 h1:I0M6pgI7R10nq+/HCQfbO6BsGBZA8sQy+duR1Y3aKcA= cosmossdk.io/schema v0.1.1/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= -cosmossdk.io/server/v2 v2.0.0-20240731205446-aee9803a0af6 h1:r2BXi/s99Mq1ShLmP4QTlcUbMvVPKTMQztSbevu6Xeo= -cosmossdk.io/server/v2 v2.0.0-20240731205446-aee9803a0af6/go.mod h1:alRmtz2gedZe+goFHbNjkBPNTkShFW6HEeXiyT7hdHM= +cosmossdk.io/server/v2 v2.0.0-20240802142126-a26970e547ab h1:6IGp/R/6D4NZT+MKIoM2OkmxZG4UFh32HgwN7mYynvk= +cosmossdk.io/server/v2 v2.0.0-20240802142126-a26970e547ab/go.mod h1:alRmtz2gedZe+goFHbNjkBPNTkShFW6HEeXiyT7hdHM= cosmossdk.io/server/v2/appmanager v0.0.0-20240731205446-aee9803a0af6 h1:vrHmVjfEjEwQh90dim272gYq7OFILg4Yrv3XzreMpe4= cosmossdk.io/server/v2/appmanager v0.0.0-20240731205446-aee9803a0af6/go.mod h1:Xm5IOSjw45Sew7fiVckaTCIU5oQPs20V+54NOqR3H4o= cosmossdk.io/server/v2/stf v0.0.0-20240731205446-aee9803a0af6 h1:F8yfqCf1cAwuZZnIxinmzr/2nmLjhK9K/BJfBjW3nJ0=