zklighter-perps 1.0.346 → 1.0.348

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.
@@ -43,6 +43,8 @@ models/AccountPnLV2.ts
43
43
  models/AccountPosition.ts
44
44
  models/AccountStats.ts
45
45
  models/AccountTradeStats.ts
46
+ models/AggregatedTrade.ts
47
+ models/AggregatedTrades.ts
46
48
  models/AirdropAllocationItem.ts
47
49
  models/AirdropAllocations.ts
48
50
  models/Alert.ts
@@ -59,6 +61,10 @@ models/AssetStats.ts
59
61
  models/AtomicOrder.ts
60
62
  models/AtomicOrderLeg.ts
61
63
  models/Auth.ts
64
+ models/BOSideCost.ts
65
+ models/BOSizeCost.ts
66
+ models/BOSymbolCosts.ts
67
+ models/BOVenueCosts.ts
62
68
  models/BinaryOptionMarketStats.ts
63
69
  models/Block.ts
64
70
  models/Blocks.ts
@@ -198,6 +204,7 @@ models/ReqGetAccountOrders.ts
198
204
  models/ReqGetAccountPnL.ts
199
205
  models/ReqGetAccountPnLV2.ts
200
206
  models/ReqGetAccountTxs.ts
207
+ models/ReqGetAggregatedTrades.ts
201
208
  models/ReqGetAirdropAllocations.ts
202
209
  models/ReqGetApiTokens.ts
203
210
  models/ReqGetAssetDetails.ts
@@ -284,6 +291,7 @@ models/RespCreateRFQ.ts
284
291
  models/RespCreateStrategyHeartbeat.ts
285
292
  models/RespGaslessDeposit.ts
286
293
  models/RespGetApiTokens.ts
294
+ models/RespGetBOExecuteStats.ts
287
295
  models/RespGetBoPnL.ts
288
296
  models/RespGetBridgesByL1Addr.ts
289
297
  models/RespGetCompetitions.ts
package/apis/OrderApi.ts CHANGED
@@ -15,6 +15,7 @@
15
15
 
16
16
  import * as runtime from '../runtime';
17
17
  import type {
18
+ AggregatedTrades,
18
19
  AssetDetails,
19
20
  ExchangeStats,
20
21
  ExportData,
@@ -23,6 +24,7 @@ import type {
23
24
  OrderBookOrders,
24
25
  OrderBooks,
25
26
  Orders,
27
+ RespGetBOExecuteStats,
26
28
  RespGetExchangeMetrics,
27
29
  RespGetExecuteStats,
28
30
  RespGetMarketMetrics,
@@ -30,6 +32,8 @@ import type {
30
32
  Trades,
31
33
  } from '../models/index';
32
34
  import {
35
+ AggregatedTradesFromJSON,
36
+ AggregatedTradesToJSON,
33
37
  AssetDetailsFromJSON,
34
38
  AssetDetailsToJSON,
35
39
  ExchangeStatsFromJSON,
@@ -46,6 +50,8 @@ import {
46
50
  OrderBooksToJSON,
47
51
  OrdersFromJSON,
48
52
  OrdersToJSON,
53
+ RespGetBOExecuteStatsFromJSON,
54
+ RespGetBOExecuteStatsToJSON,
49
55
  RespGetExchangeMetricsFromJSON,
50
56
  RespGetExchangeMetricsToJSON,
51
57
  RespGetExecuteStatsFromJSON,
@@ -99,6 +105,18 @@ export interface AccountOrdersRequest {
99
105
  account_index?: number;
100
106
  }
101
107
 
108
+ export interface AggregatedTradesRequest {
109
+ account_index: number;
110
+ market_id?: number;
111
+ market_type?: Array<AggregatedTradesMarketTypeEnum>;
112
+ order_index_str?: string;
113
+ cursor?: string;
114
+ ask_filter?: number;
115
+ role?: AggregatedTradesRoleEnum;
116
+ type?: AggregatedTradesTypeEnum;
117
+ limit?: number;
118
+ }
119
+
102
120
  export interface AssetDetailsRequest {
103
121
  asset_id?: number;
104
122
  }
@@ -434,6 +452,77 @@ export class OrderApi extends runtime.BaseAPI {
434
452
  return await response.value();
435
453
  }
436
454
 
455
+ /**
456
+ * get trade aggregations
457
+ * aggregatedTrades
458
+ */
459
+ async aggregatedTradesRaw(requestParameters: AggregatedTradesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<AggregatedTrades>> {
460
+ if (requestParameters['account_index'] == null) {
461
+ throw new runtime.RequiredError(
462
+ 'account_index',
463
+ 'Required parameter "account_index" was null or undefined when calling aggregatedTrades().'
464
+ );
465
+ }
466
+
467
+ const queryParameters: any = {};
468
+
469
+ if (requestParameters['account_index'] != null) {
470
+ queryParameters['account_index'] = requestParameters['account_index'];
471
+ }
472
+
473
+ if (requestParameters['market_id'] != null) {
474
+ queryParameters['market_id'] = requestParameters['market_id'];
475
+ }
476
+
477
+ if (requestParameters['market_type'] != null) {
478
+ queryParameters['market_type'] = requestParameters['market_type']!.join(runtime.COLLECTION_FORMATS["csv"]);
479
+ }
480
+
481
+ if (requestParameters['order_index_str'] != null) {
482
+ queryParameters['order_index_str'] = requestParameters['order_index_str'];
483
+ }
484
+
485
+ if (requestParameters['cursor'] != null) {
486
+ queryParameters['cursor'] = requestParameters['cursor'];
487
+ }
488
+
489
+ if (requestParameters['ask_filter'] != null) {
490
+ queryParameters['ask_filter'] = requestParameters['ask_filter'];
491
+ }
492
+
493
+ if (requestParameters['role'] != null) {
494
+ queryParameters['role'] = requestParameters['role'];
495
+ }
496
+
497
+ if (requestParameters['type'] != null) {
498
+ queryParameters['type'] = requestParameters['type'];
499
+ }
500
+
501
+ if (requestParameters['limit'] != null) {
502
+ queryParameters['limit'] = requestParameters['limit'];
503
+ }
504
+
505
+ const headerParameters: runtime.HTTPHeaders = {};
506
+
507
+ const response = await this.request({
508
+ path: `/api/v1/aggregatedTrades`,
509
+ method: 'GET',
510
+ headers: headerParameters,
511
+ query: queryParameters,
512
+ }, initOverrides);
513
+
514
+ return new runtime.JSONApiResponse(response, (jsonValue) => AggregatedTradesFromJSON(jsonValue));
515
+ }
516
+
517
+ /**
518
+ * get trade aggregations
519
+ * aggregatedTrades
520
+ */
521
+ async aggregatedTrades(requestParameters: AggregatedTradesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<AggregatedTrades> {
522
+ const response = await this.aggregatedTradesRaw(requestParameters, initOverrides);
523
+ return await response.value();
524
+ }
525
+
437
526
  /**
438
527
  * Get asset details
439
528
  * assetDetails
@@ -466,6 +555,34 @@ export class OrderApi extends runtime.BaseAPI {
466
555
  return await response.value();
467
556
  }
468
557
 
558
+ /**
559
+ * Get the mean cost of buying Up and Down on the 15-minute BTC and ETH Up/Down rounds over the last day, per venue and size
560
+ * boExecuteStats
561
+ */
562
+ async boExecuteStatsRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<RespGetBOExecuteStats>> {
563
+ const queryParameters: any = {};
564
+
565
+ const headerParameters: runtime.HTTPHeaders = {};
566
+
567
+ const response = await this.request({
568
+ path: `/api/v1/boExecuteStats`,
569
+ method: 'GET',
570
+ headers: headerParameters,
571
+ query: queryParameters,
572
+ }, initOverrides);
573
+
574
+ return new runtime.JSONApiResponse(response, (jsonValue) => RespGetBOExecuteStatsFromJSON(jsonValue));
575
+ }
576
+
577
+ /**
578
+ * Get the mean cost of buying Up and Down on the 15-minute BTC and ETH Up/Down rounds over the last day, per venue and size
579
+ * boExecuteStats
580
+ */
581
+ async boExecuteStats(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<RespGetBOExecuteStats> {
582
+ const response = await this.boExecuteStatsRaw(initOverrides);
583
+ return await response.value();
584
+ }
585
+
469
586
  /**
470
587
  * Get exchange metrics
471
588
  * exchangeMetrics
@@ -1040,6 +1157,33 @@ export const AccountInactiveOrdersMarketTypeEnum = {
1040
1157
  Bo: 'bo'
1041
1158
  } as const;
1042
1159
  export type AccountInactiveOrdersMarketTypeEnum = typeof AccountInactiveOrdersMarketTypeEnum[keyof typeof AccountInactiveOrdersMarketTypeEnum];
1160
+ /**
1161
+ * @export
1162
+ */
1163
+ export const AggregatedTradesMarketTypeEnum = {
1164
+ Spot: 'spot',
1165
+ Perps: 'perps',
1166
+ Bo: 'bo'
1167
+ } as const;
1168
+ export type AggregatedTradesMarketTypeEnum = typeof AggregatedTradesMarketTypeEnum[keyof typeof AggregatedTradesMarketTypeEnum];
1169
+ /**
1170
+ * @export
1171
+ */
1172
+ export const AggregatedTradesRoleEnum = {
1173
+ Maker: 'maker',
1174
+ Taker: 'taker'
1175
+ } as const;
1176
+ export type AggregatedTradesRoleEnum = typeof AggregatedTradesRoleEnum[keyof typeof AggregatedTradesRoleEnum];
1177
+ /**
1178
+ * @export
1179
+ */
1180
+ export const AggregatedTradesTypeEnum = {
1181
+ Trade: 'trade',
1182
+ Liquidation: 'liquidation',
1183
+ Deleverage: 'deleverage',
1184
+ MarketSettlement: 'market_settlement'
1185
+ } as const;
1186
+ export type AggregatedTradesTypeEnum = typeof AggregatedTradesTypeEnum[keyof typeof AggregatedTradesTypeEnum];
1043
1187
  /**
1044
1188
  * @export
1045
1189
  */
@@ -0,0 +1,354 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ *
5
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
6
+ *
7
+ * The version of the OpenAPI document:
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { mapValues } from '../runtime';
16
+ /**
17
+ *
18
+ * @export
19
+ * @interface AggregatedTrade
20
+ */
21
+ export interface AggregatedTrade {
22
+ /**
23
+ *
24
+ * @type {number}
25
+ * @memberof AggregatedTrade
26
+ */
27
+ account_index: number;
28
+ /**
29
+ *
30
+ * @type {string}
31
+ * @memberof AggregatedTrade
32
+ */
33
+ order_id: string;
34
+ /**
35
+ *
36
+ * @type {string}
37
+ * @memberof AggregatedTrade
38
+ */
39
+ grouping_id: string;
40
+ /**
41
+ *
42
+ * @type {string}
43
+ * @memberof AggregatedTrade
44
+ */
45
+ master_twap_id: string;
46
+ /**
47
+ *
48
+ * @type {number}
49
+ * @memberof AggregatedTrade
50
+ */
51
+ market_id: number;
52
+ /**
53
+ *
54
+ * @type {string}
55
+ * @memberof AggregatedTrade
56
+ */
57
+ market_symbol: string;
58
+ /**
59
+ *
60
+ * @type {string}
61
+ * @memberof AggregatedTrade
62
+ */
63
+ market_kind: AggregatedTradeMarketKindEnum;
64
+ /**
65
+ *
66
+ * @type {boolean}
67
+ * @memberof AggregatedTrade
68
+ */
69
+ is_ask: boolean;
70
+ /**
71
+ *
72
+ * @type {string}
73
+ * @memberof AggregatedTrade
74
+ */
75
+ type: AggregatedTradeTypeEnum;
76
+ /**
77
+ *
78
+ * @type {string}
79
+ * @memberof AggregatedTrade
80
+ */
81
+ role: AggregatedTradeRoleEnum;
82
+ /**
83
+ *
84
+ * @type {string}
85
+ * @memberof AggregatedTrade
86
+ */
87
+ first_trade_id: string;
88
+ /**
89
+ *
90
+ * @type {string}
91
+ * @memberof AggregatedTrade
92
+ */
93
+ last_trade_id: string;
94
+ /**
95
+ *
96
+ * @type {number}
97
+ * @memberof AggregatedTrade
98
+ */
99
+ first_timestamp: number;
100
+ /**
101
+ *
102
+ * @type {number}
103
+ * @memberof AggregatedTrade
104
+ */
105
+ last_timestamp: number;
106
+ /**
107
+ *
108
+ * @type {number}
109
+ * @memberof AggregatedTrade
110
+ */
111
+ first_block_height: number;
112
+ /**
113
+ *
114
+ * @type {number}
115
+ * @memberof AggregatedTrade
116
+ */
117
+ last_block_height: number;
118
+ /**
119
+ *
120
+ * @type {number}
121
+ * @memberof AggregatedTrade
122
+ */
123
+ fill_count: number;
124
+ /**
125
+ *
126
+ * @type {string}
127
+ * @memberof AggregatedTrade
128
+ */
129
+ size: string;
130
+ /**
131
+ *
132
+ * @type {string}
133
+ * @memberof AggregatedTrade
134
+ */
135
+ usd_amount: string;
136
+ /**
137
+ *
138
+ * @type {string}
139
+ * @memberof AggregatedTrade
140
+ */
141
+ pnl: string;
142
+ /**
143
+ *
144
+ * @type {string}
145
+ * @memberof AggregatedTrade
146
+ */
147
+ average_price: string;
148
+ /**
149
+ *
150
+ * @type {string}
151
+ * @memberof AggregatedTrade
152
+ */
153
+ fee: string;
154
+ /**
155
+ *
156
+ * @type {string}
157
+ * @memberof AggregatedTrade
158
+ */
159
+ integrator_fee: string;
160
+ /**
161
+ *
162
+ * @type {number}
163
+ * @memberof AggregatedTrade
164
+ */
165
+ fee_asset_id: number;
166
+ /**
167
+ *
168
+ * @type {string}
169
+ * @memberof AggregatedTrade
170
+ */
171
+ position_size_before: string;
172
+ /**
173
+ *
174
+ * @type {string}
175
+ * @memberof AggregatedTrade
176
+ */
177
+ entry_quote_before: string;
178
+ /**
179
+ *
180
+ * @type {boolean}
181
+ * @memberof AggregatedTrade
182
+ */
183
+ position_sign_changed: boolean;
184
+ /**
185
+ *
186
+ * @type {number}
187
+ * @memberof AggregatedTrade
188
+ */
189
+ initial_margin_fraction_before: number;
190
+ /**
191
+ *
192
+ * @type {number}
193
+ * @memberof AggregatedTrade
194
+ */
195
+ allocated_margin_usdc_before: number;
196
+ /**
197
+ *
198
+ * @type {number}
199
+ * @memberof AggregatedTrade
200
+ */
201
+ allocated_margin_usdc_after: number;
202
+ }
203
+
204
+
205
+ /**
206
+ * @export
207
+ */
208
+ export const AggregatedTradeMarketKindEnum = {
209
+ Spot: 'spot',
210
+ Bo: 'bo',
211
+ Perps: 'perps'
212
+ } as const;
213
+ export type AggregatedTradeMarketKindEnum = typeof AggregatedTradeMarketKindEnum[keyof typeof AggregatedTradeMarketKindEnum];
214
+
215
+ /**
216
+ * @export
217
+ */
218
+ export const AggregatedTradeTypeEnum = {
219
+ Trade: 'trade',
220
+ Liquidation: 'liquidation',
221
+ Deleverage: 'deleverage',
222
+ MarketSettlement: 'market-settlement'
223
+ } as const;
224
+ export type AggregatedTradeTypeEnum = typeof AggregatedTradeTypeEnum[keyof typeof AggregatedTradeTypeEnum];
225
+
226
+ /**
227
+ * @export
228
+ */
229
+ export const AggregatedTradeRoleEnum = {
230
+ Maker: 'maker',
231
+ Taker: 'taker'
232
+ } as const;
233
+ export type AggregatedTradeRoleEnum = typeof AggregatedTradeRoleEnum[keyof typeof AggregatedTradeRoleEnum];
234
+
235
+
236
+ /**
237
+ * Check if a given object implements the AggregatedTrade interface.
238
+ */
239
+ export function instanceOfAggregatedTrade(value: object): value is AggregatedTrade {
240
+ if (!('account_index' in value) || value['account_index'] === undefined) return false;
241
+ if (!('order_id' in value) || value['order_id'] === undefined) return false;
242
+ if (!('grouping_id' in value) || value['grouping_id'] === undefined) return false;
243
+ if (!('master_twap_id' in value) || value['master_twap_id'] === undefined) return false;
244
+ if (!('market_id' in value) || value['market_id'] === undefined) return false;
245
+ if (!('market_symbol' in value) || value['market_symbol'] === undefined) return false;
246
+ if (!('market_kind' in value) || value['market_kind'] === undefined) return false;
247
+ if (!('is_ask' in value) || value['is_ask'] === undefined) return false;
248
+ if (!('type' in value) || value['type'] === undefined) return false;
249
+ if (!('role' in value) || value['role'] === undefined) return false;
250
+ if (!('first_trade_id' in value) || value['first_trade_id'] === undefined) return false;
251
+ if (!('last_trade_id' in value) || value['last_trade_id'] === undefined) return false;
252
+ if (!('first_timestamp' in value) || value['first_timestamp'] === undefined) return false;
253
+ if (!('last_timestamp' in value) || value['last_timestamp'] === undefined) return false;
254
+ if (!('first_block_height' in value) || value['first_block_height'] === undefined) return false;
255
+ if (!('last_block_height' in value) || value['last_block_height'] === undefined) return false;
256
+ if (!('fill_count' in value) || value['fill_count'] === undefined) return false;
257
+ if (!('size' in value) || value['size'] === undefined) return false;
258
+ if (!('usd_amount' in value) || value['usd_amount'] === undefined) return false;
259
+ if (!('pnl' in value) || value['pnl'] === undefined) return false;
260
+ if (!('average_price' in value) || value['average_price'] === undefined) return false;
261
+ if (!('fee' in value) || value['fee'] === undefined) return false;
262
+ if (!('integrator_fee' in value) || value['integrator_fee'] === undefined) return false;
263
+ if (!('fee_asset_id' in value) || value['fee_asset_id'] === undefined) return false;
264
+ if (!('position_size_before' in value) || value['position_size_before'] === undefined) return false;
265
+ if (!('entry_quote_before' in value) || value['entry_quote_before'] === undefined) return false;
266
+ if (!('position_sign_changed' in value) || value['position_sign_changed'] === undefined) return false;
267
+ if (!('initial_margin_fraction_before' in value) || value['initial_margin_fraction_before'] === undefined) return false;
268
+ if (!('allocated_margin_usdc_before' in value) || value['allocated_margin_usdc_before'] === undefined) return false;
269
+ if (!('allocated_margin_usdc_after' in value) || value['allocated_margin_usdc_after'] === undefined) return false;
270
+ return true;
271
+ }
272
+
273
+ export function AggregatedTradeFromJSON(json: any): AggregatedTrade {
274
+ return AggregatedTradeFromJSONTyped(json, false);
275
+ }
276
+
277
+ export function AggregatedTradeFromJSONTyped(json: any, ignoreDiscriminator: boolean): AggregatedTrade {
278
+ if (json == null) {
279
+ return json;
280
+ }
281
+ return {
282
+
283
+ 'account_index': json['account_index'],
284
+ 'order_id': json['order_id'],
285
+ 'grouping_id': json['grouping_id'],
286
+ 'master_twap_id': json['master_twap_id'],
287
+ 'market_id': json['market_id'],
288
+ 'market_symbol': json['market_symbol'],
289
+ 'market_kind': json['market_kind'],
290
+ 'is_ask': json['is_ask'],
291
+ 'type': json['type'],
292
+ 'role': json['role'],
293
+ 'first_trade_id': json['first_trade_id'],
294
+ 'last_trade_id': json['last_trade_id'],
295
+ 'first_timestamp': json['first_timestamp'],
296
+ 'last_timestamp': json['last_timestamp'],
297
+ 'first_block_height': json['first_block_height'],
298
+ 'last_block_height': json['last_block_height'],
299
+ 'fill_count': json['fill_count'],
300
+ 'size': json['size'],
301
+ 'usd_amount': json['usd_amount'],
302
+ 'pnl': json['pnl'],
303
+ 'average_price': json['average_price'],
304
+ 'fee': json['fee'],
305
+ 'integrator_fee': json['integrator_fee'],
306
+ 'fee_asset_id': json['fee_asset_id'],
307
+ 'position_size_before': json['position_size_before'],
308
+ 'entry_quote_before': json['entry_quote_before'],
309
+ 'position_sign_changed': json['position_sign_changed'],
310
+ 'initial_margin_fraction_before': json['initial_margin_fraction_before'],
311
+ 'allocated_margin_usdc_before': json['allocated_margin_usdc_before'],
312
+ 'allocated_margin_usdc_after': json['allocated_margin_usdc_after'],
313
+ };
314
+ }
315
+
316
+ export function AggregatedTradeToJSON(value?: AggregatedTrade | null): any {
317
+ if (value == null) {
318
+ return value;
319
+ }
320
+ return {
321
+
322
+ 'account_index': value['account_index'],
323
+ 'order_id': value['order_id'],
324
+ 'grouping_id': value['grouping_id'],
325
+ 'master_twap_id': value['master_twap_id'],
326
+ 'market_id': value['market_id'],
327
+ 'market_symbol': value['market_symbol'],
328
+ 'market_kind': value['market_kind'],
329
+ 'is_ask': value['is_ask'],
330
+ 'type': value['type'],
331
+ 'role': value['role'],
332
+ 'first_trade_id': value['first_trade_id'],
333
+ 'last_trade_id': value['last_trade_id'],
334
+ 'first_timestamp': value['first_timestamp'],
335
+ 'last_timestamp': value['last_timestamp'],
336
+ 'first_block_height': value['first_block_height'],
337
+ 'last_block_height': value['last_block_height'],
338
+ 'fill_count': value['fill_count'],
339
+ 'size': value['size'],
340
+ 'usd_amount': value['usd_amount'],
341
+ 'pnl': value['pnl'],
342
+ 'average_price': value['average_price'],
343
+ 'fee': value['fee'],
344
+ 'integrator_fee': value['integrator_fee'],
345
+ 'fee_asset_id': value['fee_asset_id'],
346
+ 'position_size_before': value['position_size_before'],
347
+ 'entry_quote_before': value['entry_quote_before'],
348
+ 'position_sign_changed': value['position_sign_changed'],
349
+ 'initial_margin_fraction_before': value['initial_margin_fraction_before'],
350
+ 'allocated_margin_usdc_before': value['allocated_margin_usdc_before'],
351
+ 'allocated_margin_usdc_after': value['allocated_margin_usdc_after'],
352
+ };
353
+ }
354
+
@@ -0,0 +1,93 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ *
5
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
6
+ *
7
+ * The version of the OpenAPI document:
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { mapValues } from '../runtime';
16
+ import type { AggregatedTrade } from './AggregatedTrade';
17
+ import {
18
+ AggregatedTradeFromJSON,
19
+ AggregatedTradeFromJSONTyped,
20
+ AggregatedTradeToJSON,
21
+ } from './AggregatedTrade';
22
+
23
+ /**
24
+ *
25
+ * @export
26
+ * @interface AggregatedTrades
27
+ */
28
+ export interface AggregatedTrades {
29
+ /**
30
+ *
31
+ * @type {number}
32
+ * @memberof AggregatedTrades
33
+ */
34
+ code: number;
35
+ /**
36
+ *
37
+ * @type {string}
38
+ * @memberof AggregatedTrades
39
+ */
40
+ message?: string;
41
+ /**
42
+ *
43
+ * @type {string}
44
+ * @memberof AggregatedTrades
45
+ */
46
+ next_cursor?: string;
47
+ /**
48
+ *
49
+ * @type {Array<AggregatedTrade>}
50
+ * @memberof AggregatedTrades
51
+ */
52
+ trades: Array<AggregatedTrade>;
53
+ }
54
+
55
+ /**
56
+ * Check if a given object implements the AggregatedTrades interface.
57
+ */
58
+ export function instanceOfAggregatedTrades(value: object): value is AggregatedTrades {
59
+ if (!('code' in value) || value['code'] === undefined) return false;
60
+ if (!('trades' in value) || value['trades'] === undefined) return false;
61
+ return true;
62
+ }
63
+
64
+ export function AggregatedTradesFromJSON(json: any): AggregatedTrades {
65
+ return AggregatedTradesFromJSONTyped(json, false);
66
+ }
67
+
68
+ export function AggregatedTradesFromJSONTyped(json: any, ignoreDiscriminator: boolean): AggregatedTrades {
69
+ if (json == null) {
70
+ return json;
71
+ }
72
+ return {
73
+
74
+ 'code': json['code'],
75
+ 'message': json['message'] == null ? undefined : json['message'],
76
+ 'next_cursor': json['next_cursor'] == null ? undefined : json['next_cursor'],
77
+ 'trades': ((json['trades'] as Array<any>).map(AggregatedTradeFromJSON)),
78
+ };
79
+ }
80
+
81
+ export function AggregatedTradesToJSON(value?: AggregatedTrades | null): any {
82
+ if (value == null) {
83
+ return value;
84
+ }
85
+ return {
86
+
87
+ 'code': value['code'],
88
+ 'message': value['message'],
89
+ 'next_cursor': value['next_cursor'],
90
+ 'trades': ((value['trades'] as Array<any>).map(AggregatedTradeToJSON)),
91
+ };
92
+ }
93
+