37 lines
944 B
Go
37 lines
944 B
Go
package types
|
|
|
|
import (
|
|
"fmt"
|
|
)
|
|
|
|
// DefaultIndex is the default capability global index
|
|
const DefaultIndex uint64 = 1
|
|
|
|
// DefaultGenesis returns the default Capability genesis state
|
|
func DefaultGenesis() *GenesisState {
|
|
return &GenesisState{
|
|
NextAuction: nil,
|
|
AuctionList: []Auction{},
|
|
// this line is used by starport scaffolding # genesis/types/default
|
|
Params: DefaultParams(),
|
|
}
|
|
}
|
|
|
|
// Validate performs basic genesis state validation returning an error upon any
|
|
// failure.
|
|
func (gs GenesisState) Validate() error {
|
|
// Check for duplicated index in auction
|
|
auctionIndexMap := make(map[string]struct{})
|
|
|
|
for _, elem := range gs.AuctionList {
|
|
index := string(AuctionKey(elem.Index))
|
|
if _, ok := auctionIndexMap[index]; ok {
|
|
return fmt.Errorf("duplicated index for auction")
|
|
}
|
|
auctionIndexMap[index] = struct{}{}
|
|
}
|
|
// this line is used by starport scaffolding # genesis/types/validate
|
|
|
|
return gs.Params.Validate()
|
|
}
|