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>
19 lines
420 B
Markdown
19 lines
420 B
Markdown
# End Block
|
|
|
|
At the end of each block, auctions that have reached `EndTime` are closed. The logic to close auctions is as follows:
|
|
|
|
```go
|
|
var expiredAuctions []uint64
|
|
k.IterateAuctionsByTime(ctx, ctx.BlockTime(), func(id uint64) bool {
|
|
expiredAuctions = append(expiredAuctions, id)
|
|
return false
|
|
})
|
|
|
|
for _, id := range expiredAuctions {
|
|
err := k.CloseAuction(ctx, id)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
}
|
|
```
|