diff --git a/baseapp/baseapp.go b/baseapp/baseapp.go index 287a2a1563d0..7dc62450c11f 100644 --- a/baseapp/baseapp.go +++ b/baseapp/baseapp.go @@ -158,7 +158,7 @@ func NewBaseApp( logger: logger, name: name, db: db, - cms: store.NewCommitMultiStore(db), + cms: store.NewCommitMultiStoreWithLogger(db, logger), storeLoader: DefaultStoreLoader, grpcQueryRouter: NewGRPCQueryRouter(), msgServiceRouter: NewMsgServiceRouter(), diff --git a/client/pruning/main.go b/client/pruning/main.go index b5064cb4b5d0..5fe8343ea308 100644 --- a/client/pruning/main.go +++ b/client/pruning/main.go @@ -127,6 +127,7 @@ Supported app-db-backend types include 'goleveldb', 'rocksdb', 'pebbledb'.`, } cmd.Println("successfully pruned the application root multi stores") + cmd.Flags().Uint64(server.FlagHeight, 1, `the height to begin with`) return nil }, } diff --git a/go.mod b/go.mod index f4ffa11e5325..eb13e786e7d8 100644 --- a/go.mod +++ b/go.mod @@ -1,4 +1,4 @@ -go 1.19 +go 1.20 module github.com/cosmos/cosmos-sdk @@ -186,8 +186,7 @@ require ( replace ( // use cosmos fork of keyring github.com/99designs/keyring => github.com/cosmos/keyring v1.2.0 - // use cometbft - github.com/cometbft/cometbft => github.com/Genuine-labs/terra-classic-cometbft v0.37.4-classic + github.com/cometbft/cometbft => github.com/classic-terra/cometbft v0.37.4-classic // dgrijalva/jwt-go is deprecated and doesn't receive security updates. // TODO: remove it: https://github.com/cosmos/cosmos-sdk/issues/13134 github.com/dgrijalva/jwt-go => github.com/golang-jwt/jwt/v4 v4.4.2 @@ -201,17 +200,3 @@ replace ( // stick with compatible version of rapid in v0.47.x line pgregory.net/rapid => pgregory.net/rapid v0.5.5 ) - -retract ( - // revert fix https://github.com/cosmos/cosmos-sdk/pull/16331 - v0.46.12 - // subject to a bug in the group module and gov module migration - [v0.46.5, v0.46.6] - // subject to the dragonberry vulnerability - // and/or the bank coin metadata migration issue - [v0.46.0, v0.46.4] - // subject to the dragonberry vulnerability - [v0.45.0, v0.45.8] - // do not use - v0.43.0 -) diff --git a/go.sum b/go.sum index a13596c19388..8a7f04169c97 100644 --- a/go.sum +++ b/go.sum @@ -210,8 +210,6 @@ github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03 github.com/ChainSafe/go-schnorrkel v1.0.0 h1:3aDA67lAykLaG1y3AOjs88dMxC88PgUuHRrLeDnvGIM= github.com/ChainSafe/go-schnorrkel v1.0.0/go.mod h1:dpzHYVxLZcp8pjlV+O+UR8K0Hp/z7vcchBSbMBEhCw4= github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= -github.com/Genuine-labs/terra-classic-cometbft v0.37.4-classic h1:5H71cZIH1aLbebs83K2Q5pv2FWIIU7YTA2/5dxne7jg= -github.com/Genuine-labs/terra-classic-cometbft v0.37.4-classic/go.mod h1:Cmg5Hp4sNpapm7j+x0xRyt2g0juQfmB752ous+pA0G8= github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0= github.com/Microsoft/go-winio v0.6.0 h1:slsWYD/zyx7lCXoZVlvQrj0hPTM1HI4+v1sIda2yDvg= github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5 h1:TngWCqHvy9oXAN6lEVMRuU21PR1EtLVZJmdB18Gu3Rw= @@ -289,6 +287,8 @@ github.com/chzyer/test v1.0.0 h1:p3BQDXSxOhOG0P9z6/hGnII4LGiEPOYBhs8asl/fC04= github.com/chzyer/test v1.0.0/go.mod h1:2JlltgoNkt4TW/z9V/IzDdFaMTM2JPIi26O1pF38GC8= github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod h1:nmEj6Dob7S7YxXgwXpfOuvO54S+tGdZdw9fuRZt25Ag= github.com/circonus-labs/circonusllhist v0.1.3/go.mod h1:kMXHVDlOchFAehlya5ePtbp5jckzBHf4XRpQvBOLI+I= +github.com/classic-terra/cometbft v0.37.4-classic h1:7HfuM/VfD7hBTIiF/pCWsyH6gh9YrsD05Xv1TErEwN8= +github.com/classic-terra/cometbft v0.37.4-classic/go.mod h1:Cmg5Hp4sNpapm7j+x0xRyt2g0juQfmB752ous+pA0G8= github.com/clbanning/x2j v0.0.0-20191024224557-825249438eec/go.mod h1:jMjuTZXRI4dUb/I5gc9Hdhagfvm9+RyrPryS/auMzxE= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= diff --git a/server/start.go b/server/start.go index 2837f65ada09..a008fa06ce24 100644 --- a/server/start.go +++ b/server/start.go @@ -204,6 +204,7 @@ is performed. Note, when enabled, gRPC will also be automatically enabled. cmd.Flags().Uint64(FlagStateSyncSnapshotInterval, 0, "State sync snapshot interval") cmd.Flags().Uint32(FlagStateSyncSnapshotKeepRecent, 2, "State sync snapshot to keep") + // TODO: Should we disable by default? cmd.Flags().Bool(FlagDisableIAVLFastNode, true, "Disable fast node for IAVL tree") cmd.Flags().Int(FlagMempoolMaxTxs, mempool.DefaultMaxTx, "Sets MaxTx value for the app-side mempool") diff --git a/simapp/go.mod b/simapp/go.mod index abd5cef6a776..3141a00119a8 100644 --- a/simapp/go.mod +++ b/simapp/go.mod @@ -1,6 +1,6 @@ module cosmossdk.io/simapp -go 1.19 +go 1.20 require ( cosmossdk.io/api v0.3.1 @@ -180,6 +180,7 @@ require ( replace ( // use cosmos fork of keyring github.com/99designs/keyring => github.com/cosmos/keyring v1.2.0 + github.com/cometbft/cometbft => github.com/classic-terra/cometbft v0.37.3-0.20240308104225-9f5ce8b85c1b // Simapp always use the latest version of the cosmos-sdk github.com/cosmos/cosmos-sdk => ../. // Fix upstream GHSA-h395-qcrw-5vmq and GHSA-3vp4-m3rf-835h vulnerabilities. diff --git a/simapp/go.sum b/simapp/go.sum index 14693c0f9177..cf827fd7ae9b 100644 --- a/simapp/go.sum +++ b/simapp/go.sum @@ -286,6 +286,8 @@ github.com/chzyer/test v1.0.0 h1:p3BQDXSxOhOG0P9z6/hGnII4LGiEPOYBhs8asl/fC04= github.com/chzyer/test v1.0.0/go.mod h1:2JlltgoNkt4TW/z9V/IzDdFaMTM2JPIi26O1pF38GC8= github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod h1:nmEj6Dob7S7YxXgwXpfOuvO54S+tGdZdw9fuRZt25Ag= github.com/circonus-labs/circonusllhist v0.1.3/go.mod h1:kMXHVDlOchFAehlya5ePtbp5jckzBHf4XRpQvBOLI+I= +github.com/classic-terra/cometbft v0.37.3-0.20240308104225-9f5ce8b85c1b h1:x0holP0dCb0W6GnUzVAsAaHPp6pirupf0Po/f7uJ0QE= +github.com/classic-terra/cometbft v0.37.3-0.20240308104225-9f5ce8b85c1b/go.mod h1:Cmg5Hp4sNpapm7j+x0xRyt2g0juQfmB752ous+pA0G8= github.com/clbanning/x2j v0.0.0-20191024224557-825249438eec/go.mod h1:jMjuTZXRI4dUb/I5gc9Hdhagfvm9+RyrPryS/auMzxE= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= @@ -309,8 +311,6 @@ github.com/cockroachdb/redact v1.1.5/go.mod h1:BVNblN9mBWFyMyqK1k3AAiSxhvhfK2oOZ github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= github.com/coinbase/rosetta-sdk-go/types v1.0.0 h1:jpVIwLcPoOeCR6o1tU+Xv7r5bMONNbHU7MuEHboiFuA= github.com/coinbase/rosetta-sdk-go/types v1.0.0/go.mod h1:eq7W2TMRH22GTW0N0beDnN931DW0/WOI1R2sdHNHG4c= -github.com/cometbft/cometbft v0.37.4 h1:xyvvEqlyfK8MgNIIKVJaMsuIp03wxOcFmVkT26+Ikpg= -github.com/cometbft/cometbft v0.37.4/go.mod h1:Cmg5Hp4sNpapm7j+x0xRyt2g0juQfmB752ous+pA0G8= github.com/cometbft/cometbft-db v0.8.0 h1:vUMDaH3ApkX8m0KZvOFFy9b5DZHBAjsnEuo9AKVZpjo= github.com/cometbft/cometbft-db v0.8.0/go.mod h1:6ASCP4pfhmrCBpfk01/9E1SI29nD3HfVHrY4PG8x5c0= github.com/confio/ics23/go v0.9.0 h1:cWs+wdbS2KRPZezoaaj+qBleXgUk5WOQFMP3CQFGTr4= diff --git a/store/rootmulti/store.go b/store/rootmulti/store.go index 97517c39777d..83514c86e561 100644 --- a/store/rootmulti/store.go +++ b/store/rootmulti/store.go @@ -36,6 +36,7 @@ const ( commitInfoKeyFmt = "s/%d" // s/ ) +// TODO: really true? const iavlDisablefastNodeDefault = true // keysForStoreKeyMap returns a slice of keys for the provided map lexically sorted by StoreKey.Name() @@ -636,6 +637,7 @@ func (rs *Store) PruneStores(clearPruningManager bool, pruningHeights []int64) ( continue } + rs.logger.Debug("pruning store", "store", key) store = rs.GetCommitKVStore(key) err := store.(*iavl.Store).DeleteVersions(pruningHeights...) diff --git a/store/store.go b/store/store.go index d70ad54ee4d6..0b090ae3add6 100644 --- a/store/store.go +++ b/store/store.go @@ -13,6 +13,10 @@ func NewCommitMultiStore(db dbm.DB) types.CommitMultiStore { return rootmulti.NewStore(db, log.NewNopLogger()) } +func NewCommitMultiStoreWithLogger(db dbm.DB, logger log.Logger) types.CommitMultiStore { + return rootmulti.NewStore(db, logger) +} + func NewCommitKVStoreCacheManager() types.MultiStorePersistentCache { return cache.NewCommitKVStoreCacheManager(cache.DefaultCommitKVStoreCacheSize) }