syntax = "proto3"; package kava.swap.v1beta1; import "cosmos/base/query/v1beta1/pagination.proto"; import "cosmos/base/v1beta1/coin.proto"; import "cosmos_proto/cosmos.proto"; import "gogoproto/gogo.proto"; import "google/api/annotations.proto"; import "kava/swap/v1beta1/swap.proto"; option go_package = "github.com/kava-labs/kava/x/swap/types"; // Query defines the gRPC querier service for swap module service Query { // Params queries all parameters of the swap module. rpc Params(QueryParamsRequest) returns (QueryParamsResponse) { option (google.api.http).get = "/kava/swap/v1beta1/params"; } // Pools queries pools based on pool ID rpc Pools(QueryPoolsRequest) returns (QueryPoolsResponse) { option (google.api.http).get = "/kava/swap/v1beta1/pools"; } // Deposits queries deposit details based on owner address and pool rpc Deposits(QueryDepositsRequest) returns (QueryDepositsResponse) { option (google.api.http).get = "/kava/swap/v1beta1/deposits"; } } // QueryParamsRequest defines the request type for querying x/swap parameters. message QueryParamsRequest { option (gogoproto.goproto_getters) = false; } // QueryParamsResponse defines the response type for querying x/swap parameters. message QueryParamsResponse { option (gogoproto.goproto_getters) = false; // params represents the swap module parameters Params params = 1 [(gogoproto.nullable) = false]; } // QueryPoolsRequest is the request type for the Query/Pools RPC method. message QueryPoolsRequest { // pool_id filters pools by id string pool_id = 1; // pagination defines an optional pagination for the request. cosmos.base.query.v1beta1.PageRequest pagination = 2; } // QueryPoolsResponse is the response type for the Query/Pools RPC method. message QueryPoolsResponse { // pools represents returned pools repeated PoolResponse pools = 1 [(gogoproto.nullable) = false]; // pagination defines the pagination in the response. cosmos.base.query.v1beta1.PageResponse pagination = 2; } // Pool represents the state of a single pool message PoolResponse { option (gogoproto.goproto_getters) = false; // name represents the name of the pool string name = 1; // coins represents the total reserves of the pool repeated cosmos.base.v1beta1.Coin coins = 2 [ (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins", (gogoproto.nullable) = false ]; // total_shares represents the total shares of the pool string total_shares = 3 [ (cosmos_proto.scalar) = "cosmos.Int", (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int", (gogoproto.nullable) = false ]; } // QueryDepositsRequest is the request type for the Query/Deposits RPC method. message QueryDepositsRequest { option (gogoproto.goproto_getters) = false; // owner optionally filters deposits by owner string owner = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"]; // pool_id optionally fitlers deposits by pool id string pool_id = 2; // pagination defines an optional pagination for the request. cosmos.base.query.v1beta1.PageRequest pagination = 3; } // QueryDepositsResponse is the response type for the Query/Deposits RPC method. message QueryDepositsResponse { option (gogoproto.goproto_getters) = false; // deposits returns the deposits matching the requested parameters repeated DepositResponse deposits = 1 [(gogoproto.nullable) = false]; // pagination defines the pagination in the response. cosmos.base.query.v1beta1.PageResponse pagination = 2; } // DepositResponse defines a single deposit query response type. message DepositResponse { option (gogoproto.goproto_getters) = false; // depositor represents the owner of the deposit string depositor = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"]; // pool_id represents the pool the deposit is for string pool_id = 2; // shares_owned presents the shares owned by the depositor for the pool string shares_owned = 3 [ (cosmos_proto.scalar) = "cosmos.AddressString", (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int", (gogoproto.nullable) = false ]; // shares_value represents the coin value of the shares_owned repeated cosmos.base.v1beta1.Coin shares_value = 4 [ (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins", (gogoproto.nullable) = false ]; }