package keeper import ( "context" "fmt" "colinear/x/colinearcore/memdb" "colinear/x/colinearcore/types" sdk "github.com/cosmos/cosmos-sdk/types" "google.golang.org/grpc/codes" "google.golang.org/grpc/status" ) func (k Keeper) AuctionInfo(goCtx context.Context, req *types.QueryAuctionInfoRequest) (*types.QueryAuctionInfoResponse, error) { if req == nil { return nil, status.Error(codes.InvalidArgument, "invalid request") } ctx := sdk.UnwrapSDKContext(goCtx) if exp, err := k.AuctionIsExpired(ctx, req.AuctionId); err != nil { return nil, fmt.Errorf("unable to check auction expiry status: %s", err) } else { if exp { return nil, fmt.Errorf("auction %s is finalized", req.AuctionId) } } bids, err := memdb.AuctionDB.GetBids(req.AuctionId) if err != nil { return nil, fmt.Errorf("unable to get bids for auction %s: %s", req.AuctionId, err) } vProviders, err := memdb.AuctionDB.GetVerifiedProviders(req.AuctionId) if err != nil { return nil, fmt.Errorf("unable to get verified providers for auction %s: %s", req.AuctionId, err) } return &types.QueryAuctionInfoResponse{ Bids: bids, VerifiedProviders: vProviders, }, nil }