Skip to content

Commit 8b2c8a1

Browse files
committed
fix(app): RootMultiStore interface and version mismatch(backport:#1179)
update memival,store,versondb related prs crypto-org-chain/cronos#1684 crypto-org-chain/cronos#1685 crypto-org-chain/cronos#1688 (Do not include versionDB.SetSkipVersionZero(true) in app.go) crypto-org-chain/cronos#1751 crypto-org-chain/cronos#1759 (note: Do not include cronos storeloader and upgrades) note: I don't use this. crypto-org-chain/cronos#1780 because it update rocksdbs from version 9.2.1 to 9.11.2
1 parent bcd5bcb commit 8b2c8a1

File tree

7 files changed

+98
-17
lines changed

7 files changed

+98
-17
lines changed

.github/workflows/test.yml

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
name: Tests
2+
on:
3+
pull_request:
4+
push:
5+
branches:
6+
- master
7+
- release/**
8+
9+
concurrency:
10+
group: ${{ github.workflow }}-${{ github.ref }}
11+
cancel-in-progress: true
12+
13+
jobs:
14+
test-versiondb:
15+
runs-on: ubuntu-latest
16+
steps:
17+
- uses: actions/setup-go@v3
18+
with:
19+
go-version: 1.22
20+
check-latest: true
21+
- uses: actions/checkout@v4
22+
- name: Install RocksDB Dependencies
23+
run: |
24+
sudo apt-get update
25+
sudo apt-get -y install -y build-essential libsnappy-dev zlib1g-dev libbz2-dev libgflags-dev liblz4-dev libzstd-dev cmake
26+
- name: Build and Install RocksDB
27+
run: |
28+
git clone https://github.com/facebook/rocksdb.git
29+
cd rocksdb
30+
git checkout v9.2.1
31+
mkdir build && cd build
32+
cmake .. -DCMAKE_BUILD_TYPE=Release -DWITH_SNAPPY=ON -DWITH_LZ4=ON -DWITH_ZLIB=ON -DWITH_ZSTD=ON
33+
sudo make -j4
34+
sudo make install
35+
- uses: technote-space/[email protected]
36+
with:
37+
PATTERNS: |
38+
**/**.sol
39+
**/**.go
40+
go.mod
41+
go.sum
42+
- name: Test and Create Coverage Report
43+
run: |
44+
export COSMOS_BUILD_OPTIONS=rocksdb
45+
make test-versiondb
46+
if: env.GIT_DIFF

Makefile

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -177,6 +177,10 @@ test-sim-after-import:
177177
@echo "Running application simulation-after-import. This may take several minutes..."
178178
@$(BINDIR)/runsim -Jobs=4 -SimAppPkg=$(SIMAPP) -ExitOnFail 50 5 TestAppSimulationAfterImport
179179

180+
test-versiondb:
181+
@echo "Running test-versiondb..."
182+
@go test -tags "rocksdb $(test_tags)" -mod=readonly $(SIMAPP) -run TestVersionDB
183+
180184
###############################################################################
181185
### Localnet ###
182186
###############################################################################

app/app.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -193,10 +193,12 @@ var (
193193
_ servertypes.Application = (*ChainApp)(nil)
194194
)
195195

196+
// RootMultiStore this is source from https://github.com/crypto-org-chain/cosmos-sdk/blob/release/v0.50.x/store/types/store.go
196197
type RootMultiStore interface {
197198
storetypes.MultiStore
198199

199-
LoadLatestVersion() error
200+
// LatestVersion returns the latest version in the store
201+
LatestVersion() int64
200202
}
201203

202204
// ChainApp extends an ABCI application, but with most of its parameters exported.
@@ -460,7 +462,7 @@ func New(
460462
govKeeper.SetLegacyRouter(govRouter)
461463
app.GovKeeper = *govKeeper.SetHooks(
462464
govtypes.NewMultiGovHooks(
463-
// register the governance hooks
465+
// register the governance hooks
464466
),
465467
)
466468

app/versiondb_test.go

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
//go:build rocksdb
2+
// +build rocksdb
3+
4+
package app_test
5+
6+
import (
7+
"testing"
8+
9+
dbm "github.com/cosmos/cosmos-db"
10+
"github.com/crypto-org-chain/chain-main/v4/app"
11+
12+
"cosmossdk.io/log"
13+
14+
"github.com/cosmos/cosmos-sdk/client/flags"
15+
"github.com/cosmos/cosmos-sdk/server"
16+
simtestutil "github.com/cosmos/cosmos-sdk/testutil/sims"
17+
simcli "github.com/cosmos/cosmos-sdk/x/simulation/client/cli"
18+
)
19+
20+
func TestVersionDB(t *testing.T) {
21+
db := dbm.NewMemDB()
22+
23+
appOptions := make(simtestutil.AppOptionsMap, 0)
24+
appOptions[flags.FlagHome] = app.DefaultNodeHome
25+
appOptions[server.FlagInvCheckPeriod] = simcli.FlagPeriodValue
26+
appOptions["versiondb.enable"] = true
27+
logger := log.NewNopLogger()
28+
_ = app.New(logger, db, nil, false, appOptions, nil...)
29+
}

go.mod

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -221,9 +221,9 @@ require (
221221
)
222222

223223
replace (
224-
github.com/crypto-org-chain/cronos/memiavl => github.com/crypto-org-chain/cronos/memiavl v0.0.5-0.20241028093154-0f94930c27ce
225-
github.com/crypto-org-chain/cronos/store => github.com/crypto-org-chain/cronos/store v0.0.5-0.20241028093154-0f94930c27ce
226-
github.com/crypto-org-chain/cronos/versiondb => github.com/crypto-org-chain/cronos/versiondb v0.0.0-20241028093154-0f94930c27ce
224+
github.com/crypto-org-chain/cronos/memiavl => github.com/crypto-org-chain/cronos/memiavl v0.0.5-0.20250305073811-995046a21efb
225+
github.com/crypto-org-chain/cronos/store => github.com/crypto-org-chain/cronos/store v0.0.5-0.20250305073811-995046a21efb
226+
github.com/crypto-org-chain/cronos/versiondb => github.com/crypto-org-chain/cronos/versiondb v0.0.0-20250305073811-995046a21efb
227227
)
228228

229229
replace (

go.sum

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -455,12 +455,12 @@ github.com/creachadair/tomledit v0.0.24 h1:5Xjr25R2esu1rKCbQEmjZYlrhFkDspoAbAKb6
455455
github.com/creachadair/tomledit v0.0.24/go.mod h1:9qHbShRWQzSCcn617cMzg4eab1vbLCOjOshAWSzWr8U=
456456
github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY=
457457
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
458-
github.com/crypto-org-chain/cronos/memiavl v0.0.5-0.20241028093154-0f94930c27ce h1:yRF9Zsk4fzVBhBQEjkA4oE+Q3Q/Kgaj/UX4gK+xwaAs=
459-
github.com/crypto-org-chain/cronos/memiavl v0.0.5-0.20241028093154-0f94930c27ce/go.mod h1:IyRvgFKOQPC/Qdx543PGl6WgeDOU+hWdv+xLz3stotc=
460-
github.com/crypto-org-chain/cronos/store v0.0.5-0.20241028093154-0f94930c27ce h1:g6ltW2J6W10pp8poYCfjUwVkzHy2izh7/71EvUXRgjM=
461-
github.com/crypto-org-chain/cronos/store v0.0.5-0.20241028093154-0f94930c27ce/go.mod h1:p+VxW2n9j8ojLreWScnqoDHyxGPRjI0ytkMMG5xh9o0=
462-
github.com/crypto-org-chain/cronos/versiondb v0.0.0-20241028093154-0f94930c27ce h1:d2TZ+oXM6+qpQhM0800lUKrK5p/BmcDXUi1/Xo2LIho=
463-
github.com/crypto-org-chain/cronos/versiondb v0.0.0-20241028093154-0f94930c27ce/go.mod h1:Y1uyFhZn/8jZkZfr3W/alzrO3DfcfWPuA3UwCM0Ah0g=
458+
github.com/crypto-org-chain/cronos/memiavl v0.0.5-0.20250305073811-995046a21efb h1:fvn8JUhIx+9mbdcsv6RV8eEHPgYuIblfTSWWCGlzIm4=
459+
github.com/crypto-org-chain/cronos/memiavl v0.0.5-0.20250305073811-995046a21efb/go.mod h1:/7T/7E/u7KfEZUCiktYdPLke7NjZVEbRf9qukn12TIU=
460+
github.com/crypto-org-chain/cronos/store v0.0.5-0.20250305073811-995046a21efb h1:5YrjdC8proOb9g0cImpQJL6x8765xYV5JCaC1rGEoRY=
461+
github.com/crypto-org-chain/cronos/store v0.0.5-0.20250305073811-995046a21efb/go.mod h1:sBd1Tm9gxgbhM5/P8x0Foior2oXoaJDKPUb009Ico1s=
462+
github.com/crypto-org-chain/cronos/versiondb v0.0.0-20250305073811-995046a21efb h1:D9QvDZOQKcYJaCStgg3Slz5S+VdKRzP0ZCwvL+dYsKo=
463+
github.com/crypto-org-chain/cronos/versiondb v0.0.0-20250305073811-995046a21efb/go.mod h1:3fjlBj7G0+zNiU2GZjSfGsVHqnZu9/9YIvFAZpEi0Ro=
464464
github.com/cyberdelia/templates v0.0.0-20141128023046-ca7fffd4298c/go.mod h1:GyV+0YP4qX0UQ7r2MoYZ+AvYDp12OF5yg4q8rGnyNh4=
465465
github.com/danieljoos/wincred v1.1.2 h1:QLdCxFs1/Yl4zduvBdcHB8goaYk9RARS2SgLLRuAyr0=
466466
github.com/danieljoos/wincred v1.1.2/go.mod h1:GijpziifJoIBfYh+S7BbkdUTU4LfM+QnGqR5Vl2tAx0=

gomod2nix.toml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -192,16 +192,16 @@ schema = 3
192192
version = "v0.0.24"
193193
hash = "sha256-4vUukHONOjNn0qfQr4esK6TWfPWsIp+rbdz65og84lw="
194194
[mod."github.com/crypto-org-chain/cronos/memiavl"]
195-
version = "v0.0.5-0.20241028093154-0f94930c27ce"
196-
hash = "sha256-F7tPkSvfW8ZbURrK5uvQ9kB1h3uKRfiQyEYql3J1Q6k="
195+
version = "v0.0.5-0.20250305073811-995046a21efb"
196+
hash = "sha256-2iGJ1ibSXcBAor4qu5iv0VXK6aMyRIB24+xF3T28odU="
197197
replaced = "github.com/crypto-org-chain/cronos/memiavl"
198198
[mod."github.com/crypto-org-chain/cronos/store"]
199-
version = "v0.0.5-0.20241028093154-0f94930c27ce"
200-
hash = "sha256-S5INWggeFs1vBrcuVyWyS34C5I2ux+NLJ+czqQqKzUc="
199+
version = "v0.0.5-0.20250305073811-995046a21efb"
200+
hash = "sha256-j+JfESP1cGmtY8kvLJXzSFr2DmhCIF6zj9DWIygIdW4="
201201
replaced = "github.com/crypto-org-chain/cronos/store"
202202
[mod."github.com/crypto-org-chain/cronos/versiondb"]
203-
version = "v0.0.0-20241028093154-0f94930c27ce"
204-
hash = "sha256-dVXYagl8K+JMrIt6dqcoQTjUwwMCqrMmAfpIZimWlyE="
203+
version = "v0.0.0-20250305073811-995046a21efb"
204+
hash = "sha256-sIkqihphEhBq3WUvhQmLL1WcE2Dl6a0eKDYPrxD2nG8="
205205
replaced = "github.com/crypto-org-chain/cronos/versiondb"
206206
[mod."github.com/danieljoos/wincred"]
207207
version = "v1.1.2"

0 commit comments

Comments
 (0)