import { Rpc } from "../../helpers"; import * as _m0 from "protobufjs/minimal"; import { MsgProposedOperations, MsgProposedOperationsResponse, MsgPlaceOrder, MsgPlaceOrderResponse, MsgCancelOrder, MsgCancelOrderResponse, MsgBatchCancel, MsgBatchCancelResponse, MsgCreateClobPair, MsgCreateClobPairResponse, MsgUpdateClobPair, MsgUpdateClobPairResponse, MsgUpdateEquityTierLimitConfiguration, MsgUpdateEquityTierLimitConfigurationResponse, MsgUpdateBlockRateLimitConfiguration, MsgUpdateBlockRateLimitConfigurationResponse, MsgUpdateLiquidationsConfig, MsgUpdateLiquidationsConfigResponse, MsgUpdateLeverage, MsgUpdateLeverageResponse } from "./tx"; /** Msg defines the Msg service. */ export interface Msg { /** * ProposedOperations is a temporary message used by block proposers * for matching orders as part of the ABCI++ workaround. */ proposedOperations(request: MsgProposedOperations): Promise; /** PlaceOrder allows accounts to place orders on the orderbook. */ placeOrder(request: MsgPlaceOrder): Promise; /** CancelOrder allows accounts to cancel existing orders on the orderbook. */ cancelOrder(request: MsgCancelOrder): Promise; /** BatchCancel allows accounts to cancel a batch of orders on the orderbook. */ batchCancel(request: MsgBatchCancel): Promise; /** CreateClobPair creates a new clob pair. */ createClobPair(request: MsgCreateClobPair): Promise; /** * UpdateClobPair sets the status of a clob pair. Should return an error * if the authority is not in the clob keeper's set of authorities, * if the ClobPair id is not found in state, or if the update includes * an unsupported status transition. */ updateClobPair(request: MsgUpdateClobPair): Promise; /** * UpdateEquityTierLimitConfiguration updates the equity tier limit * configuration in state. */ updateEquityTierLimitConfiguration(request: MsgUpdateEquityTierLimitConfiguration): Promise; /** * UpdateBlockRateLimitConfiguration updates the block rate limit * configuration in state. */ updateBlockRateLimitConfiguration(request: MsgUpdateBlockRateLimitConfiguration): Promise; /** UpdateLiquidationsConfig updates the liquidations configuration in state. */ updateLiquidationsConfig(request: MsgUpdateLiquidationsConfig): Promise; /** * UpdateLeverage allows accounts to update their desired leverage for * clob pairs. */ updateLeverage(request: MsgUpdateLeverage): Promise; } export class MsgClientImpl implements Msg { private readonly rpc: Rpc; constructor(rpc: Rpc) { this.rpc = rpc; this.proposedOperations = this.proposedOperations.bind(this); this.placeOrder = this.placeOrder.bind(this); this.cancelOrder = this.cancelOrder.bind(this); this.batchCancel = this.batchCancel.bind(this); this.createClobPair = this.createClobPair.bind(this); this.updateClobPair = this.updateClobPair.bind(this); this.updateEquityTierLimitConfiguration = this.updateEquityTierLimitConfiguration.bind(this); this.updateBlockRateLimitConfiguration = this.updateBlockRateLimitConfiguration.bind(this); this.updateLiquidationsConfig = this.updateLiquidationsConfig.bind(this); this.updateLeverage = this.updateLeverage.bind(this); } proposedOperations(request: MsgProposedOperations): Promise { const data = MsgProposedOperations.encode(request).finish(); const promise = this.rpc.request("dydxprotocol.clob.Msg", "ProposedOperations", data); return promise.then(data => MsgProposedOperationsResponse.decode(new _m0.Reader(data))); } placeOrder(request: MsgPlaceOrder): Promise { const data = MsgPlaceOrder.encode(request).finish(); const promise = this.rpc.request("dydxprotocol.clob.Msg", "PlaceOrder", data); return promise.then(data => MsgPlaceOrderResponse.decode(new _m0.Reader(data))); } cancelOrder(request: MsgCancelOrder): Promise { const data = MsgCancelOrder.encode(request).finish(); const promise = this.rpc.request("dydxprotocol.clob.Msg", "CancelOrder", data); return promise.then(data => MsgCancelOrderResponse.decode(new _m0.Reader(data))); } batchCancel(request: MsgBatchCancel): Promise { const data = MsgBatchCancel.encode(request).finish(); const promise = this.rpc.request("dydxprotocol.clob.Msg", "BatchCancel", data); return promise.then(data => MsgBatchCancelResponse.decode(new _m0.Reader(data))); } createClobPair(request: MsgCreateClobPair): Promise { const data = MsgCreateClobPair.encode(request).finish(); const promise = this.rpc.request("dydxprotocol.clob.Msg", "CreateClobPair", data); return promise.then(data => MsgCreateClobPairResponse.decode(new _m0.Reader(data))); } updateClobPair(request: MsgUpdateClobPair): Promise { const data = MsgUpdateClobPair.encode(request).finish(); const promise = this.rpc.request("dydxprotocol.clob.Msg", "UpdateClobPair", data); return promise.then(data => MsgUpdateClobPairResponse.decode(new _m0.Reader(data))); } updateEquityTierLimitConfiguration(request: MsgUpdateEquityTierLimitConfiguration): Promise { const data = MsgUpdateEquityTierLimitConfiguration.encode(request).finish(); const promise = this.rpc.request("dydxprotocol.clob.Msg", "UpdateEquityTierLimitConfiguration", data); return promise.then(data => MsgUpdateEquityTierLimitConfigurationResponse.decode(new _m0.Reader(data))); } updateBlockRateLimitConfiguration(request: MsgUpdateBlockRateLimitConfiguration): Promise { const data = MsgUpdateBlockRateLimitConfiguration.encode(request).finish(); const promise = this.rpc.request("dydxprotocol.clob.Msg", "UpdateBlockRateLimitConfiguration", data); return promise.then(data => MsgUpdateBlockRateLimitConfigurationResponse.decode(new _m0.Reader(data))); } updateLiquidationsConfig(request: MsgUpdateLiquidationsConfig): Promise { const data = MsgUpdateLiquidationsConfig.encode(request).finish(); const promise = this.rpc.request("dydxprotocol.clob.Msg", "UpdateLiquidationsConfig", data); return promise.then(data => MsgUpdateLiquidationsConfigResponse.decode(new _m0.Reader(data))); } updateLeverage(request: MsgUpdateLeverage): Promise { const data = MsgUpdateLeverage.encode(request).finish(); const promise = this.rpc.request("dydxprotocol.clob.Msg", "UpdateLeverage", data); return promise.then(data => MsgUpdateLeverageResponse.decode(new _m0.Reader(data))); } }