laconicd/x/feemarket/types/genesis.go

36 lines
774 B
Go
Raw Normal View History

package types
import (
"fmt"
sdk "github.com/cosmos/cosmos-sdk/types"
)
// DefaultGenesisState sets default fee market genesis state.
func DefaultGenesisState() *GenesisState {
return &GenesisState{
Params: DefaultParams(),
BaseFee: sdk.ZeroInt(),
BlockGas: 0,
}
}
// NewGenesisState creates a new genesis state.
func NewGenesisState(params Params, baseFee sdk.Int, blockGas uint64) *GenesisState {
return &GenesisState{
Params: params,
BaseFee: baseFee,
BlockGas: blockGas,
}
}
// Validate performs basic genesis state validation returning an error upon any
// failure.
func (gs GenesisState) Validate() error {
if gs.BaseFee.IsNegative() {
return fmt.Errorf("base fee cannot be negative: %s", gs.BaseFee)
}
return gs.Params.Validate()
}