0g-chain/x/auction/genesis.go

35 lines
817 B
Go
Raw Normal View History

2019-11-25 19:46:02 +00:00
package auction
import (
sdk "github.com/cosmos/cosmos-sdk/types"
)
// InitGenesis initializes the store state from genesis data.
2019-11-25 19:46:02 +00:00
func InitGenesis(ctx sdk.Context, keeper Keeper, data GenesisState) {
keeper.SetNextAuctionID(ctx, data.NextAuctionID)
keeper.SetParams(ctx, data.Params)
2019-11-25 19:46:02 +00:00
for _, a := range data.Auctions {
keeper.SetAuction(ctx, a)
}
}
// ExportGenesis returns a GenesisState for a given context and keeper.
func ExportGenesis(ctx sdk.Context, keeper Keeper) GenesisState {
nextAuctionID, err := keeper.GetNextAuctionID(ctx)
if err != nil {
panic(err)
}
2019-11-25 19:46:02 +00:00
params := keeper.GetParams(ctx)
2019-11-25 19:46:02 +00:00
var genAuctions Auctions
keeper.IterateAuctions(ctx, func(a Auction) bool {
genAuctions = append(genAuctions, a)
return false
})
2019-11-25 19:46:02 +00:00
return NewGenesisState(nextAuctionID, params, genAuctions)
2019-11-25 19:46:02 +00:00
}