Some checks are pending
Docs Deploy / build_and_deploy (push) Waiting to run
Generate Docs / cli (push) Waiting to run
Generate Config Doc / cli (push) Waiting to run
Go formatting / go-formatting (push) Waiting to run
Check links / markdown-link-check (push) Waiting to run
Integration / pre-test (push) Waiting to run
Integration / test on (push) Blocked by required conditions
Integration / status (push) Blocked by required conditions
Lint / Lint Go code (push) Waiting to run
Test / test (ubuntu-latest) (push) Waiting to run
465 lines
21 KiB
Protocol Buffer
465 lines
21 KiB
Protocol Buffer
syntax = "proto3";
|
|
package tendermint.liquidity;
|
|
|
|
import "gogoproto/gogo.proto";
|
|
import "liquidity.proto";
|
|
import "google/api/annotations.proto";
|
|
import "cosmos_proto/pagination.proto";
|
|
import "protoc-gen-openapiv2/options/annotations.proto";
|
|
|
|
option go_package = "github.com/tendermint/liquidity/x/liquidity/types";
|
|
|
|
// Query defines the gRPC querier service for liquidity module.
|
|
service Query {
|
|
// Get existing liquidity pools.
|
|
rpc LiquidityPools (QueryLiquidityPoolsRequest) returns (QueryLiquidityPoolsResponse) {
|
|
option (google.api.http).get = "/liquidity/pools";
|
|
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {
|
|
description: "It returns list of all liquidity pools with pagination result.";
|
|
external_docs: {
|
|
url: "https://github.com/tendermint/liquidity/blob/develop/doc/client.md";
|
|
description: "Find out more about the query and error codes";
|
|
}
|
|
responses: {
|
|
key: "500"
|
|
value: {
|
|
description: "Internal Server Error"
|
|
examples: {
|
|
key: "application/json"
|
|
value: '{"code":2,"message":"rpc error: code = NotFound desc = There are no pools present.: key not found","details":[]}'
|
|
}
|
|
}
|
|
}
|
|
};
|
|
}
|
|
|
|
// Get specific liquidity pool.
|
|
rpc LiquidityPool (QueryLiquidityPoolRequest) returns (QueryLiquidityPoolResponse) {
|
|
option (google.api.http).get = "/liquidity/pools/{pool_id}";
|
|
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {
|
|
description: "It returns the liquidity pool corresponding to the pool_id.";
|
|
external_docs: {
|
|
url: "https://github.com/tendermint/liquidity/blob/develop/doc/client.md";
|
|
description: "Find out more about the query and error codes";
|
|
}
|
|
responses: {
|
|
key: "500"
|
|
value: {
|
|
description: "Internal Server Error"
|
|
examples: {
|
|
key: "application/json"
|
|
value: '{"code":2,"message":"rpc error: code = NotFound desc = liquidity pool 3 doesn\'t exist: key not found","details":[]}'
|
|
}
|
|
}
|
|
}
|
|
responses: {
|
|
key: "400"
|
|
value: {
|
|
description: "Bad Request"
|
|
examples: {
|
|
key: "application/json"
|
|
value: '{"code":3,"message":"type mismatch, parameter: pool_id, error: strconv.ParseUint: parsing *: invalid syntax","details":[]}'
|
|
}
|
|
}
|
|
}
|
|
};
|
|
}
|
|
|
|
// Get the pool's current batch.
|
|
rpc LiquidityPoolBatch (QueryLiquidityPoolBatchRequest) returns (QueryLiquidityPoolBatchResponse) {
|
|
option (google.api.http).get = "/liquidity/pools/{pool_id}/batch";
|
|
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {
|
|
description: "It returns the current batch of the pool corresponding to the pool_id.";
|
|
external_docs: {
|
|
url: "https://github.com/tendermint/liquidity/blob/develop/doc/client.md";
|
|
description: "Find out more about the query and error codes";
|
|
}
|
|
responses: {
|
|
key: "500"
|
|
value: {
|
|
description: "Internal Server Error"
|
|
examples: {
|
|
key: "application/json"
|
|
value: '{"code":2,"message":"rpc error: code = NotFound desc = liquidity pool 3 doesn\'t exist: key not found","details":[]}'
|
|
}
|
|
}
|
|
}
|
|
responses: {
|
|
key: "400"
|
|
value: {
|
|
description: "Bad Request"
|
|
examples: {
|
|
key: "application/json"
|
|
value: '{"code":3,"message":"type mismatch, parameter: pool_id, error: strconv.ParseUint: parsing *: invalid syntax","details":[]}'
|
|
}
|
|
}
|
|
}
|
|
};
|
|
}
|
|
|
|
// Get all swap messages in the pool's current batch.
|
|
rpc PoolBatchSwapMsgs(QueryPoolBatchSwapMsgsRequest) returns (QueryPoolBatchSwapMsgsResponse) {
|
|
option (google.api.http).get = "/liquidity/pools/{pool_id}/batch/swaps";
|
|
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {
|
|
description: "It returns list of all swap messages in the current batch of the pool with pagination result.";
|
|
external_docs: {
|
|
url: "https://github.com/tendermint/liquidity/blob/develop/doc/client.md";
|
|
description: "Find out more about the query and error codes";
|
|
}
|
|
responses: {
|
|
key: "500"
|
|
value: {
|
|
description: "Internal Server Error"
|
|
examples: {
|
|
key: "application/json"
|
|
value: '{"code":2,"message":"rpc error: code = NotFound desc = liquidity pool 3 doesn\'t exist: key not found","details":[]}'
|
|
}
|
|
}
|
|
}
|
|
responses: {
|
|
key: "400"
|
|
value: {
|
|
description: "Bad Request"
|
|
examples: {
|
|
key: "application/json"
|
|
value: '{"code":3,"message":"type mismatch, parameter: pool_id, error: strconv.ParseUint: parsing *: invalid syntax","details":[]}'
|
|
}
|
|
}
|
|
}
|
|
};
|
|
}
|
|
|
|
// Get specific swap message in the pool's current batch.
|
|
rpc PoolBatchSwapMsg(QueryPoolBatchSwapMsgRequest) returns (QueryPoolBatchSwapMsgResponse) {
|
|
option (google.api.http).get = "/liquidity/pools/{pool_id}/batch/swaps/{msg_index}";
|
|
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {
|
|
description: "It returns the swap message corresponding to the msg_index in the pool's current batch";
|
|
external_docs: {
|
|
url: "https://github.com/tendermint/liquidity/blob/develop/doc/client.md";
|
|
description: "Find out more about the query and error codes";
|
|
}
|
|
responses: {
|
|
key: "500"
|
|
value: {
|
|
description: "Internal Server Error"
|
|
examples: {
|
|
key: "application/json"
|
|
value: '{"root":{"code":2,"details":[],"message":"rpc error: code = NotFound desc = the msg given msg_index 1 doesn\'t exist or deleted: key not found"}}'
|
|
}
|
|
}
|
|
}
|
|
responses: {
|
|
key: "400"
|
|
value: {
|
|
description: "Bad Request"
|
|
examples: {
|
|
key: "application/json"
|
|
value: '{"code":3,"message":"type mismatch, parameter: msg_index, error: strconv.ParseUint: parsing *: invalid syntax","details":[]}'
|
|
}
|
|
}
|
|
}
|
|
};
|
|
}
|
|
|
|
// Get all deposit messages in the pool's current batch.
|
|
rpc PoolBatchDepositMsgs(QueryPoolBatchDepositMsgsRequest) returns (QueryPoolBatchDepositMsgsResponse) {
|
|
option (google.api.http).get = "/liquidity/pools/{pool_id}/batch/deposits";
|
|
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {
|
|
description: "It returns list of all deposit messages in the current batch of the pool with pagination result.";
|
|
external_docs: {
|
|
url: "https://github.com/tendermint/liquidity/blob/develop/doc/client.md";
|
|
description: "Find out more about the query and error codes";
|
|
}
|
|
responses: {
|
|
key: "500"
|
|
value: {
|
|
description: "Internal Server Error"
|
|
examples: {
|
|
key: "application/json"
|
|
value: '{"code":2,"message":"rpc error: code = NotFound desc = liquidity pool 3 doesn\'t exist: key not found","details":[]}'
|
|
}
|
|
}
|
|
}
|
|
responses: {
|
|
key: "400"
|
|
value: {
|
|
description: "Bad Request"
|
|
examples: {
|
|
key: "application/json"
|
|
value: '{"code":3,"message":"type mismatch, parameter: pool_id, error: strconv.ParseUint: parsing *: invalid syntax","details":[]}'
|
|
}
|
|
}
|
|
}
|
|
|
|
};
|
|
}
|
|
|
|
// Get specific deposit message in the pool's current batch.
|
|
rpc PoolBatchDepositMsg(QueryPoolBatchDepositMsgRequest) returns (QueryPoolBatchDepositMsgResponse) {
|
|
option (google.api.http).get = "/liquidity/pools/{pool_id}/batch/deposits/{msg_index}";
|
|
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {
|
|
description: "It returns the deposit message corresponding to the msg_index in the pool's current batch.";
|
|
external_docs: {
|
|
url: "https://github.com/tendermint/liquidity/blob/develop/doc/client.md";
|
|
description: "Find out more about the query and error codes";
|
|
}
|
|
responses: {
|
|
key: "500"
|
|
value: {
|
|
description: "Internal Server Error"
|
|
examples: {
|
|
key: "application/json"
|
|
value: '{"root":{"code":2,"details":[],"message":"rpc error: code = NotFound desc = the msg given msg_index 1 doesn\'t exist or deleted: key not found"}}'
|
|
}
|
|
}
|
|
}
|
|
responses: {
|
|
key: "400"
|
|
value: {
|
|
description: "Bad Request"
|
|
examples: {
|
|
key: "application/json"
|
|
value: '{"code":3,"message":"type mismatch, parameter: msg_index, error: strconv.ParseUint: parsing *: invalid syntax","details":[]}'
|
|
}
|
|
}
|
|
}
|
|
};
|
|
}
|
|
|
|
// Get all withdraw messages in the pool's current batch.
|
|
rpc PoolBatchWithdrawMsgs(QueryPoolBatchWithdrawMsgsRequest) returns (QueryPoolBatchWithdrawMsgsResponse) {
|
|
option (google.api.http).get = "/liquidity/pools/{pool_id}/batch/withdraws";
|
|
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {
|
|
description: "It returns list of all withdraw messages in the current batch of the pool with pagination result.";
|
|
external_docs: {
|
|
url: "https://github.com/tendermint/liquidity/blob/develop/doc/client.md";
|
|
description: "Find out more about the query and error codes";
|
|
}
|
|
responses: {
|
|
key: "500"
|
|
value: {
|
|
description: "Internal Server Error"
|
|
examples: {
|
|
key: "application/json"
|
|
value: '{"code":2,"message":"rpc error: code = NotFound desc = liquidity pool 3 doesn\'t exist: key not found","details":[]}'
|
|
}
|
|
}
|
|
}
|
|
responses: {
|
|
key: "400"
|
|
value: {
|
|
description: "Bad Request"
|
|
examples: {
|
|
key: "application/json"
|
|
value: '{"code":3,"message":"type mismatch, parameter: pool_id, error: strconv.ParseUint: parsing *: invalid syntax","details":[]}'
|
|
}
|
|
}
|
|
}
|
|
|
|
};
|
|
}
|
|
|
|
// Get specific withdraw message in the pool's current batch.
|
|
rpc PoolBatchWithdrawMsg(QueryPoolBatchWithdrawMsgRequest) returns (QueryPoolBatchWithdrawMsgResponse) {
|
|
option (google.api.http).get = "/liquidity/pools/{pool_id}/batch/withdraws/{msg_index}";
|
|
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {
|
|
description: "It returns the withdraw message corresponding to the msg_index in the pool's current batch.";
|
|
external_docs: {
|
|
url: "https://github.com/tendermint/liquidity/blob/develop/doc/client.md";
|
|
description: "Find out more about the query and error codes";
|
|
}
|
|
responses: {
|
|
key: "500"
|
|
value: {
|
|
description: "Internal Server Error"
|
|
examples: {
|
|
key: "application/json"
|
|
value: '{"root":{"code":2,"details":[],"message":"rpc error: code = NotFound desc = the msg given msg_index 1 doesn\'t exist or deleted: key not found"}}'
|
|
}
|
|
}
|
|
}
|
|
responses: {
|
|
key: "400"
|
|
value: {
|
|
description: "Bad Request"
|
|
examples: {
|
|
key: "application/json"
|
|
value: '{"code":3,"message":"type mismatch, parameter: msg_index, error: strconv.ParseUint: parsing *: invalid syntax","details":[]}'
|
|
}
|
|
}
|
|
}
|
|
};
|
|
}
|
|
|
|
// Get all parameters of the liquidity module.
|
|
rpc Params(QueryParamsRequest) returns (QueryParamsResponse) {
|
|
option (google.api.http).get = "/liquidity/params";
|
|
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {
|
|
description: "It returns all parameters of the liquidity module.";
|
|
external_docs: {
|
|
url: "https://github.com/tendermint/liquidity/blob/develop/x/liquidity/spec/08_params.md";
|
|
description: "Find out more about the 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. It returns the liquidity pool corresponding to the requested pool_id.
|
|
message QueryLiquidityPoolResponse {
|
|
Pool pool = 1 [(gogoproto.nullable) = false];
|
|
// // id of the pool
|
|
// uint64 id = 1 [(gogoproto.moretags) = "yaml:\"id\"", (gogoproto.jsontag) = "id",
|
|
// (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
|
|
// example: "\"1\"",
|
|
// format: "uint64"
|
|
// }];
|
|
//
|
|
// // id of the pool type
|
|
// uint32 type_id = 2 [(gogoproto.moretags) = "yaml:\"type_id\"",
|
|
// (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
|
|
// example: "\"1\"",
|
|
// format: "uint32"
|
|
// }];
|
|
//
|
|
// // denoms of reserve coin pair of the pool
|
|
// repeated string reserve_coin_denoms = 3 [(gogoproto.moretags) = "yaml:\"reserve_coin_denoms\"",
|
|
// (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
|
|
// example: "[\"denomX\",\"denomY\"]"
|
|
// }];
|
|
//
|
|
// // reserve account address of the pool
|
|
// string reserve_account_address = 4 [(gogoproto.moretags) = "yaml:\"reserve_account_address\"",
|
|
// (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
|
|
// example: "\"cosmos16ddqestwukv0jzcyfn3fdfq9h2wrs83cr4rfm3\"",
|
|
// format: "sdk.AccAddress"
|
|
// }];
|
|
//
|
|
// // denom of pool coin of the pool
|
|
// string pool_coin_denom = 5 [(gogoproto.moretags) = "yaml:\"pool_coin_denom\"",
|
|
// (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
|
|
// example: "\"poolD35A0CC16EE598F90B044CE296A405BA9C381E38837599D96F2F70C2F02A23A4\"",
|
|
// }];
|
|
}
|
|
|
|
// 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. It returns the liquidity pool batch corresponding 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 list of all liquidity pools currently existed and paging results containing 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 containing 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 containing 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 containing next_key and total count.
|
|
message QueryPoolBatchWithdrawMsgsResponse {
|
|
repeated WithdrawMsgState withdraws = 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 QueryPoolBatchWithdrawMsg RPC method. This includes a batch swap message of the batch
|
|
message QueryPoolBatchWithdrawMsgResponse {
|
|
WithdrawMsgState withdraw = 1 [(gogoproto.nullable) = false];
|
|
}
|