mirror of
https://github.com/0glabs/0g-chain.git
synced 2024-12-27 00:35:18 +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>
38 lines
1.0 KiB
Go
38 lines
1.0 KiB
Go
package keeper
|
|
|
|
import (
|
|
"fmt"
|
|
"github.com/cosmos/cosmos-sdk/codec"
|
|
sdk "github.com/cosmos/cosmos-sdk/types"
|
|
"github.com/kava-labs/kava/x/auction/types"
|
|
abci "github.com/tendermint/tendermint/abci/types"
|
|
)
|
|
|
|
// NewQuerier is the module level router for state queries
|
|
func NewQuerier(keeper Keeper) sdk.Querier {
|
|
return func(ctx sdk.Context, path []string, req abci.RequestQuery) (res []byte, err sdk.Error) {
|
|
switch path[0] {
|
|
case types.QueryGetAuction:
|
|
return queryAuctions(ctx, req, keeper)
|
|
default:
|
|
return nil, sdk.ErrUnknownRequest("unknown auction query endpoint")
|
|
}
|
|
}
|
|
}
|
|
|
|
func queryAuctions(ctx sdk.Context, req abci.RequestQuery, keeper Keeper) (res []byte, err sdk.Error) {
|
|
var auctionsList types.QueryResAuctions
|
|
|
|
keeper.IterateAuctions(ctx, func(a types.Auction) bool {
|
|
auctionsList = append(auctionsList, fmt.Sprintf("%+v", a)) // TODO formatting
|
|
return false
|
|
})
|
|
|
|
bz, err2 := codec.MarshalJSONIndent(keeper.cdc, auctionsList)
|
|
if err2 != nil {
|
|
panic("could not marshal result to JSON")
|
|
}
|
|
|
|
return bz, nil
|
|
}
|