@0xmonaco/types 1.1.6 → 1.1.7
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/analytics/wallets.d.ts +12 -4
- package/dist/market/index.d.ts +19 -0
- package/dist/rfq/responses.d.ts +109 -0
- package/dist/rfq/responses.js +73 -0
- package/dist/websocket/events/market-stats-events.d.ts +19 -0
- package/dist/websocket/events/position-events.d.ts +3 -2
- package/dist/websocket/events/rfq-events.d.ts +21 -0
- package/dist/wire/schema.d.ts +121 -12
- package/package.json +2 -2
|
@@ -83,8 +83,9 @@ export interface ListWalletLiquidationsResponse {
|
|
|
83
83
|
}
|
|
84
84
|
/**
|
|
85
85
|
* What the vault holds of one token. Amounts are raw token units. Custody is
|
|
86
|
-
*
|
|
87
|
-
*
|
|
86
|
+
* `openingRaw` plus `depositedRaw` less `withdrawnRaw`. It is folded into the
|
|
87
|
+
* aux database while `pendingWithdrawalsRaw` is read from core, so the two can
|
|
88
|
+
* disagree briefly while the fold lags.
|
|
88
89
|
*/
|
|
89
90
|
export interface TokenCustody {
|
|
90
91
|
/** Asset UUID; null for a token with custody flow and no listed asset. */
|
|
@@ -95,12 +96,19 @@ export interface TokenCustody {
|
|
|
95
96
|
iconUrl?: string | null;
|
|
96
97
|
/** Token contract address, lowercase. */
|
|
97
98
|
contractAddress: string;
|
|
99
|
+
/** Deposits since the explorer's history starts. */
|
|
98
100
|
depositedRaw: string;
|
|
99
|
-
/**
|
|
101
|
+
/** Withdrawals initiated since the explorer's history starts. */
|
|
100
102
|
withdrawnRaw: string;
|
|
101
103
|
depositsCount: number;
|
|
102
104
|
withdrawalsCount: number;
|
|
103
|
-
/**
|
|
105
|
+
/**
|
|
106
|
+
* What the vault held before the explorer's history starts: `"0"` where it
|
|
107
|
+
* starts at the exchange's first event, the measured balance carried in
|
|
108
|
+
* where it starts later.
|
|
109
|
+
*/
|
|
110
|
+
openingRaw: string;
|
|
111
|
+
/** `openingRaw` plus deposits less initiated withdrawals; null when not positive. */
|
|
104
112
|
custodyRaw?: string | null;
|
|
105
113
|
/** Initiated but not yet executed on-chain; the vault's physical balance is `custodyRaw` plus this. */
|
|
106
114
|
pendingWithdrawalsRaw: string;
|
package/dist/market/index.d.ts
CHANGED
|
@@ -329,6 +329,25 @@ export interface MarketMetadata {
|
|
|
329
329
|
totalQuoteVolumeLtd: string;
|
|
330
330
|
/** Life-to-date cumulative number of trades since inception (0 if no trades yet) */
|
|
331
331
|
totalTradeCountLtd: number;
|
|
332
|
+
/**
|
|
333
|
+
* The rolling 24h volumes split into their order-book and RFQ parts; absent
|
|
334
|
+
* while any candle in the window has no recorded split.
|
|
335
|
+
*/
|
|
336
|
+
volume24hBySource?: Volume24hBySource | null;
|
|
337
|
+
}
|
|
338
|
+
/**
|
|
339
|
+
* A market's rolling 24h volume split by execution source: each total is the
|
|
340
|
+
* order-book part plus the RFQ part (decimal strings).
|
|
341
|
+
*/
|
|
342
|
+
export interface Volume24hBySource {
|
|
343
|
+
/** Base-token volume filled on the order book in the last 24 hours */
|
|
344
|
+
orderBookBaseVolume: string;
|
|
345
|
+
/** Base-token volume filled by RFQ block trades in the last 24 hours */
|
|
346
|
+
rfqBaseVolume: string;
|
|
347
|
+
/** Quote-token volume filled on the order book in the last 24 hours; null when the 24h quote volume is unavailable */
|
|
348
|
+
orderBookQuoteVolume?: string | null;
|
|
349
|
+
/** Quote-token volume filled by RFQ block trades in the last 24 hours; null when the 24h quote volume is unavailable */
|
|
350
|
+
rfqQuoteVolume?: string | null;
|
|
332
351
|
}
|
|
333
352
|
/**
|
|
334
353
|
* Exchange-wide life-to-date cumulative statistics across all trading pairs.
|
package/dist/rfq/responses.d.ts
CHANGED
|
@@ -33,6 +33,13 @@ export declare const RfqRequestTermsSchema: z.ZodObject<{
|
|
|
33
33
|
leverage: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
34
34
|
marginMode: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
35
35
|
}, z.core.$strip>;
|
|
36
|
+
/** The taker's requested size priced against the public order book (RFQ-08). */
|
|
37
|
+
export declare const RfqBookComparisonSchema: z.ZodObject<{
|
|
38
|
+
vwap: z.ZodString;
|
|
39
|
+
grossVwap: z.ZodString;
|
|
40
|
+
asOfMs: z.ZodNumber;
|
|
41
|
+
levels: z.ZodNumber;
|
|
42
|
+
}, z.core.$strip>;
|
|
36
43
|
/** One side of the taker's view: the allocation that would fill the quantity. */
|
|
37
44
|
export declare const RfqSideViewSchema: z.ZodObject<{
|
|
38
45
|
vwap: z.ZodString;
|
|
@@ -41,6 +48,12 @@ export declare const RfqSideViewSchema: z.ZodObject<{
|
|
|
41
48
|
estimatedMonacoFee: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
42
49
|
estimatedBuilderFee: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
43
50
|
estimatedTotalFee: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
51
|
+
book: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
52
|
+
vwap: z.ZodString;
|
|
53
|
+
grossVwap: z.ZodString;
|
|
54
|
+
asOfMs: z.ZodNumber;
|
|
55
|
+
levels: z.ZodNumber;
|
|
56
|
+
}, z.core.$strip>>>;
|
|
44
57
|
}, z.core.$strip>;
|
|
45
58
|
/** The taker's current view of the quotes. */
|
|
46
59
|
export declare const RfqViewSchema: z.ZodObject<{
|
|
@@ -52,6 +65,12 @@ export declare const RfqViewSchema: z.ZodObject<{
|
|
|
52
65
|
estimatedMonacoFee: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
53
66
|
estimatedBuilderFee: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
54
67
|
estimatedTotalFee: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
68
|
+
book: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
69
|
+
vwap: z.ZodString;
|
|
70
|
+
grossVwap: z.ZodString;
|
|
71
|
+
asOfMs: z.ZodNumber;
|
|
72
|
+
levels: z.ZodNumber;
|
|
73
|
+
}, z.core.$strip>>>;
|
|
55
74
|
}, z.core.$strip>>>;
|
|
56
75
|
ask: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
57
76
|
vwap: z.ZodString;
|
|
@@ -60,6 +79,12 @@ export declare const RfqViewSchema: z.ZodObject<{
|
|
|
60
79
|
estimatedMonacoFee: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
61
80
|
estimatedBuilderFee: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
62
81
|
estimatedTotalFee: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
82
|
+
book: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
83
|
+
vwap: z.ZodString;
|
|
84
|
+
grossVwap: z.ZodString;
|
|
85
|
+
asOfMs: z.ZodNumber;
|
|
86
|
+
levels: z.ZodNumber;
|
|
87
|
+
}, z.core.$strip>>>;
|
|
63
88
|
}, z.core.$strip>>>;
|
|
64
89
|
asOfMs: z.ZodNumber;
|
|
65
90
|
monacoFeeCbps: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
@@ -87,6 +112,43 @@ export declare const RfqOutcomeSchema: z.ZodObject<{
|
|
|
87
112
|
monacoFee: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
88
113
|
builderFee: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
89
114
|
}, z.core.$strip>>;
|
|
115
|
+
allInVwap: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
116
|
+
bookAtFill: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
117
|
+
vwap: z.ZodString;
|
|
118
|
+
grossVwap: z.ZodString;
|
|
119
|
+
asOfMs: z.ZodNumber;
|
|
120
|
+
levels: z.ZodNumber;
|
|
121
|
+
}, z.core.$strip>>>;
|
|
122
|
+
bookAtFillFullSize: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
123
|
+
}, z.core.$strip>;
|
|
124
|
+
/**
|
|
125
|
+
* One fill of your quote, as a maker. The fee parts are what the trade
|
|
126
|
+
* recorded as charged, unset until trade history has the fill.
|
|
127
|
+
*/
|
|
128
|
+
export declare const RfqMakerFillSchema: z.ZodObject<{
|
|
129
|
+
executionId: z.ZodString;
|
|
130
|
+
price: z.ZodString;
|
|
131
|
+
quantity: z.ZodString;
|
|
132
|
+
fee: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
133
|
+
monacoFee: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
134
|
+
builderFee: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
135
|
+
}, z.core.$strip>;
|
|
136
|
+
/** What the taker's view showed on the accepted side when it accepted (RFQ-08). */
|
|
137
|
+
export declare const RfqAcceptanceRecordSchema: z.ZodObject<{
|
|
138
|
+
viewVersion: z.ZodNumber;
|
|
139
|
+
acceptedAtMs: z.ZodNumber;
|
|
140
|
+
vwap: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
141
|
+
grossVwap: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
142
|
+
availableQuantity: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
143
|
+
monacoFeeCbps: z.ZodNumber;
|
|
144
|
+
builderFeeCbps: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
145
|
+
book: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
146
|
+
vwap: z.ZodString;
|
|
147
|
+
grossVwap: z.ZodString;
|
|
148
|
+
asOfMs: z.ZodNumber;
|
|
149
|
+
levels: z.ZodNumber;
|
|
150
|
+
}, z.core.$strip>>>;
|
|
151
|
+
bookFullSize: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
90
152
|
}, z.core.$strip>;
|
|
91
153
|
/** A quoted side the venue refused; nothing is reserved for it. */
|
|
92
154
|
export declare const RfqRefusedSideSchema: z.ZodObject<{
|
|
@@ -163,6 +225,12 @@ export declare const RfqStatusSchema: z.ZodObject<{
|
|
|
163
225
|
estimatedMonacoFee: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
164
226
|
estimatedBuilderFee: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
165
227
|
estimatedTotalFee: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
228
|
+
book: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
229
|
+
vwap: z.ZodString;
|
|
230
|
+
grossVwap: z.ZodString;
|
|
231
|
+
asOfMs: z.ZodNumber;
|
|
232
|
+
levels: z.ZodNumber;
|
|
233
|
+
}, z.core.$strip>>>;
|
|
166
234
|
}, z.core.$strip>>>;
|
|
167
235
|
ask: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
168
236
|
vwap: z.ZodString;
|
|
@@ -171,6 +239,12 @@ export declare const RfqStatusSchema: z.ZodObject<{
|
|
|
171
239
|
estimatedMonacoFee: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
172
240
|
estimatedBuilderFee: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
173
241
|
estimatedTotalFee: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
242
|
+
book: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
243
|
+
vwap: z.ZodString;
|
|
244
|
+
grossVwap: z.ZodString;
|
|
245
|
+
asOfMs: z.ZodNumber;
|
|
246
|
+
levels: z.ZodNumber;
|
|
247
|
+
}, z.core.$strip>>>;
|
|
174
248
|
}, z.core.$strip>>>;
|
|
175
249
|
asOfMs: z.ZodNumber;
|
|
176
250
|
monacoFeeCbps: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
@@ -227,8 +301,40 @@ export declare const RfqStatusSchema: z.ZodObject<{
|
|
|
227
301
|
monacoFee: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
228
302
|
builderFee: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
229
303
|
}, z.core.$strip>>;
|
|
304
|
+
allInVwap: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
305
|
+
bookAtFill: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
306
|
+
vwap: z.ZodString;
|
|
307
|
+
grossVwap: z.ZodString;
|
|
308
|
+
asOfMs: z.ZodNumber;
|
|
309
|
+
levels: z.ZodNumber;
|
|
310
|
+
}, z.core.$strip>>>;
|
|
311
|
+
bookAtFillFullSize: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
230
312
|
}, z.core.$strip>>>;
|
|
231
313
|
durableSequence: z.ZodNumber;
|
|
314
|
+
ownFills: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
|
|
315
|
+
executionId: z.ZodString;
|
|
316
|
+
price: z.ZodString;
|
|
317
|
+
quantity: z.ZodString;
|
|
318
|
+
fee: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
319
|
+
monacoFee: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
320
|
+
builderFee: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
321
|
+
}, z.core.$strip>>>>;
|
|
322
|
+
acceptance: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
323
|
+
viewVersion: z.ZodNumber;
|
|
324
|
+
acceptedAtMs: z.ZodNumber;
|
|
325
|
+
vwap: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
326
|
+
grossVwap: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
327
|
+
availableQuantity: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
328
|
+
monacoFeeCbps: z.ZodNumber;
|
|
329
|
+
builderFeeCbps: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
330
|
+
book: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
331
|
+
vwap: z.ZodString;
|
|
332
|
+
grossVwap: z.ZodString;
|
|
333
|
+
asOfMs: z.ZodNumber;
|
|
334
|
+
levels: z.ZodNumber;
|
|
335
|
+
}, z.core.$strip>>>;
|
|
336
|
+
bookFullSize: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
337
|
+
}, z.core.$strip>>>;
|
|
232
338
|
}, z.core.$strip>;
|
|
233
339
|
/** A market RFQ is offered on. */
|
|
234
340
|
export declare const RfqMarketCapabilitySchema: z.ZodObject<{
|
|
@@ -272,6 +378,9 @@ export type RfqSideView = z.infer<typeof RfqSideViewSchema>;
|
|
|
272
378
|
export type RfqView = z.infer<typeof RfqViewSchema>;
|
|
273
379
|
export type RfqFill = z.infer<typeof RfqFillSchema>;
|
|
274
380
|
export type RfqOutcome = z.infer<typeof RfqOutcomeSchema>;
|
|
381
|
+
export type RfqMakerFill = z.infer<typeof RfqMakerFillSchema>;
|
|
382
|
+
export type RfqBookComparison = z.infer<typeof RfqBookComparisonSchema>;
|
|
383
|
+
export type RfqAcceptanceRecord = z.infer<typeof RfqAcceptanceRecordSchema>;
|
|
275
384
|
export type RfqQuoteVersion = z.infer<typeof RfqQuoteVersionSchema>;
|
|
276
385
|
export type RfqRefusedSide = z.infer<typeof RfqRefusedSideSchema>;
|
|
277
386
|
export type RfqMakerSelection = z.infer<typeof RfqMakerSelectionSchema>;
|
package/dist/rfq/responses.js
CHANGED
|
@@ -46,6 +46,17 @@ export const RfqRequestTermsSchema = z.object({
|
|
|
46
46
|
/** Taker only: the margin mode given on create (perpetuals). */
|
|
47
47
|
marginMode: z.string().nullish(),
|
|
48
48
|
});
|
|
49
|
+
/** The taker's requested size priced against the public order book (RFQ-08). */
|
|
50
|
+
export const RfqBookComparisonSchema = z.object({
|
|
51
|
+
/** All-in book VWAP: the cost per unit when buying, the net proceeds per unit when selling. */
|
|
52
|
+
vwap: z.string(),
|
|
53
|
+
/** The book VWAP before fees. */
|
|
54
|
+
grossVwap: z.string(),
|
|
55
|
+
/** When the book snapshot was read, Unix milliseconds. */
|
|
56
|
+
asOfMs: z.number(),
|
|
57
|
+
/** Price levels the size walked. */
|
|
58
|
+
levels: z.number(),
|
|
59
|
+
});
|
|
49
60
|
/** One side of the taker's view: the allocation that would fill the quantity. */
|
|
50
61
|
export const RfqSideViewSchema = z.object({
|
|
51
62
|
/** All-in volume-weighted price, fees included. */
|
|
@@ -59,6 +70,11 @@ export const RfqSideViewSchema = z.object({
|
|
|
59
70
|
estimatedBuilderFee: z.string().nullish(),
|
|
60
71
|
/** Estimated total taker fee on availableQuantity, in the quote asset. */
|
|
61
72
|
estimatedTotalFee: z.string().nullish(),
|
|
73
|
+
/**
|
|
74
|
+
* The requested size on the public order book, for comparison. Display
|
|
75
|
+
* only; absent when a fresh book snapshot cannot fill the whole size.
|
|
76
|
+
*/
|
|
77
|
+
book: RfqBookComparisonSchema.nullish(),
|
|
62
78
|
});
|
|
63
79
|
/** The taker's current view of the quotes. */
|
|
64
80
|
export const RfqViewSchema = z.object({
|
|
@@ -88,6 +104,59 @@ export const RfqOutcomeSchema = z.object({
|
|
|
88
104
|
unfilledQuantity: z.string(),
|
|
89
105
|
vwap: z.string(),
|
|
90
106
|
fills: z.array(RfqFillSchema),
|
|
107
|
+
/**
|
|
108
|
+
* Your all-in VWAP: notional plus your whole fee for a buy, minus it for a
|
|
109
|
+
* sell, over the executed quantity. Unset when nothing filled.
|
|
110
|
+
*/
|
|
111
|
+
allInVwap: z.string().nullish(),
|
|
112
|
+
/**
|
|
113
|
+
* Post-fill benchmark: the executed quantity priced against the public
|
|
114
|
+
* order book on your side, at the rates frozen at acceptance, read when the
|
|
115
|
+
* outcome was recorded. Display only.
|
|
116
|
+
*/
|
|
117
|
+
bookAtFill: RfqBookComparisonSchema.nullish(),
|
|
118
|
+
/** Whether a fresh book snapshot filled the executed quantity then; absent when none was fresh. */
|
|
119
|
+
bookAtFillFullSize: z.boolean().nullish(),
|
|
120
|
+
});
|
|
121
|
+
/**
|
|
122
|
+
* One fill of your quote, as a maker. The fee parts are what the trade
|
|
123
|
+
* recorded as charged, unset until trade history has the fill.
|
|
124
|
+
*/
|
|
125
|
+
export const RfqMakerFillSchema = z.object({
|
|
126
|
+
executionId: z.string(),
|
|
127
|
+
price: z.string(),
|
|
128
|
+
quantity: z.string(),
|
|
129
|
+
/** Your whole fee as charged: monacoFee plus builderFee; negative for a net rebate. */
|
|
130
|
+
fee: z.string().nullish(),
|
|
131
|
+
/** Your Monaco maker fee as charged; negative is a rebate. */
|
|
132
|
+
monacoFee: z.string().nullish(),
|
|
133
|
+
/** The builder add-on your frontend charged (0 when none). */
|
|
134
|
+
builderFee: z.string().nullish(),
|
|
135
|
+
});
|
|
136
|
+
/** What the taker's view showed on the accepted side when it accepted (RFQ-08). */
|
|
137
|
+
export const RfqAcceptanceRecordSchema = z.object({
|
|
138
|
+
/** The view version accepted. */
|
|
139
|
+
viewVersion: z.number(),
|
|
140
|
+
/** When the taker accepted, Unix milliseconds. */
|
|
141
|
+
acceptedAtMs: z.number(),
|
|
142
|
+
/** All-in VWAP shown for the accepted side, fees included. */
|
|
143
|
+
vwap: z.string().nullish(),
|
|
144
|
+
/** The VWAP shown before fees. */
|
|
145
|
+
grossVwap: z.string().nullish(),
|
|
146
|
+
/** Quantity the shown allocation filled. */
|
|
147
|
+
availableQuantity: z.string().nullish(),
|
|
148
|
+
/** The Monaco fee rate frozen at acceptance, in centi-bps. */
|
|
149
|
+
monacoFeeCbps: z.number(),
|
|
150
|
+
/** The builder fee rate frozen at acceptance, in centi-bps. */
|
|
151
|
+
builderFeeCbps: z.number().nullish(),
|
|
152
|
+
/**
|
|
153
|
+
* The requested size on the public order book when the taker accepted: the
|
|
154
|
+
* pair's latest snapshot at most 500 ms old, at the rates frozen at
|
|
155
|
+
* acceptance. `asOfMs` identifies the snapshot.
|
|
156
|
+
*/
|
|
157
|
+
book: RfqBookComparisonSchema.nullish(),
|
|
158
|
+
/** Whether that snapshot filled the whole size; absent when no snapshot at most 500 ms old was held. */
|
|
159
|
+
bookFullSize: z.boolean().nullish(),
|
|
91
160
|
});
|
|
92
161
|
/** A quoted side the venue refused; nothing is reserved for it. */
|
|
93
162
|
export const RfqRefusedSideSchema = z.object({
|
|
@@ -159,6 +228,10 @@ export const RfqStatusSchema = z.object({
|
|
|
159
228
|
ownQuoteWithdrawn: z.boolean(),
|
|
160
229
|
outcome: RfqOutcomeSchema.nullish(),
|
|
161
230
|
durableSequence: z.number(),
|
|
231
|
+
/** Maker only: your own fills once the RFQ settled, never another maker's. */
|
|
232
|
+
ownFills: z.array(RfqMakerFillSchema).nullish(),
|
|
233
|
+
/** Taker only: what your view showed when you accepted. */
|
|
234
|
+
acceptance: RfqAcceptanceRecordSchema.nullish(),
|
|
162
235
|
});
|
|
163
236
|
/** A market RFQ is offered on. */
|
|
164
237
|
export const RfqMarketCapabilitySchema = z.object({
|
|
@@ -79,6 +79,11 @@ export interface MarketStatsData {
|
|
|
79
79
|
dailyPriceChange?: string;
|
|
80
80
|
/** 24h percentage price change, two decimals (decimal string) */
|
|
81
81
|
dailyPriceChangePercent?: string;
|
|
82
|
+
/**
|
|
83
|
+
* The 24h volumes split into their order-book and RFQ parts. Omitted while
|
|
84
|
+
* any candle in the window has no recorded split.
|
|
85
|
+
*/
|
|
86
|
+
dailyVolumeBySource?: DailyVolumeBySource;
|
|
82
87
|
/** Current (last settled) funding rate (decimal string). Perp-only; omitted for spot. */
|
|
83
88
|
currentFundingRate?: string;
|
|
84
89
|
/** Estimated next-window funding rate (decimal string). Perp-only; omitted for spot. */
|
|
@@ -185,3 +190,17 @@ export interface MarketStatsAllEvent {
|
|
|
185
190
|
/** One summary row per market */
|
|
186
191
|
markets: MarketStatsSummary[];
|
|
187
192
|
}
|
|
193
|
+
/**
|
|
194
|
+
* A market's 24h volume split by execution source: each total is the
|
|
195
|
+
* order-book part plus the RFQ part (decimal strings, normalized token units).
|
|
196
|
+
*/
|
|
197
|
+
export interface DailyVolumeBySource {
|
|
198
|
+
/** 24h base-token volume filled on the order book */
|
|
199
|
+
orderBookBaseTokenVolume: string;
|
|
200
|
+
/** 24h base-token volume filled by RFQ block trades */
|
|
201
|
+
rfqBaseTokenVolume: string;
|
|
202
|
+
/** 24h quote-token volume filled on the order book; omitted when the 24h quote volume is unavailable */
|
|
203
|
+
orderBookQuoteTokenVolume?: string;
|
|
204
|
+
/** 24h quote-token volume filled by RFQ block trades; omitted when the 24h quote volume is unavailable */
|
|
205
|
+
rfqQuoteTokenVolume?: string;
|
|
206
|
+
}
|
|
@@ -101,8 +101,9 @@ export interface PositionEventData {
|
|
|
101
101
|
/**
|
|
102
102
|
* Initial margin this position requires at `markPrice` (decimal string),
|
|
103
103
|
* honoring both its effective leverage and the market initial-margin floor —
|
|
104
|
-
* the same `initialMarginRequired` REST returns (0XM-2668).
|
|
105
|
-
* position has no
|
|
104
|
+
* the same `initialMarginRequired` REST returns (0XM-2668). Each unit keeps
|
|
105
|
+
* the leverage of the order that opened it. `"0"` when the position has no
|
|
106
|
+
* open exposure.
|
|
106
107
|
*
|
|
107
108
|
* UNVERSIONED, for the same reason as `maintenanceMarginRequired`.
|
|
108
109
|
*/
|
|
@@ -53,6 +53,22 @@ export interface RfqSideViewEventData {
|
|
|
53
53
|
estimatedBuilderFee?: string;
|
|
54
54
|
/** Estimated total taker fee on `availableQuantity`, in the quote asset. */
|
|
55
55
|
estimatedTotalFee?: string;
|
|
56
|
+
/**
|
|
57
|
+
* The requested size on the public order book, for comparison. Display
|
|
58
|
+
* only; absent when a fresh book snapshot cannot fill the whole size.
|
|
59
|
+
*/
|
|
60
|
+
book?: RfqBookComparisonEventData;
|
|
61
|
+
}
|
|
62
|
+
/** The taker's requested size priced against the public order book, with the view's fee rates. */
|
|
63
|
+
export interface RfqBookComparisonEventData {
|
|
64
|
+
/** All-in book VWAP: the cost per unit when buying, the net proceeds per unit when selling. */
|
|
65
|
+
vwap: string;
|
|
66
|
+
/** The book VWAP before fees. */
|
|
67
|
+
grossVwap: string;
|
|
68
|
+
/** When the book snapshot was read, Unix milliseconds. */
|
|
69
|
+
asOfMs: number;
|
|
70
|
+
/** Price levels the size walked. */
|
|
71
|
+
levels: number;
|
|
56
72
|
}
|
|
57
73
|
/** The taker's view of the quotes. No maker identity or individual quote. */
|
|
58
74
|
export interface RfqViewEventData {
|
|
@@ -132,6 +148,11 @@ export interface RfqOutcomeEventData {
|
|
|
132
148
|
/** Gross VWAP of the fills; absent when nothing filled. */
|
|
133
149
|
vwap?: string;
|
|
134
150
|
fills: RfqFillEventData[];
|
|
151
|
+
/**
|
|
152
|
+
* Your all-in VWAP: notional plus your whole fee for a buy, minus it for a
|
|
153
|
+
* sell, over the executed quantity. Absent when nothing filled.
|
|
154
|
+
*/
|
|
155
|
+
allInVwap?: string;
|
|
135
156
|
}
|
|
136
157
|
/** To the taker and every maker that quoted: the RFQ ended. */
|
|
137
158
|
export interface RfqOutcomeEvent {
|
package/dist/wire/schema.d.ts
CHANGED
|
@@ -7334,6 +7334,7 @@ export interface components {
|
|
|
7334
7334
|
* @example 117845632.18
|
|
7335
7335
|
*/
|
|
7336
7336
|
quoteVolume24h?: string | null;
|
|
7337
|
+
volume24hBySource?: components["schemas"]["Volume24hBySource"];
|
|
7337
7338
|
};
|
|
7338
7339
|
/** @description Exchange-wide life-to-date cumulative market statistics across all trading pairs. */
|
|
7339
7340
|
GetMarketStatsResponse: {
|
|
@@ -8082,8 +8083,9 @@ export interface components {
|
|
|
8082
8083
|
maintenanceMarginRequired?: string | null;
|
|
8083
8084
|
/**
|
|
8084
8085
|
* @description Initial margin required by this position at mark_price, honoring both its
|
|
8085
|
-
* effective leverage and the market initial-margin floor.
|
|
8086
|
-
* position has no
|
|
8086
|
+
* effective leverage and the market initial-margin floor. Each unit keeps
|
|
8087
|
+
* the leverage of the order that opened it. Zero when the position has no
|
|
8088
|
+
* open exposure.
|
|
8087
8089
|
*/
|
|
8088
8090
|
initialMarginRequired?: string | null;
|
|
8089
8091
|
/**
|
|
@@ -8238,8 +8240,9 @@ export interface components {
|
|
|
8238
8240
|
maintenanceMarginRequired?: string | null;
|
|
8239
8241
|
/**
|
|
8240
8242
|
* @description Initial margin required by this position at mark_price, honoring both its
|
|
8241
|
-
* effective leverage and the market initial-margin floor.
|
|
8242
|
-
* position has no
|
|
8243
|
+
* effective leverage and the market initial-margin floor. Each unit keeps
|
|
8244
|
+
* the leverage of the order that opened it. Zero when the position has no
|
|
8245
|
+
* open exposure.
|
|
8243
8246
|
*/
|
|
8244
8247
|
initialMarginRequired?: string | null;
|
|
8245
8248
|
/**
|
|
@@ -8366,7 +8369,7 @@ export interface components {
|
|
|
8366
8369
|
*/
|
|
8367
8370
|
newTraders?: number | null;
|
|
8368
8371
|
/**
|
|
8369
|
-
* @description Total value locked in USD at the end of the window (the end of the bucket holding endTime): USDC custody
|
|
8372
|
+
* @description Total value locked in USD at the end of the window (the end of the bucket holding endTime): USDC custody (the opening custody plus deposits less initiated withdrawals), valued 1:1. Null when no custody had been folded by then.
|
|
8370
8373
|
* @example 536172600
|
|
8371
8374
|
*/
|
|
8372
8375
|
tvlUsd?: string | null;
|
|
@@ -10637,8 +10640,9 @@ export interface components {
|
|
|
10637
10640
|
maintenanceMarginRequired?: string | null;
|
|
10638
10641
|
/**
|
|
10639
10642
|
* @description Initial margin required by this position at mark_price, honoring both its
|
|
10640
|
-
* effective leverage and the market initial-margin floor.
|
|
10641
|
-
* position has no
|
|
10643
|
+
* effective leverage and the market initial-margin floor. Each unit keeps
|
|
10644
|
+
* the leverage of the order that opened it. Zero when the position has no
|
|
10645
|
+
* open exposure.
|
|
10642
10646
|
*/
|
|
10643
10647
|
initialMarginRequired?: string | null;
|
|
10644
10648
|
/**
|
|
@@ -11024,7 +11028,7 @@ export interface components {
|
|
|
11024
11028
|
*/
|
|
11025
11029
|
newTraders?: number | null;
|
|
11026
11030
|
/**
|
|
11027
|
-
* @description Total value locked in USD at the end of the bucket: USDC custody
|
|
11031
|
+
* @description Total value locked in USD at the end of the bucket: USDC custody (the opening custody plus deposits less initiated withdrawals), valued 1:1. Carried across buckets without custody movement; null before the first folded custody hour.
|
|
11028
11032
|
* @example 536172600
|
|
11029
11033
|
*/
|
|
11030
11034
|
tvlUsd?: string | null;
|
|
@@ -11524,6 +11528,55 @@ export interface components {
|
|
|
11524
11528
|
*/
|
|
11525
11529
|
available?: string | null;
|
|
11526
11530
|
};
|
|
11531
|
+
/** @description What your view showed on the accepted side when you accepted. */
|
|
11532
|
+
RfqAcceptanceRecord: {
|
|
11533
|
+
/**
|
|
11534
|
+
* Format: int64
|
|
11535
|
+
* @description The view version you accepted
|
|
11536
|
+
*/
|
|
11537
|
+
viewVersion?: number | null;
|
|
11538
|
+
/**
|
|
11539
|
+
* Format: int64
|
|
11540
|
+
* @description When you accepted, Unix milliseconds
|
|
11541
|
+
*/
|
|
11542
|
+
acceptedAtMs?: number | null;
|
|
11543
|
+
/** @description All-in VWAP shown for the accepted side, fees included */
|
|
11544
|
+
vwap?: string | null;
|
|
11545
|
+
/** @description VWAP shown before fees */
|
|
11546
|
+
grossVwap?: string | null;
|
|
11547
|
+
/** @description Quantity the shown allocation filled */
|
|
11548
|
+
availableQuantity?: string | null;
|
|
11549
|
+
/**
|
|
11550
|
+
* Format: int32
|
|
11551
|
+
* @description Your Monaco fee rate frozen at acceptance, in centi-bps
|
|
11552
|
+
*/
|
|
11553
|
+
monacoFeeCbps?: number | null;
|
|
11554
|
+
/**
|
|
11555
|
+
* Format: int32
|
|
11556
|
+
* @description Your builder fee rate frozen at acceptance, in centi-bps
|
|
11557
|
+
*/
|
|
11558
|
+
builderFeeCbps?: number | null;
|
|
11559
|
+
book?: components["schemas"]["RfqBookComparison"];
|
|
11560
|
+
/** @description Whether that snapshot filled the whole size; absent when no snapshot at most 500 ms old was held at acceptance */
|
|
11561
|
+
bookFullSize?: boolean | null;
|
|
11562
|
+
};
|
|
11563
|
+
/** @description The taker's requested size priced against the public order book. */
|
|
11564
|
+
RfqBookComparison: {
|
|
11565
|
+
/** @description All-in book VWAP with the same fee rates as the view: cost per unit when buying, net proceeds per unit when selling */
|
|
11566
|
+
vwap?: string | null;
|
|
11567
|
+
/** @description Book VWAP before fees */
|
|
11568
|
+
grossVwap?: string | null;
|
|
11569
|
+
/**
|
|
11570
|
+
* Format: int64
|
|
11571
|
+
* @description When the book snapshot was read, Unix milliseconds
|
|
11572
|
+
*/
|
|
11573
|
+
asOfMs?: number | null;
|
|
11574
|
+
/**
|
|
11575
|
+
* Format: uint32
|
|
11576
|
+
* @description Price levels the size walked
|
|
11577
|
+
*/
|
|
11578
|
+
levels?: number | null;
|
|
11579
|
+
};
|
|
11527
11580
|
/** @description One fill of an executed RFQ. */
|
|
11528
11581
|
RfqFill: {
|
|
11529
11582
|
executionId?: string | null;
|
|
@@ -11536,6 +11589,22 @@ export interface components {
|
|
|
11536
11589
|
/** @description The builder part of fee */
|
|
11537
11590
|
builderFee?: string | null;
|
|
11538
11591
|
};
|
|
11592
|
+
/** @description One fill of the calling maker's quote. */
|
|
11593
|
+
RfqMakerFill: {
|
|
11594
|
+
/**
|
|
11595
|
+
* Format: uuid
|
|
11596
|
+
* @description The trade id
|
|
11597
|
+
*/
|
|
11598
|
+
executionId?: string | null;
|
|
11599
|
+
price?: string | null;
|
|
11600
|
+
quantity?: string | null;
|
|
11601
|
+
/** @description Your whole fee on this fill as charged: monacoFee plus builderFee; negative for a net rebate. Unset until trade history has the fill */
|
|
11602
|
+
fee?: string | null;
|
|
11603
|
+
/** @description Your Monaco maker fee as charged; negative is a rebate */
|
|
11604
|
+
monacoFee?: string | null;
|
|
11605
|
+
/** @description The builder add-on your frontend charged, as charged (0 when none) */
|
|
11606
|
+
builderFee?: string | null;
|
|
11607
|
+
};
|
|
11539
11608
|
/** @description A selected maker's own part of an acceptance, for answering last look. */
|
|
11540
11609
|
RfqMakerSelection: {
|
|
11541
11610
|
/** Format: uuid */
|
|
@@ -11578,6 +11647,11 @@ export interface components {
|
|
|
11578
11647
|
unfilledQuantity?: string | null;
|
|
11579
11648
|
vwap?: string | null;
|
|
11580
11649
|
fills?: components["schemas"]["RfqFill"][] | null;
|
|
11650
|
+
/** @description Your all-in VWAP: notional plus your whole fee for a buy, minus it for a sell, over the executed quantity. Empty when nothing filled */
|
|
11651
|
+
allInVwap?: string | null;
|
|
11652
|
+
bookAtFill?: components["schemas"]["RfqBookComparison"];
|
|
11653
|
+
/** @description Whether a fresh book snapshot filled the executed quantity then; absent when none was fresh */
|
|
11654
|
+
bookAtFillFullSize?: boolean | null;
|
|
11581
11655
|
};
|
|
11582
11656
|
/** @description A quote's price and capacity. */
|
|
11583
11657
|
RfqQuoteTerms: {
|
|
@@ -11673,6 +11747,7 @@ export interface components {
|
|
|
11673
11747
|
estimatedBuilderFee?: string | null;
|
|
11674
11748
|
/** @description Estimated total taker fee on available_quantity, in the quote asset */
|
|
11675
11749
|
estimatedTotalFee?: string | null;
|
|
11750
|
+
book?: components["schemas"]["RfqBookComparison"];
|
|
11676
11751
|
};
|
|
11677
11752
|
/** @description Authoritative RFQ status. */
|
|
11678
11753
|
RfqStatus: {
|
|
@@ -11697,6 +11772,9 @@ export interface components {
|
|
|
11697
11772
|
outcome?: components["schemas"]["RfqOutcome"];
|
|
11698
11773
|
/** Format: int64 */
|
|
11699
11774
|
durableSequence?: number | null;
|
|
11775
|
+
/** @description Maker only: your own fills once the RFQ settled, never another maker's */
|
|
11776
|
+
ownFills?: components["schemas"]["RfqMakerFill"][] | null;
|
|
11777
|
+
acceptance?: components["schemas"]["RfqAcceptanceRecord"];
|
|
11700
11778
|
};
|
|
11701
11779
|
/** @description The taker's current view of the quotes. */
|
|
11702
11780
|
RfqView: {
|
|
@@ -12511,7 +12589,7 @@ export interface components {
|
|
|
12511
12589
|
/** @description When the sweeper last observed progress on the deposit */
|
|
12512
12590
|
updatedAt?: string | null;
|
|
12513
12591
|
};
|
|
12514
|
-
/** @description What the vault holds of one token. Amounts are raw token units. Withdrawals count when initiated; the vault's physical balance is custodyRaw plus pendingWithdrawalsRaw. Custody is folded from the trade and transfer stream into the aux database while pendingWithdrawalsRaw is read from core, so the two can disagree briefly while the fold lags. */
|
|
12592
|
+
/** @description What the vault holds of one token. Amounts are raw token units. Custody is openingRaw plus depositedRaw less withdrawnRaw. Withdrawals count when initiated; the vault's physical balance is custodyRaw plus pendingWithdrawalsRaw. Custody is folded from the trade and transfer stream into the aux database while pendingWithdrawalsRaw is read from core, so the two can disagree briefly while the fold lags. */
|
|
12515
12593
|
TokenCustody: {
|
|
12516
12594
|
/**
|
|
12517
12595
|
* Format: uuid
|
|
@@ -12542,12 +12620,12 @@ export interface components {
|
|
|
12542
12620
|
*/
|
|
12543
12621
|
contractAddress?: string | null;
|
|
12544
12622
|
/**
|
|
12545
|
-
* @description
|
|
12623
|
+
* @description Deposits since the explorer's history starts, in raw token units
|
|
12546
12624
|
* @example 536172601000000
|
|
12547
12625
|
*/
|
|
12548
12626
|
depositedRaw?: string | null;
|
|
12549
12627
|
/**
|
|
12550
|
-
* @description
|
|
12628
|
+
* @description Withdrawals initiated since the explorer's history starts, in raw token units
|
|
12551
12629
|
* @example 1000000
|
|
12552
12630
|
*/
|
|
12553
12631
|
withdrawnRaw?: string | null;
|
|
@@ -12564,7 +12642,7 @@ export interface components {
|
|
|
12564
12642
|
*/
|
|
12565
12643
|
withdrawalsCount?: number | null;
|
|
12566
12644
|
/**
|
|
12567
|
-
* @description
|
|
12645
|
+
* @description openingRaw plus deposits less initiated withdrawals, in raw token units; null when not positive (never zero: a token held in no amount and one not indexed are different facts)
|
|
12568
12646
|
* @example 536172600000000
|
|
12569
12647
|
*/
|
|
12570
12648
|
custodyRaw?: string | null;
|
|
@@ -12588,6 +12666,11 @@ export interface components {
|
|
|
12588
12666
|
* @example true
|
|
12589
12667
|
*/
|
|
12590
12668
|
countsTowardTvl?: boolean | null;
|
|
12669
|
+
/**
|
|
12670
|
+
* @description What the vault held before the explorer's history starts, in raw token units: 0 where the history starts at the exchange's first event, the measured balance carried in where it starts later
|
|
12671
|
+
* @example 924746312510000
|
|
12672
|
+
*/
|
|
12673
|
+
openingRaw?: string | null;
|
|
12591
12674
|
};
|
|
12592
12675
|
TpSlLeg: {
|
|
12593
12676
|
triggerPrice?: string | null;
|
|
@@ -13896,6 +13979,32 @@ export interface components {
|
|
|
13896
13979
|
*/
|
|
13897
13980
|
referralNotAppliedReason?: "REFERRAL_NOT_APPLIED_REASON_UNSPECIFIED" | "REFERRAL_NOT_APPLIED_REASON_ALREADY_REFERRED" | "REFERRAL_NOT_APPLIED_REASON_UNKNOWN_CODE" | "REFERRAL_NOT_APPLIED_REASON_SELF_REFERRAL" | null;
|
|
13898
13981
|
};
|
|
13982
|
+
/**
|
|
13983
|
+
* @description A market's rolling 24h volume split by execution source (RFQ-17). Each
|
|
13984
|
+
* total is the order-book part plus the RFQ part.
|
|
13985
|
+
*/
|
|
13986
|
+
Volume24hBySource: {
|
|
13987
|
+
/**
|
|
13988
|
+
* @description Base-token volume filled on the order book in the last 24 hours
|
|
13989
|
+
* @example 1200.50000000
|
|
13990
|
+
*/
|
|
13991
|
+
orderBookBaseVolume?: string | null;
|
|
13992
|
+
/**
|
|
13993
|
+
* @description Base-token volume filled by RFQ block trades in the last 24 hours
|
|
13994
|
+
* @example 34.00000000
|
|
13995
|
+
*/
|
|
13996
|
+
rfqBaseVolume?: string | null;
|
|
13997
|
+
/**
|
|
13998
|
+
* @description Quote-token volume filled on the order book in the last 24 hours; null when the 24h quote volume is unavailable
|
|
13999
|
+
* @example 91000000.00
|
|
14000
|
+
*/
|
|
14001
|
+
orderBookQuoteVolume?: string | null;
|
|
14002
|
+
/**
|
|
14003
|
+
* @description Quote-token volume filled by RFQ block trades in the last 24 hours; null when the 24h quote volume is unavailable
|
|
14004
|
+
* @example 2580000.00
|
|
14005
|
+
*/
|
|
14006
|
+
rfqQuoteVolume?: string | null;
|
|
14007
|
+
};
|
|
13899
14008
|
/** @description A wallet's figures through one displayed builder. A display group's applications fold into one row under the group. */
|
|
13900
14009
|
WalletBuilderVolume: {
|
|
13901
14010
|
/** @description The builder the figures are reported under; applications is empty. */
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@0xmonaco/types",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.7",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"homepage": "https://docs.0xmonaco.com/sdk/typescript",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"lint": "biome lint ."
|
|
17
17
|
},
|
|
18
18
|
"dependencies": {
|
|
19
|
-
"@0xmonaco/contracts": "1.1.
|
|
19
|
+
"@0xmonaco/contracts": "1.1.7",
|
|
20
20
|
"zod": "^4.6.7"
|
|
21
21
|
},
|
|
22
22
|
"peerDependencies": {
|