github.com/Finschia/finschia-sdk@v0.48.1/x/upgrade/types/storeloader.go (about) 1 package types 2 3 import ( 4 "github.com/Finschia/finschia-sdk/baseapp" 5 store "github.com/Finschia/finschia-sdk/store/types" 6 sdk "github.com/Finschia/finschia-sdk/types" 7 ) 8 9 // UpgradeStoreLoader is used to prepare baseapp with a fixed StoreLoader 10 // pattern. This is useful for custom upgrade loading logic. 11 func UpgradeStoreLoader(upgradeHeight int64, storeUpgrades *store.StoreUpgrades) baseapp.StoreLoader { 12 return func(ms sdk.CommitMultiStore) error { 13 if upgradeHeight == ms.LastCommitID().Version+1 { 14 // Check if the current commit version and upgrade height matches 15 if len(storeUpgrades.Renamed) > 0 || len(storeUpgrades.Deleted) > 0 || len(storeUpgrades.Added) > 0 { 16 return ms.LoadLatestVersionAndUpgrade(storeUpgrades) 17 } 18 } 19 20 // Otherwise load default store loader 21 return baseapp.DefaultStoreLoader(ms) 22 } 23 }