github.com/fibonacci-chain/fbc@v0.0.0-20231124064014-c7636198c1e9/x/feesplit/module_upgrade.go (about) 1 package feesplit 2 3 import ( 4 store "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/store/types" 5 sdk "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/types" 6 "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/types/upgrade" 7 tmtypes "github.com/fibonacci-chain/fbc/libs/tendermint/types" 8 "github.com/fibonacci-chain/fbc/x/feesplit/types" 9 ) 10 11 var ( 12 defaultDenyFilter store.StoreFilter = func(module string, h int64, s store.CommitKVStore) bool { 13 return module == ModuleName 14 } 15 defaultCommitFilter store.StoreFilter = func(module string, h int64, s store.CommitKVStore) bool { 16 if module != ModuleName { 17 return false 18 } 19 20 if h == tmtypes.GetVenus3Height() { 21 if s != nil { 22 s.SetUpgradeVersion(h) 23 } 24 return false 25 } 26 27 if tmtypes.HigherThanVenus3(h) { 28 return false 29 } 30 31 return true 32 } 33 defaultPruneFilter store.StoreFilter = func(module string, h int64, s store.CommitKVStore) bool { 34 if module != ModuleName { 35 return false 36 } 37 38 if tmtypes.HigherThanVenus3(h) { 39 return false 40 } 41 42 return true 43 } 44 defaultVersionFilter store.VersionFilter = func(h int64) func(cb func(name string, version int64)) { 45 if h < 0 { 46 return func(cb func(name string, version int64)) {} 47 } 48 49 return func(cb func(name string, version int64)) { 50 cb(ModuleName, tmtypes.GetVenus3Height()) 51 } 52 } 53 ) 54 55 func (am AppModule) RegisterTask() upgrade.HeightTask { 56 return upgrade.NewHeightTask( 57 0, func(ctx sdk.Context) error { 58 if am.Sealed() { 59 return nil 60 } 61 InitGenesis(ctx, am.keeper, types.DefaultGenesisState()) 62 return nil 63 }) 64 } 65 66 func (am AppModule) CommitFilter() *store.StoreFilter { 67 if am.UpgradeHeight() == 0 { 68 return &defaultDenyFilter 69 } 70 return &defaultCommitFilter 71 } 72 73 func (am AppModule) PruneFilter() *store.StoreFilter { 74 if am.UpgradeHeight() == 0 { 75 return &defaultDenyFilter 76 } 77 return &defaultPruneFilter 78 } 79 80 func (am AppModule) VersionFilter() *store.VersionFilter { 81 return &defaultVersionFilter 82 } 83 84 func (am AppModule) UpgradeHeight() int64 { 85 return tmtypes.GetVenus3Height() 86 }