Эндпоинты модулей

Данный эндпоинты доступны на уровне модулей. Вы можете использовать GRPC клиент, чтобы делать вызовы

Эндпоинты POST

Данные эндпоинты требуют наличие подписанной транзакции (Tx). Здесь вы можете найти пример использования клиента cosmjs https://github.com/sei-protocol/sei-chain/blob/master/oracle/oracle.js

Размещение ордеров

Модуль DEX

Данный эндпоинт принимает запрос на массовое размещение ордеров.

rpc PlaceOrders(MsgPlaceOrders) returns (MsgPlaceOrdersResponse);

message MsgPlaceOrders {
  string creator = 1;
  repeated OrderPlacement orders = 2;
  string contractAddr = 3;
  repeated cosmos.base.v1beta1.Coin funds = 5 [
    (gogoproto.nullable) = false,
    (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins"
  ];
}

message MsgPlaceOrdersResponse {
  repeated uint64 orderIds = 1;
}

Отмена ордеров

Модуль DEX

Данный эндпоинт принимает запрос на массовую отмену ордеров.

rpc CancelOrders(MsgCancelOrders) returns (MsgCancelOrdersResponse);

message MsgCancelOrders {
  string creator = 1;
  repeated OrderCancellation orderCancellations = 2;
  string contractAddr = 3;
}

message MsgCancelOrdersResponse {}

Ликвидация

Модуль DEX

Эндпоинт ликвидирует аккаунт.

message MsgLiquidation {
  string creator = 1;
  string accountToLiquidate = 2;
  string contractAddr = 3;
}

message MsgLiquidationResponse {}

Предварительное голосование по обменному курсу

Модуль Оракул

Данный эндпоинт отправляет оракулу хэш предварительного голосования для следующего цикла.

message MsgAggregateExchangeRatePrevote {
  string hash = 1;
  string feeder = 2;
  string validator = 3;
}

message MsgAggregateExchangeRatePrevoteResponse {}

Голосование по обменному курсу

Модуль Оракул

Эндпоинт используется для голосования по величине обменного курса в текущем цикле голосования. Предоставляемые биржевые курсы должны совпадать с хэшем предварительного голосования предыдущего цикла голосования (для текущего цикла голосования).

message MsgAggregateExchangeRateVote {
  string salt = 1;
  string exchange_rates = 2;
  string feeder = 3;
  string validator = 4;
}

message MsgAggregateExchangeRateVoteResponse {}

Эндпоинты GET

Получение последних сделок

Модуль DEX

Эндпоинт принимает id рынка и возвращает сделки, размещенные в последнем блоке.

GetSettledTradesRequest {
  int market_id;
}

GetSettledTradesResponse {
  vector<Order> settled_trades;
}

Получение полной книги ордеров

Модуль DEX

Эндпоинт принимает id рынка и возвращает полную книгу ордеров в последнем блоке. Сервис: codchen.matrixchain.dex.Query Метод: LongBook Формат сообщения:

// Request
QueryGetLongBookRequest {
  uint64 id = 1;
}

// Response
QueryGetLongBookResponse {
  LongBook LongBook = 1 [(gogoproto.nullable) = false];
}

// Example (using grpc-client-cli)
> grpc-client-cli localhost:9090
? Choose a service: codchen.matrixchain.dex.Query
? Choose a method: LongBook
Message json (type ? to see defaults): {"id": 0}

Получение краткой книги ордеров

Модуль DEX

Эндпоинт принимает id рынка и возвращает краткую книгу ордеров в последнем блоке. Сервис: codchen.matrixchain.dex.Query Метод: ShortBook Формат сообщения:

// Request
QueryGetShortBookRequest {
  uint64 id = 1;
}

// Response
QueryGetShortBookResponse {
  ShortBook ShortBook = 1 [(gogoproto.nullable) = false];
}

// Example (using grpc-client-cli)
> grpc-client-cli localhost:9090
? Choose a service: codchen.matrixchain.dex.Query
? Choose a method: ShortBook
Message json (type ? to see defaults): {"id": 0}

Получение обменного курса

Модуль Оракул

Эндпоинт возвращает обменный курс для определенной валюты. Сервис: seiprotocol.seichain.oracle.Query Метод: ExchangeRate Формат сообщения:

// Request
QueryExchangeRatesRequest {}

// Response
QueryExchangeRateResponse {
  OracleExchangeRate oracle_exchange_rate = 1 [(gogoproto.nullable) = false];
}

// Example (using grpc-client-cli)
> grpc-client-cli localhost:9090
? Choose a service: seiprotocol.seichain.oracle.Query
? Choose a method: ExchangeRate
Message json (type ? to see defaults): {"denom": "foo"}

Получение обменных курсов

Модуль Оракул

Эндпоинт возвращает все активные обменные курсы. Сервис: seiprotocol.seichain.oracle.Query Метод: ExchangeRates Формат сообщения:

// Request
QueryExchangeRateRequest {
  string denom = 1;
}

DenomOracleExchangeRatePair {
  string denom = 1;
  OracleExchangeRate oracle_exchange_rate = 2 [(gogoproto.nullable) = false];
}

// Response
QueryExchangeRatesResponse {
  // exchange_rates defines a list of the exchange rate for all whitelisted denoms.
  repeated DenomOracleExchangeRatePair denom_oracle_exchange_rate_pairs = 1;
}

// Example (using grpc-client-cli)
> grpc-client-cli localhost:9090
? Choose a service: seiprotocol.seichain.oracle.Query
? Choose a method: ExchangeRates
Message json (type ? to see defaults): {}

Получение целей для голосования

Модуль Оракул

Эндпоинт возвращает все наименования, доступные для голосования по цене. Сервис: seiprotocol.seichain.oracle.Query Метод: VoteTargets Формат сообщения:

// Request
QueryVoteTargetsRequest {}

// Response
QueryVoteTargetsResponse {
  repeated string vote_targets = 1;
}

// Example (using grpc-client-cli)
> grpc-client-cli localhost:9090
? Choose a service: seiprotocol.seichain.oracle.Query
? Choose a method: VoteTargets
Message json (type ? to see defaults): {}

Получение счетчика пропусков

Модуль Оракул

Эндпоинт возвращает счетчик пропусков для конкретного валидатора. Сервис: seiprotocol.seichain.oracle.Query Метод: MissCounter Формат сообщения:

// Request
QueryMissCounterRequest {
  string validator_addr = 1;
}

// Response
QueryMissCounterResponse {
  uint64 miss_counter = 1;
}

// Example (using grpc-client-cli)
> grpc-client-cli localhost:9090
? Choose a service: seiprotocol.seichain.oracle.Query
? Choose a method: MissCounter
Message json (type ? to see defaults): {"validator_addr": "seivaloperADDR"}

Другие эндпоинды, доступные для использования, а также подробную спецификацию вы сможете найти здесь https://github.com/sei-protocol/sei-chain/blob/master/proto/oracle/query.proto

Last updated