perps-sdk-ts 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. package/.claude/settings.local.json +11 -0
  2. package/CONTRACT_METHOD_FIXES.md +189 -0
  3. package/INTEGRATION_SUMMARY.md +219 -0
  4. package/OPTIMIZATION_GUIDE.md +238 -0
  5. package/README.md +384 -0
  6. package/SNAPSHOT_FIX_SUMMARY.md +161 -0
  7. package/SNAPSHOT_OPTIMIZATION_SUMMARY.md +199 -0
  8. package/dist/abis/Referral.d.ts +36 -0
  9. package/dist/abis/Referral.js +4 -0
  10. package/dist/abis/Trading.d.ts +57 -0
  11. package/dist/abis/Trading.js +742 -0
  12. package/dist/abis/erc20.d.ts +51 -0
  13. package/dist/abis/erc20.js +4 -0
  14. package/dist/abis/index.d.ts +8 -0
  15. package/dist/abis/index.js +24 -0
  16. package/dist/abis/multicall.d.ts +85 -0
  17. package/dist/abis/multicall.js +4 -0
  18. package/dist/abis/pairInfos.d.ts +77 -0
  19. package/dist/abis/pairInfos.js +4 -0
  20. package/dist/abis/pairStorage.d.ts +124 -0
  21. package/dist/abis/pairStorage.js +4 -0
  22. package/dist/abis/priceAggregator.d.ts +77 -0
  23. package/dist/abis/priceAggregator.js +4 -0
  24. package/dist/abis/tardingStorage.d.ts +97 -0
  25. package/dist/abis/tardingStorage.js +1295 -0
  26. package/dist/abis.d.ts +623 -0
  27. package/dist/abis.js +49 -0
  28. package/dist/client.d.ts +118 -0
  29. package/dist/client.js +224 -0
  30. package/dist/config.d.ts +43 -0
  31. package/dist/config.js +42 -0
  32. package/dist/crypto/spki.d.ts +55 -0
  33. package/dist/crypto/spki.js +160 -0
  34. package/dist/feed/feed_client.d.ts +68 -0
  35. package/dist/feed/feed_client.js +239 -0
  36. package/dist/index.d.ts +28 -0
  37. package/dist/index.js +87 -0
  38. package/dist/rpc/asset_parameters.d.ts +62 -0
  39. package/dist/rpc/asset_parameters.js +169 -0
  40. package/dist/rpc/blended.d.ts +23 -0
  41. package/dist/rpc/blended.js +55 -0
  42. package/dist/rpc/category_parameters.d.ts +34 -0
  43. package/dist/rpc/category_parameters.js +105 -0
  44. package/dist/rpc/delegation.d.ts +81 -0
  45. package/dist/rpc/delegation.js +180 -0
  46. package/dist/rpc/fee_parameters.d.ts +46 -0
  47. package/dist/rpc/fee_parameters.js +113 -0
  48. package/dist/rpc/multicall.d.ts +83 -0
  49. package/dist/rpc/multicall.js +117 -0
  50. package/dist/rpc/pair_info_queries.d.ts +101 -0
  51. package/dist/rpc/pair_info_queries.js +161 -0
  52. package/dist/rpc/pairs_cache.d.ts +62 -0
  53. package/dist/rpc/pairs_cache.js +240 -0
  54. package/dist/rpc/referral_operations.d.ts +67 -0
  55. package/dist/rpc/referral_operations.js +143 -0
  56. package/dist/rpc/snapshot.d.ts +49 -0
  57. package/dist/rpc/snapshot.js +162 -0
  58. package/dist/rpc/trade.d.ts +84 -0
  59. package/dist/rpc/trade.js +249 -0
  60. package/dist/rpc/trading_operations.d.ts +103 -0
  61. package/dist/rpc/trading_operations.js +295 -0
  62. package/dist/rpc/trading_parameters.d.ts +49 -0
  63. package/dist/rpc/trading_parameters.js +94 -0
  64. package/dist/signers/base.d.ts +24 -0
  65. package/dist/signers/base.js +10 -0
  66. package/dist/signers/kms.d.ts +47 -0
  67. package/dist/signers/kms.js +172 -0
  68. package/dist/signers/local.d.ts +43 -0
  69. package/dist/signers/local.js +64 -0
  70. package/dist/types.d.ts +1419 -0
  71. package/dist/types.js +245 -0
  72. package/dist/utils.d.ts +52 -0
  73. package/dist/utils.js +134 -0
  74. package/examples/advanced-queries.ts +181 -0
  75. package/examples/basic-usage.ts +78 -0
  76. package/examples/delegation-and-referrals.ts +130 -0
  77. package/examples/get-pyth-ids.ts +61 -0
  78. package/examples/kms-signer.ts +31 -0
  79. package/examples/optimized-snapshot.ts +153 -0
  80. package/examples/price-feed-with-sdk-ids.ts +97 -0
  81. package/examples/price-feed.ts +36 -0
  82. package/examples/trading-operations.ts +149 -0
  83. package/package.json +41 -0
  84. package/src/abis/Referral.ts +3 -0
  85. package/src/abis/Trading.ts +741 -0
  86. package/src/abis/erc20.ts +3 -0
  87. package/src/abis/index.ts +8 -0
  88. package/src/abis/multicall.ts +3 -0
  89. package/src/abis/pairInfos.ts +3 -0
  90. package/src/abis/pairStorage.ts +3 -0
  91. package/src/abis/priceAggregator.ts +3 -0
  92. package/src/abis/tardingStorage.ts +1294 -0
  93. package/src/abis.ts +56 -0
  94. package/src/client.ts +373 -0
  95. package/src/config.ts +62 -0
  96. package/src/crypto/spki.ts +197 -0
  97. package/src/feed/feed_client.ts +288 -0
  98. package/src/index.ts +114 -0
  99. package/src/rpc/asset_parameters.ts +217 -0
  100. package/src/rpc/blended.ts +77 -0
  101. package/src/rpc/category_parameters.ts +128 -0
  102. package/src/rpc/delegation.ts +225 -0
  103. package/src/rpc/fee_parameters.ts +150 -0
  104. package/src/rpc/multicall.ts +164 -0
  105. package/src/rpc/pair_info_queries.ts +208 -0
  106. package/src/rpc/pairs_cache.ts +268 -0
  107. package/src/rpc/referral_operations.ts +164 -0
  108. package/src/rpc/snapshot.ts +210 -0
  109. package/src/rpc/trade.ts +306 -0
  110. package/src/rpc/trading_operations.ts +378 -0
  111. package/src/rpc/trading_parameters.ts +127 -0
  112. package/src/signers/base.ts +27 -0
  113. package/src/signers/kms.ts +212 -0
  114. package/src/signers/local.ts +70 -0
  115. package/src/types.ts +410 -0
  116. package/src/utils.ts +155 -0
  117. package/tsconfig.json +18 -0
@@ -0,0 +1,1419 @@
1
+ import { z } from 'zod';
2
+ export declare enum TradeInputOrderType {
3
+ MARKET = "market",
4
+ STOP_LIMIT = "stop_limit",
5
+ LIMIT = "limit",
6
+ MARKET_ZERO_FEE = "market_zero_fee"
7
+ }
8
+ export declare enum MarginUpdateType {
9
+ DEPOSIT = 0,
10
+ WITHDRAW = 1
11
+ }
12
+ export declare const SpreadSchema: z.ZodObject<{
13
+ min: z.ZodNumber;
14
+ max: z.ZodNumber;
15
+ }, "strip", z.ZodTypeAny, {
16
+ min: number;
17
+ max: number;
18
+ }, {
19
+ min: number;
20
+ max: number;
21
+ }>;
22
+ export declare const PairInfoSchema: z.ZodObject<{
23
+ from: z.ZodString;
24
+ to: z.ZodString;
25
+ spread: z.ZodObject<{
26
+ min: z.ZodNumber;
27
+ max: z.ZodNumber;
28
+ }, "strip", z.ZodTypeAny, {
29
+ min: number;
30
+ max: number;
31
+ }, {
32
+ min: number;
33
+ max: number;
34
+ }>;
35
+ groupIndex: z.ZodNumber;
36
+ feeIndex: z.ZodNumber;
37
+ maxLeverage: z.ZodNumber;
38
+ maxLongOiP: z.ZodNumber;
39
+ maxShortOiP: z.ZodNumber;
40
+ }, "strip", z.ZodTypeAny, {
41
+ from: string;
42
+ to: string;
43
+ maxLeverage: number;
44
+ groupIndex: number;
45
+ feeIndex: number;
46
+ maxLongOiP: number;
47
+ maxShortOiP: number;
48
+ spread: {
49
+ min: number;
50
+ max: number;
51
+ };
52
+ }, {
53
+ from: string;
54
+ to: string;
55
+ maxLeverage: number;
56
+ groupIndex: number;
57
+ feeIndex: number;
58
+ maxLongOiP: number;
59
+ maxShortOiP: number;
60
+ spread: {
61
+ min: number;
62
+ max: number;
63
+ };
64
+ }>;
65
+ export declare const TradeInputSchema: z.ZodObject<{
66
+ pair: z.ZodString;
67
+ isLong: z.ZodBoolean;
68
+ collateralInTrade: z.ZodNumber;
69
+ leverage: z.ZodNumber;
70
+ openPrice: z.ZodNumber;
71
+ tp: z.ZodNumber;
72
+ sl: z.ZodNumber;
73
+ referrer: z.ZodDefault<z.ZodOptional<z.ZodString>>;
74
+ orderType: z.ZodNativeEnum<typeof TradeInputOrderType>;
75
+ maxSlippageP: z.ZodNumber;
76
+ }, "strip", z.ZodTypeAny, {
77
+ referrer: string;
78
+ openPrice: number;
79
+ leverage: number;
80
+ tp: number;
81
+ sl: number;
82
+ orderType: TradeInputOrderType;
83
+ pair: string;
84
+ isLong: boolean;
85
+ collateralInTrade: number;
86
+ maxSlippageP: number;
87
+ }, {
88
+ openPrice: number;
89
+ leverage: number;
90
+ tp: number;
91
+ sl: number;
92
+ orderType: TradeInputOrderType;
93
+ pair: string;
94
+ isLong: boolean;
95
+ collateralInTrade: number;
96
+ maxSlippageP: number;
97
+ referrer?: string | undefined;
98
+ }>;
99
+ export declare const TradeResponseSchema: z.ZodObject<{
100
+ trader: z.ZodString;
101
+ pairIndex: z.ZodNumber;
102
+ index: z.ZodNumber;
103
+ initialPosUsdc: z.ZodNumber;
104
+ openPrice: z.ZodNumber;
105
+ buy: z.ZodBoolean;
106
+ leverage: z.ZodNumber;
107
+ tp: z.ZodNumber;
108
+ sl: z.ZodNumber;
109
+ }, "strip", z.ZodTypeAny, {
110
+ trader: string;
111
+ pairIndex: number;
112
+ index: number;
113
+ openPrice: number;
114
+ buy: boolean;
115
+ leverage: number;
116
+ tp: number;
117
+ sl: number;
118
+ initialPosUsdc: number;
119
+ }, {
120
+ trader: string;
121
+ pairIndex: number;
122
+ index: number;
123
+ openPrice: number;
124
+ buy: boolean;
125
+ leverage: number;
126
+ tp: number;
127
+ sl: number;
128
+ initialPosUsdc: number;
129
+ }>;
130
+ export declare const PriceSchema: z.ZodObject<{
131
+ price: z.ZodString;
132
+ conf: z.ZodString;
133
+ expo: z.ZodNumber;
134
+ publishTime: z.ZodNumber;
135
+ }, "strip", z.ZodTypeAny, {
136
+ price: string;
137
+ conf: string;
138
+ expo: number;
139
+ publishTime: number;
140
+ }, {
141
+ price: string;
142
+ conf: string;
143
+ expo: number;
144
+ publishTime: number;
145
+ }>;
146
+ export declare const EmaPriceSchema: z.ZodObject<{
147
+ price: z.ZodString;
148
+ conf: z.ZodString;
149
+ expo: z.ZodNumber;
150
+ publishTime: z.ZodNumber;
151
+ }, "strip", z.ZodTypeAny, {
152
+ price: string;
153
+ conf: string;
154
+ expo: number;
155
+ publishTime: number;
156
+ }, {
157
+ price: string;
158
+ conf: string;
159
+ expo: number;
160
+ publishTime: number;
161
+ }>;
162
+ export declare const PriceFeedResponseSchema: z.ZodObject<{
163
+ id: z.ZodString;
164
+ price: z.ZodObject<{
165
+ price: z.ZodString;
166
+ conf: z.ZodString;
167
+ expo: z.ZodNumber;
168
+ publishTime: z.ZodNumber;
169
+ }, "strip", z.ZodTypeAny, {
170
+ price: string;
171
+ conf: string;
172
+ expo: number;
173
+ publishTime: number;
174
+ }, {
175
+ price: string;
176
+ conf: string;
177
+ expo: number;
178
+ publishTime: number;
179
+ }>;
180
+ emaPrice: z.ZodObject<{
181
+ price: z.ZodString;
182
+ conf: z.ZodString;
183
+ expo: z.ZodNumber;
184
+ publishTime: z.ZodNumber;
185
+ }, "strip", z.ZodTypeAny, {
186
+ price: string;
187
+ conf: string;
188
+ expo: number;
189
+ publishTime: number;
190
+ }, {
191
+ price: string;
192
+ conf: string;
193
+ expo: number;
194
+ publishTime: number;
195
+ }>;
196
+ }, "strip", z.ZodTypeAny, {
197
+ id: string;
198
+ price: {
199
+ price: string;
200
+ conf: string;
201
+ expo: number;
202
+ publishTime: number;
203
+ };
204
+ emaPrice: {
205
+ price: string;
206
+ conf: string;
207
+ expo: number;
208
+ publishTime: number;
209
+ };
210
+ }, {
211
+ id: string;
212
+ price: {
213
+ price: string;
214
+ conf: string;
215
+ expo: number;
216
+ publishTime: number;
217
+ };
218
+ emaPrice: {
219
+ price: string;
220
+ conf: string;
221
+ expo: number;
222
+ publishTime: number;
223
+ };
224
+ }>;
225
+ export declare const OpenInterestSchema: z.ZodObject<{
226
+ long: z.ZodNumber;
227
+ short: z.ZodNumber;
228
+ max: z.ZodNumber;
229
+ }, "strip", z.ZodTypeAny, {
230
+ long: number;
231
+ max: number;
232
+ short: number;
233
+ }, {
234
+ long: number;
235
+ max: number;
236
+ short: number;
237
+ }>;
238
+ export declare const OpenInterestLimitsSchema: z.ZodObject<{
239
+ pairIndex: z.ZodNumber;
240
+ maxLong: z.ZodNumber;
241
+ maxShort: z.ZodNumber;
242
+ }, "strip", z.ZodTypeAny, {
243
+ pairIndex: number;
244
+ maxLong: number;
245
+ maxShort: number;
246
+ }, {
247
+ pairIndex: number;
248
+ maxLong: number;
249
+ maxShort: number;
250
+ }>;
251
+ export declare const UtilizationSchema: z.ZodObject<{
252
+ utilizationLong: z.ZodNumber;
253
+ utilizationShort: z.ZodNumber;
254
+ }, "strip", z.ZodTypeAny, {
255
+ utilizationLong: number;
256
+ utilizationShort: number;
257
+ }, {
258
+ utilizationLong: number;
259
+ utilizationShort: number;
260
+ }>;
261
+ export declare const SkewSchema: z.ZodObject<{
262
+ skew: z.ZodNumber;
263
+ }, "strip", z.ZodTypeAny, {
264
+ skew: number;
265
+ }, {
266
+ skew: number;
267
+ }>;
268
+ export declare const FeeSchema: z.ZodObject<{
269
+ feeP: z.ZodNumber;
270
+ }, "strip", z.ZodTypeAny, {
271
+ feeP: number;
272
+ }, {
273
+ feeP: number;
274
+ }>;
275
+ export declare const DepthSchema: z.ZodObject<{
276
+ onePercentDepthAboveUsdc: z.ZodNumber;
277
+ onePercentDepthBelowUsdc: z.ZodNumber;
278
+ }, "strip", z.ZodTypeAny, {
279
+ onePercentDepthAboveUsdc: number;
280
+ onePercentDepthBelowUsdc: number;
281
+ }, {
282
+ onePercentDepthAboveUsdc: number;
283
+ onePercentDepthBelowUsdc: number;
284
+ }>;
285
+ export declare const LossProtectionInfoSchema: z.ZodObject<{
286
+ tier: z.ZodNumber;
287
+ percentage: z.ZodNumber;
288
+ amount: z.ZodNumber;
289
+ }, "strip", z.ZodTypeAny, {
290
+ tier: number;
291
+ amount: number;
292
+ percentage: number;
293
+ }, {
294
+ tier: number;
295
+ amount: number;
296
+ percentage: number;
297
+ }>;
298
+ export declare const PairDataSchema: z.ZodObject<{
299
+ pairInfo: z.ZodObject<{
300
+ from: z.ZodString;
301
+ to: z.ZodString;
302
+ spread: z.ZodObject<{
303
+ min: z.ZodNumber;
304
+ max: z.ZodNumber;
305
+ }, "strip", z.ZodTypeAny, {
306
+ min: number;
307
+ max: number;
308
+ }, {
309
+ min: number;
310
+ max: number;
311
+ }>;
312
+ groupIndex: z.ZodNumber;
313
+ feeIndex: z.ZodNumber;
314
+ maxLeverage: z.ZodNumber;
315
+ maxLongOiP: z.ZodNumber;
316
+ maxShortOiP: z.ZodNumber;
317
+ }, "strip", z.ZodTypeAny, {
318
+ from: string;
319
+ to: string;
320
+ maxLeverage: number;
321
+ groupIndex: number;
322
+ feeIndex: number;
323
+ maxLongOiP: number;
324
+ maxShortOiP: number;
325
+ spread: {
326
+ min: number;
327
+ max: number;
328
+ };
329
+ }, {
330
+ from: string;
331
+ to: string;
332
+ maxLeverage: number;
333
+ groupIndex: number;
334
+ feeIndex: number;
335
+ maxLongOiP: number;
336
+ maxShortOiP: number;
337
+ spread: {
338
+ min: number;
339
+ max: number;
340
+ };
341
+ }>;
342
+ openInterest: z.ZodOptional<z.ZodObject<{
343
+ long: z.ZodNumber;
344
+ short: z.ZodNumber;
345
+ max: z.ZodNumber;
346
+ }, "strip", z.ZodTypeAny, {
347
+ long: number;
348
+ max: number;
349
+ short: number;
350
+ }, {
351
+ long: number;
352
+ max: number;
353
+ short: number;
354
+ }>>;
355
+ utilization: z.ZodOptional<z.ZodObject<{
356
+ utilizationLong: z.ZodNumber;
357
+ utilizationShort: z.ZodNumber;
358
+ }, "strip", z.ZodTypeAny, {
359
+ utilizationLong: number;
360
+ utilizationShort: number;
361
+ }, {
362
+ utilizationLong: number;
363
+ utilizationShort: number;
364
+ }>>;
365
+ skew: z.ZodOptional<z.ZodObject<{
366
+ skew: z.ZodNumber;
367
+ }, "strip", z.ZodTypeAny, {
368
+ skew: number;
369
+ }, {
370
+ skew: number;
371
+ }>>;
372
+ fee: z.ZodOptional<z.ZodObject<{
373
+ feeP: z.ZodNumber;
374
+ }, "strip", z.ZodTypeAny, {
375
+ feeP: number;
376
+ }, {
377
+ feeP: number;
378
+ }>>;
379
+ depth: z.ZodOptional<z.ZodObject<{
380
+ onePercentDepthAboveUsdc: z.ZodNumber;
381
+ onePercentDepthBelowUsdc: z.ZodNumber;
382
+ }, "strip", z.ZodTypeAny, {
383
+ onePercentDepthAboveUsdc: number;
384
+ onePercentDepthBelowUsdc: number;
385
+ }, {
386
+ onePercentDepthAboveUsdc: number;
387
+ onePercentDepthBelowUsdc: number;
388
+ }>>;
389
+ spread: z.ZodOptional<z.ZodNumber>;
390
+ }, "strip", z.ZodTypeAny, {
391
+ pairInfo: {
392
+ from: string;
393
+ to: string;
394
+ maxLeverage: number;
395
+ groupIndex: number;
396
+ feeIndex: number;
397
+ maxLongOiP: number;
398
+ maxShortOiP: number;
399
+ spread: {
400
+ min: number;
401
+ max: number;
402
+ };
403
+ };
404
+ fee?: {
405
+ feeP: number;
406
+ } | undefined;
407
+ spread?: number | undefined;
408
+ skew?: {
409
+ skew: number;
410
+ } | undefined;
411
+ openInterest?: {
412
+ long: number;
413
+ max: number;
414
+ short: number;
415
+ } | undefined;
416
+ utilization?: {
417
+ utilizationLong: number;
418
+ utilizationShort: number;
419
+ } | undefined;
420
+ depth?: {
421
+ onePercentDepthAboveUsdc: number;
422
+ onePercentDepthBelowUsdc: number;
423
+ } | undefined;
424
+ }, {
425
+ pairInfo: {
426
+ from: string;
427
+ to: string;
428
+ maxLeverage: number;
429
+ groupIndex: number;
430
+ feeIndex: number;
431
+ maxLongOiP: number;
432
+ maxShortOiP: number;
433
+ spread: {
434
+ min: number;
435
+ max: number;
436
+ };
437
+ };
438
+ fee?: {
439
+ feeP: number;
440
+ } | undefined;
441
+ spread?: number | undefined;
442
+ skew?: {
443
+ skew: number;
444
+ } | undefined;
445
+ openInterest?: {
446
+ long: number;
447
+ max: number;
448
+ short: number;
449
+ } | undefined;
450
+ utilization?: {
451
+ utilizationLong: number;
452
+ utilizationShort: number;
453
+ } | undefined;
454
+ depth?: {
455
+ onePercentDepthAboveUsdc: number;
456
+ onePercentDepthBelowUsdc: number;
457
+ } | undefined;
458
+ }>;
459
+ export declare const GroupSchema: z.ZodObject<{
460
+ groupIndex: z.ZodNumber;
461
+ pairs: z.ZodRecord<z.ZodString, z.ZodObject<{
462
+ pairInfo: z.ZodObject<{
463
+ from: z.ZodString;
464
+ to: z.ZodString;
465
+ spread: z.ZodObject<{
466
+ min: z.ZodNumber;
467
+ max: z.ZodNumber;
468
+ }, "strip", z.ZodTypeAny, {
469
+ min: number;
470
+ max: number;
471
+ }, {
472
+ min: number;
473
+ max: number;
474
+ }>;
475
+ groupIndex: z.ZodNumber;
476
+ feeIndex: z.ZodNumber;
477
+ maxLeverage: z.ZodNumber;
478
+ maxLongOiP: z.ZodNumber;
479
+ maxShortOiP: z.ZodNumber;
480
+ }, "strip", z.ZodTypeAny, {
481
+ from: string;
482
+ to: string;
483
+ maxLeverage: number;
484
+ groupIndex: number;
485
+ feeIndex: number;
486
+ maxLongOiP: number;
487
+ maxShortOiP: number;
488
+ spread: {
489
+ min: number;
490
+ max: number;
491
+ };
492
+ }, {
493
+ from: string;
494
+ to: string;
495
+ maxLeverage: number;
496
+ groupIndex: number;
497
+ feeIndex: number;
498
+ maxLongOiP: number;
499
+ maxShortOiP: number;
500
+ spread: {
501
+ min: number;
502
+ max: number;
503
+ };
504
+ }>;
505
+ openInterest: z.ZodOptional<z.ZodObject<{
506
+ long: z.ZodNumber;
507
+ short: z.ZodNumber;
508
+ max: z.ZodNumber;
509
+ }, "strip", z.ZodTypeAny, {
510
+ long: number;
511
+ max: number;
512
+ short: number;
513
+ }, {
514
+ long: number;
515
+ max: number;
516
+ short: number;
517
+ }>>;
518
+ utilization: z.ZodOptional<z.ZodObject<{
519
+ utilizationLong: z.ZodNumber;
520
+ utilizationShort: z.ZodNumber;
521
+ }, "strip", z.ZodTypeAny, {
522
+ utilizationLong: number;
523
+ utilizationShort: number;
524
+ }, {
525
+ utilizationLong: number;
526
+ utilizationShort: number;
527
+ }>>;
528
+ skew: z.ZodOptional<z.ZodObject<{
529
+ skew: z.ZodNumber;
530
+ }, "strip", z.ZodTypeAny, {
531
+ skew: number;
532
+ }, {
533
+ skew: number;
534
+ }>>;
535
+ fee: z.ZodOptional<z.ZodObject<{
536
+ feeP: z.ZodNumber;
537
+ }, "strip", z.ZodTypeAny, {
538
+ feeP: number;
539
+ }, {
540
+ feeP: number;
541
+ }>>;
542
+ depth: z.ZodOptional<z.ZodObject<{
543
+ onePercentDepthAboveUsdc: z.ZodNumber;
544
+ onePercentDepthBelowUsdc: z.ZodNumber;
545
+ }, "strip", z.ZodTypeAny, {
546
+ onePercentDepthAboveUsdc: number;
547
+ onePercentDepthBelowUsdc: number;
548
+ }, {
549
+ onePercentDepthAboveUsdc: number;
550
+ onePercentDepthBelowUsdc: number;
551
+ }>>;
552
+ spread: z.ZodOptional<z.ZodNumber>;
553
+ }, "strip", z.ZodTypeAny, {
554
+ pairInfo: {
555
+ from: string;
556
+ to: string;
557
+ maxLeverage: number;
558
+ groupIndex: number;
559
+ feeIndex: number;
560
+ maxLongOiP: number;
561
+ maxShortOiP: number;
562
+ spread: {
563
+ min: number;
564
+ max: number;
565
+ };
566
+ };
567
+ fee?: {
568
+ feeP: number;
569
+ } | undefined;
570
+ spread?: number | undefined;
571
+ skew?: {
572
+ skew: number;
573
+ } | undefined;
574
+ openInterest?: {
575
+ long: number;
576
+ max: number;
577
+ short: number;
578
+ } | undefined;
579
+ utilization?: {
580
+ utilizationLong: number;
581
+ utilizationShort: number;
582
+ } | undefined;
583
+ depth?: {
584
+ onePercentDepthAboveUsdc: number;
585
+ onePercentDepthBelowUsdc: number;
586
+ } | undefined;
587
+ }, {
588
+ pairInfo: {
589
+ from: string;
590
+ to: string;
591
+ maxLeverage: number;
592
+ groupIndex: number;
593
+ feeIndex: number;
594
+ maxLongOiP: number;
595
+ maxShortOiP: number;
596
+ spread: {
597
+ min: number;
598
+ max: number;
599
+ };
600
+ };
601
+ fee?: {
602
+ feeP: number;
603
+ } | undefined;
604
+ spread?: number | undefined;
605
+ skew?: {
606
+ skew: number;
607
+ } | undefined;
608
+ openInterest?: {
609
+ long: number;
610
+ max: number;
611
+ short: number;
612
+ } | undefined;
613
+ utilization?: {
614
+ utilizationLong: number;
615
+ utilizationShort: number;
616
+ } | undefined;
617
+ depth?: {
618
+ onePercentDepthAboveUsdc: number;
619
+ onePercentDepthBelowUsdc: number;
620
+ } | undefined;
621
+ }>>;
622
+ openInterest: z.ZodOptional<z.ZodObject<{
623
+ long: z.ZodNumber;
624
+ short: z.ZodNumber;
625
+ max: z.ZodNumber;
626
+ }, "strip", z.ZodTypeAny, {
627
+ long: number;
628
+ max: number;
629
+ short: number;
630
+ }, {
631
+ long: number;
632
+ max: number;
633
+ short: number;
634
+ }>>;
635
+ utilization: z.ZodOptional<z.ZodObject<{
636
+ utilizationLong: z.ZodNumber;
637
+ utilizationShort: z.ZodNumber;
638
+ }, "strip", z.ZodTypeAny, {
639
+ utilizationLong: number;
640
+ utilizationShort: number;
641
+ }, {
642
+ utilizationLong: number;
643
+ utilizationShort: number;
644
+ }>>;
645
+ skew: z.ZodOptional<z.ZodObject<{
646
+ skew: z.ZodNumber;
647
+ }, "strip", z.ZodTypeAny, {
648
+ skew: number;
649
+ }, {
650
+ skew: number;
651
+ }>>;
652
+ }, "strip", z.ZodTypeAny, {
653
+ groupIndex: number;
654
+ pairs: Record<string, {
655
+ pairInfo: {
656
+ from: string;
657
+ to: string;
658
+ maxLeverage: number;
659
+ groupIndex: number;
660
+ feeIndex: number;
661
+ maxLongOiP: number;
662
+ maxShortOiP: number;
663
+ spread: {
664
+ min: number;
665
+ max: number;
666
+ };
667
+ };
668
+ fee?: {
669
+ feeP: number;
670
+ } | undefined;
671
+ spread?: number | undefined;
672
+ skew?: {
673
+ skew: number;
674
+ } | undefined;
675
+ openInterest?: {
676
+ long: number;
677
+ max: number;
678
+ short: number;
679
+ } | undefined;
680
+ utilization?: {
681
+ utilizationLong: number;
682
+ utilizationShort: number;
683
+ } | undefined;
684
+ depth?: {
685
+ onePercentDepthAboveUsdc: number;
686
+ onePercentDepthBelowUsdc: number;
687
+ } | undefined;
688
+ }>;
689
+ skew?: {
690
+ skew: number;
691
+ } | undefined;
692
+ openInterest?: {
693
+ long: number;
694
+ max: number;
695
+ short: number;
696
+ } | undefined;
697
+ utilization?: {
698
+ utilizationLong: number;
699
+ utilizationShort: number;
700
+ } | undefined;
701
+ }, {
702
+ groupIndex: number;
703
+ pairs: Record<string, {
704
+ pairInfo: {
705
+ from: string;
706
+ to: string;
707
+ maxLeverage: number;
708
+ groupIndex: number;
709
+ feeIndex: number;
710
+ maxLongOiP: number;
711
+ maxShortOiP: number;
712
+ spread: {
713
+ min: number;
714
+ max: number;
715
+ };
716
+ };
717
+ fee?: {
718
+ feeP: number;
719
+ } | undefined;
720
+ spread?: number | undefined;
721
+ skew?: {
722
+ skew: number;
723
+ } | undefined;
724
+ openInterest?: {
725
+ long: number;
726
+ max: number;
727
+ short: number;
728
+ } | undefined;
729
+ utilization?: {
730
+ utilizationLong: number;
731
+ utilizationShort: number;
732
+ } | undefined;
733
+ depth?: {
734
+ onePercentDepthAboveUsdc: number;
735
+ onePercentDepthBelowUsdc: number;
736
+ } | undefined;
737
+ }>;
738
+ skew?: {
739
+ skew: number;
740
+ } | undefined;
741
+ openInterest?: {
742
+ long: number;
743
+ max: number;
744
+ short: number;
745
+ } | undefined;
746
+ utilization?: {
747
+ utilizationLong: number;
748
+ utilizationShort: number;
749
+ } | undefined;
750
+ }>;
751
+ export declare const SnapshotSchema: z.ZodObject<{
752
+ groups: z.ZodRecord<z.ZodString, z.ZodObject<{
753
+ groupIndex: z.ZodNumber;
754
+ pairs: z.ZodRecord<z.ZodString, z.ZodObject<{
755
+ pairInfo: z.ZodObject<{
756
+ from: z.ZodString;
757
+ to: z.ZodString;
758
+ spread: z.ZodObject<{
759
+ min: z.ZodNumber;
760
+ max: z.ZodNumber;
761
+ }, "strip", z.ZodTypeAny, {
762
+ min: number;
763
+ max: number;
764
+ }, {
765
+ min: number;
766
+ max: number;
767
+ }>;
768
+ groupIndex: z.ZodNumber;
769
+ feeIndex: z.ZodNumber;
770
+ maxLeverage: z.ZodNumber;
771
+ maxLongOiP: z.ZodNumber;
772
+ maxShortOiP: z.ZodNumber;
773
+ }, "strip", z.ZodTypeAny, {
774
+ from: string;
775
+ to: string;
776
+ maxLeverage: number;
777
+ groupIndex: number;
778
+ feeIndex: number;
779
+ maxLongOiP: number;
780
+ maxShortOiP: number;
781
+ spread: {
782
+ min: number;
783
+ max: number;
784
+ };
785
+ }, {
786
+ from: string;
787
+ to: string;
788
+ maxLeverage: number;
789
+ groupIndex: number;
790
+ feeIndex: number;
791
+ maxLongOiP: number;
792
+ maxShortOiP: number;
793
+ spread: {
794
+ min: number;
795
+ max: number;
796
+ };
797
+ }>;
798
+ openInterest: z.ZodOptional<z.ZodObject<{
799
+ long: z.ZodNumber;
800
+ short: z.ZodNumber;
801
+ max: z.ZodNumber;
802
+ }, "strip", z.ZodTypeAny, {
803
+ long: number;
804
+ max: number;
805
+ short: number;
806
+ }, {
807
+ long: number;
808
+ max: number;
809
+ short: number;
810
+ }>>;
811
+ utilization: z.ZodOptional<z.ZodObject<{
812
+ utilizationLong: z.ZodNumber;
813
+ utilizationShort: z.ZodNumber;
814
+ }, "strip", z.ZodTypeAny, {
815
+ utilizationLong: number;
816
+ utilizationShort: number;
817
+ }, {
818
+ utilizationLong: number;
819
+ utilizationShort: number;
820
+ }>>;
821
+ skew: z.ZodOptional<z.ZodObject<{
822
+ skew: z.ZodNumber;
823
+ }, "strip", z.ZodTypeAny, {
824
+ skew: number;
825
+ }, {
826
+ skew: number;
827
+ }>>;
828
+ fee: z.ZodOptional<z.ZodObject<{
829
+ feeP: z.ZodNumber;
830
+ }, "strip", z.ZodTypeAny, {
831
+ feeP: number;
832
+ }, {
833
+ feeP: number;
834
+ }>>;
835
+ depth: z.ZodOptional<z.ZodObject<{
836
+ onePercentDepthAboveUsdc: z.ZodNumber;
837
+ onePercentDepthBelowUsdc: z.ZodNumber;
838
+ }, "strip", z.ZodTypeAny, {
839
+ onePercentDepthAboveUsdc: number;
840
+ onePercentDepthBelowUsdc: number;
841
+ }, {
842
+ onePercentDepthAboveUsdc: number;
843
+ onePercentDepthBelowUsdc: number;
844
+ }>>;
845
+ spread: z.ZodOptional<z.ZodNumber>;
846
+ }, "strip", z.ZodTypeAny, {
847
+ pairInfo: {
848
+ from: string;
849
+ to: string;
850
+ maxLeverage: number;
851
+ groupIndex: number;
852
+ feeIndex: number;
853
+ maxLongOiP: number;
854
+ maxShortOiP: number;
855
+ spread: {
856
+ min: number;
857
+ max: number;
858
+ };
859
+ };
860
+ fee?: {
861
+ feeP: number;
862
+ } | undefined;
863
+ spread?: number | undefined;
864
+ skew?: {
865
+ skew: number;
866
+ } | undefined;
867
+ openInterest?: {
868
+ long: number;
869
+ max: number;
870
+ short: number;
871
+ } | undefined;
872
+ utilization?: {
873
+ utilizationLong: number;
874
+ utilizationShort: number;
875
+ } | undefined;
876
+ depth?: {
877
+ onePercentDepthAboveUsdc: number;
878
+ onePercentDepthBelowUsdc: number;
879
+ } | undefined;
880
+ }, {
881
+ pairInfo: {
882
+ from: string;
883
+ to: string;
884
+ maxLeverage: number;
885
+ groupIndex: number;
886
+ feeIndex: number;
887
+ maxLongOiP: number;
888
+ maxShortOiP: number;
889
+ spread: {
890
+ min: number;
891
+ max: number;
892
+ };
893
+ };
894
+ fee?: {
895
+ feeP: number;
896
+ } | undefined;
897
+ spread?: number | undefined;
898
+ skew?: {
899
+ skew: number;
900
+ } | undefined;
901
+ openInterest?: {
902
+ long: number;
903
+ max: number;
904
+ short: number;
905
+ } | undefined;
906
+ utilization?: {
907
+ utilizationLong: number;
908
+ utilizationShort: number;
909
+ } | undefined;
910
+ depth?: {
911
+ onePercentDepthAboveUsdc: number;
912
+ onePercentDepthBelowUsdc: number;
913
+ } | undefined;
914
+ }>>;
915
+ openInterest: z.ZodOptional<z.ZodObject<{
916
+ long: z.ZodNumber;
917
+ short: z.ZodNumber;
918
+ max: z.ZodNumber;
919
+ }, "strip", z.ZodTypeAny, {
920
+ long: number;
921
+ max: number;
922
+ short: number;
923
+ }, {
924
+ long: number;
925
+ max: number;
926
+ short: number;
927
+ }>>;
928
+ utilization: z.ZodOptional<z.ZodObject<{
929
+ utilizationLong: z.ZodNumber;
930
+ utilizationShort: z.ZodNumber;
931
+ }, "strip", z.ZodTypeAny, {
932
+ utilizationLong: number;
933
+ utilizationShort: number;
934
+ }, {
935
+ utilizationLong: number;
936
+ utilizationShort: number;
937
+ }>>;
938
+ skew: z.ZodOptional<z.ZodObject<{
939
+ skew: z.ZodNumber;
940
+ }, "strip", z.ZodTypeAny, {
941
+ skew: number;
942
+ }, {
943
+ skew: number;
944
+ }>>;
945
+ }, "strip", z.ZodTypeAny, {
946
+ groupIndex: number;
947
+ pairs: Record<string, {
948
+ pairInfo: {
949
+ from: string;
950
+ to: string;
951
+ maxLeverage: number;
952
+ groupIndex: number;
953
+ feeIndex: number;
954
+ maxLongOiP: number;
955
+ maxShortOiP: number;
956
+ spread: {
957
+ min: number;
958
+ max: number;
959
+ };
960
+ };
961
+ fee?: {
962
+ feeP: number;
963
+ } | undefined;
964
+ spread?: number | undefined;
965
+ skew?: {
966
+ skew: number;
967
+ } | undefined;
968
+ openInterest?: {
969
+ long: number;
970
+ max: number;
971
+ short: number;
972
+ } | undefined;
973
+ utilization?: {
974
+ utilizationLong: number;
975
+ utilizationShort: number;
976
+ } | undefined;
977
+ depth?: {
978
+ onePercentDepthAboveUsdc: number;
979
+ onePercentDepthBelowUsdc: number;
980
+ } | undefined;
981
+ }>;
982
+ skew?: {
983
+ skew: number;
984
+ } | undefined;
985
+ openInterest?: {
986
+ long: number;
987
+ max: number;
988
+ short: number;
989
+ } | undefined;
990
+ utilization?: {
991
+ utilizationLong: number;
992
+ utilizationShort: number;
993
+ } | undefined;
994
+ }, {
995
+ groupIndex: number;
996
+ pairs: Record<string, {
997
+ pairInfo: {
998
+ from: string;
999
+ to: string;
1000
+ maxLeverage: number;
1001
+ groupIndex: number;
1002
+ feeIndex: number;
1003
+ maxLongOiP: number;
1004
+ maxShortOiP: number;
1005
+ spread: {
1006
+ min: number;
1007
+ max: number;
1008
+ };
1009
+ };
1010
+ fee?: {
1011
+ feeP: number;
1012
+ } | undefined;
1013
+ spread?: number | undefined;
1014
+ skew?: {
1015
+ skew: number;
1016
+ } | undefined;
1017
+ openInterest?: {
1018
+ long: number;
1019
+ max: number;
1020
+ short: number;
1021
+ } | undefined;
1022
+ utilization?: {
1023
+ utilizationLong: number;
1024
+ utilizationShort: number;
1025
+ } | undefined;
1026
+ depth?: {
1027
+ onePercentDepthAboveUsdc: number;
1028
+ onePercentDepthBelowUsdc: number;
1029
+ } | undefined;
1030
+ }>;
1031
+ skew?: {
1032
+ skew: number;
1033
+ } | undefined;
1034
+ openInterest?: {
1035
+ long: number;
1036
+ max: number;
1037
+ short: number;
1038
+ } | undefined;
1039
+ utilization?: {
1040
+ utilizationLong: number;
1041
+ utilizationShort: number;
1042
+ } | undefined;
1043
+ }>>;
1044
+ }, "strip", z.ZodTypeAny, {
1045
+ groups: Record<string, {
1046
+ groupIndex: number;
1047
+ pairs: Record<string, {
1048
+ pairInfo: {
1049
+ from: string;
1050
+ to: string;
1051
+ maxLeverage: number;
1052
+ groupIndex: number;
1053
+ feeIndex: number;
1054
+ maxLongOiP: number;
1055
+ maxShortOiP: number;
1056
+ spread: {
1057
+ min: number;
1058
+ max: number;
1059
+ };
1060
+ };
1061
+ fee?: {
1062
+ feeP: number;
1063
+ } | undefined;
1064
+ spread?: number | undefined;
1065
+ skew?: {
1066
+ skew: number;
1067
+ } | undefined;
1068
+ openInterest?: {
1069
+ long: number;
1070
+ max: number;
1071
+ short: number;
1072
+ } | undefined;
1073
+ utilization?: {
1074
+ utilizationLong: number;
1075
+ utilizationShort: number;
1076
+ } | undefined;
1077
+ depth?: {
1078
+ onePercentDepthAboveUsdc: number;
1079
+ onePercentDepthBelowUsdc: number;
1080
+ } | undefined;
1081
+ }>;
1082
+ skew?: {
1083
+ skew: number;
1084
+ } | undefined;
1085
+ openInterest?: {
1086
+ long: number;
1087
+ max: number;
1088
+ short: number;
1089
+ } | undefined;
1090
+ utilization?: {
1091
+ utilizationLong: number;
1092
+ utilizationShort: number;
1093
+ } | undefined;
1094
+ }>;
1095
+ }, {
1096
+ groups: Record<string, {
1097
+ groupIndex: number;
1098
+ pairs: Record<string, {
1099
+ pairInfo: {
1100
+ from: string;
1101
+ to: string;
1102
+ maxLeverage: number;
1103
+ groupIndex: number;
1104
+ feeIndex: number;
1105
+ maxLongOiP: number;
1106
+ maxShortOiP: number;
1107
+ spread: {
1108
+ min: number;
1109
+ max: number;
1110
+ };
1111
+ };
1112
+ fee?: {
1113
+ feeP: number;
1114
+ } | undefined;
1115
+ spread?: number | undefined;
1116
+ skew?: {
1117
+ skew: number;
1118
+ } | undefined;
1119
+ openInterest?: {
1120
+ long: number;
1121
+ max: number;
1122
+ short: number;
1123
+ } | undefined;
1124
+ utilization?: {
1125
+ utilizationLong: number;
1126
+ utilizationShort: number;
1127
+ } | undefined;
1128
+ depth?: {
1129
+ onePercentDepthAboveUsdc: number;
1130
+ onePercentDepthBelowUsdc: number;
1131
+ } | undefined;
1132
+ }>;
1133
+ skew?: {
1134
+ skew: number;
1135
+ } | undefined;
1136
+ openInterest?: {
1137
+ long: number;
1138
+ max: number;
1139
+ short: number;
1140
+ } | undefined;
1141
+ utilization?: {
1142
+ utilizationLong: number;
1143
+ utilizationShort: number;
1144
+ } | undefined;
1145
+ }>;
1146
+ }>;
1147
+ export declare const TradeSchema: z.ZodObject<{
1148
+ trader: z.ZodString;
1149
+ pairIndex: z.ZodNumber;
1150
+ index: z.ZodNumber;
1151
+ initialPosToken: z.ZodNumber;
1152
+ positionSizeUSDC: z.ZodNumber;
1153
+ openPrice: z.ZodNumber;
1154
+ buy: z.ZodBoolean;
1155
+ leverage: z.ZodNumber;
1156
+ tp: z.ZodNumber;
1157
+ sl: z.ZodNumber;
1158
+ timestamp: z.ZodNumber;
1159
+ }, "strip", z.ZodTypeAny, {
1160
+ trader: string;
1161
+ pairIndex: number;
1162
+ timestamp: number;
1163
+ index: number;
1164
+ initialPosToken: number;
1165
+ positionSizeUSDC: number;
1166
+ openPrice: number;
1167
+ buy: boolean;
1168
+ leverage: number;
1169
+ tp: number;
1170
+ sl: number;
1171
+ }, {
1172
+ trader: string;
1173
+ pairIndex: number;
1174
+ timestamp: number;
1175
+ index: number;
1176
+ initialPosToken: number;
1177
+ positionSizeUSDC: number;
1178
+ openPrice: number;
1179
+ buy: boolean;
1180
+ leverage: number;
1181
+ tp: number;
1182
+ sl: number;
1183
+ }>;
1184
+ export declare const TradeInfoSchema: z.ZodObject<{
1185
+ openInterestUSDC: z.ZodNumber;
1186
+ tpLastUpdated: z.ZodNumber;
1187
+ slLastUpdated: z.ZodNumber;
1188
+ beingMarketClosed: z.ZodBoolean;
1189
+ lossProtection: z.ZodNumber;
1190
+ }, "strip", z.ZodTypeAny, {
1191
+ lossProtection: number;
1192
+ openInterestUSDC: number;
1193
+ tpLastUpdated: number;
1194
+ slLastUpdated: number;
1195
+ beingMarketClosed: boolean;
1196
+ }, {
1197
+ lossProtection: number;
1198
+ openInterestUSDC: number;
1199
+ tpLastUpdated: number;
1200
+ slLastUpdated: number;
1201
+ beingMarketClosed: boolean;
1202
+ }>;
1203
+ export declare const OpenLimitOrderSchema: z.ZodObject<{
1204
+ trader: z.ZodString;
1205
+ pairIndex: z.ZodNumber;
1206
+ index: z.ZodNumber;
1207
+ positionSize: z.ZodNumber;
1208
+ buy: z.ZodBoolean;
1209
+ leverage: z.ZodNumber;
1210
+ tp: z.ZodNumber;
1211
+ sl: z.ZodNumber;
1212
+ price: z.ZodNumber;
1213
+ slippageP: z.ZodNumber;
1214
+ block: z.ZodNumber;
1215
+ executionFee: z.ZodNumber;
1216
+ }, "strip", z.ZodTypeAny, {
1217
+ trader: string;
1218
+ pairIndex: number;
1219
+ index: number;
1220
+ buy: boolean;
1221
+ leverage: number;
1222
+ tp: number;
1223
+ sl: number;
1224
+ executionFee: number;
1225
+ slippageP: number;
1226
+ positionSize: number;
1227
+ price: number;
1228
+ block: number;
1229
+ }, {
1230
+ trader: string;
1231
+ pairIndex: number;
1232
+ index: number;
1233
+ buy: boolean;
1234
+ leverage: number;
1235
+ tp: number;
1236
+ sl: number;
1237
+ executionFee: number;
1238
+ slippageP: number;
1239
+ positionSize: number;
1240
+ price: number;
1241
+ block: number;
1242
+ }>;
1243
+ export declare const ReferralTierSchema: z.ZodObject<{
1244
+ feeDiscountPct: z.ZodNumber;
1245
+ refRebatePct: z.ZodNumber;
1246
+ }, "strip", z.ZodTypeAny, {
1247
+ feeDiscountPct: number;
1248
+ refRebatePct: number;
1249
+ }, {
1250
+ feeDiscountPct: number;
1251
+ refRebatePct: number;
1252
+ }>;
1253
+ export declare const ReferralDiscountSchema: z.ZodObject<{
1254
+ traderDiscount: z.ZodNumber;
1255
+ referrer: z.ZodString;
1256
+ rebateShare: z.ZodNumber;
1257
+ }, "strip", z.ZodTypeAny, {
1258
+ referrer: string;
1259
+ rebateShare: number;
1260
+ traderDiscount: number;
1261
+ }, {
1262
+ referrer: string;
1263
+ rebateShare: number;
1264
+ traderDiscount: number;
1265
+ }>;
1266
+ export type Spread = z.infer<typeof SpreadSchema>;
1267
+ export type PairInfo = z.infer<typeof PairInfoSchema>;
1268
+ export type TradeInput = z.infer<typeof TradeInputSchema>;
1269
+ export type TradeResponse = z.infer<typeof TradeResponseSchema>;
1270
+ export type Price = z.infer<typeof PriceSchema>;
1271
+ export type EmaPrice = z.infer<typeof EmaPriceSchema>;
1272
+ export type PriceFeedResponse = z.infer<typeof PriceFeedResponseSchema>;
1273
+ export type OpenInterest = z.infer<typeof OpenInterestSchema>;
1274
+ export type OpenInterestLimits = z.infer<typeof OpenInterestLimitsSchema>;
1275
+ export type Utilization = z.infer<typeof UtilizationSchema>;
1276
+ export type Skew = z.infer<typeof SkewSchema>;
1277
+ export type Fee = z.infer<typeof FeeSchema>;
1278
+ export type Depth = z.infer<typeof DepthSchema>;
1279
+ export type LossProtectionInfo = z.infer<typeof LossProtectionInfoSchema>;
1280
+ export type PairData = z.infer<typeof PairDataSchema>;
1281
+ export type Group = z.infer<typeof GroupSchema>;
1282
+ export type Snapshot = z.infer<typeof SnapshotSchema>;
1283
+ export type Trade = z.infer<typeof TradeSchema>;
1284
+ export type TradeInfo = z.infer<typeof TradeInfoSchema>;
1285
+ export type OpenLimitOrder = z.infer<typeof OpenLimitOrderSchema>;
1286
+ export type ReferralTier = z.infer<typeof ReferralTierSchema>;
1287
+ export type ReferralDiscount = z.infer<typeof ReferralDiscountSchema>;
1288
+ export interface ContractCallOptions {
1289
+ value?: bigint;
1290
+ gasLimit?: bigint;
1291
+ }
1292
+ export interface TransactionReceipt {
1293
+ transactionHash: string;
1294
+ blockNumber: number;
1295
+ status: number;
1296
+ gasUsed: bigint;
1297
+ }
1298
+ /**
1299
+ * Convert blockchain integer to decimal (10^10 precision)
1300
+ */
1301
+ export declare function fromBlockchain10(value: bigint | number | string): number;
1302
+ /**
1303
+ * Convert blockchain integer to decimal (10^6 precision for USDC)
1304
+ */
1305
+ export declare function fromBlockchain6(value: bigint | number | string): number;
1306
+ /**
1307
+ * Convert decimal to blockchain integer (10^10 precision)
1308
+ */
1309
+ export declare function toBlockchain10(value: number): bigint;
1310
+ /**
1311
+ * Convert decimal to blockchain integer (10^6 precision for USDC)
1312
+ */
1313
+ export declare function toBlockchain6(value: number): bigint;
1314
+ /**
1315
+ * Convert blockchain integer to decimal (10^12 precision for fees)
1316
+ */
1317
+ export declare function fromBlockchain12(value: bigint | number | string): number;
1318
+ /**
1319
+ * Convert decimal to blockchain integer (10^12 precision for fees)
1320
+ */
1321
+ export declare function toBlockchain12(value: number): bigint;
1322
+ /**
1323
+ * Convert blockchain integer to decimal (10^18 precision for ETH/execution fees)
1324
+ */
1325
+ export declare function fromBlockchain18(value: bigint | number | string): number;
1326
+ /**
1327
+ * Convert decimal to blockchain integer (10^18 precision for ETH/execution fees)
1328
+ */
1329
+ export declare function toBlockchain18(value: number): bigint;
1330
+ export interface ContractPairInfo {
1331
+ feed: {
1332
+ maxOpenDeviationP: bigint;
1333
+ maxCloseDeviationP: bigint;
1334
+ feedId: string;
1335
+ };
1336
+ backupFeed: {
1337
+ maxDeviationP: bigint;
1338
+ feedId: string;
1339
+ };
1340
+ spreadP: bigint;
1341
+ pnlSpreadP: bigint;
1342
+ leverages: {
1343
+ minLeverage: bigint;
1344
+ maxLeverage: bigint;
1345
+ pnlMinLeverage: bigint;
1346
+ pnlMaxLeverage: bigint;
1347
+ };
1348
+ priceImpactMultiplier: bigint;
1349
+ skewImpactMultiplier: bigint;
1350
+ groupIndex: bigint;
1351
+ feeIndex: bigint;
1352
+ values: {
1353
+ maxGainP: bigint;
1354
+ maxSlP: bigint;
1355
+ maxLongOiP: bigint;
1356
+ maxShortOiP: bigint;
1357
+ groupOpenInterestPercentageP: bigint;
1358
+ maxWalletOIP: bigint;
1359
+ isUSDCAligned: boolean;
1360
+ };
1361
+ }
1362
+ export interface FeedStruct {
1363
+ maxOpenDeviationP: bigint;
1364
+ maxCloseDeviationP: bigint;
1365
+ feedId: string;
1366
+ }
1367
+ export interface BackupFeedStruct {
1368
+ maxDeviationP: bigint;
1369
+ feedId: string;
1370
+ }
1371
+ export interface LeverageStruct {
1372
+ minLeverage: bigint;
1373
+ maxLeverage: bigint;
1374
+ pnlMinLeverage: bigint;
1375
+ pnlMaxLeverage: bigint;
1376
+ }
1377
+ export interface ValuesStruct {
1378
+ maxGainP: bigint;
1379
+ maxSlP: bigint;
1380
+ maxLongOiP: bigint;
1381
+ maxShortOiP: bigint;
1382
+ groupOpenInterestPercentageP: bigint;
1383
+ maxWalletOIP: bigint;
1384
+ isUSDCAligned: boolean;
1385
+ }
1386
+ export interface PairStruct {
1387
+ feed: FeedStruct;
1388
+ backupFeed: BackupFeedStruct;
1389
+ spreadP: bigint;
1390
+ pnlSpreadP: bigint;
1391
+ leverages: LeverageStruct;
1392
+ priceImpactMultiplier: bigint;
1393
+ skewImpactMultiplier: bigint;
1394
+ groupIndex: bigint;
1395
+ feeIndex: bigint;
1396
+ values: ValuesStruct;
1397
+ }
1398
+ export interface GroupStruct {
1399
+ name: string;
1400
+ maxOpenInterestP: bigint;
1401
+ isSpreadDynamic: boolean;
1402
+ }
1403
+ export interface PnlFeesStruct {
1404
+ numTiers: bigint;
1405
+ tierP: bigint[];
1406
+ feesP: bigint[];
1407
+ }
1408
+ export interface FeeStruct {
1409
+ openFeeP: bigint;
1410
+ closeFeeP: bigint;
1411
+ limitOrderFeeP: bigint;
1412
+ minLevPosUSDC: bigint;
1413
+ pnlFees: PnlFeesStruct;
1414
+ }
1415
+ export type PairsBackendReturn = {
1416
+ pair: PairStruct;
1417
+ group: GroupStruct;
1418
+ fee: FeeStruct;
1419
+ };