@0xmonaco/types 1.0.39-develop.71e039b → 1.0.39-prerelease.19d492d
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.
- package/dist/market/index.d.ts +22 -0
- package/dist/trading/index.d.ts +1 -1
- package/dist/trading/orders.d.ts +6 -3
- package/dist/trading/responses.d.ts +1 -1
- package/dist/validation/positions.js +6 -4
- package/dist/websocket/events/balance-events.d.ts +17 -2
- package/dist/websocket/events/movement-events.d.ts +19 -2
- package/dist/websocket/events/orders-events.d.ts +44 -8
- package/dist/websocket/events/position-events.d.ts +15 -6
- package/dist/wire/schema.d.ts +42 -4
- package/package.json +2 -2
package/dist/market/index.d.ts
CHANGED
|
@@ -232,6 +232,18 @@ export interface ScreenerItem {
|
|
|
232
232
|
* null for spot pairs and margin pairs with no settled funding window yet
|
|
233
233
|
*/
|
|
234
234
|
lastFundingTime: string | null;
|
|
235
|
+
/**
|
|
236
|
+
* Open interest in base-asset units (e.g. BTC); null for spot pairs, "0" for
|
|
237
|
+
* a margin pair with no open positions
|
|
238
|
+
*/
|
|
239
|
+
openInterestBase: string | null;
|
|
240
|
+
/**
|
|
241
|
+
* Open interest notional in quote units (openInterestBase × latest trade
|
|
242
|
+
* price); null for spot pairs. Valued at the pair's latest trade price (a
|
|
243
|
+
* snapshot); the mark-accurate notional lives on getPerpMarketSummary /
|
|
244
|
+
* getOpenInterest
|
|
245
|
+
*/
|
|
246
|
+
openInterestNotional: string | null;
|
|
235
247
|
}
|
|
236
248
|
/**
|
|
237
249
|
* Paginated screener response, sorted by quoteVolume24h desc (nulls last)
|
|
@@ -269,6 +281,8 @@ export interface MarketMetadata {
|
|
|
269
281
|
low24h: string | null;
|
|
270
282
|
/** 24h volume in base asset (null if <24h data) */
|
|
271
283
|
volume24h: string | null;
|
|
284
|
+
/** Quote-token (notional) volume over the rolling 24h window; absent/null when unavailable */
|
|
285
|
+
quoteVolume24h?: string | null;
|
|
272
286
|
/** Absolute price change in 24h (null if <24h data) */
|
|
273
287
|
priceChange24h: string | null;
|
|
274
288
|
/** Percentage price change in 24h (2 decimals, null if <24h data) */
|
|
@@ -319,10 +333,18 @@ export interface PerpMarketSummary {
|
|
|
319
333
|
indexPrice: string;
|
|
320
334
|
high24h?: string;
|
|
321
335
|
low24h?: string;
|
|
336
|
+
/** 24h volume in base asset */
|
|
322
337
|
volume24h?: string;
|
|
338
|
+
/** 24h quote-token (notional) volume */
|
|
339
|
+
quoteVolume24h?: string;
|
|
323
340
|
priceChange24h?: string;
|
|
324
341
|
priceChangePercent24h?: string;
|
|
342
|
+
/** Open interest in base-asset units (legacy alias of openInterestBase) */
|
|
325
343
|
openInterest: string;
|
|
344
|
+
/** Open interest in base-asset units (e.g. BTC) */
|
|
345
|
+
openInterestBase?: string;
|
|
346
|
+
/** Open interest notional in quote units (openInterestBase × mark price, falling back to the last trade price when no mark is available) */
|
|
347
|
+
openInterestNotional?: string;
|
|
326
348
|
currentFundingRate?: string;
|
|
327
349
|
estimatedNextFundingRate?: string;
|
|
328
350
|
nextFundingTime?: string;
|
package/dist/trading/index.d.ts
CHANGED
|
@@ -41,7 +41,7 @@ export interface TradingAPI extends BaseAPI {
|
|
|
41
41
|
/**
|
|
42
42
|
* Maker-only: rejected with a 400 carrying the structured error code
|
|
43
43
|
* `POST_ONLY_WOULD_CROSS` if this limit order would cross the book.
|
|
44
|
-
* LIMIT orders with GTC
|
|
44
|
+
* LIMIT orders with GTC only; rejected together with IOC/FOK.
|
|
45
45
|
* Echoed back as `postOnly` on order detail and list reads.
|
|
46
46
|
*/
|
|
47
47
|
postOnly?: boolean;
|
package/dist/trading/orders.d.ts
CHANGED
|
@@ -40,13 +40,13 @@ export interface Order {
|
|
|
40
40
|
averageFillPrice?: string;
|
|
41
41
|
/** Trading mode (SPOT or MARGIN) */
|
|
42
42
|
tradingMode: TradingMode;
|
|
43
|
-
/** Time in force - GTC, IOC, FOK
|
|
43
|
+
/** Time in force - GTC, IOC, or FOK (GTD is deprecated and rejected) */
|
|
44
44
|
timeInForce?: TimeInForce;
|
|
45
45
|
/** Order creation timestamp (ISO 8601) */
|
|
46
46
|
createdAt: string;
|
|
47
47
|
/** Order last update timestamp (ISO 8601) */
|
|
48
48
|
updatedAt?: string;
|
|
49
|
-
/** Optional
|
|
49
|
+
/** Optional expiry for a GTC order (ISO 8601, max 1 year) */
|
|
50
50
|
expirationDate?: string;
|
|
51
51
|
/** Application taker fee in basis points (e.g., "100" = 1%) - populated after fills */
|
|
52
52
|
applicationTakerFee?: string;
|
|
@@ -134,7 +134,10 @@ export type TradingMode = "SPOT" | "MARGIN";
|
|
|
134
134
|
* - GTC: Good Till Cancel - remains active until filled or canceled
|
|
135
135
|
* - IOC: Immediate or Cancel - execute immediately and cancel unfilled portion
|
|
136
136
|
* - FOK: Fill or Kill - execute completely or cancel entirely
|
|
137
|
-
* - GTD:
|
|
137
|
+
* - GTD: **deprecated, never implemented** - the server rejects it with HTTP
|
|
138
|
+
* 400 (`Time in force must be GTC, IOC, or FOK`). The variant is retained so
|
|
139
|
+
* existing code keeps compiling. For an order that expires at a set time, use
|
|
140
|
+
* `GTC` together with `expirationDate`.
|
|
138
141
|
*/
|
|
139
142
|
export type TimeInForce = "GTC" | "IOC" | "FOK" | "GTD";
|
|
140
143
|
/**
|
|
@@ -354,7 +354,7 @@ export interface BatchCreateOrderParams {
|
|
|
354
354
|
/**
|
|
355
355
|
* Maker-only: rejected with a structured `error.code` of
|
|
356
356
|
* `POST_ONLY_WOULD_CROSS` on this item's result if the limit order would
|
|
357
|
-
* cross the book. LIMIT orders with GTC
|
|
357
|
+
* cross the book. LIMIT orders with GTC only; rejected on MARKET
|
|
358
358
|
* orders and combined with IOC/FOK. Echoed back as `postOnly` on order
|
|
359
359
|
* detail and list reads.
|
|
360
360
|
*/
|
|
@@ -33,12 +33,14 @@ export const ClosePositionSchema = PositionIdSchema.extend({
|
|
|
33
33
|
quantity: PositiveDecimalStringSchema.optional(),
|
|
34
34
|
}),
|
|
35
35
|
})
|
|
36
|
-
|
|
37
|
-
|
|
36
|
+
// An IOC close is a LIMIT+IOC order server-side (`close_order_shape`), so it
|
|
37
|
+
// needs a price exactly like a LIMIT close does; only MARKET forbids one.
|
|
38
|
+
.refine((data) => data.request.closeType === "MARKET" || data.request.limitPrice !== undefined, {
|
|
39
|
+
message: "limitPrice is required for LIMIT and IOC close requests",
|
|
38
40
|
path: ["request", "limitPrice"],
|
|
39
41
|
})
|
|
40
|
-
.refine((data) => data.request.closeType
|
|
41
|
-
message: "limitPrice is
|
|
42
|
+
.refine((data) => data.request.closeType !== "MARKET" || data.request.limitPrice === undefined, {
|
|
43
|
+
message: "limitPrice is not allowed for MARKET close requests",
|
|
42
44
|
path: ["request", "limitPrice"],
|
|
43
45
|
});
|
|
44
46
|
export const BatchCloseAllSchema = z.object({
|
|
@@ -6,9 +6,24 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import type { Address } from "viem";
|
|
8
8
|
/**
|
|
9
|
-
* Reason for the balance update
|
|
9
|
+
* Reason for the balance update.
|
|
10
|
+
*
|
|
11
|
+
* `fee` and `rebate` accompany a fill: `fee` when a taker/application fee is
|
|
12
|
+
* charged, `rebate` when a maker rebate is credited (including perp/margin
|
|
13
|
+
* makers). `funding` accompanies a funding settlement against margin collateral
|
|
14
|
+
* (also surfaced on the movements channel with `transactionType: "funding"`).
|
|
15
|
+
* `liquidation` and `adl` accompany a forced-close on the liquidation-worker
|
|
16
|
+
* path: `liquidation` on the liquidated victim's collateral, `adl` on an
|
|
17
|
+
* account impacted by auto-deleveraging.
|
|
18
|
+
*
|
|
19
|
+
* A single fill can emit more than one `balance_update` for the same account
|
|
20
|
+
* (e.g. a `trade` frame plus a `rebate` frame). Each frame carries the
|
|
21
|
+
* account's RESULTING balance for its token — it is a terminal-state snapshot,
|
|
22
|
+
* not an additive delta — so consume it by applying the latest balance per
|
|
23
|
+
* (account, token). That makes reconnect/replay naturally idempotent: never sum
|
|
24
|
+
* the `reason` frames as if they were separate credits.
|
|
10
25
|
*/
|
|
11
|
-
export type BalanceUpdateReason = "lock" | "unlock" | "deposit" | "withdrawal" | "trade" | "margin_transfer_in" | "margin_transfer_out";
|
|
26
|
+
export type BalanceUpdateReason = "lock" | "unlock" | "deposit" | "margin_deposit" | "withdrawal" | "trade" | "fee" | "rebate" | "funding" | "liquidation" | "adl" | "margin_transfer_in" | "margin_transfer_out";
|
|
12
27
|
/**
|
|
13
28
|
* User balance event data containing current balance state
|
|
14
29
|
*/
|
|
@@ -13,10 +13,25 @@ export interface UserMovementEventData {
|
|
|
13
13
|
id: string;
|
|
14
14
|
/** Entry type (e.g., "credit", "debit") */
|
|
15
15
|
entryType: string;
|
|
16
|
-
/**
|
|
16
|
+
/**
|
|
17
|
+
* Transaction type (e.g., "deposit", "withdrawal", "trade", "funding").
|
|
18
|
+
* A `funding` movement records a funding payment already settled against
|
|
19
|
+
* margin collateral; it reconciles with the matching `balance_update` event
|
|
20
|
+
* whose `reason` is `funding`.
|
|
21
|
+
*/
|
|
17
22
|
transactionType: string;
|
|
18
|
-
/**
|
|
23
|
+
/** Movement status (e.g., "completed", "pending", "failed"). Wire: `status`. */
|
|
24
|
+
status?: string;
|
|
25
|
+
/** Token contract address. Wire: `token` (older payloads use the `token_address` alias). */
|
|
26
|
+
token?: Address;
|
|
27
|
+
/**
|
|
28
|
+
* Legacy alias for `token`, always populated from `token` (falling back to the
|
|
29
|
+
* `token_address` wire alias). Stays required for back-compat — every movement
|
|
30
|
+
* carries a token address — so existing consumers reading it don't break.
|
|
31
|
+
*/
|
|
19
32
|
tokenAddress: Address;
|
|
33
|
+
/** Asset registry id (UUID). Wire: `asset_id`. */
|
|
34
|
+
assetId?: string;
|
|
20
35
|
/** Token symbol */
|
|
21
36
|
symbol?: string;
|
|
22
37
|
/** Token decimals */
|
|
@@ -49,6 +64,8 @@ export interface UserMovementEventData {
|
|
|
49
64
|
description?: string;
|
|
50
65
|
/** Transaction hash (if applicable) */
|
|
51
66
|
txHash?: string;
|
|
67
|
+
/** Block number (if applicable). Wire: `block_number`. */
|
|
68
|
+
blockNumber?: number;
|
|
52
69
|
/** Timestamp when the movement was created (ISO 8601) */
|
|
53
70
|
createdAt?: string;
|
|
54
71
|
}
|
|
@@ -140,14 +140,23 @@ export interface OrderPartiallyFilledEvent extends OrderEvent {
|
|
|
140
140
|
/** Execution price (maker orders only) */
|
|
141
141
|
executionPrice?: string;
|
|
142
142
|
/**
|
|
143
|
-
*
|
|
144
|
-
* `filled_quantity` (→ `filledQuantity`); for
|
|
145
|
-
*
|
|
146
|
-
*
|
|
143
|
+
* Cumulative order fill so far, on EVERY role. The wire field is
|
|
144
|
+
* `filled_quantity` (→ `filledQuantity`); for both taker and maker it is
|
|
145
|
+
* the order's cumulative fill (a maker previously reported only the current
|
|
146
|
+
* trade's quantity here; the older `executionQuantity` never matched the
|
|
147
|
+
* wire at all). The per-event increment is `lastFillQuantity`.
|
|
147
148
|
*/
|
|
148
149
|
filledQuantity?: string;
|
|
149
150
|
/** `filledQuantity` in RAW (integer, base-unit) precision. Wire: `filled_quantity_raw`. */
|
|
150
151
|
filledQuantityRaw?: string;
|
|
152
|
+
/**
|
|
153
|
+
* Incremental quantity filled by THIS event: for a taker the summed
|
|
154
|
+
* quantity of the trades this event covers, for a maker this single trade's
|
|
155
|
+
* quantity. Omitted when the event carries no fill. Wire: `last_fill_quantity`.
|
|
156
|
+
*/
|
|
157
|
+
lastFillQuantity?: string;
|
|
158
|
+
/** `lastFillQuantity` in RAW (integer, base-unit) precision. Wire: `last_fill_quantity_raw`. */
|
|
159
|
+
lastFillQuantityRaw?: string;
|
|
151
160
|
/** `remainingQuantity` in RAW (integer, base-unit) precision. Wire: `remaining_quantity_raw`. */
|
|
152
161
|
remainingQuantityRaw?: string;
|
|
153
162
|
/**
|
|
@@ -200,14 +209,23 @@ export interface OrderFilledEvent extends OrderEvent {
|
|
|
200
209
|
/** Execution price (maker orders only) */
|
|
201
210
|
executionPrice?: string;
|
|
202
211
|
/**
|
|
203
|
-
*
|
|
204
|
-
* `filled_quantity` (→ `filledQuantity`); for
|
|
205
|
-
*
|
|
206
|
-
*
|
|
212
|
+
* Cumulative order fill so far, on EVERY role. The wire field is
|
|
213
|
+
* `filled_quantity` (→ `filledQuantity`); for both taker and maker it is
|
|
214
|
+
* the order's cumulative fill (a maker previously reported only the current
|
|
215
|
+
* trade's quantity here; the older `executionQuantity` never matched the
|
|
216
|
+
* wire at all). The per-event increment is `lastFillQuantity`.
|
|
207
217
|
*/
|
|
208
218
|
filledQuantity?: string;
|
|
209
219
|
/** `filledQuantity` in RAW (integer, base-unit) precision. Wire: `filled_quantity_raw`. */
|
|
210
220
|
filledQuantityRaw?: string;
|
|
221
|
+
/**
|
|
222
|
+
* Incremental quantity filled by THIS event: for a taker the summed
|
|
223
|
+
* quantity of the trades this event covers, for a maker this single trade's
|
|
224
|
+
* quantity. Omitted when the event carries no fill. Wire: `last_fill_quantity`.
|
|
225
|
+
*/
|
|
226
|
+
lastFillQuantity?: string;
|
|
227
|
+
/** `lastFillQuantity` in RAW (integer, base-unit) precision. Wire: `last_fill_quantity_raw`. */
|
|
228
|
+
lastFillQuantityRaw?: string;
|
|
211
229
|
/** `remainingQuantity` in RAW (integer, base-unit) precision. Wire: `remaining_quantity_raw`. */
|
|
212
230
|
remainingQuantityRaw?: string;
|
|
213
231
|
/**
|
|
@@ -231,6 +249,14 @@ export interface OrderCancelledEvent extends OrderEvent {
|
|
|
231
249
|
reason?: string;
|
|
232
250
|
/** Stable machine-readable cancellation cause */
|
|
233
251
|
terminalReason?: OrderTerminalReason;
|
|
252
|
+
/**
|
|
253
|
+
* Cumulative order fill at cancellation, mirroring `filledQuantity` on the
|
|
254
|
+
* taker/maker fill events so consumers read one field across every order
|
|
255
|
+
* event (0XM-2389). `totalFilled` is retained as a legacy alias.
|
|
256
|
+
*/
|
|
257
|
+
filledQuantity?: string;
|
|
258
|
+
/** `filledQuantity` in RAW (integer, base-unit) precision. Wire: `filled_quantity_raw`. */
|
|
259
|
+
filledQuantityRaw?: string;
|
|
234
260
|
/** Total filled quantity before cancellation */
|
|
235
261
|
totalFilled?: string;
|
|
236
262
|
/** `totalFilled` in RAW (integer, base-unit) precision. Wire: `total_filled_raw`. */
|
|
@@ -241,6 +267,16 @@ export interface OrderCancelledEvent extends OrderEvent {
|
|
|
241
267
|
remainingQuantityRaw?: string;
|
|
242
268
|
/** Number of trades executed before cancellation */
|
|
243
269
|
tradesCount?: number;
|
|
270
|
+
/**
|
|
271
|
+
* Volume-weighted average fill price of the cancelled order, on the full
|
|
272
|
+
* (resting-order) cancel payload. Wire: `average_fill_price`.
|
|
273
|
+
*/
|
|
274
|
+
averageFillPrice?: string;
|
|
275
|
+
/**
|
|
276
|
+
* Cancellation timestamp on the full (resting-order) cancel payload,
|
|
277
|
+
* RFC3339 with a `Z` suffix. Wire: `cancelled_at`.
|
|
278
|
+
*/
|
|
279
|
+
cancelledAt?: string;
|
|
244
280
|
};
|
|
245
281
|
}
|
|
246
282
|
/**
|
|
@@ -15,11 +15,12 @@ export type PositionEventSide = "LONG" | "SHORT";
|
|
|
15
15
|
/**
|
|
16
16
|
* Position lifecycle status.
|
|
17
17
|
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
18
|
+
* Matches the REST position status strings exactly (the server previously
|
|
19
|
+
* emitted PascalCase `Open`, which diverged from REST). Values are
|
|
20
|
+
* SCREAMING_SNAKE_CASE except a closing position, which REST and the wire
|
|
21
|
+
* report as `LIQUIDATING` (not `CLOSING`).
|
|
21
22
|
*/
|
|
22
|
-
export type PositionEventStatus = "
|
|
23
|
+
export type PositionEventStatus = "OPEN" | "LIQUIDATING" | "CLOSED" | "LIQUIDATED" | "EXPIRED";
|
|
23
24
|
/**
|
|
24
25
|
* Position event data containing the current state of a single position.
|
|
25
26
|
*/
|
|
@@ -32,7 +33,7 @@ export interface PositionEventData {
|
|
|
32
33
|
tradingPairId: string;
|
|
33
34
|
/** Position side */
|
|
34
35
|
side: PositionEventSide;
|
|
35
|
-
/** Position lifecycle status (
|
|
36
|
+
/** Position lifecycle status (SCREAMING_SNAKE_CASE on the wire, e.g. "OPEN") */
|
|
36
37
|
status: PositionEventStatus;
|
|
37
38
|
/** Absolute position size (decimal string) */
|
|
38
39
|
size: string;
|
|
@@ -48,7 +49,15 @@ export interface PositionEventData {
|
|
|
48
49
|
isolatedMargin: string;
|
|
49
50
|
/** Effective leverage (decimal string) */
|
|
50
51
|
leverage: string;
|
|
51
|
-
/**
|
|
52
|
+
/** Trade that caused the update, when driven by a fill (UUID). Omitted otherwise. */
|
|
53
|
+
tradeId?: string;
|
|
54
|
+
/** Order that caused the update, when driven by an order (UUID). Omitted otherwise. */
|
|
55
|
+
orderId?: string;
|
|
56
|
+
/**
|
|
57
|
+
* What triggered the update. Free-form, but the server uses a canonical set:
|
|
58
|
+
* `trade`, `close`, `liquidation`, `adl`, `funding`, `margin_added`,
|
|
59
|
+
* `margin_reduced`, `margin_collateral_transfer`.
|
|
60
|
+
*/
|
|
52
61
|
reason: string;
|
|
53
62
|
/** Timestamp when the position state was updated (ISO 8601) */
|
|
54
63
|
updatedAt: string;
|
package/dist/wire/schema.d.ts
CHANGED
|
@@ -2670,7 +2670,7 @@ export interface components {
|
|
|
2670
2670
|
*/
|
|
2671
2671
|
marginMode?: "ISOLATED" | "CROSS" | null;
|
|
2672
2672
|
/**
|
|
2673
|
-
* @description Post-only: reject instead of matching if this limit order would cross the book — rejected with HTTP 400 / gRPC INVALID_ARGUMENT carrying the structured error code POST_ONLY_WOULD_CROSS (REST error-envelope 'code' field; gRPC google.rpc.ErrorInfo reason; batch per-item error.code). Matching the 'post-only order would cross' message substring is a legacy fallback. LIMIT orders with GTC
|
|
2673
|
+
* @description Post-only: reject instead of matching if this limit order would cross the book — rejected with HTTP 400 / gRPC INVALID_ARGUMENT carrying the structured error code POST_ONLY_WOULD_CROSS (REST error-envelope 'code' field; gRPC google.rpc.ErrorInfo reason; batch per-item error.code). Matching the 'post-only order would cross' message substring is a legacy fallback. LIMIT orders with GTC only; rejected on MARKET orders and IOC/FOK.
|
|
2674
2674
|
* @example false
|
|
2675
2675
|
*/
|
|
2676
2676
|
postOnly?: boolean | null;
|
|
@@ -2744,7 +2744,7 @@ export interface components {
|
|
|
2744
2744
|
*/
|
|
2745
2745
|
useMasterBalance?: boolean | null;
|
|
2746
2746
|
/**
|
|
2747
|
-
* @description Post-only: reject instead of matching if this limit order would cross the book — rejected with HTTP 400 / gRPC INVALID_ARGUMENT carrying the structured error code POST_ONLY_WOULD_CROSS (REST error-envelope 'code' field; gRPC google.rpc.ErrorInfo reason; batch per-item error.code). Matching the 'post-only order would cross' message substring is a legacy fallback. LIMIT orders with GTC
|
|
2747
|
+
* @description Post-only: reject instead of matching if this limit order would cross the book — rejected with HTTP 400 / gRPC INVALID_ARGUMENT carrying the structured error code POST_ONLY_WOULD_CROSS (REST error-envelope 'code' field; gRPC google.rpc.ErrorInfo reason; batch per-item error.code). Matching the 'post-only order would cross' message substring is a legacy fallback. LIMIT orders with GTC only; rejected on MARKET orders and IOC/FOK.
|
|
2748
2748
|
* @example false
|
|
2749
2749
|
*/
|
|
2750
2750
|
postOnly?: boolean | null;
|
|
@@ -3143,7 +3143,7 @@ export interface components {
|
|
|
3143
3143
|
*/
|
|
3144
3144
|
marginMode?: "ISOLATED" | "CROSS" | null;
|
|
3145
3145
|
/**
|
|
3146
|
-
* @description Post-only: reject instead of matching if this limit order would cross the book — rejected with HTTP 400 / gRPC INVALID_ARGUMENT carrying the structured error code POST_ONLY_WOULD_CROSS (REST error-envelope 'code' field; gRPC google.rpc.ErrorInfo reason; batch per-item error.code). Matching the 'post-only order would cross' message substring is a legacy fallback. LIMIT orders with GTC
|
|
3146
|
+
* @description Post-only: reject instead of matching if this limit order would cross the book — rejected with HTTP 400 / gRPC INVALID_ARGUMENT carrying the structured error code POST_ONLY_WOULD_CROSS (REST error-envelope 'code' field; gRPC google.rpc.ErrorInfo reason; batch per-item error.code). Matching the 'post-only order would cross' message substring is a legacy fallback. LIMIT orders with GTC only; rejected on MARKET orders and IOC/FOK.
|
|
3147
3147
|
* @example false
|
|
3148
3148
|
*/
|
|
3149
3149
|
postOnly?: boolean | null;
|
|
@@ -3828,6 +3828,11 @@ export interface components {
|
|
|
3828
3828
|
* @example 482931
|
|
3829
3829
|
*/
|
|
3830
3830
|
totalTradeCountLtd?: string | null;
|
|
3831
|
+
/**
|
|
3832
|
+
* @description Quote-token (notional) volume summed over the available candles in the rolling 24h window; null when quote volume is unavailable for the window
|
|
3833
|
+
* @example 117845632.18
|
|
3834
|
+
*/
|
|
3835
|
+
quoteVolume24h?: string | null;
|
|
3831
3836
|
};
|
|
3832
3837
|
/** @description Exchange-wide life-to-date cumulative market statistics across all trading pairs. */
|
|
3833
3838
|
GetMarketStatsResponse: {
|
|
@@ -4229,9 +4234,17 @@ export interface components {
|
|
|
4229
4234
|
indexPrice?: string | null;
|
|
4230
4235
|
high24h?: string | null;
|
|
4231
4236
|
low24h?: string | null;
|
|
4237
|
+
/**
|
|
4238
|
+
* @description Base-asset volume in the last 24 hours
|
|
4239
|
+
* @example 1234.5678
|
|
4240
|
+
*/
|
|
4232
4241
|
volume24h?: string | null;
|
|
4233
4242
|
priceChange24h?: string | null;
|
|
4234
4243
|
priceChangePercent24h?: string | null;
|
|
4244
|
+
/**
|
|
4245
|
+
* @description Open interest in base-asset units (legacy alias of openInterestBase)
|
|
4246
|
+
* @example 12345.67
|
|
4247
|
+
*/
|
|
4235
4248
|
openInterest?: string | null;
|
|
4236
4249
|
currentFundingRate?: string | null;
|
|
4237
4250
|
estimatedNextFundingRate?: string | null;
|
|
@@ -4239,6 +4252,21 @@ export interface components {
|
|
|
4239
4252
|
marketStatus?: string | null;
|
|
4240
4253
|
marketRegime?: string | null;
|
|
4241
4254
|
updatedAt?: string | null;
|
|
4255
|
+
/**
|
|
4256
|
+
* @description Open interest in base-asset units (e.g. BTC)
|
|
4257
|
+
* @example 12345.67
|
|
4258
|
+
*/
|
|
4259
|
+
openInterestBase?: string | null;
|
|
4260
|
+
/**
|
|
4261
|
+
* @description Open interest notional in quote units (openInterestBase x mark price, falling back to the last trade price when no mark is available)
|
|
4262
|
+
* @example 1172836500.00
|
|
4263
|
+
*/
|
|
4264
|
+
openInterestNotional?: string | null;
|
|
4265
|
+
/**
|
|
4266
|
+
* @description Quote-token (notional) volume summed over the available candles in the rolling 24h window; null when quote volume is unavailable
|
|
4267
|
+
* @example 117845632.18
|
|
4268
|
+
*/
|
|
4269
|
+
quoteVolume24h?: string | null;
|
|
4242
4270
|
};
|
|
4243
4271
|
GetPortfolioAssetsResponse: {
|
|
4244
4272
|
window?: components["schemas"]["PortfolioSeriesWindow"];
|
|
@@ -5921,7 +5949,7 @@ export interface components {
|
|
|
5921
5949
|
};
|
|
5922
5950
|
ReplaceOrderRequest: {
|
|
5923
5951
|
/**
|
|
5924
|
-
* @description Post-only: reject instead of matching if this limit order would cross the book — rejected with HTTP 400 / gRPC INVALID_ARGUMENT carrying the structured error code POST_ONLY_WOULD_CROSS (REST error-envelope 'code' field; gRPC google.rpc.ErrorInfo reason; batch per-item error.code). Matching the 'post-only order would cross' message substring is a legacy fallback. LIMIT orders with GTC
|
|
5952
|
+
* @description Post-only: reject instead of matching if this limit order would cross the book — rejected with HTTP 400 / gRPC INVALID_ARGUMENT carrying the structured error code POST_ONLY_WOULD_CROSS (REST error-envelope 'code' field; gRPC google.rpc.ErrorInfo reason; batch per-item error.code). Matching the 'post-only order would cross' message substring is a legacy fallback. LIMIT orders with GTC only; rejected on MARKET orders and IOC/FOK.
|
|
5925
5953
|
* @example false
|
|
5926
5954
|
*/
|
|
5927
5955
|
postOnly?: boolean | null;
|
|
@@ -6095,6 +6123,16 @@ export interface components {
|
|
|
6095
6123
|
* @example 1745308800000
|
|
6096
6124
|
*/
|
|
6097
6125
|
lastFundingTime?: string | null;
|
|
6126
|
+
/**
|
|
6127
|
+
* @description Open interest in base-asset units (e.g. BTC); null for spot pairs, "0" for a margin pair with no open positions
|
|
6128
|
+
* @example 12345.67
|
|
6129
|
+
*/
|
|
6130
|
+
openInterestBase?: string | null;
|
|
6131
|
+
/**
|
|
6132
|
+
* @description Open interest notional in quote units (openInterestBase x latest trade price); null for spot pairs. Valued at the pair's latest trade price (a snapshot); the mark-accurate notional lives on getPerpMarketSummary / getOpenInterest
|
|
6133
|
+
* @example 1172836500.00
|
|
6134
|
+
*/
|
|
6135
|
+
openInterestNotional?: string | null;
|
|
6098
6136
|
};
|
|
6099
6137
|
/** @description One UTC-day bucket in a pair's 7-day snapshot. */
|
|
6100
6138
|
ScreenerSnapshotPoint: {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@0xmonaco/types",
|
|
3
|
-
"version": "1.0.39-
|
|
3
|
+
"version": "1.0.39-prerelease.19d492d",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"lint": "biome lint ."
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
|
-
"@0xmonaco/contracts": "1.0.39-
|
|
23
|
+
"@0xmonaco/contracts": "1.0.39-prerelease.19d492d",
|
|
24
24
|
"zod": "^4.1.12"
|
|
25
25
|
},
|
|
26
26
|
"peerDependencies": {
|