Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/workflows/protocol-build-and-push.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ on: # yamllint disable-line rule:truthy
- main
- 'release/protocol/v[0-9]+.[0-9]+.x' # e.g. release/protocol/v0.1.x
- 'release/protocol/v[0-9]+.x' # e.g. release/protocol/v1.x
- 'anmol/eng-1296'
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

reminder to remove


jobs:
build-and-push-dev:
Expand Down
536 changes: 269 additions & 267 deletions indexer/packages/v4-protos/src/codegen/dydxprotocol/bundle.ts

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
import * as _m0 from "protobufjs/minimal";
import { DeepPartial } from "../../helpers";
/** BlockLimitsConfig stores global per-block limits for the CLOB module. */

export interface BlockLimitsConfig {
/**
* The maximum number of expired stateful orders that can be removed from
* state in a single block. This prevents performance degradation when
* processing a large number of expired orders.
*/
maxStatefulOrderRemovalsPerBlock: number;
}
/** BlockLimitsConfig stores global per-block limits for the CLOB module. */

export interface BlockLimitsConfigSDKType {
/**
* The maximum number of expired stateful orders that can be removed from
* state in a single block. This prevents performance degradation when
* processing a large number of expired orders.
*/
max_stateful_order_removals_per_block: number;
}

function createBaseBlockLimitsConfig(): BlockLimitsConfig {
return {
maxStatefulOrderRemovalsPerBlock: 0
};
}

export const BlockLimitsConfig = {
encode(message: BlockLimitsConfig, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
if (message.maxStatefulOrderRemovalsPerBlock !== 0) {
writer.uint32(8).uint32(message.maxStatefulOrderRemovalsPerBlock);
}

return writer;
},

decode(input: _m0.Reader | Uint8Array, length?: number): BlockLimitsConfig {
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
let end = length === undefined ? reader.len : reader.pos + length;
const message = createBaseBlockLimitsConfig();

while (reader.pos < end) {
const tag = reader.uint32();

switch (tag >>> 3) {
case 1:
message.maxStatefulOrderRemovalsPerBlock = reader.uint32();
break;

default:
reader.skipType(tag & 7);
break;
}
}

return message;
},

fromPartial(object: DeepPartial<BlockLimitsConfig>): BlockLimitsConfig {
const message = createBaseBlockLimitsConfig();
message.maxStatefulOrderRemovalsPerBlock = object.maxStatefulOrderRemovalsPerBlock ?? 0;
return message;
}

};
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { setPaginationParams } from "../../helpers";
import { LCDClient } from "@osmonauts/lcd";
import { QueryGetClobPairRequest, QueryClobPairResponseSDKType, QueryAllClobPairRequest, QueryClobPairAllResponseSDKType, QueryEquityTierLimitConfigurationRequest, QueryEquityTierLimitConfigurationResponseSDKType, QueryBlockRateLimitConfigurationRequest, QueryBlockRateLimitConfigurationResponseSDKType, QueryLiquidationsConfigurationRequest, QueryLiquidationsConfigurationResponseSDKType, QueryNextClobPairIdRequest, QueryNextClobPairIdResponseSDKType, QueryLeverageRequest, QueryLeverageResponseSDKType } from "./query";
import { QueryGetClobPairRequest, QueryClobPairResponseSDKType, QueryAllClobPairRequest, QueryClobPairAllResponseSDKType, QueryEquityTierLimitConfigurationRequest, QueryEquityTierLimitConfigurationResponseSDKType, QueryBlockRateLimitConfigurationRequest, QueryBlockRateLimitConfigurationResponseSDKType, QueryLiquidationsConfigurationRequest, QueryLiquidationsConfigurationResponseSDKType, QueryBlockLimitsConfigurationRequest, QueryBlockLimitsConfigurationResponseSDKType, QueryNextClobPairIdRequest, QueryNextClobPairIdResponseSDKType, QueryLeverageRequest, QueryLeverageResponseSDKType } from "./query";
export class LCDQueryClient {
req: LCDClient;

Expand All @@ -15,6 +15,7 @@ export class LCDQueryClient {
this.equityTierLimitConfiguration = this.equityTierLimitConfiguration.bind(this);
this.blockRateLimitConfiguration = this.blockRateLimitConfiguration.bind(this);
this.liquidationsConfiguration = this.liquidationsConfiguration.bind(this);
this.blockLimitsConfiguration = this.blockLimitsConfiguration.bind(this);
this.nextClobPairId = this.nextClobPairId.bind(this);
this.leverage = this.leverage.bind(this);
}
Expand Down Expand Up @@ -63,6 +64,13 @@ export class LCDQueryClient {
const endpoint = `dydxprotocol/clob/liquidations_config`;
return await this.req.get<QueryLiquidationsConfigurationResponseSDKType>(endpoint);
}
/* Queries BlockLimitsConfiguration. */


async blockLimitsConfiguration(_params: QueryBlockLimitsConfigurationRequest = {}): Promise<QueryBlockLimitsConfigurationResponseSDKType> {
const endpoint = `dydxprotocol/clob/block_limits_config`;
return await this.req.get<QueryBlockLimitsConfigurationResponseSDKType>(endpoint);
}
/* Queries the next clob pair id. */


Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { Rpc } from "../../helpers";
import * as _m0 from "protobufjs/minimal";
import { QueryClient, createProtobufRpcClient } from "@cosmjs/stargate";
import { QueryGetClobPairRequest, QueryClobPairResponse, QueryAllClobPairRequest, QueryClobPairAllResponse, MevNodeToNodeCalculationRequest, MevNodeToNodeCalculationResponse, QueryEquityTierLimitConfigurationRequest, QueryEquityTierLimitConfigurationResponse, QueryBlockRateLimitConfigurationRequest, QueryBlockRateLimitConfigurationResponse, QueryLiquidationsConfigurationRequest, QueryLiquidationsConfigurationResponse, QueryStatefulOrderRequest, QueryStatefulOrderResponse, QueryNextClobPairIdRequest, QueryNextClobPairIdResponse, QueryLeverageRequest, QueryLeverageResponse, StreamOrderbookUpdatesRequest, StreamOrderbookUpdatesResponse } from "./query";
import { QueryGetClobPairRequest, QueryClobPairResponse, QueryAllClobPairRequest, QueryClobPairAllResponse, MevNodeToNodeCalculationRequest, MevNodeToNodeCalculationResponse, QueryEquityTierLimitConfigurationRequest, QueryEquityTierLimitConfigurationResponse, QueryBlockRateLimitConfigurationRequest, QueryBlockRateLimitConfigurationResponse, QueryLiquidationsConfigurationRequest, QueryLiquidationsConfigurationResponse, QueryBlockLimitsConfigurationRequest, QueryBlockLimitsConfigurationResponse, QueryStatefulOrderRequest, QueryStatefulOrderResponse, QueryNextClobPairIdRequest, QueryNextClobPairIdResponse, QueryLeverageRequest, QueryLeverageResponse, StreamOrderbookUpdatesRequest, StreamOrderbookUpdatesResponse } from "./query";
/** Query defines the gRPC querier service. */

export interface Query {
Expand All @@ -22,6 +22,9 @@ export interface Query {
/** Queries LiquidationsConfiguration. */

liquidationsConfiguration(request?: QueryLiquidationsConfigurationRequest): Promise<QueryLiquidationsConfigurationResponse>;
/** Queries BlockLimitsConfiguration. */

blockLimitsConfiguration(request?: QueryBlockLimitsConfigurationRequest): Promise<QueryBlockLimitsConfigurationResponse>;
/** Queries the stateful order for a given order id. */

statefulOrder(request: QueryStatefulOrderRequest): Promise<QueryStatefulOrderResponse>;
Expand Down Expand Up @@ -49,6 +52,7 @@ export class QueryClientImpl implements Query {
this.equityTierLimitConfiguration = this.equityTierLimitConfiguration.bind(this);
this.blockRateLimitConfiguration = this.blockRateLimitConfiguration.bind(this);
this.liquidationsConfiguration = this.liquidationsConfiguration.bind(this);
this.blockLimitsConfiguration = this.blockLimitsConfiguration.bind(this);
this.statefulOrder = this.statefulOrder.bind(this);
this.nextClobPairId = this.nextClobPairId.bind(this);
this.leverage = this.leverage.bind(this);
Expand Down Expand Up @@ -93,6 +97,12 @@ export class QueryClientImpl implements Query {
return promise.then(data => QueryLiquidationsConfigurationResponse.decode(new _m0.Reader(data)));
}

blockLimitsConfiguration(request: QueryBlockLimitsConfigurationRequest = {}): Promise<QueryBlockLimitsConfigurationResponse> {
const data = QueryBlockLimitsConfigurationRequest.encode(request).finish();
const promise = this.rpc.request("dydxprotocol.clob.Query", "BlockLimitsConfiguration", data);
return promise.then(data => QueryBlockLimitsConfigurationResponse.decode(new _m0.Reader(data)));
}

statefulOrder(request: QueryStatefulOrderRequest): Promise<QueryStatefulOrderResponse> {
const data = QueryStatefulOrderRequest.encode(request).finish();
const promise = this.rpc.request("dydxprotocol.clob.Query", "StatefulOrder", data);
Expand Down Expand Up @@ -146,6 +156,10 @@ export const createRpcQueryExtension = (base: QueryClient) => {
return queryService.liquidationsConfiguration(request);
},

blockLimitsConfiguration(request?: QueryBlockLimitsConfigurationRequest): Promise<QueryBlockLimitsConfigurationResponse> {
return queryService.blockLimitsConfiguration(request);
},

statefulOrder(request: QueryStatefulOrderRequest): Promise<QueryStatefulOrderResponse> {
return queryService.statefulOrder(request);
},
Expand Down
108 changes: 108 additions & 0 deletions indexer/packages/v4-protos/src/codegen/dydxprotocol/clob/query.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import { ClobPair, ClobPairSDKType } from "./clob_pair";
import { EquityTierLimitConfiguration, EquityTierLimitConfigurationSDKType } from "./equity_tier_limit_config";
import { BlockRateLimitConfiguration, BlockRateLimitConfigurationSDKType } from "./block_rate_limit_config";
import { LiquidationsConfig, LiquidationsConfigSDKType } from "./liquidations_config";
import { BlockLimitsConfig, BlockLimitsConfigSDKType } from "./block_limits_config";
import { StreamSubaccountUpdate, StreamSubaccountUpdateSDKType } from "../subaccounts/streaming";
import { StreamPriceUpdate, StreamPriceUpdateSDKType } from "../prices/streaming";
import { OffChainUpdateV1, OffChainUpdateV1SDKType } from "../indexer/off_chain_updates/off_chain_updates";
Expand Down Expand Up @@ -246,6 +247,34 @@ export interface QueryLiquidationsConfigurationResponse {
export interface QueryLiquidationsConfigurationResponseSDKType {
liquidations_config?: LiquidationsConfigSDKType;
}
/**
* QueryBlockLimitsConfigurationRequest is a request message for
* BlockLimitsConfiguration.
*/

export interface QueryBlockLimitsConfigurationRequest {}
/**
* QueryBlockLimitsConfigurationRequest is a request message for
* BlockLimitsConfiguration.
*/

export interface QueryBlockLimitsConfigurationRequestSDKType {}
/**
* QueryBlockLimitsConfigurationResponse is a response message that contains
* the BlockLimitsConfiguration.
*/

export interface QueryBlockLimitsConfigurationResponse {
blockLimitsConfig?: BlockLimitsConfig;
}
/**
* QueryBlockLimitsConfigurationResponse is a response message that contains
* the BlockLimitsConfiguration.
*/

export interface QueryBlockLimitsConfigurationResponseSDKType {
block_limits_config?: BlockLimitsConfigSDKType;
}
/** QueryNextClobPairIdRequest is a request message for the next clob pair id */

export interface QueryNextClobPairIdRequest {}
Expand Down Expand Up @@ -1277,6 +1306,85 @@ export const QueryLiquidationsConfigurationResponse = {

};

function createBaseQueryBlockLimitsConfigurationRequest(): QueryBlockLimitsConfigurationRequest {
return {};
}

export const QueryBlockLimitsConfigurationRequest = {
encode(_: QueryBlockLimitsConfigurationRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
return writer;
},

decode(input: _m0.Reader | Uint8Array, length?: number): QueryBlockLimitsConfigurationRequest {
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
let end = length === undefined ? reader.len : reader.pos + length;
const message = createBaseQueryBlockLimitsConfigurationRequest();

while (reader.pos < end) {
const tag = reader.uint32();

switch (tag >>> 3) {
default:
reader.skipType(tag & 7);
break;
}
}

return message;
},

fromPartial(_: DeepPartial<QueryBlockLimitsConfigurationRequest>): QueryBlockLimitsConfigurationRequest {
const message = createBaseQueryBlockLimitsConfigurationRequest();
return message;
}

};

function createBaseQueryBlockLimitsConfigurationResponse(): QueryBlockLimitsConfigurationResponse {
return {
blockLimitsConfig: undefined
};
}

export const QueryBlockLimitsConfigurationResponse = {
encode(message: QueryBlockLimitsConfigurationResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
if (message.blockLimitsConfig !== undefined) {
BlockLimitsConfig.encode(message.blockLimitsConfig, writer.uint32(10).fork()).ldelim();
}

return writer;
},

decode(input: _m0.Reader | Uint8Array, length?: number): QueryBlockLimitsConfigurationResponse {
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
let end = length === undefined ? reader.len : reader.pos + length;
const message = createBaseQueryBlockLimitsConfigurationResponse();

while (reader.pos < end) {
const tag = reader.uint32();

switch (tag >>> 3) {
case 1:
message.blockLimitsConfig = BlockLimitsConfig.decode(reader, reader.uint32());
break;

default:
reader.skipType(tag & 7);
break;
}
}

return message;
},

fromPartial(object: DeepPartial<QueryBlockLimitsConfigurationResponse>): QueryBlockLimitsConfigurationResponse {
const message = createBaseQueryBlockLimitsConfigurationResponse();
message.blockLimitsConfig = object.blockLimitsConfig !== undefined && object.blockLimitsConfig !== null ? BlockLimitsConfig.fromPartial(object.blockLimitsConfig) : undefined;
return message;
}

};

function createBaseQueryNextClobPairIdRequest(): QueryNextClobPairIdRequest {
return {};
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
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";
import { MsgProposedOperations, MsgProposedOperationsResponse, MsgPlaceOrder, MsgPlaceOrderResponse, MsgCancelOrder, MsgCancelOrderResponse, MsgBatchCancel, MsgBatchCancelResponse, MsgCreateClobPair, MsgCreateClobPairResponse, MsgUpdateClobPair, MsgUpdateClobPairResponse, MsgUpdateEquityTierLimitConfiguration, MsgUpdateEquityTierLimitConfigurationResponse, MsgUpdateBlockRateLimitConfiguration, MsgUpdateBlockRateLimitConfigurationResponse, MsgUpdateLiquidationsConfig, MsgUpdateLiquidationsConfigResponse, MsgUpdateBlockLimitsConfig, MsgUpdateBlockLimitsConfigResponse, MsgUpdateLeverage, MsgUpdateLeverageResponse } from "./tx";
/** Msg defines the Msg service. */

export interface Msg {
Expand Down Expand Up @@ -44,6 +44,9 @@ export interface Msg {
/** UpdateLiquidationsConfig updates the liquidations configuration in state. */

updateLiquidationsConfig(request: MsgUpdateLiquidationsConfig): Promise<MsgUpdateLiquidationsConfigResponse>;
/** UpdateBlockLimitsConfig updates the block limits configuration in state. */

updateBlockLimitsConfig(request: MsgUpdateBlockLimitsConfig): Promise<MsgUpdateBlockLimitsConfigResponse>;
/**
* UpdateLeverage allows accounts to update their desired leverage for
* clob pairs.
Expand All @@ -65,6 +68,7 @@ export class MsgClientImpl implements Msg {
this.updateEquityTierLimitConfiguration = this.updateEquityTierLimitConfiguration.bind(this);
this.updateBlockRateLimitConfiguration = this.updateBlockRateLimitConfiguration.bind(this);
this.updateLiquidationsConfig = this.updateLiquidationsConfig.bind(this);
this.updateBlockLimitsConfig = this.updateBlockLimitsConfig.bind(this);
this.updateLeverage = this.updateLeverage.bind(this);
}

Expand Down Expand Up @@ -122,6 +126,12 @@ export class MsgClientImpl implements Msg {
return promise.then(data => MsgUpdateLiquidationsConfigResponse.decode(new _m0.Reader(data)));
}

updateBlockLimitsConfig(request: MsgUpdateBlockLimitsConfig): Promise<MsgUpdateBlockLimitsConfigResponse> {
const data = MsgUpdateBlockLimitsConfig.encode(request).finish();
const promise = this.rpc.request("dydxprotocol.clob.Msg", "UpdateBlockLimitsConfig", data);
return promise.then(data => MsgUpdateBlockLimitsConfigResponse.decode(new _m0.Reader(data)));
}

updateLeverage(request: MsgUpdateLeverage): Promise<MsgUpdateLeverageResponse> {
const data = MsgUpdateLeverage.encode(request).finish();
const promise = this.rpc.request("dydxprotocol.clob.Msg", "UpdateLeverage", data);
Expand Down
Loading
Loading