syntax = "proto3";
package cyber.liquidity.v1beta1;
import "gogoproto/gogo.proto";
import "cyber/liquidity/v1beta1/liquidity.proto";
import "google/api/annotations.proto";
import "cosmos/base/query/v1beta1/pagination.proto";
option go_package = "github.com/cybercongress/go-cyber/x/liquidity/types";
// Query defines the gRPC query service for the liquidity module.
service Query {
// Get existing liquidity pools.
rpc LiquidityPools(QueryLiquidityPoolsRequest)
returns (QueryLiquidityPoolsResponse) {
option (google.api.http).get = "/cosmos/liquidity/v1beta1/pools";
}
// Get specific liquidity pool.
rpc LiquidityPool(QueryLiquidityPoolRequest)
returns (QueryLiquidityPoolResponse) {
option (google.api.http).get = "/cosmos/liquidity/v1beta1/pools/{pool_id}";
}
// Get specific liquidity pool corresponding to the pool_coin_denom.
rpc LiquidityPoolByPoolCoinDenom(QueryLiquidityPoolByPoolCoinDenomRequest)
returns (QueryLiquidityPoolResponse) {
option (google.api.http).get =
"/cosmos/liquidity/v1beta1/pools/pool_coin_denom/{pool_coin_denom}";
}
// Get specific liquidity pool corresponding to the reserve account.
rpc LiquidityPoolByReserveAcc(QueryLiquidityPoolByReserveAccRequest)
returns (QueryLiquidityPoolResponse) {
option (google.api.http).get =
"/cosmos/liquidity/v1beta1/pools/reserve_acc/{reserve_acc}";
}
// Get the pool's current batch.
rpc LiquidityPoolBatch(QueryLiquidityPoolBatchRequest)
returns (QueryLiquidityPoolBatchResponse) {
option (google.api.http).get =
"/cosmos/liquidity/v1beta1/pools/{pool_id}/batch";
}
// Get all swap messages in the pool's current batch.
rpc PoolBatchSwapMsgs(QueryPoolBatchSwapMsgsRequest)
returns (QueryPoolBatchSwapMsgsResponse) {
option (google.api.http).get =
"/cosmos/liquidity/v1beta1/pools/{pool_id}/batch/swaps";
}
// Get a specific swap message in the pool's current batch.
rpc PoolBatchSwapMsg(QueryPoolBatchSwapMsgRequest)
returns (QueryPoolBatchSwapMsgResponse) {
option (google.api.http).get =
"/cosmos/liquidity/v1beta1/pools/{pool_id}/batch/swaps/{msg_index}";
}
// Get all deposit messages in the pool's current batch.
rpc PoolBatchDepositMsgs(QueryPoolBatchDepositMsgsRequest)
returns (QueryPoolBatchDepositMsgsResponse) {
option (google.api.http).get =
"/cosmos/liquidity/v1beta1/pools/{pool_id}/batch/deposits";
}
// Get a specific deposit message in the pool's current batch.
rpc PoolBatchDepositMsg(QueryPoolBatchDepositMsgRequest)
returns (QueryPoolBatchDepositMsgResponse) {
option (google.api.http).get =
"/cosmos/liquidity/v1beta1/pools/{pool_id}/batch/deposits/{msg_index}";
}
// Get all withdraw messages in the pool's current batch.
rpc PoolBatchWithdrawMsgs(QueryPoolBatchWithdrawMsgsRequest)
returns (QueryPoolBatchWithdrawMsgsResponse) {
option (google.api.http).get =
"/cosmos/liquidity/v1beta1/pools/{pool_id}/batch/withdraws";
}
// Get a specific withdraw message in the pool's current batch.
rpc PoolBatchWithdrawMsg(QueryPoolBatchWithdrawMsgRequest)
returns (QueryPoolBatchWithdrawMsgResponse) {
option (google.api.http).get =
"/cosmos/liquidity/v1beta1/pools/{pool_id}/batch/withdraws/{msg_index}";
}
// Get all parameters of the liquidity module.
rpc Params(QueryParamsRequest) returns (QueryParamsResponse) {
option (google.api.http).get = "/cosmos/liquidity/v1beta1/params";
}
}
// the request type for the QueryLiquidityPool RPC method. requestable specified
// pool_id.
message QueryLiquidityPoolRequest { uint64 pool_id = 1; }
// the response type for the QueryLiquidityPoolResponse RPC method. Returns the
// liquidity pool that corresponds to the requested pool_id.
message QueryLiquidityPoolResponse {
Pool pool = 1 [ (gogoproto.nullable) = false ];
}
// the request type for the QueryLiquidityByPoolCoinDenomPool RPC method.
// Requestable specified pool_coin_denom.
message QueryLiquidityPoolByPoolCoinDenomRequest { string pool_coin_denom = 1; }
// the request type for the QueryLiquidityByReserveAcc RPC method. Requestable
// specified reserve_acc.
message QueryLiquidityPoolByReserveAccRequest { string reserve_acc = 1; }
// the request type for the QueryLiquidityPoolBatch RPC method. requestable
// including specified pool_id.
message QueryLiquidityPoolBatchRequest {
// id of the target pool for query
uint64 pool_id = 1;
}
// the response type for the QueryLiquidityPoolBatchResponse RPC method. Returns
// the liquidity pool batch that corresponds to the requested pool_id.
message QueryLiquidityPoolBatchResponse {
PoolBatch batch = 1 [ (gogoproto.nullable) = false ];
}
// the request type for the QueryLiquidityPools RPC method. Requestable
// including pagination offset, limit, key.
message QueryLiquidityPoolsRequest {
// pagination defines an optional pagination for the request.
cosmos.base.query.v1beta1.PageRequest pagination = 1;
}
// the response type for the QueryLiquidityPoolsResponse RPC method. This
// includes a list of all existing liquidity pools and paging results that
// contain next_key and total count.
message QueryLiquidityPoolsResponse {
repeated Pool pools = 1 [ (gogoproto.nullable) = false ];
// pagination defines the pagination in the response. not working on this
// version.
cosmos.base.query.v1beta1.PageResponse pagination = 2;
}
// QueryParamsRequest is request type for the QueryParams RPC method.
message QueryParamsRequest {}
// the response type for the QueryParamsResponse RPC method. This includes
// current parameter of the liquidity module.
message QueryParamsResponse {
// params holds all the parameters of this module.
Params params = 1 [ (gogoproto.nullable) = false ];
}
// the request type for the QueryPoolBatchSwapMsgs RPC method. Requestable
// including specified pool_id and pagination offset, limit, key.
message QueryPoolBatchSwapMsgsRequest {
// id of the target pool for query
uint64 pool_id = 1;
// pagination defines an optional pagination for the request.
cosmos.base.query.v1beta1.PageRequest pagination = 2;
}
// the request type for the QueryPoolBatchSwap RPC method. Requestable including
// specified pool_id and msg_index.
message QueryPoolBatchSwapMsgRequest {
// id of the target pool for query
uint64 pool_id = 1;
// target msg_index of the pool
uint64 msg_index = 2;
}
// the response type for the QueryPoolBatchSwapMsgs RPC method. This includes
// list of all currently existing swap messages of the batch and paging results
// that contain next_key and total count.
message QueryPoolBatchSwapMsgsResponse {
repeated SwapMsgState swaps = 1 [ (gogoproto.nullable) = false ];
// pagination defines the pagination in the response. not working on this
// version.
cosmos.base.query.v1beta1.PageResponse pagination = 2;
}
// the response type for the QueryPoolBatchSwapMsg RPC method. This includes a
// batch swap message of the batch.
message QueryPoolBatchSwapMsgResponse {
SwapMsgState swap = 1 [ (gogoproto.nullable) = false ];
}
// the request type for the QueryPoolBatchDeposit RPC method. Requestable
// including specified pool_id and pagination offset, limit, key.
message QueryPoolBatchDepositMsgsRequest {
// id of the target pool for query
uint64 pool_id = 1;
// pagination defines an optional pagination for the request.
cosmos.base.query.v1beta1.PageRequest pagination = 2;
}
// the request type for the QueryPoolBatchDeposit RPC method. requestable
// including specified pool_id and msg_index.
message QueryPoolBatchDepositMsgRequest {
// id of the target pool for query
uint64 pool_id = 1;
// target msg_index of the pool
uint64 msg_index = 2;
}
// the response type for the QueryPoolBatchDeposit RPC method. This includes a
// list of all currently existing deposit messages of the batch and paging
// results that contain next_key and total count.
message QueryPoolBatchDepositMsgsResponse {
repeated DepositMsgState deposits = 1 [ (gogoproto.nullable) = false ];
// pagination defines the pagination in the response. not working on this
// version.
cosmos.base.query.v1beta1.PageResponse pagination = 2;
}
// the response type for the QueryPoolBatchDepositMsg RPC method. This includes
// a batch swap message of the batch.
message QueryPoolBatchDepositMsgResponse {
DepositMsgState deposit = 1 [ (gogoproto.nullable) = false ];
}
// the request type for the QueryPoolBatchWithdraw RPC method. Requestable
// including specified pool_id and pagination offset, limit, key.
message QueryPoolBatchWithdrawMsgsRequest {
// id of the target pool for query
uint64 pool_id = 1;
// pagination defines an optional pagination for the request.
cosmos.base.query.v1beta1.PageRequest pagination = 2;
}
// the request type for the QueryPoolBatchWithdraw RPC method. requestable
// including specified pool_id and msg_index.
message QueryPoolBatchWithdrawMsgRequest {
// id of the target pool for query
uint64 pool_id = 1;
// target msg_index of the pool
uint64 msg_index = 2;
}
// the response type for the QueryPoolBatchWithdraw RPC method. This includes a
// list of all currently existing withdraw messages of the batch and paging
// results that contain next_key and total count.
message QueryPoolBatchWithdrawMsgsResponse {
repeated WithdrawMsgState withdraws = 1 [ (gogoproto.nullable) = false ];
// pagination defines the pagination in the response. Not supported on this
// version.
cosmos.base.query.v1beta1.PageResponse pagination = 2;
}
// the response type for the QueryPoolBatchWithdrawMsg RPC method. This includes
// a batch swap message of the batch.
message QueryPoolBatchWithdrawMsgResponse {
WithdrawMsgState withdraw = 1 [ (gogoproto.nullable) = false ];
}