@uniswap/client-trading 0.7.0 → 0.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  import { MethodIdempotency, MethodKind } from "@bufbuild/protobuf";
2
- import { CheckApproval4337Request, CheckApproval4337Response, CheckApprovalRequest, CheckApprovalResponse, CheckWalletDelegationRequest, CheckWalletDelegationResponse, CreatePlanRequest, DocsRequest, DocsResponse, Encode4337Request, Encode4337Response, Encode7702Request, Encode7702Response, GetOrdersRequest, GetOrdersResponse, GetPlanRequest, GetPlansRequest, GetPlansResponse, GetSwapsRequest, GetSwapsResponse, GetTokensRequest, GetTokensResponse, MarginMarketsRequest, MarginMarketsResponse, MarginQuoteRequest, MarginQuoteResponse, OrderRequest, OrderResponse, PermissionsRequest, PermissionsResponse, PlanResponse, QuoteRequest, QuoteResponse, SupportedChainsRequest, SupportedChainsResponse, Swap4337Request, Swap4337Response, Swap5792Request, Swap5792Response, Swap7702Request, Swap7702Response, SwappableTokensRequest, SwappableTokensResponse, SwapRequest, SwapResponse, UpdatePlanRequest } from "./api_pb.js";
2
+ import { CheckApproval4337Request, CheckApproval4337Response, CheckApprovalRequest, CheckApprovalResponse, CheckWalletDelegationRequest, CheckWalletDelegationResponse, CreatePlanRequest, DocsRequest, DocsResponse, Encode4337Request, Encode4337Response, Encode7702Request, Encode7702Response, GetOrdersRequest, GetOrdersResponse, GetPlanRequest, GetPlansRequest, GetPlansResponse, GetSwapsRequest, GetSwapsResponse, GetTokensRequest, GetTokensResponse, MarginMarketsRequest, MarginMarketsResponse, MarginPositionsRequest, MarginPositionsResponse, MarginQuoteRequest, MarginQuoteResponse, OrderRequest, OrderResponse, PermissionsRequest, PermissionsResponse, PlanResponse, QuoteRequest, QuoteResponse, SupportedChainsRequest, SupportedChainsResponse, Swap4337Request, Swap4337Response, Swap5792Request, Swap5792Response, Swap7702Request, Swap7702Response, SwappableTokensRequest, SwappableTokensResponse, SwapRequest, SwapResponse, UpdatePlanRequest } from "./api_pb.js";
3
3
  /**
4
4
  * @generated from rpc trading.v1.tradingService.Quote
5
5
  */
@@ -336,3 +336,17 @@ export declare const marginMarkets: {
336
336
  readonly typeName: "trading.v1.tradingService";
337
337
  };
338
338
  };
339
+ /**
340
+ * @generated from rpc trading.v1.tradingService.MarginPositions
341
+ */
342
+ export declare const marginPositions: {
343
+ readonly localName: "marginPositions";
344
+ readonly name: "MarginPositions";
345
+ readonly kind: MethodKind.Unary;
346
+ readonly I: typeof MarginPositionsRequest;
347
+ readonly O: typeof MarginPositionsResponse;
348
+ readonly idempotency: MethodIdempotency.NoSideEffects;
349
+ readonly service: {
350
+ readonly typeName: "trading.v1.tradingService";
351
+ };
352
+ };
@@ -3,7 +3,7 @@
3
3
  /* eslint-disable */
4
4
  // @ts-nocheck
5
5
  import { MethodIdempotency, MethodKind } from "@bufbuild/protobuf";
6
- import { CheckApproval4337Request, CheckApproval4337Response, CheckApprovalRequest, CheckApprovalResponse, CheckWalletDelegationRequest, CheckWalletDelegationResponse, CreatePlanRequest, DocsRequest, DocsResponse, Encode4337Request, Encode4337Response, Encode7702Request, Encode7702Response, GetOrdersRequest, GetOrdersResponse, GetPlanRequest, GetPlansRequest, GetPlansResponse, GetSwapsRequest, GetSwapsResponse, GetTokensRequest, GetTokensResponse, MarginMarketsRequest, MarginMarketsResponse, MarginQuoteRequest, MarginQuoteResponse, OrderRequest, OrderResponse, PermissionsRequest, PermissionsResponse, PlanResponse, QuoteRequest, QuoteResponse, SupportedChainsRequest, SupportedChainsResponse, Swap4337Request, Swap4337Response, Swap5792Request, Swap5792Response, Swap7702Request, Swap7702Response, SwappableTokensRequest, SwappableTokensResponse, SwapRequest, SwapResponse, UpdatePlanRequest } from "./api_pb.js";
6
+ import { CheckApproval4337Request, CheckApproval4337Response, CheckApprovalRequest, CheckApprovalResponse, CheckWalletDelegationRequest, CheckWalletDelegationResponse, CreatePlanRequest, DocsRequest, DocsResponse, Encode4337Request, Encode4337Response, Encode7702Request, Encode7702Response, GetOrdersRequest, GetOrdersResponse, GetPlanRequest, GetPlansRequest, GetPlansResponse, GetSwapsRequest, GetSwapsResponse, GetTokensRequest, GetTokensResponse, MarginMarketsRequest, MarginMarketsResponse, MarginPositionsRequest, MarginPositionsResponse, MarginQuoteRequest, MarginQuoteResponse, OrderRequest, OrderResponse, PermissionsRequest, PermissionsResponse, PlanResponse, QuoteRequest, QuoteResponse, SupportedChainsRequest, SupportedChainsResponse, Swap4337Request, Swap4337Response, Swap5792Request, Swap5792Response, Swap7702Request, Swap7702Response, SwappableTokensRequest, SwappableTokensResponse, SwapRequest, SwapResponse, UpdatePlanRequest } from "./api_pb.js";
7
7
  /**
8
8
  * @generated from rpc trading.v1.tradingService.Quote
9
9
  */
@@ -340,3 +340,17 @@ export const marginMarkets = {
340
340
  typeName: "trading.v1.tradingService"
341
341
  }
342
342
  };
343
+ /**
344
+ * @generated from rpc trading.v1.tradingService.MarginPositions
345
+ */
346
+ export const marginPositions = {
347
+ localName: "marginPositions",
348
+ name: "MarginPositions",
349
+ kind: MethodKind.Unary,
350
+ I: MarginPositionsRequest,
351
+ O: MarginPositionsResponse,
352
+ idempotency: MethodIdempotency.NoSideEffects,
353
+ service: {
354
+ typeName: "trading.v1.tradingService"
355
+ }
356
+ };
@@ -1,4 +1,4 @@
1
- import { CheckApproval4337Request, CheckApproval4337Response, CheckApprovalRequest, CheckApprovalResponse, CheckWalletDelegationRequest, CheckWalletDelegationResponse, CreatePlanRequest, DocsRequest, DocsResponse, Encode4337Request, Encode4337Response, Encode7702Request, Encode7702Response, GetOrdersRequest, GetOrdersResponse, GetPlanRequest, GetPlansRequest, GetPlansResponse, GetSwapsRequest, GetSwapsResponse, GetTokensRequest, GetTokensResponse, MarginMarketsRequest, MarginMarketsResponse, MarginQuoteRequest, MarginQuoteResponse, OrderRequest, OrderResponse, PermissionsRequest, PermissionsResponse, PlanResponse, QuoteRequest, QuoteResponse, SupportedChainsRequest, SupportedChainsResponse, Swap4337Request, Swap4337Response, Swap5792Request, Swap5792Response, Swap7702Request, Swap7702Response, SwappableTokensRequest, SwappableTokensResponse, SwapRequest, SwapResponse, UpdatePlanRequest } from "./api_pb.js";
1
+ import { CheckApproval4337Request, CheckApproval4337Response, CheckApprovalRequest, CheckApprovalResponse, CheckWalletDelegationRequest, CheckWalletDelegationResponse, CreatePlanRequest, DocsRequest, DocsResponse, Encode4337Request, Encode4337Response, Encode7702Request, Encode7702Response, GetOrdersRequest, GetOrdersResponse, GetPlanRequest, GetPlansRequest, GetPlansResponse, GetSwapsRequest, GetSwapsResponse, GetTokensRequest, GetTokensResponse, MarginMarketsRequest, MarginMarketsResponse, MarginPositionsRequest, MarginPositionsResponse, MarginQuoteRequest, MarginQuoteResponse, OrderRequest, OrderResponse, PermissionsRequest, PermissionsResponse, PlanResponse, QuoteRequest, QuoteResponse, SupportedChainsRequest, SupportedChainsResponse, Swap4337Request, Swap4337Response, Swap5792Request, Swap5792Response, Swap7702Request, Swap7702Response, SwappableTokensRequest, SwappableTokensResponse, SwapRequest, SwapResponse, UpdatePlanRequest } from "./api_pb.js";
2
2
  import { MethodIdempotency, MethodKind } from "@bufbuild/protobuf";
3
3
  /**
4
4
  * @generated from service trading.v1.tradingService
@@ -246,5 +246,15 @@ export declare const tradingService: {
246
246
  readonly kind: MethodKind.Unary;
247
247
  readonly idempotency: MethodIdempotency.NoSideEffects;
248
248
  };
249
+ /**
250
+ * @generated from rpc trading.v1.tradingService.MarginPositions
251
+ */
252
+ readonly marginPositions: {
253
+ readonly name: "MarginPositions";
254
+ readonly I: typeof MarginPositionsRequest;
255
+ readonly O: typeof MarginPositionsResponse;
256
+ readonly kind: MethodKind.Unary;
257
+ readonly idempotency: MethodIdempotency.NoSideEffects;
258
+ };
249
259
  };
250
260
  };
@@ -2,7 +2,7 @@
2
2
  // @generated from file trading/v1/api.proto (package trading.v1, syntax proto3)
3
3
  /* eslint-disable */
4
4
  // @ts-nocheck
5
- import { CheckApproval4337Request, CheckApproval4337Response, CheckApprovalRequest, CheckApprovalResponse, CheckWalletDelegationRequest, CheckWalletDelegationResponse, CreatePlanRequest, DocsRequest, DocsResponse, Encode4337Request, Encode4337Response, Encode7702Request, Encode7702Response, GetOrdersRequest, GetOrdersResponse, GetPlanRequest, GetPlansRequest, GetPlansResponse, GetSwapsRequest, GetSwapsResponse, GetTokensRequest, GetTokensResponse, MarginMarketsRequest, MarginMarketsResponse, MarginQuoteRequest, MarginQuoteResponse, OrderRequest, OrderResponse, PermissionsRequest, PermissionsResponse, PlanResponse, QuoteRequest, QuoteResponse, SupportedChainsRequest, SupportedChainsResponse, Swap4337Request, Swap4337Response, Swap5792Request, Swap5792Response, Swap7702Request, Swap7702Response, SwappableTokensRequest, SwappableTokensResponse, SwapRequest, SwapResponse, UpdatePlanRequest } from "./api_pb.js";
5
+ import { CheckApproval4337Request, CheckApproval4337Response, CheckApprovalRequest, CheckApprovalResponse, CheckWalletDelegationRequest, CheckWalletDelegationResponse, CreatePlanRequest, DocsRequest, DocsResponse, Encode4337Request, Encode4337Response, Encode7702Request, Encode7702Response, GetOrdersRequest, GetOrdersResponse, GetPlanRequest, GetPlansRequest, GetPlansResponse, GetSwapsRequest, GetSwapsResponse, GetTokensRequest, GetTokensResponse, MarginMarketsRequest, MarginMarketsResponse, MarginPositionsRequest, MarginPositionsResponse, MarginQuoteRequest, MarginQuoteResponse, OrderRequest, OrderResponse, PermissionsRequest, PermissionsResponse, PlanResponse, QuoteRequest, QuoteResponse, SupportedChainsRequest, SupportedChainsResponse, Swap4337Request, Swap4337Response, Swap5792Request, Swap5792Response, Swap7702Request, Swap7702Response, SwappableTokensRequest, SwappableTokensResponse, SwapRequest, SwapResponse, UpdatePlanRequest } from "./api_pb.js";
6
6
  import { MethodIdempotency, MethodKind } from "@bufbuild/protobuf";
7
7
  /**
8
8
  * @generated from service trading.v1.tradingService
@@ -250,5 +250,15 @@ export const tradingService = {
250
250
  kind: MethodKind.Unary,
251
251
  idempotency: MethodIdempotency.NoSideEffects,
252
252
  },
253
+ /**
254
+ * @generated from rpc trading.v1.tradingService.MarginPositions
255
+ */
256
+ marginPositions: {
257
+ name: "MarginPositions",
258
+ I: MarginPositionsRequest,
259
+ O: MarginPositionsResponse,
260
+ kind: MethodKind.Unary,
261
+ idempotency: MethodIdempotency.NoSideEffects,
262
+ },
253
263
  }
254
264
  };
@@ -791,6 +791,27 @@ export declare enum MarginOperationType {
791
791
  */
792
792
  SWEEP = 4
793
793
  }
794
+ /**
795
+ * @generated from enum trading.v1.MarginPositionStatus
796
+ */
797
+ export declare enum MarginPositionStatus {
798
+ /**
799
+ * @generated from enum value: ACTIVE = 0;
800
+ */
801
+ ACTIVE = 0,
802
+ /**
803
+ * @generated from enum value: COMPLETED = 1;
804
+ */
805
+ COMPLETED = 1,
806
+ /**
807
+ * @generated from enum value: LIQUIDATED = 2;
808
+ */
809
+ LIQUIDATED = 2,
810
+ /**
811
+ * @generated from enum value: PARTIALLY_LIQUIDATED = 3;
812
+ */
813
+ PARTIALLY_LIQUIDATED = 3
814
+ }
794
815
  /**
795
816
  * @generated from message trading.v1.Encode7702Request
796
817
  */
@@ -8179,6 +8200,10 @@ export declare class MarginSwapConfig extends Message<MarginSwapConfig> {
8179
8200
  * @generated from field: repeated trading.v1.Protocols protocols = 3;
8180
8201
  */
8181
8202
  protocols: Protocols[];
8203
+ /**
8204
+ * @generated from field: optional trading.v1.RoutingPreference routing_preference = 4;
8205
+ */
8206
+ routingPreference?: RoutingPreference;
8182
8207
  constructor(data?: PartialMessage<MarginSwapConfig>);
8183
8208
  static readonly runtime: typeof proto3;
8184
8209
  static readonly typeName = "trading.v1.MarginSwapConfig";
@@ -8667,3 +8692,319 @@ export declare class MarginQuoteResponse extends Message<MarginQuoteResponse> {
8667
8692
  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): MarginQuoteResponse;
8668
8693
  static equals(a: MarginQuoteResponse | PlainMessage<MarginQuoteResponse> | undefined, b: MarginQuoteResponse | PlainMessage<MarginQuoteResponse> | undefined): boolean;
8669
8694
  }
8695
+ /**
8696
+ * One venue's share of a position. Legs are the unit of truth: a logical
8697
+ * position is an aggregation performed at read time, and legs liquidate
8698
+ * independently, so the row's risk numbers are the NEAREST leg's.
8699
+ *
8700
+ * @generated from message trading.v1.MarginPositionLeg
8701
+ */
8702
+ export declare class MarginPositionLeg extends Message<MarginPositionLeg> {
8703
+ /**
8704
+ * @generated from field: trading.v1.MarginVenue venue = 1;
8705
+ */
8706
+ venue: MarginVenue;
8707
+ /**
8708
+ * The `positionId` handle every action key echoes back. Returned whether or
8709
+ * not a screen renders it.
8710
+ *
8711
+ * @generated from field: string sub_id = 2;
8712
+ */
8713
+ subId: string;
8714
+ /**
8715
+ * The MarginAccount this leg lives at, derived offchain from (owner, subId).
8716
+ *
8717
+ * @generated from field: string account = 3;
8718
+ */
8719
+ account: string;
8720
+ /**
8721
+ * @generated from field: string debt = 4;
8722
+ */
8723
+ debt: string;
8724
+ /**
8725
+ * Best effort, like the markets feed: absent when the venue's rate read did
8726
+ * not return, never zero, because an unread rate and a zero rate differ.
8727
+ *
8728
+ * @generated from field: optional string borrow_rate = 5;
8729
+ */
8730
+ borrowRate?: string;
8731
+ constructor(data?: PartialMessage<MarginPositionLeg>);
8732
+ static readonly runtime: typeof proto3;
8733
+ static readonly typeName = "trading.v1.MarginPositionLeg";
8734
+ static readonly fields: FieldList;
8735
+ static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): MarginPositionLeg;
8736
+ static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): MarginPositionLeg;
8737
+ static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): MarginPositionLeg;
8738
+ static equals(a: MarginPositionLeg | PlainMessage<MarginPositionLeg> | undefined, b: MarginPositionLeg | PlainMessage<MarginPositionLeg> | undefined): boolean;
8739
+ }
8740
+ /**
8741
+ * One logical position, keyed (exposure_token, counter_token, direction) — the
8742
+ * same key the markets cursor orders on, which is why both endpoints page
8743
+ * through `marginMarketCursor`.
8744
+ *
8745
+ * @generated from message trading.v1.MarginPositionRow
8746
+ */
8747
+ export declare class MarginPositionRow extends Message<MarginPositionRow> {
8748
+ /**
8749
+ * @generated from field: trading.v1.MarginPositionStatus status = 1;
8750
+ */
8751
+ status: MarginPositionStatus;
8752
+ /**
8753
+ * @generated from field: trading.v1.MarginDirection direction = 2;
8754
+ */
8755
+ direction: MarginDirection;
8756
+ /**
8757
+ * @generated from field: trading.v1.MarginTokenMetadata exposure_token = 3;
8758
+ */
8759
+ exposureToken?: MarginTokenMetadata;
8760
+ /**
8761
+ * @generated from field: trading.v1.MarginTokenMetadata counter_token = 4;
8762
+ */
8763
+ counterToken?: MarginTokenMetadata;
8764
+ /**
8765
+ * @generated from field: string size = 5;
8766
+ */
8767
+ size: string;
8768
+ /**
8769
+ * @generated from field: repeated trading.v1.MarginPositionLeg legs = 6;
8770
+ */
8771
+ legs: MarginPositionLeg[];
8772
+ /**
8773
+ * COST BASIS. Needs the margin event consumer, which is not on the launch
8774
+ * path, so every field here is absent in v1 rather than zero.
8775
+ *
8776
+ * @generated from field: optional string entry_price = 7;
8777
+ */
8778
+ entryPrice?: string;
8779
+ /**
8780
+ * @generated from field: optional int64 opened_at = 8;
8781
+ */
8782
+ openedAt?: bigint;
8783
+ /**
8784
+ * @generated from field: optional string accrued_interest = 9;
8785
+ */
8786
+ accruedInterest?: string;
8787
+ /**
8788
+ * @generated from field: optional string unrealized_pnl = 10;
8789
+ */
8790
+ unrealizedPnl?: string;
8791
+ /**
8792
+ * @generated from field: optional string roe = 11;
8793
+ */
8794
+ roe?: string;
8795
+ /**
8796
+ * ACTIVE only. Read on chain per request, never cached: a stale health factor
8797
+ * is the one number a caller must not act on.
8798
+ *
8799
+ * @generated from field: optional string equity = 12;
8800
+ */
8801
+ equity?: string;
8802
+ /**
8803
+ * @generated from field: optional string leverage = 13;
8804
+ */
8805
+ leverage?: string;
8806
+ /**
8807
+ * @generated from field: optional string oracle_price = 14;
8808
+ */
8809
+ oraclePrice?: string;
8810
+ /**
8811
+ * Nearest leg. In TRADER terms, so a short's mark and liquidation price are
8812
+ * both reciprocated; see `displayRiskPrices`.
8813
+ *
8814
+ * @generated from field: optional string liquidation_price = 15;
8815
+ */
8816
+ liquidationPrice?: string;
8817
+ /**
8818
+ * @generated from field: optional string buffer = 16;
8819
+ */
8820
+ buffer?: string;
8821
+ /**
8822
+ * @generated from field: optional string health_factor = 17;
8823
+ */
8824
+ healthFactor?: string;
8825
+ /**
8826
+ * @generated from field: optional string borrow_rate = 18;
8827
+ */
8828
+ borrowRate?: string;
8829
+ /**
8830
+ * Health-floor bounded, server-computed. There is no on-chain guard on a
8831
+ * withdraw, so the ceiling has to come from here rather than from a quote.
8832
+ *
8833
+ * @generated from field: optional string max_withdrawable = 19;
8834
+ */
8835
+ maxWithdrawable?: string;
8836
+ /**
8837
+ * TERMINAL only, and likewise cost-basis derived.
8838
+ *
8839
+ * @generated from field: optional int64 closed_at = 20;
8840
+ */
8841
+ closedAt?: bigint;
8842
+ /**
8843
+ * @generated from field: optional string exit_price = 21;
8844
+ */
8845
+ exitPrice?: string;
8846
+ /**
8847
+ * @generated from field: optional string realized_pnl = 22;
8848
+ */
8849
+ realizedPnl?: string;
8850
+ constructor(data?: PartialMessage<MarginPositionRow>);
8851
+ static readonly runtime: typeof proto3;
8852
+ static readonly typeName = "trading.v1.MarginPositionRow";
8853
+ static readonly fields: FieldList;
8854
+ static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): MarginPositionRow;
8855
+ static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): MarginPositionRow;
8856
+ static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): MarginPositionRow;
8857
+ static equals(a: MarginPositionRow | PlainMessage<MarginPositionRow> | undefined, b: MarginPositionRow | PlainMessage<MarginPositionRow> | undefined): boolean;
8858
+ }
8859
+ /**
8860
+ * Collateral parked at a MarginAccount whose open never completed. Derived from
8861
+ * the chain rather than the plan store, so it survives plan-row expiry and is
8862
+ * visible from any device.
8863
+ *
8864
+ * @generated from message trading.v1.MarginIncompleteOpen
8865
+ */
8866
+ export declare class MarginIncompleteOpen extends Message<MarginIncompleteOpen> {
8867
+ /**
8868
+ * @generated from field: string account = 1;
8869
+ */
8870
+ account: string;
8871
+ /**
8872
+ * @generated from field: string sub_id = 2;
8873
+ */
8874
+ subId: string;
8875
+ /**
8876
+ * False when the account holds a balance but was never deployed, which is the
8877
+ * window this surface exists for: pre-swap delivered, position not opened.
8878
+ *
8879
+ * @generated from field: bool deployed = 3;
8880
+ */
8881
+ deployed: boolean;
8882
+ /**
8883
+ * @generated from field: trading.v1.MarginTokenMetadata token = 4;
8884
+ */
8885
+ token?: MarginTokenMetadata;
8886
+ /**
8887
+ * @generated from field: string amount = 5;
8888
+ */
8889
+ amount: string;
8890
+ constructor(data?: PartialMessage<MarginIncompleteOpen>);
8891
+ static readonly runtime: typeof proto3;
8892
+ static readonly typeName = "trading.v1.MarginIncompleteOpen";
8893
+ static readonly fields: FieldList;
8894
+ static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): MarginIncompleteOpen;
8895
+ static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): MarginIncompleteOpen;
8896
+ static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): MarginIncompleteOpen;
8897
+ static equals(a: MarginIncompleteOpen | PlainMessage<MarginIncompleteOpen> | undefined, b: MarginIncompleteOpen | PlainMessage<MarginIncompleteOpen> | undefined): boolean;
8898
+ }
8899
+ /**
8900
+ * The one plan-store read, and a deliberately weaker guarantee than the rest of
8901
+ * this response: session-scoped and TTL-bound, so absent rather than wrong once
8902
+ * a row ages out. Acceptable only because no funds are at risk in that state.
8903
+ *
8904
+ * @generated from message trading.v1.MarginPendingPlan
8905
+ */
8906
+ export declare class MarginPendingPlan extends Message<MarginPendingPlan> {
8907
+ /**
8908
+ * @generated from field: string plan_id = 1;
8909
+ */
8910
+ planId: string;
8911
+ /**
8912
+ * @generated from field: int64 created_at = 2;
8913
+ */
8914
+ createdAt: bigint;
8915
+ /**
8916
+ * @generated from field: int32 current_step = 3;
8917
+ */
8918
+ currentStep: number;
8919
+ /**
8920
+ * @generated from field: bool cancellable = 4;
8921
+ */
8922
+ cancellable: boolean;
8923
+ constructor(data?: PartialMessage<MarginPendingPlan>);
8924
+ static readonly runtime: typeof proto3;
8925
+ static readonly typeName = "trading.v1.MarginPendingPlan";
8926
+ static readonly fields: FieldList;
8927
+ static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): MarginPendingPlan;
8928
+ static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): MarginPendingPlan;
8929
+ static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): MarginPendingPlan;
8930
+ static equals(a: MarginPendingPlan | PlainMessage<MarginPendingPlan> | undefined, b: MarginPendingPlan | PlainMessage<MarginPendingPlan> | undefined): boolean;
8931
+ }
8932
+ /**
8933
+ * @generated from message trading.v1.MarginPositionsRequest
8934
+ */
8935
+ export declare class MarginPositionsRequest extends Message<MarginPositionsRequest> {
8936
+ /**
8937
+ * @generated from field: string swapper = 1;
8938
+ */
8939
+ swapper: string;
8940
+ /**
8941
+ * @generated from field: int32 chain_id = 2;
8942
+ */
8943
+ chainId: number;
8944
+ /**
8945
+ * Selects the tab. Unset is ACTIVE; explicit presence so the server can tell
8946
+ * "not asked" from "asked for ACTIVE".
8947
+ *
8948
+ * @generated from field: optional trading.v1.MarginPositionStatus status = 3;
8949
+ */
8950
+ status?: MarginPositionStatus;
8951
+ /**
8952
+ * Opaque; echo `next_cursor` back verbatim. Keyset over the row order, the
8953
+ * same contract `GET /margin/markets` uses.
8954
+ *
8955
+ * @generated from field: optional string cursor = 4;
8956
+ */
8957
+ cursor?: string;
8958
+ /**
8959
+ * @generated from field: optional int32 limit = 5;
8960
+ */
8961
+ limit?: number;
8962
+ constructor(data?: PartialMessage<MarginPositionsRequest>);
8963
+ static readonly runtime: typeof proto3;
8964
+ static readonly typeName = "trading.v1.MarginPositionsRequest";
8965
+ static readonly fields: FieldList;
8966
+ static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): MarginPositionsRequest;
8967
+ static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): MarginPositionsRequest;
8968
+ static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): MarginPositionsRequest;
8969
+ static equals(a: MarginPositionsRequest | PlainMessage<MarginPositionsRequest> | undefined, b: MarginPositionsRequest | PlainMessage<MarginPositionsRequest> | undefined): boolean;
8970
+ }
8971
+ /**
8972
+ * @generated from message trading.v1.MarginPositionsResponse
8973
+ */
8974
+ export declare class MarginPositionsResponse extends Message<MarginPositionsResponse> {
8975
+ /**
8976
+ * @generated from field: string request_id = 1;
8977
+ */
8978
+ requestId: string;
8979
+ /**
8980
+ * @generated from field: repeated trading.v1.MarginPositionRow positions = 2;
8981
+ */
8982
+ positions: MarginPositionRow[];
8983
+ /**
8984
+ * Absent on the last page. Present means more rows exist, never that the next
8985
+ * page is non-empty.
8986
+ *
8987
+ * @generated from field: optional string next_cursor = 3;
8988
+ */
8989
+ nextCursor?: string;
8990
+ /**
8991
+ * Both recovery surfaces serialize as [] when the read ran and found nothing.
8992
+ * They cannot express "not read": a degraded read logs a warning and reports
8993
+ * empty, matching how the markets feed degrades a failed venue.
8994
+ *
8995
+ * @generated from field: repeated trading.v1.MarginIncompleteOpen incomplete_opens = 4;
8996
+ */
8997
+ incompleteOpens: MarginIncompleteOpen[];
8998
+ /**
8999
+ * @generated from field: repeated trading.v1.MarginPendingPlan pending_plans = 5;
9000
+ */
9001
+ pendingPlans: MarginPendingPlan[];
9002
+ constructor(data?: PartialMessage<MarginPositionsResponse>);
9003
+ static readonly runtime: typeof proto3;
9004
+ static readonly typeName = "trading.v1.MarginPositionsResponse";
9005
+ static readonly fields: FieldList;
9006
+ static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): MarginPositionsResponse;
9007
+ static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): MarginPositionsResponse;
9008
+ static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): MarginPositionsResponse;
9009
+ static equals(a: MarginPositionsResponse | PlainMessage<MarginPositionsResponse> | undefined, b: MarginPositionsResponse | PlainMessage<MarginPositionsResponse> | undefined): boolean;
9010
+ }
@@ -1068,6 +1068,35 @@ proto3.util.setEnumType(MarginOperationType, "trading.v1.MarginOperationType", [
1068
1068
  { no: 3, name: "WITHDRAW" },
1069
1069
  { no: 4, name: "SWEEP" },
1070
1070
  ]);
1071
+ /**
1072
+ * @generated from enum trading.v1.MarginPositionStatus
1073
+ */
1074
+ export var MarginPositionStatus;
1075
+ (function (MarginPositionStatus) {
1076
+ /**
1077
+ * @generated from enum value: ACTIVE = 0;
1078
+ */
1079
+ MarginPositionStatus[MarginPositionStatus["ACTIVE"] = 0] = "ACTIVE";
1080
+ /**
1081
+ * @generated from enum value: COMPLETED = 1;
1082
+ */
1083
+ MarginPositionStatus[MarginPositionStatus["COMPLETED"] = 1] = "COMPLETED";
1084
+ /**
1085
+ * @generated from enum value: LIQUIDATED = 2;
1086
+ */
1087
+ MarginPositionStatus[MarginPositionStatus["LIQUIDATED"] = 2] = "LIQUIDATED";
1088
+ /**
1089
+ * @generated from enum value: PARTIALLY_LIQUIDATED = 3;
1090
+ */
1091
+ MarginPositionStatus[MarginPositionStatus["PARTIALLY_LIQUIDATED"] = 3] = "PARTIALLY_LIQUIDATED";
1092
+ })(MarginPositionStatus || (MarginPositionStatus = {}));
1093
+ // Retrieve enum metadata with: proto3.getEnumType(MarginPositionStatus)
1094
+ proto3.util.setEnumType(MarginPositionStatus, "trading.v1.MarginPositionStatus", [
1095
+ { no: 0, name: "ACTIVE" },
1096
+ { no: 1, name: "COMPLETED" },
1097
+ { no: 2, name: "LIQUIDATED" },
1098
+ { no: 3, name: "PARTIALLY_LIQUIDATED" },
1099
+ ]);
1071
1100
  /**
1072
1101
  * @generated from message trading.v1.Encode7702Request
1073
1102
  */
@@ -9674,6 +9703,7 @@ MarginSwapConfig.fields = proto3.util.newFieldList(() => [
9674
9703
  { no: 1, name: "slippage_tolerance", kind: "scalar", T: 1 /* ScalarType.DOUBLE */, opt: true },
9675
9704
  { no: 2, name: "auto_slippage", kind: "enum", T: proto3.getEnumType(AutoSlippage), opt: true },
9676
9705
  { no: 3, name: "protocols", kind: "enum", T: proto3.getEnumType(Protocols), repeated: true },
9706
+ { no: 4, name: "routing_preference", kind: "enum", T: proto3.getEnumType(RoutingPreference), opt: true },
9677
9707
  ]);
9678
9708
  /**
9679
9709
  * @generated from message trading.v1.MarginQuoteRequest
@@ -10019,3 +10049,315 @@ MarginQuoteResponse.fields = proto3.util.newFieldList(() => [
10019
10049
  { no: 3, name: "display", kind: "message", T: MarginDisplay },
10020
10050
  { no: 4, name: "gas_estimate", kind: "message", T: GasEstimate, opt: true },
10021
10051
  ]);
10052
+ /**
10053
+ * One venue's share of a position. Legs are the unit of truth: a logical
10054
+ * position is an aggregation performed at read time, and legs liquidate
10055
+ * independently, so the row's risk numbers are the NEAREST leg's.
10056
+ *
10057
+ * @generated from message trading.v1.MarginPositionLeg
10058
+ */
10059
+ export class MarginPositionLeg extends Message {
10060
+ constructor(data) {
10061
+ super();
10062
+ /**
10063
+ * @generated from field: trading.v1.MarginVenue venue = 1;
10064
+ */
10065
+ this.venue = MarginVenue.MORPHO;
10066
+ /**
10067
+ * The `positionId` handle every action key echoes back. Returned whether or
10068
+ * not a screen renders it.
10069
+ *
10070
+ * @generated from field: string sub_id = 2;
10071
+ */
10072
+ this.subId = "";
10073
+ /**
10074
+ * The MarginAccount this leg lives at, derived offchain from (owner, subId).
10075
+ *
10076
+ * @generated from field: string account = 3;
10077
+ */
10078
+ this.account = "";
10079
+ /**
10080
+ * @generated from field: string debt = 4;
10081
+ */
10082
+ this.debt = "";
10083
+ proto3.util.initPartial(data, this);
10084
+ }
10085
+ static fromBinary(bytes, options) {
10086
+ return new MarginPositionLeg().fromBinary(bytes, options);
10087
+ }
10088
+ static fromJson(jsonValue, options) {
10089
+ return new MarginPositionLeg().fromJson(jsonValue, options);
10090
+ }
10091
+ static fromJsonString(jsonString, options) {
10092
+ return new MarginPositionLeg().fromJsonString(jsonString, options);
10093
+ }
10094
+ static equals(a, b) {
10095
+ return proto3.util.equals(MarginPositionLeg, a, b);
10096
+ }
10097
+ }
10098
+ MarginPositionLeg.runtime = proto3;
10099
+ MarginPositionLeg.typeName = "trading.v1.MarginPositionLeg";
10100
+ MarginPositionLeg.fields = proto3.util.newFieldList(() => [
10101
+ { no: 1, name: "venue", kind: "enum", T: proto3.getEnumType(MarginVenue) },
10102
+ { no: 2, name: "sub_id", kind: "scalar", T: 9 /* ScalarType.STRING */ },
10103
+ { no: 3, name: "account", kind: "scalar", T: 9 /* ScalarType.STRING */ },
10104
+ { no: 4, name: "debt", kind: "scalar", T: 9 /* ScalarType.STRING */ },
10105
+ { no: 5, name: "borrow_rate", kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true },
10106
+ ]);
10107
+ /**
10108
+ * One logical position, keyed (exposure_token, counter_token, direction) — the
10109
+ * same key the markets cursor orders on, which is why both endpoints page
10110
+ * through `marginMarketCursor`.
10111
+ *
10112
+ * @generated from message trading.v1.MarginPositionRow
10113
+ */
10114
+ export class MarginPositionRow extends Message {
10115
+ constructor(data) {
10116
+ super();
10117
+ /**
10118
+ * @generated from field: trading.v1.MarginPositionStatus status = 1;
10119
+ */
10120
+ this.status = MarginPositionStatus.ACTIVE;
10121
+ /**
10122
+ * @generated from field: trading.v1.MarginDirection direction = 2;
10123
+ */
10124
+ this.direction = MarginDirection.LONG;
10125
+ /**
10126
+ * @generated from field: string size = 5;
10127
+ */
10128
+ this.size = "";
10129
+ /**
10130
+ * @generated from field: repeated trading.v1.MarginPositionLeg legs = 6;
10131
+ */
10132
+ this.legs = [];
10133
+ proto3.util.initPartial(data, this);
10134
+ }
10135
+ static fromBinary(bytes, options) {
10136
+ return new MarginPositionRow().fromBinary(bytes, options);
10137
+ }
10138
+ static fromJson(jsonValue, options) {
10139
+ return new MarginPositionRow().fromJson(jsonValue, options);
10140
+ }
10141
+ static fromJsonString(jsonString, options) {
10142
+ return new MarginPositionRow().fromJsonString(jsonString, options);
10143
+ }
10144
+ static equals(a, b) {
10145
+ return proto3.util.equals(MarginPositionRow, a, b);
10146
+ }
10147
+ }
10148
+ MarginPositionRow.runtime = proto3;
10149
+ MarginPositionRow.typeName = "trading.v1.MarginPositionRow";
10150
+ MarginPositionRow.fields = proto3.util.newFieldList(() => [
10151
+ { no: 1, name: "status", kind: "enum", T: proto3.getEnumType(MarginPositionStatus) },
10152
+ { no: 2, name: "direction", kind: "enum", T: proto3.getEnumType(MarginDirection) },
10153
+ { no: 3, name: "exposure_token", kind: "message", T: MarginTokenMetadata },
10154
+ { no: 4, name: "counter_token", kind: "message", T: MarginTokenMetadata },
10155
+ { no: 5, name: "size", kind: "scalar", T: 9 /* ScalarType.STRING */ },
10156
+ { no: 6, name: "legs", kind: "message", T: MarginPositionLeg, repeated: true },
10157
+ { no: 7, name: "entry_price", kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true },
10158
+ { no: 8, name: "opened_at", kind: "scalar", T: 3 /* ScalarType.INT64 */, opt: true },
10159
+ { no: 9, name: "accrued_interest", kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true },
10160
+ { no: 10, name: "unrealized_pnl", kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true },
10161
+ { no: 11, name: "roe", kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true },
10162
+ { no: 12, name: "equity", kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true },
10163
+ { no: 13, name: "leverage", kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true },
10164
+ { no: 14, name: "oracle_price", kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true },
10165
+ { no: 15, name: "liquidation_price", kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true },
10166
+ { no: 16, name: "buffer", kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true },
10167
+ { no: 17, name: "health_factor", kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true },
10168
+ { no: 18, name: "borrow_rate", kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true },
10169
+ { no: 19, name: "max_withdrawable", kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true },
10170
+ { no: 20, name: "closed_at", kind: "scalar", T: 3 /* ScalarType.INT64 */, opt: true },
10171
+ { no: 21, name: "exit_price", kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true },
10172
+ { no: 22, name: "realized_pnl", kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true },
10173
+ ]);
10174
+ /**
10175
+ * Collateral parked at a MarginAccount whose open never completed. Derived from
10176
+ * the chain rather than the plan store, so it survives plan-row expiry and is
10177
+ * visible from any device.
10178
+ *
10179
+ * @generated from message trading.v1.MarginIncompleteOpen
10180
+ */
10181
+ export class MarginIncompleteOpen extends Message {
10182
+ constructor(data) {
10183
+ super();
10184
+ /**
10185
+ * @generated from field: string account = 1;
10186
+ */
10187
+ this.account = "";
10188
+ /**
10189
+ * @generated from field: string sub_id = 2;
10190
+ */
10191
+ this.subId = "";
10192
+ /**
10193
+ * False when the account holds a balance but was never deployed, which is the
10194
+ * window this surface exists for: pre-swap delivered, position not opened.
10195
+ *
10196
+ * @generated from field: bool deployed = 3;
10197
+ */
10198
+ this.deployed = false;
10199
+ /**
10200
+ * @generated from field: string amount = 5;
10201
+ */
10202
+ this.amount = "";
10203
+ proto3.util.initPartial(data, this);
10204
+ }
10205
+ static fromBinary(bytes, options) {
10206
+ return new MarginIncompleteOpen().fromBinary(bytes, options);
10207
+ }
10208
+ static fromJson(jsonValue, options) {
10209
+ return new MarginIncompleteOpen().fromJson(jsonValue, options);
10210
+ }
10211
+ static fromJsonString(jsonString, options) {
10212
+ return new MarginIncompleteOpen().fromJsonString(jsonString, options);
10213
+ }
10214
+ static equals(a, b) {
10215
+ return proto3.util.equals(MarginIncompleteOpen, a, b);
10216
+ }
10217
+ }
10218
+ MarginIncompleteOpen.runtime = proto3;
10219
+ MarginIncompleteOpen.typeName = "trading.v1.MarginIncompleteOpen";
10220
+ MarginIncompleteOpen.fields = proto3.util.newFieldList(() => [
10221
+ { no: 1, name: "account", kind: "scalar", T: 9 /* ScalarType.STRING */ },
10222
+ { no: 2, name: "sub_id", kind: "scalar", T: 9 /* ScalarType.STRING */ },
10223
+ { no: 3, name: "deployed", kind: "scalar", T: 8 /* ScalarType.BOOL */ },
10224
+ { no: 4, name: "token", kind: "message", T: MarginTokenMetadata },
10225
+ { no: 5, name: "amount", kind: "scalar", T: 9 /* ScalarType.STRING */ },
10226
+ ]);
10227
+ /**
10228
+ * The one plan-store read, and a deliberately weaker guarantee than the rest of
10229
+ * this response: session-scoped and TTL-bound, so absent rather than wrong once
10230
+ * a row ages out. Acceptable only because no funds are at risk in that state.
10231
+ *
10232
+ * @generated from message trading.v1.MarginPendingPlan
10233
+ */
10234
+ export class MarginPendingPlan extends Message {
10235
+ constructor(data) {
10236
+ super();
10237
+ /**
10238
+ * @generated from field: string plan_id = 1;
10239
+ */
10240
+ this.planId = "";
10241
+ /**
10242
+ * @generated from field: int64 created_at = 2;
10243
+ */
10244
+ this.createdAt = protoInt64.zero;
10245
+ /**
10246
+ * @generated from field: int32 current_step = 3;
10247
+ */
10248
+ this.currentStep = 0;
10249
+ /**
10250
+ * @generated from field: bool cancellable = 4;
10251
+ */
10252
+ this.cancellable = false;
10253
+ proto3.util.initPartial(data, this);
10254
+ }
10255
+ static fromBinary(bytes, options) {
10256
+ return new MarginPendingPlan().fromBinary(bytes, options);
10257
+ }
10258
+ static fromJson(jsonValue, options) {
10259
+ return new MarginPendingPlan().fromJson(jsonValue, options);
10260
+ }
10261
+ static fromJsonString(jsonString, options) {
10262
+ return new MarginPendingPlan().fromJsonString(jsonString, options);
10263
+ }
10264
+ static equals(a, b) {
10265
+ return proto3.util.equals(MarginPendingPlan, a, b);
10266
+ }
10267
+ }
10268
+ MarginPendingPlan.runtime = proto3;
10269
+ MarginPendingPlan.typeName = "trading.v1.MarginPendingPlan";
10270
+ MarginPendingPlan.fields = proto3.util.newFieldList(() => [
10271
+ { no: 1, name: "plan_id", kind: "scalar", T: 9 /* ScalarType.STRING */ },
10272
+ { no: 2, name: "created_at", kind: "scalar", T: 3 /* ScalarType.INT64 */ },
10273
+ { no: 3, name: "current_step", kind: "scalar", T: 5 /* ScalarType.INT32 */ },
10274
+ { no: 4, name: "cancellable", kind: "scalar", T: 8 /* ScalarType.BOOL */ },
10275
+ ]);
10276
+ /**
10277
+ * @generated from message trading.v1.MarginPositionsRequest
10278
+ */
10279
+ export class MarginPositionsRequest extends Message {
10280
+ constructor(data) {
10281
+ super();
10282
+ /**
10283
+ * @generated from field: string swapper = 1;
10284
+ */
10285
+ this.swapper = "";
10286
+ /**
10287
+ * @generated from field: int32 chain_id = 2;
10288
+ */
10289
+ this.chainId = 0;
10290
+ proto3.util.initPartial(data, this);
10291
+ }
10292
+ static fromBinary(bytes, options) {
10293
+ return new MarginPositionsRequest().fromBinary(bytes, options);
10294
+ }
10295
+ static fromJson(jsonValue, options) {
10296
+ return new MarginPositionsRequest().fromJson(jsonValue, options);
10297
+ }
10298
+ static fromJsonString(jsonString, options) {
10299
+ return new MarginPositionsRequest().fromJsonString(jsonString, options);
10300
+ }
10301
+ static equals(a, b) {
10302
+ return proto3.util.equals(MarginPositionsRequest, a, b);
10303
+ }
10304
+ }
10305
+ MarginPositionsRequest.runtime = proto3;
10306
+ MarginPositionsRequest.typeName = "trading.v1.MarginPositionsRequest";
10307
+ MarginPositionsRequest.fields = proto3.util.newFieldList(() => [
10308
+ { no: 1, name: "swapper", kind: "scalar", T: 9 /* ScalarType.STRING */ },
10309
+ { no: 2, name: "chain_id", kind: "scalar", T: 5 /* ScalarType.INT32 */ },
10310
+ { no: 3, name: "status", kind: "enum", T: proto3.getEnumType(MarginPositionStatus), opt: true },
10311
+ { no: 4, name: "cursor", kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true },
10312
+ { no: 5, name: "limit", kind: "scalar", T: 5 /* ScalarType.INT32 */, opt: true },
10313
+ ]);
10314
+ /**
10315
+ * @generated from message trading.v1.MarginPositionsResponse
10316
+ */
10317
+ export class MarginPositionsResponse extends Message {
10318
+ constructor(data) {
10319
+ super();
10320
+ /**
10321
+ * @generated from field: string request_id = 1;
10322
+ */
10323
+ this.requestId = "";
10324
+ /**
10325
+ * @generated from field: repeated trading.v1.MarginPositionRow positions = 2;
10326
+ */
10327
+ this.positions = [];
10328
+ /**
10329
+ * Both recovery surfaces serialize as [] when the read ran and found nothing.
10330
+ * They cannot express "not read": a degraded read logs a warning and reports
10331
+ * empty, matching how the markets feed degrades a failed venue.
10332
+ *
10333
+ * @generated from field: repeated trading.v1.MarginIncompleteOpen incomplete_opens = 4;
10334
+ */
10335
+ this.incompleteOpens = [];
10336
+ /**
10337
+ * @generated from field: repeated trading.v1.MarginPendingPlan pending_plans = 5;
10338
+ */
10339
+ this.pendingPlans = [];
10340
+ proto3.util.initPartial(data, this);
10341
+ }
10342
+ static fromBinary(bytes, options) {
10343
+ return new MarginPositionsResponse().fromBinary(bytes, options);
10344
+ }
10345
+ static fromJson(jsonValue, options) {
10346
+ return new MarginPositionsResponse().fromJson(jsonValue, options);
10347
+ }
10348
+ static fromJsonString(jsonString, options) {
10349
+ return new MarginPositionsResponse().fromJsonString(jsonString, options);
10350
+ }
10351
+ static equals(a, b) {
10352
+ return proto3.util.equals(MarginPositionsResponse, a, b);
10353
+ }
10354
+ }
10355
+ MarginPositionsResponse.runtime = proto3;
10356
+ MarginPositionsResponse.typeName = "trading.v1.MarginPositionsResponse";
10357
+ MarginPositionsResponse.fields = proto3.util.newFieldList(() => [
10358
+ { no: 1, name: "request_id", kind: "scalar", T: 9 /* ScalarType.STRING */ },
10359
+ { no: 2, name: "positions", kind: "message", T: MarginPositionRow, repeated: true },
10360
+ { no: 3, name: "next_cursor", kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true },
10361
+ { no: 4, name: "incomplete_opens", kind: "message", T: MarginIncompleteOpen, repeated: true },
10362
+ { no: 5, name: "pending_plans", kind: "message", T: MarginPendingPlan, repeated: true },
10363
+ ]);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uniswap/client-trading",
3
- "version": "0.7.0",
3
+ "version": "0.8.1",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },