zklighter-perps 1.0.349 → 1.0.351

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.
@@ -283,6 +283,7 @@ models/ReqTvHistory.ts
283
283
  models/ReqTvSymbolInfo.ts
284
284
  models/RespAtomicOrder.ts
285
285
  models/RespAtomicOrderList.ts
286
+ models/RespBuyVolumeQuota.ts
286
287
  models/RespChangeAccountTier.ts
287
288
  models/RespConnectX.ts
288
289
  models/RespConnectXCallback.ts
@@ -30,6 +30,7 @@ import type {
30
30
  PartnerStats,
31
31
  PnlLeaderboard,
32
32
  PositionFundings,
33
+ RespBuyVolumeQuota,
33
34
  RespChangeAccountTier,
34
35
  RespConnectX,
35
36
  RespConnectXCallback,
@@ -82,6 +83,8 @@ import {
82
83
  PnlLeaderboardToJSON,
83
84
  PositionFundingsFromJSON,
84
85
  PositionFundingsToJSON,
86
+ RespBuyVolumeQuotaFromJSON,
87
+ RespBuyVolumeQuotaToJSON,
85
88
  RespChangeAccountTierFromJSON,
86
89
  RespChangeAccountTierToJSON,
87
90
  RespConnectXFromJSON,
@@ -169,6 +172,14 @@ export interface ApikeysRequest {
169
172
  api_key_index?: number;
170
173
  }
171
174
 
175
+ export interface BuyVolumeQuotaRequest {
176
+ quota: number;
177
+ authorization?: string;
178
+ tx_info?: string;
179
+ tx_hash?: string;
180
+ destination_l1_address?: string;
181
+ }
182
+
172
183
  export interface ChangeAccountTierRequest {
173
184
  account_index: number;
174
185
  new_tier: string;
@@ -772,6 +783,76 @@ export class AccountApi extends runtime.BaseAPI {
772
783
  return await response.value();
773
784
  }
774
785
 
786
+ /**
787
+ * Buy volume quota with USDC
788
+ * buyVolumeQuota
789
+ */
790
+ async buyVolumeQuotaRaw(requestParameters: BuyVolumeQuotaRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<RespBuyVolumeQuota>> {
791
+ if (requestParameters['quota'] == null) {
792
+ throw new runtime.RequiredError(
793
+ 'quota',
794
+ 'Required parameter "quota" was null or undefined when calling buyVolumeQuota().'
795
+ );
796
+ }
797
+
798
+ const queryParameters: any = {};
799
+
800
+ const headerParameters: runtime.HTTPHeaders = {};
801
+
802
+ if (requestParameters['authorization'] != null) {
803
+ headerParameters['authorization'] = String(requestParameters['authorization']);
804
+ }
805
+
806
+ const consumes: runtime.Consume[] = [
807
+ { contentType: 'multipart/form-data' },
808
+ ];
809
+ // @ts-ignore: canConsumeForm may be unused
810
+ const canConsumeForm = runtime.canConsumeForm(consumes);
811
+
812
+ let formParams: { append(param: string, value: any): any };
813
+ let useForm = false;
814
+ if (useForm) {
815
+ formParams = new FormData();
816
+ } else {
817
+ formParams = new URLSearchParams();
818
+ }
819
+
820
+ if (requestParameters['tx_info'] != null) {
821
+ formParams.append('tx_info', requestParameters['tx_info'] as any);
822
+ }
823
+
824
+ if (requestParameters['tx_hash'] != null) {
825
+ formParams.append('tx_hash', requestParameters['tx_hash'] as any);
826
+ }
827
+
828
+ if (requestParameters['quota'] != null) {
829
+ formParams.append('quota', requestParameters['quota'] as any);
830
+ }
831
+
832
+ if (requestParameters['destination_l1_address'] != null) {
833
+ formParams.append('destination_l1_address', requestParameters['destination_l1_address'] as any);
834
+ }
835
+
836
+ const response = await this.request({
837
+ path: `/api/v1/buyVolumeQuota`,
838
+ method: 'POST',
839
+ headers: headerParameters,
840
+ query: queryParameters,
841
+ body: formParams,
842
+ }, initOverrides);
843
+
844
+ return new runtime.JSONApiResponse(response, (jsonValue) => RespBuyVolumeQuotaFromJSON(jsonValue));
845
+ }
846
+
847
+ /**
848
+ * Buy volume quota with USDC
849
+ * buyVolumeQuota
850
+ */
851
+ async buyVolumeQuota(requestParameters: BuyVolumeQuotaRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<RespBuyVolumeQuota> {
852
+ const response = await this.buyVolumeQuotaRaw(requestParameters, initOverrides);
853
+ return await response.value();
854
+ }
855
+
775
856
  /**
776
857
  * Change account tier
777
858
  * changeAccountTier
@@ -73,6 +73,12 @@ export interface AccountLimits {
73
73
  * @memberof AccountLimits
74
74
  */
75
75
  bo_fee_rate: number;
76
+ /**
77
+ * Maker side multiplier; negative means the maker is rebated that share of the market maker fee.
78
+ * @type {number}
79
+ * @memberof AccountLimits
80
+ */
81
+ bo_maker_fee_rate: number;
76
82
  /**
77
83
  *
78
84
  * @type {number}
@@ -103,6 +109,24 @@ export interface AccountLimits {
103
109
  * @memberof AccountLimits
104
110
  */
105
111
  user_tier_last_update?: number;
112
+ /**
113
+ *
114
+ * @type {string}
115
+ * @memberof AccountLimits
116
+ */
117
+ volume_quota_remaining: string;
118
+ /**
119
+ *
120
+ * @type {string}
121
+ * @memberof AccountLimits
122
+ */
123
+ volume_quota_cap: string;
124
+ /**
125
+ *
126
+ * @type {string}
127
+ * @memberof AccountLimits
128
+ */
129
+ volume_quota_purchase_cap: string;
106
130
  }
107
131
 
108
132
  /**
@@ -117,10 +141,14 @@ export function instanceOfAccountLimits(value: object): value is AccountLimits {
117
141
  if (!('user_tier_name' in value) || value['user_tier_name'] === undefined) return false;
118
142
  if (!('bo_user_tier_name' in value) || value['bo_user_tier_name'] === undefined) return false;
119
143
  if (!('bo_fee_rate' in value) || value['bo_fee_rate'] === undefined) return false;
144
+ if (!('bo_maker_fee_rate' in value) || value['bo_maker_fee_rate'] === undefined) return false;
120
145
  if (!('current_maker_fee_tick' in value) || value['current_maker_fee_tick'] === undefined) return false;
121
146
  if (!('current_taker_fee_tick' in value) || value['current_taker_fee_tick'] === undefined) return false;
122
147
  if (!('leased_lit' in value) || value['leased_lit'] === undefined) return false;
123
148
  if (!('effective_lit_stakes' in value) || value['effective_lit_stakes'] === undefined) return false;
149
+ if (!('volume_quota_remaining' in value) || value['volume_quota_remaining'] === undefined) return false;
150
+ if (!('volume_quota_cap' in value) || value['volume_quota_cap'] === undefined) return false;
151
+ if (!('volume_quota_purchase_cap' in value) || value['volume_quota_purchase_cap'] === undefined) return false;
124
152
  return true;
125
153
  }
126
154
 
@@ -143,11 +171,15 @@ export function AccountLimitsFromJSONTyped(json: any, ignoreDiscriminator: boole
143
171
  'user_tier_name': json['user_tier_name'],
144
172
  'bo_user_tier_name': json['bo_user_tier_name'],
145
173
  'bo_fee_rate': json['bo_fee_rate'],
174
+ 'bo_maker_fee_rate': json['bo_maker_fee_rate'],
146
175
  'current_maker_fee_tick': json['current_maker_fee_tick'],
147
176
  'current_taker_fee_tick': json['current_taker_fee_tick'],
148
177
  'leased_lit': json['leased_lit'],
149
178
  'effective_lit_stakes': json['effective_lit_stakes'],
150
179
  'user_tier_last_update': json['user_tier_last_update'] == null ? undefined : json['user_tier_last_update'],
180
+ 'volume_quota_remaining': json['volume_quota_remaining'],
181
+ 'volume_quota_cap': json['volume_quota_cap'],
182
+ 'volume_quota_purchase_cap': json['volume_quota_purchase_cap'],
151
183
  };
152
184
  }
153
185
 
@@ -166,11 +198,15 @@ export function AccountLimitsToJSON(value?: AccountLimits | null): any {
166
198
  'user_tier_name': value['user_tier_name'],
167
199
  'bo_user_tier_name': value['bo_user_tier_name'],
168
200
  'bo_fee_rate': value['bo_fee_rate'],
201
+ 'bo_maker_fee_rate': value['bo_maker_fee_rate'],
169
202
  'current_maker_fee_tick': value['current_maker_fee_tick'],
170
203
  'current_taker_fee_tick': value['current_taker_fee_tick'],
171
204
  'leased_lit': value['leased_lit'],
172
205
  'effective_lit_stakes': value['effective_lit_stakes'],
173
206
  'user_tier_last_update': value['user_tier_last_update'],
207
+ 'volume_quota_remaining': value['volume_quota_remaining'],
208
+ 'volume_quota_cap': value['volume_quota_cap'],
209
+ 'volume_quota_purchase_cap': value['volume_quota_purchase_cap'],
174
210
  };
175
211
  }
176
212
 
@@ -49,37 +49,37 @@ export interface BOSizeCost {
49
49
  * @type {number}
50
50
  * @memberof BOSizeCost
51
51
  */
52
- fill_rate: number;
52
+ fill_rate: number | null;
53
53
  /**
54
- *
54
+ * mean over the samples; null unless status is ok
55
55
  * @type {BOSideCost}
56
56
  * @memberof BOSizeCost
57
57
  */
58
- up: BOSideCost;
58
+ up: BOSideCost | null;
59
59
  /**
60
60
  *
61
61
  * @type {BOSideCost}
62
62
  * @memberof BOSizeCost
63
63
  */
64
- down: BOSideCost;
64
+ down: BOSideCost | null;
65
65
  /**
66
66
  * cents per share, Up and Down averaged
67
67
  * @type {number}
68
68
  * @memberof BOSizeCost
69
69
  */
70
- total_c: number;
70
+ total_c: number | null;
71
71
  /**
72
72
  * % of the price paid, Up and Down averaged
73
73
  * @type {number}
74
74
  * @memberof BOSizeCost
75
75
  */
76
- total_pct: number;
76
+ total_pct: number | null;
77
77
  /**
78
78
  * size_usd * total_pct / 100
79
79
  * @type {number}
80
80
  * @memberof BOSizeCost
81
81
  */
82
- cost_usd: number;
82
+ cost_usd: number | null;
83
83
  }
84
84
 
85
85
  /**
@@ -188,6 +188,12 @@ export interface EventOrderBookEntry {
188
188
  * @memberof EventOrderBookEntry
189
189
  */
190
190
  operator_account_index: number;
191
+ /**
192
+ *
193
+ * @type {number}
194
+ * @memberof EventOrderBookEntry
195
+ */
196
+ fee_collector_account_index: number;
191
197
  /**
192
198
  *
193
199
  * @type {number}
@@ -318,6 +324,7 @@ export function instanceOfEventOrderBookEntry(value: object): value is EventOrde
318
324
  if (!('open_interest_usd' in value) || value['open_interest_usd'] === undefined) return false;
319
325
  if (!('outcome' in value) || value['outcome'] === undefined) return false;
320
326
  if (!('operator_account_index' in value) || value['operator_account_index'] === undefined) return false;
327
+ if (!('fee_collector_account_index' in value) || value['fee_collector_account_index'] === undefined) return false;
321
328
  if (!('settlement_cap' in value) || value['settlement_cap'] === undefined) return false;
322
329
  if (!('settlement_type' in value) || value['settlement_type'] === undefined) return false;
323
330
  if (!('settlement_price' in value) || value['settlement_price'] === undefined) return false;
@@ -367,6 +374,7 @@ export function EventOrderBookEntryFromJSONTyped(json: any, ignoreDiscriminator:
367
374
  'open_interest_usd': json['open_interest_usd'],
368
375
  'outcome': json['outcome'],
369
376
  'operator_account_index': json['operator_account_index'],
377
+ 'fee_collector_account_index': json['fee_collector_account_index'],
370
378
  'settlement_cap': json['settlement_cap'],
371
379
  'settlement_type': json['settlement_type'],
372
380
  'settlement_price': json['settlement_price'],
@@ -412,6 +420,7 @@ export function EventOrderBookEntryToJSON(value?: EventOrderBookEntry | null): a
412
420
  'open_interest_usd': value['open_interest_usd'],
413
421
  'outcome': value['outcome'],
414
422
  'operator_account_index': value['operator_account_index'],
423
+ 'fee_collector_account_index': value['fee_collector_account_index'],
415
424
  'settlement_cap': value['settlement_cap'],
416
425
  'settlement_type': value['settlement_type'],
417
426
  'settlement_price': value['settlement_price'],
@@ -13,6 +13,13 @@
13
13
  */
14
14
 
15
15
  import { mapValues } from '../runtime';
16
+ import type { GuildDuelRecord } from './GuildDuelRecord';
17
+ import {
18
+ GuildDuelRecordFromJSON,
19
+ GuildDuelRecordFromJSONTyped,
20
+ GuildDuelRecordToJSON,
21
+ } from './GuildDuelRecord';
22
+
16
23
  /**
17
24
  *
18
25
  * @export
@@ -67,6 +74,24 @@ export interface GuildLeaderboardEntry {
67
74
  * @memberof GuildLeaderboardEntry
68
75
  */
69
76
  volume: number;
77
+ /**
78
+ * gross open perp notional of all members at mark price
79
+ * @type {number}
80
+ * @memberof GuildLeaderboardEntry
81
+ */
82
+ open_exposure: number;
83
+ /**
84
+ * share of open_exposure that is long; absent without open positions
85
+ * @type {number}
86
+ * @memberof GuildLeaderboardEntry
87
+ */
88
+ long_percentage: number;
89
+ /**
90
+ *
91
+ * @type {GuildDuelRecord}
92
+ * @memberof GuildLeaderboardEntry
93
+ */
94
+ duel_record: GuildDuelRecord;
70
95
  }
71
96
 
72
97
  /**
@@ -81,6 +106,9 @@ export function instanceOfGuildLeaderboardEntry(value: object): value is GuildLe
81
106
  if (!('ranked_member_count' in value) || value['ranked_member_count'] === undefined) return false;
82
107
  if (!('pnl' in value) || value['pnl'] === undefined) return false;
83
108
  if (!('volume' in value) || value['volume'] === undefined) return false;
109
+ if (!('open_exposure' in value) || value['open_exposure'] === undefined) return false;
110
+ if (!('long_percentage' in value) || value['long_percentage'] === undefined) return false;
111
+ if (!('duel_record' in value) || value['duel_record'] === undefined) return false;
84
112
  return true;
85
113
  }
86
114
 
@@ -102,6 +130,9 @@ export function GuildLeaderboardEntryFromJSONTyped(json: any, ignoreDiscriminato
102
130
  'ranked_member_count': json['ranked_member_count'],
103
131
  'pnl': json['pnl'],
104
132
  'volume': json['volume'],
133
+ 'open_exposure': json['open_exposure'],
134
+ 'long_percentage': json['long_percentage'],
135
+ 'duel_record': GuildDuelRecordFromJSON(json['duel_record']),
105
136
  };
106
137
  }
107
138
 
@@ -119,6 +150,9 @@ export function GuildLeaderboardEntryToJSON(value?: GuildLeaderboardEntry | null
119
150
  'ranked_member_count': value['ranked_member_count'],
120
151
  'pnl': value['pnl'],
121
152
  'volume': value['volume'],
153
+ 'open_exposure': value['open_exposure'],
154
+ 'long_percentage': value['long_percentage'],
155
+ 'duel_record': GuildDuelRecordToJSON(value['duel_record']),
122
156
  };
123
157
  }
124
158
 
@@ -49,6 +49,18 @@ export interface GuildPnlStats {
49
49
  * @memberof GuildPnlStats
50
50
  */
51
51
  ranked_member_count: number;
52
+ /**
53
+ * gross open perp notional of all members at mark price
54
+ * @type {number}
55
+ * @memberof GuildPnlStats
56
+ */
57
+ open_exposure: number;
58
+ /**
59
+ * share of open_exposure that is long; absent without open positions
60
+ * @type {number}
61
+ * @memberof GuildPnlStats
62
+ */
63
+ long_percentage: number;
52
64
  /**
53
65
  *
54
66
  * @type {number}
@@ -66,6 +78,8 @@ export function instanceOfGuildPnlStats(value: object): value is GuildPnlStats {
66
78
  if (!('volume' in value) || value['volume'] === undefined) return false;
67
79
  if (!('rank' in value) || value['rank'] === undefined) return false;
68
80
  if (!('ranked_member_count' in value) || value['ranked_member_count'] === undefined) return false;
81
+ if (!('open_exposure' in value) || value['open_exposure'] === undefined) return false;
82
+ if (!('long_percentage' in value) || value['long_percentage'] === undefined) return false;
69
83
  if (!('updated_at' in value) || value['updated_at'] === undefined) return false;
70
84
  return true;
71
85
  }
@@ -85,6 +99,8 @@ export function GuildPnlStatsFromJSONTyped(json: any, ignoreDiscriminator: boole
85
99
  'volume': json['volume'],
86
100
  'rank': json['rank'],
87
101
  'ranked_member_count': json['ranked_member_count'],
102
+ 'open_exposure': json['open_exposure'],
103
+ 'long_percentage': json['long_percentage'],
88
104
  'updated_at': json['updated_at'],
89
105
  };
90
106
  }
@@ -100,6 +116,8 @@ export function GuildPnlStatsToJSON(value?: GuildPnlStats | null): any {
100
116
  'volume': value['volume'],
101
117
  'rank': value['rank'],
102
118
  'ranked_member_count': value['ranked_member_count'],
119
+ 'open_exposure': value['open_exposure'],
120
+ 'long_percentage': value['long_percentage'],
103
121
  'updated_at': value['updated_at'],
104
122
  };
105
123
  }
@@ -181,6 +181,12 @@ export interface OrderBook {
181
181
  * @memberof OrderBook
182
182
  */
183
183
  operator_account_index: number;
184
+ /**
185
+ *
186
+ * @type {number}
187
+ * @memberof OrderBook
188
+ */
189
+ fee_collector_account_index: number;
184
190
  /**
185
191
  *
186
192
  * @type {number}
@@ -293,6 +299,7 @@ export function instanceOfOrderBook(value: object): value is OrderBook {
293
299
  if (!('open_interest_usd' in value) || value['open_interest_usd'] === undefined) return false;
294
300
  if (!('outcome' in value) || value['outcome'] === undefined) return false;
295
301
  if (!('operator_account_index' in value) || value['operator_account_index'] === undefined) return false;
302
+ if (!('fee_collector_account_index' in value) || value['fee_collector_account_index'] === undefined) return false;
296
303
  if (!('settlement_cap' in value) || value['settlement_cap'] === undefined) return false;
297
304
  if (!('settlement_type' in value) || value['settlement_type'] === undefined) return false;
298
305
  if (!('settlement_price' in value) || value['settlement_price'] === undefined) return false;
@@ -339,6 +346,7 @@ export function OrderBookFromJSONTyped(json: any, ignoreDiscriminator: boolean):
339
346
  'open_interest_usd': json['open_interest_usd'],
340
347
  'outcome': json['outcome'],
341
348
  'operator_account_index': json['operator_account_index'],
349
+ 'fee_collector_account_index': json['fee_collector_account_index'],
342
350
  'settlement_cap': json['settlement_cap'],
343
351
  'settlement_type': json['settlement_type'],
344
352
  'settlement_price': json['settlement_price'],
@@ -381,6 +389,7 @@ export function OrderBookToJSON(value?: OrderBook | null): any {
381
389
  'open_interest_usd': value['open_interest_usd'],
382
390
  'outcome': value['outcome'],
383
391
  'operator_account_index': value['operator_account_index'],
392
+ 'fee_collector_account_index': value['fee_collector_account_index'],
384
393
  'settlement_cap': value['settlement_cap'],
385
394
  'settlement_type': value['settlement_type'],
386
395
  'settlement_price': value['settlement_price'],
@@ -188,6 +188,12 @@ export interface PerpsOrderBookDetail {
188
188
  * @memberof PerpsOrderBookDetail
189
189
  */
190
190
  operator_account_index: number;
191
+ /**
192
+ *
193
+ * @type {number}
194
+ * @memberof PerpsOrderBookDetail
195
+ */
196
+ fee_collector_account_index: number;
191
197
  /**
192
198
  *
193
199
  * @type {number}
@@ -444,6 +450,7 @@ export function instanceOfPerpsOrderBookDetail(value: object): value is PerpsOrd
444
450
  if (!('open_interest_usd' in value) || value['open_interest_usd'] === undefined) return false;
445
451
  if (!('outcome' in value) || value['outcome'] === undefined) return false;
446
452
  if (!('operator_account_index' in value) || value['operator_account_index'] === undefined) return false;
453
+ if (!('fee_collector_account_index' in value) || value['fee_collector_account_index'] === undefined) return false;
447
454
  if (!('settlement_cap' in value) || value['settlement_cap'] === undefined) return false;
448
455
  if (!('settlement_type' in value) || value['settlement_type'] === undefined) return false;
449
456
  if (!('settlement_price' in value) || value['settlement_price'] === undefined) return false;
@@ -514,6 +521,7 @@ export function PerpsOrderBookDetailFromJSONTyped(json: any, ignoreDiscriminator
514
521
  'open_interest_usd': json['open_interest_usd'],
515
522
  'outcome': json['outcome'],
516
523
  'operator_account_index': json['operator_account_index'],
524
+ 'fee_collector_account_index': json['fee_collector_account_index'],
517
525
  'settlement_cap': json['settlement_cap'],
518
526
  'settlement_type': json['settlement_type'],
519
527
  'settlement_price': json['settlement_price'],
@@ -580,6 +588,7 @@ export function PerpsOrderBookDetailToJSON(value?: PerpsOrderBookDetail | null):
580
588
  'open_interest_usd': value['open_interest_usd'],
581
589
  'outcome': value['outcome'],
582
590
  'operator_account_index': value['operator_account_index'],
591
+ 'fee_collector_account_index': value['fee_collector_account_index'],
583
592
  'settlement_cap': value['settlement_cap'],
584
593
  'settlement_type': value['settlement_type'],
585
594
  'settlement_price': value['settlement_price'],
@@ -49,6 +49,18 @@ export interface PublicProfile {
49
49
  * @memberof PublicProfile
50
50
  */
51
51
  x_handle?: string;
52
+ /**
53
+ *
54
+ * @type {number}
55
+ * @memberof PublicProfile
56
+ */
57
+ guild_id: number;
58
+ /**
59
+ *
60
+ * @type {string}
61
+ * @memberof PublicProfile
62
+ */
63
+ guild_name: string;
52
64
  }
53
65
 
54
66
 
@@ -69,6 +81,8 @@ export type PublicProfileDisplayNameSourceEnum = typeof PublicProfileDisplayName
69
81
  */
70
82
  export function instanceOfPublicProfile(value: object): value is PublicProfile {
71
83
  if (!('l1_address' in value) || value['l1_address'] === undefined) return false;
84
+ if (!('guild_id' in value) || value['guild_id'] === undefined) return false;
85
+ if (!('guild_name' in value) || value['guild_name'] === undefined) return false;
72
86
  return true;
73
87
  }
74
88
 
@@ -87,6 +101,8 @@ export function PublicProfileFromJSONTyped(json: any, ignoreDiscriminator: boole
87
101
  'display_name_source': json['display_name_source'] == null ? undefined : json['display_name_source'],
88
102
  'x_user_id': json['x_user_id'] == null ? undefined : json['x_user_id'],
89
103
  'x_handle': json['x_handle'] == null ? undefined : json['x_handle'],
104
+ 'guild_id': json['guild_id'],
105
+ 'guild_name': json['guild_name'],
90
106
  };
91
107
  }
92
108
 
@@ -101,6 +117,8 @@ export function PublicProfileToJSON(value?: PublicProfile | null): any {
101
117
  'display_name_source': value['display_name_source'],
102
118
  'x_user_id': value['x_user_id'],
103
119
  'x_handle': value['x_handle'],
120
+ 'guild_id': value['guild_id'],
121
+ 'guild_name': value['guild_name'],
104
122
  };
105
123
  }
106
124
 
@@ -0,0 +1,125 @@
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 RespBuyVolumeQuota
20
+ */
21
+ export interface RespBuyVolumeQuota {
22
+ /**
23
+ *
24
+ * @type {number}
25
+ * @memberof RespBuyVolumeQuota
26
+ */
27
+ code: number;
28
+ /**
29
+ *
30
+ * @type {string}
31
+ * @memberof RespBuyVolumeQuota
32
+ */
33
+ message?: string;
34
+ /**
35
+ *
36
+ * @type {string}
37
+ * @memberof RespBuyVolumeQuota
38
+ */
39
+ tx_hash: string;
40
+ /**
41
+ *
42
+ * @type {string}
43
+ * @memberof RespBuyVolumeQuota
44
+ */
45
+ l1_address: string;
46
+ /**
47
+ *
48
+ * @type {number}
49
+ * @memberof RespBuyVolumeQuota
50
+ */
51
+ quota: number;
52
+ /**
53
+ *
54
+ * @type {number}
55
+ * @memberof RespBuyVolumeQuota
56
+ */
57
+ volume_quota_remaining: number;
58
+ /**
59
+ *
60
+ * @type {string}
61
+ * @memberof RespBuyVolumeQuota
62
+ */
63
+ status: RespBuyVolumeQuotaStatusEnum;
64
+ }
65
+
66
+
67
+ /**
68
+ * @export
69
+ */
70
+ export const RespBuyVolumeQuotaStatusEnum = {
71
+ Credited: 'credited',
72
+ Pending: 'pending'
73
+ } as const;
74
+ export type RespBuyVolumeQuotaStatusEnum = typeof RespBuyVolumeQuotaStatusEnum[keyof typeof RespBuyVolumeQuotaStatusEnum];
75
+
76
+
77
+ /**
78
+ * Check if a given object implements the RespBuyVolumeQuota interface.
79
+ */
80
+ export function instanceOfRespBuyVolumeQuota(value: object): value is RespBuyVolumeQuota {
81
+ if (!('code' in value) || value['code'] === undefined) return false;
82
+ if (!('tx_hash' in value) || value['tx_hash'] === undefined) return false;
83
+ if (!('l1_address' in value) || value['l1_address'] === undefined) return false;
84
+ if (!('quota' in value) || value['quota'] === undefined) return false;
85
+ if (!('volume_quota_remaining' in value) || value['volume_quota_remaining'] === undefined) return false;
86
+ if (!('status' in value) || value['status'] === undefined) return false;
87
+ return true;
88
+ }
89
+
90
+ export function RespBuyVolumeQuotaFromJSON(json: any): RespBuyVolumeQuota {
91
+ return RespBuyVolumeQuotaFromJSONTyped(json, false);
92
+ }
93
+
94
+ export function RespBuyVolumeQuotaFromJSONTyped(json: any, ignoreDiscriminator: boolean): RespBuyVolumeQuota {
95
+ if (json == null) {
96
+ return json;
97
+ }
98
+ return {
99
+
100
+ 'code': json['code'],
101
+ 'message': json['message'] == null ? undefined : json['message'],
102
+ 'tx_hash': json['tx_hash'],
103
+ 'l1_address': json['l1_address'],
104
+ 'quota': json['quota'],
105
+ 'volume_quota_remaining': json['volume_quota_remaining'],
106
+ 'status': json['status'],
107
+ };
108
+ }
109
+
110
+ export function RespBuyVolumeQuotaToJSON(value?: RespBuyVolumeQuota | null): any {
111
+ if (value == null) {
112
+ return value;
113
+ }
114
+ return {
115
+
116
+ 'code': value['code'],
117
+ 'message': value['message'],
118
+ 'tx_hash': value['tx_hash'],
119
+ 'l1_address': value['l1_address'],
120
+ 'quota': value['quota'],
121
+ 'volume_quota_remaining': value['volume_quota_remaining'],
122
+ 'status': value['status'],
123
+ };
124
+ }
125
+
@@ -115,7 +115,7 @@ export interface RespGetGuild {
115
115
  * @type {GuildPnlStats}
116
116
  * @memberof RespGetGuild
117
117
  */
118
- stats?: GuildPnlStats;
118
+ stats?: GuildPnlStats | null;
119
119
  /**
120
120
  *
121
121
  * @type {Array<GuildPosition>}
@@ -181,6 +181,12 @@ export interface SpotOrderBookDetail {
181
181
  * @memberof SpotOrderBookDetail
182
182
  */
183
183
  operator_account_index: number;
184
+ /**
185
+ *
186
+ * @type {number}
187
+ * @memberof SpotOrderBookDetail
188
+ */
189
+ fee_collector_account_index: number;
184
190
  /**
185
191
  *
186
192
  * @type {number}
@@ -353,6 +359,7 @@ export function instanceOfSpotOrderBookDetail(value: object): value is SpotOrder
353
359
  if (!('open_interest_usd' in value) || value['open_interest_usd'] === undefined) return false;
354
360
  if (!('outcome' in value) || value['outcome'] === undefined) return false;
355
361
  if (!('operator_account_index' in value) || value['operator_account_index'] === undefined) return false;
362
+ if (!('fee_collector_account_index' in value) || value['fee_collector_account_index'] === undefined) return false;
356
363
  if (!('settlement_cap' in value) || value['settlement_cap'] === undefined) return false;
357
364
  if (!('settlement_type' in value) || value['settlement_type'] === undefined) return false;
358
365
  if (!('settlement_price' in value) || value['settlement_price'] === undefined) return false;
@@ -409,6 +416,7 @@ export function SpotOrderBookDetailFromJSONTyped(json: any, ignoreDiscriminator:
409
416
  'open_interest_usd': json['open_interest_usd'],
410
417
  'outcome': json['outcome'],
411
418
  'operator_account_index': json['operator_account_index'],
419
+ 'fee_collector_account_index': json['fee_collector_account_index'],
412
420
  'settlement_cap': json['settlement_cap'],
413
421
  'settlement_type': json['settlement_type'],
414
422
  'settlement_price': json['settlement_price'],
@@ -461,6 +469,7 @@ export function SpotOrderBookDetailToJSON(value?: SpotOrderBookDetail | null): a
461
469
  'open_interest_usd': value['open_interest_usd'],
462
470
  'outcome': value['outcome'],
463
471
  'operator_account_index': value['operator_account_index'],
472
+ 'fee_collector_account_index': value['fee_collector_account_index'],
464
473
  'settlement_cap': value['settlement_cap'],
465
474
  'settlement_type': value['settlement_type'],
466
475
  'settlement_price': value['settlement_price'],
package/models/index.ts CHANGED
@@ -254,6 +254,7 @@ export * from './ReqTvHistory';
254
254
  export * from './ReqTvSymbolInfo';
255
255
  export * from './RespAtomicOrder';
256
256
  export * from './RespAtomicOrderList';
257
+ export * from './RespBuyVolumeQuota';
257
258
  export * from './RespChangeAccountTier';
258
259
  export * from './RespConnectX';
259
260
  export * from './RespConnectXCallback';
package/openapi.json CHANGED
@@ -1318,6 +1318,49 @@
1318
1318
  "description": "Get if next bridge is fast"
1319
1319
  }
1320
1320
  },
1321
+ "/api/v1/buyVolumeQuota": {
1322
+ "post": {
1323
+ "summary": "buyVolumeQuota",
1324
+ "operationId": "buyVolumeQuota",
1325
+ "responses": {
1326
+ "200": {
1327
+ "description": "A successful response.",
1328
+ "schema": {
1329
+ "$ref": "#/definitions/RespBuyVolumeQuota"
1330
+ }
1331
+ },
1332
+ "400": {
1333
+ "description": "Bad request",
1334
+ "schema": {
1335
+ "$ref": "#/definitions/ResultCode"
1336
+ }
1337
+ }
1338
+ },
1339
+ "parameters": [
1340
+ {
1341
+ "name": "authorization",
1342
+ "in": "header",
1343
+ "required": false,
1344
+ "type": "string"
1345
+ },
1346
+ {
1347
+ "name": "body",
1348
+ "in": "body",
1349
+ "required": true,
1350
+ "schema": {
1351
+ "$ref": "#/definitions/ReqBuyVolumeQuota"
1352
+ }
1353
+ }
1354
+ ],
1355
+ "tags": [
1356
+ "account"
1357
+ ],
1358
+ "consumes": [
1359
+ "multipart/form-data"
1360
+ ],
1361
+ "description": "Buy volume quota with USDC"
1362
+ }
1363
+ },
1321
1364
  "/api/v1/candles": {
1322
1365
  "get": {
1323
1366
  "summary": "candles",
@@ -8583,6 +8626,12 @@
8583
8626
  "example": "0.72",
8584
8627
  "description": " Product of the staking and BO volume multipliers; 0.72 means a 28% discount."
8585
8628
  },
8629
+ "bo_maker_fee_rate": {
8630
+ "type": "number",
8631
+ "format": "double",
8632
+ "example": "0.72",
8633
+ "description": " Maker side multiplier; negative means the maker is rebated that share of the market maker fee."
8634
+ },
8586
8635
  "current_maker_fee_tick": {
8587
8636
  "type": "integer",
8588
8637
  "format": "int32",
@@ -8602,6 +8651,18 @@
8602
8651
  "user_tier_last_update": {
8603
8652
  "type": "integer",
8604
8653
  "format": "int64"
8654
+ },
8655
+ "volume_quota_remaining": {
8656
+ "type": "string",
8657
+ "example": "1010780"
8658
+ },
8659
+ "volume_quota_cap": {
8660
+ "type": "string",
8661
+ "example": "15000000"
8662
+ },
8663
+ "volume_quota_purchase_cap": {
8664
+ "type": "string",
8665
+ "example": "30000000"
8605
8666
  }
8606
8667
  },
8607
8668
  "title": "AccountLimits",
@@ -8614,10 +8675,14 @@
8614
8675
  "user_tier_name",
8615
8676
  "bo_user_tier_name",
8616
8677
  "bo_fee_rate",
8678
+ "bo_maker_fee_rate",
8617
8679
  "current_maker_fee_tick",
8618
8680
  "current_taker_fee_tick",
8619
8681
  "leased_lit",
8620
- "effective_lit_stakes"
8682
+ "effective_lit_stakes",
8683
+ "volume_quota_remaining",
8684
+ "volume_quota_cap",
8685
+ "volume_quota_purchase_cap"
8621
8686
  ]
8622
8687
  },
8623
8688
  "AccountMarginStats": {
@@ -9997,32 +10062,46 @@
9997
10062
  "type": "number",
9998
10063
  "format": "double",
9999
10064
  "example": "0.97",
10000
- "description": " share of the venue's in-band samples where the size filled; null without any"
10065
+ "description": " share of the venue's in-band samples where the size filled; null without any",
10066
+ "x-nullable": true
10001
10067
  },
10002
10068
  "up": {
10003
- "$ref": "#/definitions/BOSideCost",
10004
- "description": " mean over the samples; null unless status is ok"
10069
+ "allOf": [
10070
+ {
10071
+ "$ref": "#/definitions/BOSideCost"
10072
+ }
10073
+ ],
10074
+ "description": " mean over the samples; null unless status is ok",
10075
+ "x-nullable": true
10005
10076
  },
10006
10077
  "down": {
10007
- "$ref": "#/definitions/BOSideCost"
10078
+ "allOf": [
10079
+ {
10080
+ "$ref": "#/definitions/BOSideCost"
10081
+ }
10082
+ ],
10083
+ "x-nullable": true
10008
10084
  },
10009
10085
  "total_c": {
10010
10086
  "type": "number",
10011
10087
  "format": "double",
10012
10088
  "example": "0.75",
10013
- "description": " cents per share, Up and Down averaged"
10089
+ "description": " cents per share, Up and Down averaged",
10090
+ "x-nullable": true
10014
10091
  },
10015
10092
  "total_pct": {
10016
10093
  "type": "number",
10017
10094
  "format": "double",
10018
10095
  "example": "1.47",
10019
- "description": " % of the price paid, Up and Down averaged"
10096
+ "description": " % of the price paid, Up and Down averaged",
10097
+ "x-nullable": true
10020
10098
  },
10021
10099
  "cost_usd": {
10022
10100
  "type": "number",
10023
10101
  "format": "double",
10024
10102
  "example": "1.47",
10025
- "description": " size_usd * total_pct / 100"
10103
+ "description": " size_usd * total_pct / 100",
10104
+ "x-nullable": true
10026
10105
  }
10027
10106
  },
10028
10107
  "title": "BOSizeCost",
@@ -11713,6 +11792,11 @@
11713
11792
  "format": "int64",
11714
11793
  "example": "1"
11715
11794
  },
11795
+ "fee_collector_account_index": {
11796
+ "type": "integer",
11797
+ "format": "int64",
11798
+ "example": "0"
11799
+ },
11716
11800
  "settlement_cap": {
11717
11801
  "type": "integer",
11718
11802
  "format": "int32",
@@ -11792,6 +11876,7 @@
11792
11876
  "open_interest_usd",
11793
11877
  "outcome",
11794
11878
  "operator_account_index",
11879
+ "fee_collector_account_index",
11795
11880
  "settlement_cap",
11796
11881
  "settlement_type",
11797
11882
  "settlement_price",
@@ -12984,6 +13069,19 @@
12984
13069
  "volume": {
12985
13070
  "type": "number",
12986
13071
  "format": "double"
13072
+ },
13073
+ "open_exposure": {
13074
+ "type": "number",
13075
+ "format": "double",
13076
+ "description": " gross open perp notional of all members at mark price"
13077
+ },
13078
+ "long_percentage": {
13079
+ "type": "number",
13080
+ "format": "double",
13081
+ "description": " share of open_exposure that is long; absent without open positions"
13082
+ },
13083
+ "duel_record": {
13084
+ "$ref": "#/definitions/GuildDuelRecord"
12987
13085
  }
12988
13086
  },
12989
13087
  "title": "GuildLeaderboardEntry",
@@ -12995,7 +13093,10 @@
12995
13093
  "member_count",
12996
13094
  "ranked_member_count",
12997
13095
  "pnl",
12998
- "volume"
13096
+ "volume",
13097
+ "open_exposure",
13098
+ "long_percentage",
13099
+ "duel_record"
12999
13100
  ]
13000
13101
  },
13001
13102
  "GuildListItem": {
@@ -13090,6 +13191,16 @@
13090
13191
  "type": "integer",
13091
13192
  "format": "int64"
13092
13193
  },
13194
+ "open_exposure": {
13195
+ "type": "number",
13196
+ "format": "double",
13197
+ "description": " gross open perp notional of all members at mark price"
13198
+ },
13199
+ "long_percentage": {
13200
+ "type": "number",
13201
+ "format": "double",
13202
+ "description": " share of open_exposure that is long; absent without open positions"
13203
+ },
13093
13204
  "updated_at": {
13094
13205
  "type": "integer",
13095
13206
  "format": "int64"
@@ -13102,6 +13213,8 @@
13102
13213
  "volume",
13103
13214
  "rank",
13104
13215
  "ranked_member_count",
13216
+ "open_exposure",
13217
+ "long_percentage",
13105
13218
  "updated_at"
13106
13219
  ]
13107
13220
  },
@@ -14400,6 +14513,11 @@
14400
14513
  "format": "int64",
14401
14514
  "example": "1"
14402
14515
  },
14516
+ "fee_collector_account_index": {
14517
+ "type": "integer",
14518
+ "format": "int64",
14519
+ "example": "0"
14520
+ },
14403
14521
  "settlement_cap": {
14404
14522
  "type": "integer",
14405
14523
  "format": "int32",
@@ -14466,6 +14584,7 @@
14466
14584
  "open_interest_usd",
14467
14585
  "outcome",
14468
14586
  "operator_account_index",
14587
+ "fee_collector_account_index",
14469
14588
  "settlement_cap",
14470
14589
  "settlement_type",
14471
14590
  "settlement_price",
@@ -15303,6 +15422,11 @@
15303
15422
  "format": "int64",
15304
15423
  "example": "1"
15305
15424
  },
15425
+ "fee_collector_account_index": {
15426
+ "type": "integer",
15427
+ "format": "int64",
15428
+ "example": "0"
15429
+ },
15306
15430
  "settlement_cap": {
15307
15431
  "type": "integer",
15308
15432
  "format": "int32",
@@ -15483,6 +15607,7 @@
15483
15607
  "open_interest_usd",
15484
15608
  "outcome",
15485
15609
  "operator_account_index",
15610
+ "fee_collector_account_index",
15486
15611
  "settlement_cap",
15487
15612
  "settlement_type",
15488
15613
  "settlement_price",
@@ -16437,11 +16562,20 @@
16437
16562
  "x_handle": {
16438
16563
  "type": "string",
16439
16564
  "description": " as of connecting"
16565
+ },
16566
+ "guild_id": {
16567
+ "type": "integer",
16568
+ "format": "int64"
16569
+ },
16570
+ "guild_name": {
16571
+ "type": "string"
16440
16572
  }
16441
16573
  },
16442
16574
  "title": "PublicProfile",
16443
16575
  "required": [
16444
- "l1_address"
16576
+ "l1_address",
16577
+ "guild_id",
16578
+ "guild_name"
16445
16579
  ]
16446
16580
  },
16447
16581
  "PushNotifDeliveryResult": {
@@ -16932,6 +17066,28 @@
16932
17066
  "account_index"
16933
17067
  ]
16934
17068
  },
17069
+ "ReqBuyVolumeQuota": {
17070
+ "type": "object",
17071
+ "properties": {
17072
+ "tx_info": {
17073
+ "type": "string"
17074
+ },
17075
+ "tx_hash": {
17076
+ "type": "string"
17077
+ },
17078
+ "quota": {
17079
+ "type": "integer",
17080
+ "format": "int64"
17081
+ },
17082
+ "destination_l1_address": {
17083
+ "type": "string"
17084
+ }
17085
+ },
17086
+ "title": "ReqBuyVolumeQuota",
17087
+ "required": [
17088
+ "quota"
17089
+ ]
17090
+ },
16935
17091
  "ReqChangeAccountTier": {
16936
17092
  "type": "object",
16937
17093
  "properties": {
@@ -20707,6 +20863,54 @@
20707
20863
  "atomic_orders"
20708
20864
  ]
20709
20865
  },
20866
+ "RespBuyVolumeQuota": {
20867
+ "type": "object",
20868
+ "properties": {
20869
+ "code": {
20870
+ "type": "integer",
20871
+ "format": "int32",
20872
+ "example": "200"
20873
+ },
20874
+ "message": {
20875
+ "type": "string"
20876
+ },
20877
+ "tx_hash": {
20878
+ "type": "string",
20879
+ "example": "0x70997970C51812dc3A010C7d01b50e0d17dc79C8"
20880
+ },
20881
+ "l1_address": {
20882
+ "type": "string",
20883
+ "example": "0x70997970C51812dc3A010C7d01b50e0d17dc79C8"
20884
+ },
20885
+ "quota": {
20886
+ "type": "integer",
20887
+ "format": "int64",
20888
+ "example": "1000000"
20889
+ },
20890
+ "volume_quota_remaining": {
20891
+ "type": "integer",
20892
+ "format": "int64",
20893
+ "example": "1010780"
20894
+ },
20895
+ "status": {
20896
+ "type": "string",
20897
+ "example": "credited",
20898
+ "enum": [
20899
+ "credited",
20900
+ "pending"
20901
+ ]
20902
+ }
20903
+ },
20904
+ "title": "RespBuyVolumeQuota",
20905
+ "required": [
20906
+ "code",
20907
+ "tx_hash",
20908
+ "l1_address",
20909
+ "quota",
20910
+ "volume_quota_remaining",
20911
+ "status"
20912
+ ]
20913
+ },
20710
20914
  "RespChangeAccountTier": {
20711
20915
  "type": "object",
20712
20916
  "properties": {
@@ -21241,7 +21445,11 @@
21241
21445
  }
21242
21446
  },
21243
21447
  "stats": {
21244
- "$ref": "#/definitions/GuildPnlStats",
21448
+ "allOf": [
21449
+ {
21450
+ "$ref": "#/definitions/GuildPnlStats"
21451
+ }
21452
+ ],
21245
21453
  "x-nullable": true
21246
21454
  },
21247
21455
  "positions": {
@@ -23204,6 +23412,11 @@
23204
23412
  "format": "int64",
23205
23413
  "example": "1"
23206
23414
  },
23415
+ "fee_collector_account_index": {
23416
+ "type": "integer",
23417
+ "format": "int64",
23418
+ "example": "0"
23419
+ },
23207
23420
  "settlement_cap": {
23208
23421
  "type": "integer",
23209
23422
  "format": "int32",
@@ -23323,6 +23536,7 @@
23323
23536
  "open_interest_usd",
23324
23537
  "outcome",
23325
23538
  "operator_account_index",
23539
+ "fee_collector_account_index",
23326
23540
  "settlement_cap",
23327
23541
  "settlement_type",
23328
23542
  "settlement_price",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zklighter-perps",
3
- "version": "1.0.349",
3
+ "version": "1.0.351",
4
4
  "description": "Lighter Perps SDK",
5
5
  "main": "index.ts",
6
6
  "directories": {