go-cyber/x/clock/keeper/querier.go

package keeper

import (
	"context"

	sdk "github.com/cosmos/cosmos-sdk/types"

	globalerrors "github.com/cybercongress/go-cyber/v7/app/helpers"
	"github.com/cybercongress/go-cyber/v7/x/clock/types"
)

var _ types.QueryServer = &Querier{}

type Querier struct {
	keeper Keeper
}

func NewQuerier(k Keeper) Querier {
	return Querier{
		keeper: k,
	}
}

// ContractModules returns contract addresses which are using the clock
func (q Querier) ClockContracts(stdCtx context.Context, req *types.QueryClockContracts) (*types.QueryClockContractsResponse, error) {
	ctx := sdk.UnwrapSDKContext(stdCtx)

	contracts, err := q.keeper.GetPaginatedContracts(ctx, req.Pagination)
	if err != nil {
		return nil, err
	}

	return contracts, nil
}

// ClockContract returns the clock contract information
func (q Querier) ClockContract(stdCtx context.Context, req *types.QueryClockContract) (*types.QueryClockContractResponse, error) {
	ctx := sdk.UnwrapSDKContext(stdCtx)

	// Ensure the contract address is valid
	if _, err := sdk.AccAddressFromBech32(req.ContractAddress); err != nil {
		return nil, globalerrors.ErrInvalidAddress
	}

	contract, err := q.keeper.GetClockContract(ctx, req.ContractAddress)
	if err != nil {
		return nil, err
	}

	return &types.QueryClockContractResponse{
		ClockContract: *contract,
	}, nil
}

// Params returns the total set of clock parameters.
func (q Querier) Params(stdCtx context.Context, _ *types.QueryParamsRequest) (*types.QueryParamsResponse, error) {
	ctx := sdk.UnwrapSDKContext(stdCtx)

	p := q.keeper.GetParams(ctx)

	return &types.QueryParamsResponse{
		Params: &p,
	}, nil
}

Synonyms

go-cyber/x/graph/types/querier.go
go-cyber/x/rank/types/querier.go
space-pussy/x/rank/keeper/querier.go
space-pussy/x/dmn/types/querier.go
space-pussy/x/resources/types/querier.go
go-cyber/x/dmn/types/querier.go
space-pussy/x/dmn/keeper/querier.go
space-pussy/x/grid/keeper/querier.go
space-pussy/x/graph/types/querier.go
space-pussy/x/bandwidth/keeper/querier.go
space-pussy/x/rank/types/querier.go
space-pussy/x/graph/keeper/querier.go
space-pussy/x/grid/types/querier.go
space-pussy/x/bandwidth/types/querier.go
go-cyber/x/liquidity/types/querier.go
space-pussy/x/resources/keeper/querier.go

Neighbours