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  }