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 ];
}

Synonyms

space-pussy/proto/cyber/grid/v1beta1/query.proto
go-cyber/proto/cyber/clock/v1/query.proto
space-pussy/proto/cyber/bandwidth/v1beta1/query.proto
go-cyber/proto/osmosis/tokenfactory/v1beta1/query.proto
go-cyber/proto/cyber/resources/v1beta1/query.proto
go-cyber/proto/cyber/grid/v1beta1/query.proto
space-pussy/proto/cyber/rank/v1beta1/query.proto
go-cyber/proto/cyber/bandwidth/v1beta1/query.proto
go-cyber/proto/cyber/graph/v1beta1/query.proto
space-pussy/proto/cyber/resources/v1beta1/query.proto
space-pussy/proto/cyber/graph/v1beta1/query.proto
space-pussy/proto/cyber/dmn/v1beta1/query.proto
go-cyber/proto/cyber/dmn/v1beta1/query.proto
go-cyber/proto/cyber/rank/v1beta1/query.proto
cyber-ts/packages/cyber-ts/proto/cosmos/bank/v1beta1/query.proto
cyber-ts/packages/cyber-ts/proto/cosmos/mint/v1beta1/query.proto
cyber-ts/packages/cyber-ts/proto/cosmos/nft/v1beta1/query.proto
cyber-ts/packages/cyber-ts/proto/cosmwasm/wasm/v1/query.proto
cyber-ts/packages/cyber-ts/proto/cyber/bandwidth/v1beta1/query.proto
cyber-ts/packages/cyber-ts/proto/cosmos/feegrant/v1beta1/query.proto
cyber-ts/packages/cyber-ts/proto/cyber/clock/v1/query.proto
cyber-ts/packages/cyber-ts/proto/cosmos/app/v1alpha1/query.proto
cyber-ts/packages/cyber-ts/proto/cyber/liquidity/v1beta1/query.proto
cyber-ts/packages/cyber-ts/proto/cosmos/gov/v1/query.proto
cyber-ts/packages/cyber-ts/proto/cosmos/distribution/v1beta1/query.proto
cyber-ts/packages/cyber-ts/proto/cyber/dmn/v1beta1/query.proto
cyber-ts/packages/cyber-ts/proto/osmosis/tokenfactory/v1beta1/query.proto
cyber-ts/packages/cyber-ts/proto/cosmos/authz/v1beta1/query.proto
cyber-ts/packages/cyber-ts/proto/cosmos/params/v1beta1/query.proto
cyber-ts/packages/cyber-ts/proto/cyber/graph/v1beta1/query.proto
cyber-ts/packages/cyber-ts/proto/cosmos/staking/v1beta1/query.proto
cyber-ts/packages/cyber-ts/proto/cosmos/slashing/v1beta1/query.proto
cyber-ts/packages/cyber-ts/proto/cyber/grid/v1beta1/query.proto
cyber-ts/packages/cyber-ts/proto/cyber/resources/v1beta1/query.proto
cyber-ts/packages/cyber-ts/proto/cosmos/upgrade/v1beta1/query.proto
cyber-ts/packages/cyber-ts/proto/cosmos/gov/v1beta1/query.proto
cyber-ts/packages/cyber-ts/proto/cyber/rank/v1beta1/query.proto
cyber-ts/packages/cyber-ts/proto/cosmos/group/v1/query.proto
cyber-ts/packages/cyber-ts/proto/cosmos/auth/v1beta1/query.proto
cyber-ts/packages/cyber-ts/proto/cosmos/evidence/v1beta1/query.proto
cyber-ts/packages/cyber-ts/proto/cosmos/base/tendermint/v1beta1/query.proto

Neighbours