github.com/gravity-devs/liquidity@v1.5.3/x/liquidity/types/genesis.go (about)

     1  package types
     2  
     3  // NewGenesisState returns new GenesisState.
     4  func NewGenesisState(params Params, liquidityPoolRecords []PoolRecord) *GenesisState {
     5  	return &GenesisState{
     6  		Params:      params,
     7  		PoolRecords: liquidityPoolRecords,
     8  	}
     9  }
    10  
    11  // DefaultGenesisState returns the default genesis state.
    12  func DefaultGenesisState() *GenesisState {
    13  	return NewGenesisState(DefaultParams(), []PoolRecord{})
    14  }
    15  
    16  // ValidateGenesis validates GenesisState.
    17  func ValidateGenesis(data GenesisState) error {
    18  	if err := data.Params.Validate(); err != nil {
    19  		return err
    20  	}
    21  	for _, record := range data.PoolRecords {
    22  		if err := record.Validate(); err != nil {
    23  			return err
    24  		}
    25  	}
    26  	return nil
    27  }
    28  
    29  // Validate validates PoolRecord.
    30  func (record PoolRecord) Validate() error {
    31  	if record.PoolBatch.DepositMsgIndex == 0 ||
    32  		(len(record.DepositMsgStates) > 0 && record.PoolBatch.DepositMsgIndex != record.DepositMsgStates[len(record.DepositMsgStates)-1].MsgIndex+1) {
    33  		return ErrBadBatchMsgIndex
    34  	}
    35  	if record.PoolBatch.WithdrawMsgIndex == 0 ||
    36  		(len(record.WithdrawMsgStates) != 0 && record.PoolBatch.WithdrawMsgIndex != record.WithdrawMsgStates[len(record.WithdrawMsgStates)-1].MsgIndex+1) {
    37  		return ErrBadBatchMsgIndex
    38  	}
    39  	if record.PoolBatch.SwapMsgIndex == 0 ||
    40  		(len(record.SwapMsgStates) != 0 && record.PoolBatch.SwapMsgIndex != record.SwapMsgStates[len(record.SwapMsgStates)-1].MsgIndex+1) {
    41  		return ErrBadBatchMsgIndex
    42  	}
    43  	return nil
    44  }