mirror of
https://github.com/0glabs/0g-chain.git
synced 2024-12-26 16:25:21 +00:00
e1c11d411a
* rough auction type refactor * replace endTime type * split keeper file up * update store methods * move store methods to keeper.go * move nextAuctionID from params to genState * simplify auction type to not use pointers * add basic auction tests * update endblocker test * add payout to depositors feature * add more tests * move index updates to Get/Set for more safety * remove slightly unecessary ID type * remove unused message types * feat: add spec, update redundant type names * stop sending zero coins * use only one coins field in MsgPlaceBid * remove uncessary Auction interface methods * give auction types more accurate names * remove vuepress comments from spec * minor spec updates * update doc comments * add params validation * code cleanup, address review comments * resolve minor TODOs * sync spec with code Co-authored-by: Kevin Davis <karzak@users.noreply.github.com>
35 lines
817 B
Go
35 lines
817 B
Go
package auction
|
|
|
|
import (
|
|
sdk "github.com/cosmos/cosmos-sdk/types"
|
|
)
|
|
|
|
// InitGenesis initializes the store state from genesis data.
|
|
func InitGenesis(ctx sdk.Context, keeper Keeper, data GenesisState) {
|
|
keeper.SetNextAuctionID(ctx, data.NextAuctionID)
|
|
|
|
keeper.SetParams(ctx, data.Params)
|
|
|
|
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)
|
|
}
|
|
|
|
params := keeper.GetParams(ctx)
|
|
|
|
var genAuctions Auctions
|
|
keeper.IterateAuctions(ctx, func(a Auction) bool {
|
|
genAuctions = append(genAuctions, a)
|
|
return false
|
|
})
|
|
|
|
return NewGenesisState(nextAuctionID, params, genAuctions)
|
|
}
|