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  }