github.com/cosmos/cosmos-sdk@v0.50.10/x/crisis/types/genesis.go (about) 1 package types 2 3 import ( 4 "fmt" 5 6 sdkmath "cosmossdk.io/math" 7 8 sdk "github.com/cosmos/cosmos-sdk/types" 9 ) 10 11 // NewGenesisState creates a new GenesisState object 12 func NewGenesisState(constantFee sdk.Coin) *GenesisState { 13 return &GenesisState{ 14 ConstantFee: constantFee, 15 } 16 } 17 18 // DefaultGenesisState creates a default GenesisState object 19 func DefaultGenesisState() *GenesisState { 20 return &GenesisState{ 21 ConstantFee: sdk.NewCoin(sdk.DefaultBondDenom, sdkmath.NewInt(1000)), 22 } 23 } 24 25 // ValidateGenesis - validate crisis genesis data 26 func ValidateGenesis(data *GenesisState) error { 27 if !data.ConstantFee.IsValid() { 28 return fmt.Errorf("constant fee is invalid") 29 } 30 if !data.ConstantFee.IsPositive() { 31 return fmt.Errorf("constant fee must be positive: %s", data.ConstantFee) 32 } 33 return nil 34 }