laconicd/x/bond/keeper/grpc_query.go
Murali Krishna Komatireddy 6b04c0ee5e
feat: attribute typing (#40)
* marshal and unmarshal

* attributes proto

* fix

* process attributes and create secondary mappings

* get records from attributes

* fix

* fix lint errors

* fix gosec

* lower case

* go mod tidy

* Fix tests

* "add search test"

* req attributes

* grpc tests

* fix tests

* register interface

* fix tests

* Remove git diff from test workflows

* fix workflow file

* fix simulations

* fix names and add checks for attributes in tests

* Add comment for attribute prefix
2022-11-15 11:51:14 +05:30

54 lines
1.8 KiB
Go

package keeper
import (
"context"
"github.com/cerc-io/laconicd/x/bond/types"
sdk "github.com/cosmos/cosmos-sdk/types"
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
)
type Querier struct {
Keeper
}
var _ types.QueryServer = Querier{}
func (q Querier) Bonds(c context.Context, _ *types.QueryGetBondsRequest) (*types.QueryGetBondsResponse, error) {
ctx := sdk.UnwrapSDKContext(c)
resp := q.Keeper.ListBonds(ctx)
return &types.QueryGetBondsResponse{Bonds: resp}, nil
}
func (q Querier) Params(c context.Context, _ *types.QueryParamsRequest) (*types.QueryParamsResponse, error) {
ctx := sdk.UnwrapSDKContext(c)
params := q.Keeper.GetParams(ctx)
return &types.QueryParamsResponse{Params: &params}, nil
}
func (q Querier) GetBondByID(c context.Context, req *types.QueryGetBondByIDRequest) (*types.QueryGetBondByIDResponse, error) {
ctx := sdk.UnwrapSDKContext(c)
bondID := req.GetId()
if len(bondID) == 0 {
return nil, sdkerrors.Wrap(sdkerrors.ErrInvalidRequest, "bond id required")
}
bond := q.Keeper.GetBond(ctx, req.GetId())
return &types.QueryGetBondByIDResponse{Bond: &bond}, nil
}
func (q Querier) GetBondsByOwner(c context.Context, req *types.QueryGetBondsByOwnerRequest) (*types.QueryGetBondsByOwnerResponse, error) {
ctx := sdk.UnwrapSDKContext(c)
owner := req.GetOwner()
if len(owner) == 0 {
return nil, sdkerrors.Wrap(sdkerrors.ErrInvalidRequest, "owner id required")
}
bonds := q.Keeper.QueryBondsByOwner(ctx, owner)
return &types.QueryGetBondsByOwnerResponse{Bonds: bonds}, nil
}
func (q Querier) GetBondsModuleBalance(c context.Context, _ *types.QueryGetBondModuleBalanceRequest) (*types.QueryGetBondModuleBalanceResponse, error) {
ctx := sdk.UnwrapSDKContext(c)
balance := q.Keeper.GetBondModuleBalances(ctx)
return &types.QueryGetBondModuleBalanceResponse{Balance: balance}, nil
}