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 }