Skip to content

Commit 37b689b

Browse files
committed
deps: use patched iavl v1 version v1.2.0-kava.1
includes patches for: * fixed initial version of added KVStores * expose DeleteVersionsFrom on MutableTree patches are published here: https://github.com/Kava-Labs/kava-patches/tree/19bf1a78805a33fe7a27044f2b03dc3ce1d90392/iavl-v1.2
1 parent 0b6493b commit 37b689b

File tree

7 files changed

+26
-19
lines changed

7 files changed

+26
-19
lines changed

go.mod

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -195,6 +195,7 @@ replace (
195195
// Use cometbft fork of tendermint
196196
github.com/cometbft/cometbft => github.com/kava-labs/cometbft v0.37.4-kava.1
197197
github.com/cometbft/cometbft-db => github.com/kava-labs/cometbft-db v0.9.1-kava.1
198+
github.com/cosmos/iavl => github.com/kava-labs/iavl v1.2.0-kava.1
198199
// dgrijalva/jwt-go is deprecated and doesn't receive security updates.
199200
// TODO: remove it: https://github.com/cosmos/cosmos-sdk/issues/13134
200201
github.com/dgrijalva/jwt-go => github.com/golang-jwt/jwt/v4 v4.4.2

go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -348,8 +348,6 @@ github.com/cosmos/gogogateway v1.2.0/go.mod h1:iQpLkGWxYcnCdz5iAdLcRBSw3h7NXeOkZ
348348
github.com/cosmos/gogoproto v1.4.2/go.mod h1:cLxOsn1ljAHSV527CHOtaIP91kK6cCrZETRBrkzItWU=
349349
github.com/cosmos/gogoproto v1.4.10 h1:QH/yT8X+c0F4ZDacDv3z+xE3WU1P1Z3wQoLMBRJoKuI=
350350
github.com/cosmos/gogoproto v1.4.10/go.mod h1:3aAZzeRWpAwr+SS/LLkICX2/kDFyaYVzckBDzygIxek=
351-
github.com/cosmos/iavl v1.0.0 h1:bw6t0Mv/mVCJvlMTOPHWLs5uUE3BRBfVWCRelOzl+so=
352-
github.com/cosmos/iavl v1.0.0/go.mod h1:CmTGqMnRnucjxbjduneZXT+0vPgNElYvdefjX2q9tYc=
353351
github.com/cosmos/ics23/go v0.10.0 h1:iXqLLgp2Lp+EdpIuwXTYIQU+AiHj9mOC2X9ab++bZDM=
354352
github.com/cosmos/ics23/go v0.10.0/go.mod h1:ZfJSmng/TBNTBkFemHHHj5YY7VAU/MBU980F4VU1NG0=
355353
github.com/cosmos/keyring v1.2.0 h1:8C1lBP9xhImmIabyXW4c3vFjjLiBdGCmfLUfeZlV1Yo=
@@ -707,6 +705,8 @@ github.com/kava-labs/cometbft v0.37.4-kava.1 h1:QRuyBieWdUBpe4pcXgzu1SdMH2lkTaqX
707705
github.com/kava-labs/cometbft v0.37.4-kava.1/go.mod h1:Cmg5Hp4sNpapm7j+x0xRyt2g0juQfmB752ous+pA0G8=
708706
github.com/kava-labs/cometbft-db v0.9.1-kava.1 h1:0KmSPdXYdRp6TsgKuMxRnMZCMEGC5ysIVjuJddYr4tw=
709707
github.com/kava-labs/cometbft-db v0.9.1-kava.1/go.mod h1:iliyWaoV0mRwBJoizElCwwRA9Tf7jZJOURcRZF9m60U=
708+
github.com/kava-labs/iavl v1.2.0-kava.1 h1:HPme3nVrR25XshEFDckMg6fp0tVfpAjTi32/5Iiyuzk=
709+
github.com/kava-labs/iavl v1.2.0-kava.1/go.mod h1:HidWWLVAtODJqFD6Hbne2Y0q3SdxByJepHUOeoH4LiI=
710710
github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q=
711711
github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00=
712712
github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=

store/cache/cache_test.go

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import (
77
"cosmossdk.io/log"
88
dbm "github.com/cometbft/cometbft-db"
99
"github.com/cosmos/iavl"
10+
iavldb "github.com/cosmos/iavl/db"
1011
"github.com/stretchr/testify/require"
1112

1213
"github.com/cosmos/cosmos-sdk/store/cache"
@@ -21,7 +22,7 @@ func TestGetOrSetStoreCache(t *testing.T) {
2122
mngr := cache.NewCommitKVStoreCacheManager(cache.DefaultCommitKVStoreCacheSize)
2223

2324
sKey := types.NewKVStoreKey("test")
24-
tree := iavl.NewMutableTree(db, 100, false, log.NewNopLogger())
25+
tree := iavl.NewMutableTree(iavldb.NewWrapper(db), 100, false, log.NewNopLogger())
2526
store := iavlstore.UnsafeNewStore(tree)
2627
store2 := mngr.GetStoreCache(sKey, store)
2728

@@ -34,7 +35,7 @@ func TestUnwrap(t *testing.T) {
3435
mngr := cache.NewCommitKVStoreCacheManager(cache.DefaultCommitKVStoreCacheSize)
3536

3637
sKey := types.NewKVStoreKey("test")
37-
tree := iavl.NewMutableTree(db, 100, false, log.NewNopLogger())
38+
tree := iavl.NewMutableTree(iavldb.NewWrapper(db), 100, false, log.NewNopLogger())
3839
store := iavlstore.UnsafeNewStore(tree)
3940
_ = mngr.GetStoreCache(sKey, store)
4041

@@ -47,7 +48,7 @@ func TestStoreCache(t *testing.T) {
4748
mngr := cache.NewCommitKVStoreCacheManager(cache.DefaultCommitKVStoreCacheSize)
4849

4950
sKey := types.NewKVStoreKey("test")
50-
tree := iavl.NewMutableTree(db, 100, false, log.NewNopLogger())
51+
tree := iavl.NewMutableTree(iavldb.NewWrapper(db), 100, false, log.NewNopLogger())
5152
store := iavlstore.UnsafeNewStore(tree)
5253
kvStore := mngr.GetStoreCache(sKey, store)
5354

@@ -73,7 +74,7 @@ func TestReset(t *testing.T) {
7374
mngr := cache.NewCommitKVStoreCacheManager(cache.DefaultCommitKVStoreCacheSize)
7475

7576
sKey := types.NewKVStoreKey("test")
76-
tree := iavl.NewMutableTree(db, 100, false, log.NewNopLogger())
77+
tree := iavl.NewMutableTree(iavldb.NewWrapper(db), 100, false, log.NewNopLogger())
7778
store := iavlstore.UnsafeNewStore(tree)
7879
store2 := mngr.GetStoreCache(sKey, store)
7980

@@ -93,7 +94,7 @@ func TestCacheWrap(t *testing.T) {
9394
mngr := cache.NewCommitKVStoreCacheManager(cache.DefaultCommitKVStoreCacheSize)
9495

9596
sKey := types.NewKVStoreKey("test")
96-
tree := iavl.NewMutableTree(db, 100, false, log.NewNopLogger())
97+
tree := iavl.NewMutableTree(iavldb.NewWrapper(db), 100, false, log.NewNopLogger())
9798
store := iavlstore.UnsafeNewStore(tree)
9899

99100
cacheWrapper := mngr.GetStoreCache(sKey, store).CacheWrap()

store/iavl/store.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import (
1313
tmcrypto "github.com/cometbft/cometbft/proto/tendermint/crypto"
1414
ics23 "github.com/confio/ics23/go"
1515
"github.com/cosmos/iavl"
16+
iavldb "github.com/cosmos/iavl/db"
1617

1718
"github.com/cosmos/cosmos-sdk/store/cachekv"
1819
pruningtypes "github.com/cosmos/cosmos-sdk/store/pruning/types"
@@ -54,7 +55,8 @@ func LoadStore(db dbm.DB, logger log.Logger, key types.StoreKey, id types.Commit
5455
// provided DB. An error is returned if the version fails to load, or if called with a positive
5556
// version on an empty tree.
5657
func LoadStoreWithInitialVersion(db dbm.DB, logger log.Logger, key types.StoreKey, id types.CommitID, lazyLoading bool, initialVersion uint64, cacheSize int, disableFastNode bool) (types.CommitKVStore, error) {
57-
tree := iavl.NewMutableTree(wrapper.NewCosmosDB(db), cacheSize, disableFastNode, clog.NewNopLogger(), iavl.InitialVersionOption(initialVersion))
58+
cosmosdb := wrapper.NewCosmosDB(db)
59+
tree := iavl.NewMutableTree(iavldb.NewWrapper(cosmosdb), cacheSize, disableFastNode, clog.NewNopLogger(), iavl.InitialVersionOption(initialVersion))
5860

5961
isUpgradeable, err := tree.IsUpgradeable()
6062
if err != nil {

store/iavl/store_test.go

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import (
1313
abci "github.com/cometbft/cometbft/abci/types"
1414
cmlog "github.com/cometbft/cometbft/libs/log"
1515
"github.com/cosmos/iavl"
16+
iavldb "github.com/cosmos/iavl/db"
1617
"github.com/stretchr/testify/require"
1718

1819
"github.com/cosmos/cosmos-sdk/store/types"
@@ -37,7 +38,7 @@ func randBytes(numBytes int) []byte {
3738
// make a tree with data from above and save it
3839
func newAlohaTree(t *testing.T, db dbm.DB) (*iavl.MutableTree, types.CommitID) {
3940
dbt := wrapper.NewCosmosDB(db)
40-
tree := iavl.NewMutableTree(dbt, cacheSize, false, log.NewNopLogger())
41+
tree := iavl.NewMutableTree(iavldb.NewWrapper(dbt), cacheSize, false, log.NewNopLogger())
4142

4243
for k, v := range treeData {
4344
tree.Set([]byte(k), []byte(v))
@@ -283,7 +284,7 @@ func TestIAVLIterator(t *testing.T) {
283284

284285
func TestIAVLReverseIterator(t *testing.T) {
285286
db := wrapper.NewCosmosDB(dbm.NewMemDB())
286-
tree := iavl.NewMutableTree(db, cacheSize, false, log.NewNopLogger())
287+
tree := iavl.NewMutableTree(iavldb.NewWrapper(db), cacheSize, false, log.NewNopLogger())
287288

288289
iavlStore := UnsafeNewStore(tree)
289290

@@ -315,7 +316,7 @@ func TestIAVLReverseIterator(t *testing.T) {
315316

316317
func TestIAVLPrefixIterator(t *testing.T) {
317318
db := wrapper.NewCosmosDB(dbm.NewMemDB())
318-
tree := iavl.NewMutableTree(db, cacheSize, false, log.NewNopLogger())
319+
tree := iavl.NewMutableTree(iavldb.NewWrapper(db), cacheSize, false, log.NewNopLogger())
319320

320321
iavlStore := UnsafeNewStore(tree)
321322

@@ -378,7 +379,7 @@ func TestIAVLPrefixIterator(t *testing.T) {
378379

379380
func TestIAVLReversePrefixIterator(t *testing.T) {
380381
db := wrapper.NewCosmosDB(dbm.NewMemDB())
381-
tree := iavl.NewMutableTree(db, cacheSize, false, log.NewNopLogger())
382+
tree := iavl.NewMutableTree(iavldb.NewWrapper(db), cacheSize, false, log.NewNopLogger())
382383

383384
iavlStore := UnsafeNewStore(tree)
384385

@@ -445,7 +446,7 @@ func nextVersion(iavl *Store) {
445446

446447
func TestIAVLNoPrune(t *testing.T) {
447448
db := wrapper.NewCosmosDB(dbm.NewMemDB())
448-
tree := iavl.NewMutableTree(db, cacheSize, false, log.NewNopLogger())
449+
tree := iavl.NewMutableTree(iavldb.NewWrapper(db), cacheSize, false, log.NewNopLogger())
449450

450451
iavlStore := UnsafeNewStore(tree)
451452
nextVersion(iavlStore)
@@ -463,7 +464,7 @@ func TestIAVLNoPrune(t *testing.T) {
463464

464465
func TestIAVLStoreQuery(t *testing.T) {
465466
db := wrapper.NewCosmosDB(dbm.NewMemDB())
466-
tree := iavl.NewMutableTree(db, cacheSize, false, log.NewNopLogger())
467+
tree := iavl.NewMutableTree(iavldb.NewWrapper(db), cacheSize, false, log.NewNopLogger())
467468

468469
iavlStore := UnsafeNewStore(tree)
469470

@@ -566,7 +567,7 @@ func BenchmarkIAVLIteratorNext(b *testing.B) {
566567
b.ReportAllocs()
567568
db := wrapper.NewCosmosDB(dbm.NewMemDB())
568569
treeSize := 1000
569-
tree := iavl.NewMutableTree(db, cacheSize, false, log.NewNopLogger())
570+
tree := iavl.NewMutableTree(iavldb.NewWrapper(db), cacheSize, false, log.NewNopLogger())
570571

571572
for i := 0; i < treeSize; i++ {
572573
key := randBytes(4)
@@ -600,7 +601,7 @@ func TestSetInitialVersion(t *testing.T) {
600601
"works with a mutable tree",
601602
func(db *dbm.MemDB) *Store {
602603
dbt := wrapper.NewCosmosDB(db)
603-
tree := iavl.NewMutableTree(dbt, cacheSize, false, log.NewNopLogger())
604+
tree := iavl.NewMutableTree(iavldb.NewWrapper(dbt), cacheSize, false, log.NewNopLogger())
604605
store := UnsafeNewStore(tree)
605606

606607
return store
@@ -610,7 +611,7 @@ func TestSetInitialVersion(t *testing.T) {
610611
"throws error on immutable tree",
611612
func(db *dbm.MemDB) *Store {
612613
dbt := wrapper.NewCosmosDB(db)
613-
tree := iavl.NewMutableTree(dbt, cacheSize, false, log.NewNopLogger())
614+
tree := iavl.NewMutableTree(iavldb.NewWrapper(dbt), cacheSize, false, log.NewNopLogger())
614615
store := UnsafeNewStore(tree)
615616
_, version, err := store.tree.SaveVersion()
616617
require.NoError(t, err)

store/iavl/tree_test.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,14 @@ import (
88
dbm "github.com/cometbft/cometbft-db"
99
"github.com/cosmos/cosmos-sdk/store/wrapper"
1010
"github.com/cosmos/iavl"
11+
iavldb "github.com/cosmos/iavl/db"
1112
"github.com/stretchr/testify/require"
1213
)
1314

1415
func TestImmutableTreePanics(t *testing.T) {
1516
t.Parallel()
1617
db := wrapper.NewCosmosDB(dbm.NewMemDB())
17-
immTree := iavl.NewImmutableTree(db, 100, false, log.NewNopLogger())
18+
immTree := iavl.NewImmutableTree(iavldb.NewWrapper(db), 100, false, log.NewNopLogger())
1819
it := &immutableTree{immTree}
1920
require.Panics(t, func() { it.Set([]byte{}, []byte{}) })
2021
require.Panics(t, func() { it.Remove([]byte{}) })

store/prefix/store_test.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import (
1212
"github.com/stretchr/testify/require"
1313

1414
tiavl "github.com/cosmos/iavl"
15+
iavldb "github.com/cosmos/iavl/db"
1516

1617
"github.com/cosmos/cosmos-sdk/store/dbadapter"
1718
"github.com/cosmos/cosmos-sdk/store/gaskv"
@@ -92,7 +93,7 @@ func testPrefixStore(t *testing.T, baseStore types.KVStore, prefix []byte) {
9293

9394
func TestIAVLStorePrefix(t *testing.T) {
9495
db := wrapper.NewCosmosDB(dbm.NewMemDB())
95-
tree := tiavl.NewMutableTree(db, cacheSize, false, log.NewNopLogger())
96+
tree := tiavl.NewMutableTree(iavldb.NewWrapper(db), cacheSize, false, log.NewNopLogger())
9697
iavlStore := iavl.UnsafeNewStore(tree)
9798

9899
testPrefixStore(t, iavlStore, []byte("test"))

0 commit comments

Comments
 (0)