flash-sdk 1.0.0

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 (98) hide show
  1. package/lib/CustodyAccount.d.ts +29 -0
  2. package/lib/CustodyAccount.d.ts.map +1 -0
  3. package/lib/CustodyAccount.js +64 -0
  4. package/lib/CustodyAccount.js.map +1 -0
  5. package/lib/OraclePrice.d.ts +18 -0
  6. package/lib/OraclePrice.d.ts.map +1 -0
  7. package/lib/OraclePrice.js +83 -0
  8. package/lib/OraclePrice.js.map +1 -0
  9. package/lib/PerpetualsClient.d.ts +1937 -0
  10. package/lib/PerpetualsClient.d.ts.map +1 -0
  11. package/lib/PerpetualsClient.js +1013 -0
  12. package/lib/PerpetualsClient.js.map +1 -0
  13. package/lib/PoolAccount.d.ts +34 -0
  14. package/lib/PoolAccount.d.ts.map +1 -0
  15. package/lib/PoolAccount.js +306 -0
  16. package/lib/PoolAccount.js.map +1 -0
  17. package/lib/PositionAccount.d.ts +26 -0
  18. package/lib/PositionAccount.d.ts.map +1 -0
  19. package/lib/PositionAccount.js +90 -0
  20. package/lib/PositionAccount.js.map +1 -0
  21. package/lib/client/src/CustodyAccount.d.ts +30 -0
  22. package/lib/client/src/CustodyAccount.d.ts.map +1 -0
  23. package/lib/client/src/CustodyAccount.js +64 -0
  24. package/lib/client/src/CustodyAccount.js.map +1 -0
  25. package/lib/client/src/OraclePrice.d.ts +19 -0
  26. package/lib/client/src/OraclePrice.d.ts.map +1 -0
  27. package/lib/client/src/OraclePrice.js +84 -0
  28. package/lib/client/src/OraclePrice.js.map +1 -0
  29. package/lib/client/src/PerpetualsClient.d.ts +1940 -0
  30. package/lib/client/src/PerpetualsClient.d.ts.map +1 -0
  31. package/lib/client/src/PerpetualsClient.js +1013 -0
  32. package/lib/client/src/PerpetualsClient.js.map +1 -0
  33. package/lib/client/src/PoolAccount.d.ts +35 -0
  34. package/lib/client/src/PoolAccount.d.ts.map +1 -0
  35. package/lib/client/src/PoolAccount.js +307 -0
  36. package/lib/client/src/PoolAccount.js.map +1 -0
  37. package/lib/client/src/PositionAccount.d.ts +27 -0
  38. package/lib/client/src/PositionAccount.d.ts.map +1 -0
  39. package/lib/client/src/PositionAccount.js +91 -0
  40. package/lib/client/src/PositionAccount.js.map +1 -0
  41. package/lib/client/src/constants/index.d.ts +12 -0
  42. package/lib/client/src/constants/index.d.ts.map +1 -0
  43. package/lib/client/src/constants/index.js +15 -0
  44. package/lib/client/src/constants/index.js.map +1 -0
  45. package/lib/client/src/index.d.ts +8 -0
  46. package/lib/client/src/index.d.ts.map +1 -0
  47. package/lib/client/src/index.js +24 -0
  48. package/lib/client/src/index.js.map +1 -0
  49. package/lib/client/src/target/types/perpetuals.d.ts +3539 -0
  50. package/lib/client/src/target/types/perpetuals.d.ts.map +1 -0
  51. package/lib/client/src/target/types/perpetuals.js +3541 -0
  52. package/lib/client/src/target/types/perpetuals.js.map +1 -0
  53. package/lib/client/src/types/index.d.ts +188 -0
  54. package/lib/client/src/types/index.d.ts.map +1 -0
  55. package/lib/client/src/types/index.js +57 -0
  56. package/lib/client/src/types/index.js.map +1 -0
  57. package/lib/client/src/utils/helpers.d.ts +8 -0
  58. package/lib/client/src/utils/helpers.d.ts.map +1 -0
  59. package/lib/client/src/utils/helpers.js +152 -0
  60. package/lib/client/src/utils/helpers.js.map +1 -0
  61. package/lib/constants/index.d.ts +11 -0
  62. package/lib/constants/index.d.ts.map +1 -0
  63. package/lib/constants/index.js +14 -0
  64. package/lib/constants/index.js.map +1 -0
  65. package/lib/index.d.ts +8 -0
  66. package/lib/index.d.ts.map +1 -0
  67. package/lib/index.js +24 -0
  68. package/lib/index.js.map +1 -0
  69. package/lib/target/types/perpetuals.d.ts +3538 -0
  70. package/lib/target/types/perpetuals.d.ts.map +1 -0
  71. package/lib/target/types/perpetuals.js +3540 -0
  72. package/lib/target/types/perpetuals.js.map +1 -0
  73. package/lib/tsconfig.tsbuildinfo +1 -0
  74. package/lib/types/index.d.ts +187 -0
  75. package/lib/types/index.d.ts.map +1 -0
  76. package/lib/types/index.js +56 -0
  77. package/lib/types/index.js.map +1 -0
  78. package/lib/utils/helpers.d.ts +7 -0
  79. package/lib/utils/helpers.d.ts.map +1 -0
  80. package/lib/utils/helpers.js +151 -0
  81. package/lib/utils/helpers.js.map +1 -0
  82. package/lib/utils/index.d.ts +7 -0
  83. package/lib/utils/index.js +151 -0
  84. package/package.json +35 -0
  85. package/readme.md +4 -0
  86. package/src/CustodyAccount.ts +90 -0
  87. package/src/OraclePrice.ts +108 -0
  88. package/src/PerpetualsClient.ts +983 -0
  89. package/src/PoolAccount.ts +434 -0
  90. package/src/PositionAccount.ts +57 -0
  91. package/src/constants/index.ts +17 -0
  92. package/src/index.ts +14 -0
  93. package/src/readme.md +4 -0
  94. package/src/target/types/perpetuals.js +3540 -0
  95. package/src/target/types/perpetuals.ts +7075 -0
  96. package/src/types/index.ts +260 -0
  97. package/src/utils/index.ts +169 -0
  98. package/tsconfig.json +23 -0
@@ -0,0 +1,3541 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IDL = void 0;
4
+ exports.IDL = {
5
+ "version": "0.1.0",
6
+ "name": "perpetuals",
7
+ "instructions": [
8
+ {
9
+ "name": "init",
10
+ "accounts": [
11
+ {
12
+ "name": "upgradeAuthority",
13
+ "isMut": true,
14
+ "isSigner": true
15
+ },
16
+ {
17
+ "name": "multisig",
18
+ "isMut": true,
19
+ "isSigner": false
20
+ },
21
+ {
22
+ "name": "transferAuthority",
23
+ "isMut": true,
24
+ "isSigner": false
25
+ },
26
+ {
27
+ "name": "perpetuals",
28
+ "isMut": true,
29
+ "isSigner": false
30
+ },
31
+ {
32
+ "name": "perpetualsProgram",
33
+ "isMut": false,
34
+ "isSigner": false
35
+ },
36
+ {
37
+ "name": "perpetualsProgramData",
38
+ "isMut": false,
39
+ "isSigner": false
40
+ },
41
+ {
42
+ "name": "systemProgram",
43
+ "isMut": false,
44
+ "isSigner": false
45
+ },
46
+ {
47
+ "name": "tokenProgram",
48
+ "isMut": false,
49
+ "isSigner": false
50
+ }
51
+ ],
52
+ "args": [
53
+ {
54
+ "name": "params",
55
+ "type": {
56
+ "defined": "InitParams"
57
+ }
58
+ }
59
+ ]
60
+ },
61
+ {
62
+ "name": "addPool",
63
+ "accounts": [
64
+ {
65
+ "name": "admin",
66
+ "isMut": true,
67
+ "isSigner": true
68
+ },
69
+ {
70
+ "name": "multisig",
71
+ "isMut": true,
72
+ "isSigner": false
73
+ },
74
+ {
75
+ "name": "transferAuthority",
76
+ "isMut": false,
77
+ "isSigner": false
78
+ },
79
+ {
80
+ "name": "perpetuals",
81
+ "isMut": true,
82
+ "isSigner": false
83
+ },
84
+ {
85
+ "name": "pool",
86
+ "isMut": true,
87
+ "isSigner": false
88
+ },
89
+ {
90
+ "name": "lpTokenMint",
91
+ "isMut": true,
92
+ "isSigner": false
93
+ },
94
+ {
95
+ "name": "systemProgram",
96
+ "isMut": false,
97
+ "isSigner": false
98
+ },
99
+ {
100
+ "name": "tokenProgram",
101
+ "isMut": false,
102
+ "isSigner": false
103
+ },
104
+ {
105
+ "name": "rent",
106
+ "isMut": false,
107
+ "isSigner": false
108
+ }
109
+ ],
110
+ "args": [
111
+ {
112
+ "name": "params",
113
+ "type": {
114
+ "defined": "AddPoolParams"
115
+ }
116
+ }
117
+ ],
118
+ "returns": "u8"
119
+ },
120
+ {
121
+ "name": "removePool",
122
+ "accounts": [
123
+ {
124
+ "name": "admin",
125
+ "isMut": true,
126
+ "isSigner": true
127
+ },
128
+ {
129
+ "name": "multisig",
130
+ "isMut": true,
131
+ "isSigner": false
132
+ },
133
+ {
134
+ "name": "transferAuthority",
135
+ "isMut": true,
136
+ "isSigner": false
137
+ },
138
+ {
139
+ "name": "perpetuals",
140
+ "isMut": true,
141
+ "isSigner": false
142
+ },
143
+ {
144
+ "name": "pool",
145
+ "isMut": true,
146
+ "isSigner": false
147
+ },
148
+ {
149
+ "name": "systemProgram",
150
+ "isMut": false,
151
+ "isSigner": false
152
+ }
153
+ ],
154
+ "args": [
155
+ {
156
+ "name": "params",
157
+ "type": {
158
+ "defined": "RemovePoolParams"
159
+ }
160
+ }
161
+ ],
162
+ "returns": "u8"
163
+ },
164
+ {
165
+ "name": "addCustody",
166
+ "accounts": [
167
+ {
168
+ "name": "admin",
169
+ "isMut": true,
170
+ "isSigner": true
171
+ },
172
+ {
173
+ "name": "multisig",
174
+ "isMut": true,
175
+ "isSigner": false
176
+ },
177
+ {
178
+ "name": "transferAuthority",
179
+ "isMut": false,
180
+ "isSigner": false
181
+ },
182
+ {
183
+ "name": "perpetuals",
184
+ "isMut": false,
185
+ "isSigner": false
186
+ },
187
+ {
188
+ "name": "pool",
189
+ "isMut": true,
190
+ "isSigner": false
191
+ },
192
+ {
193
+ "name": "custody",
194
+ "isMut": true,
195
+ "isSigner": false
196
+ },
197
+ {
198
+ "name": "custodyTokenAccount",
199
+ "isMut": true,
200
+ "isSigner": false
201
+ },
202
+ {
203
+ "name": "custodyTokenMint",
204
+ "isMut": false,
205
+ "isSigner": false
206
+ },
207
+ {
208
+ "name": "systemProgram",
209
+ "isMut": false,
210
+ "isSigner": false
211
+ },
212
+ {
213
+ "name": "tokenProgram",
214
+ "isMut": false,
215
+ "isSigner": false
216
+ },
217
+ {
218
+ "name": "rent",
219
+ "isMut": false,
220
+ "isSigner": false
221
+ }
222
+ ],
223
+ "args": [
224
+ {
225
+ "name": "params",
226
+ "type": {
227
+ "defined": "AddCustodyParams"
228
+ }
229
+ }
230
+ ],
231
+ "returns": "u8"
232
+ },
233
+ {
234
+ "name": "testingEditCustody",
235
+ "accounts": [
236
+ {
237
+ "name": "admin",
238
+ "isMut": true,
239
+ "isSigner": true
240
+ },
241
+ {
242
+ "name": "multisig",
243
+ "isMut": true,
244
+ "isSigner": false
245
+ },
246
+ {
247
+ "name": "transferAuthority",
248
+ "isMut": false,
249
+ "isSigner": false
250
+ },
251
+ {
252
+ "name": "perpetuals",
253
+ "isMut": false,
254
+ "isSigner": false
255
+ },
256
+ {
257
+ "name": "pool",
258
+ "isMut": true,
259
+ "isSigner": false
260
+ },
261
+ {
262
+ "name": "custody",
263
+ "isMut": true,
264
+ "isSigner": false
265
+ },
266
+ {
267
+ "name": "custodyTokenAccount",
268
+ "isMut": true,
269
+ "isSigner": false
270
+ },
271
+ {
272
+ "name": "custodyTokenMint",
273
+ "isMut": false,
274
+ "isSigner": false
275
+ },
276
+ {
277
+ "name": "systemProgram",
278
+ "isMut": false,
279
+ "isSigner": false
280
+ },
281
+ {
282
+ "name": "tokenProgram",
283
+ "isMut": false,
284
+ "isSigner": false
285
+ },
286
+ {
287
+ "name": "rent",
288
+ "isMut": false,
289
+ "isSigner": false
290
+ }
291
+ ],
292
+ "args": [
293
+ {
294
+ "name": "params",
295
+ "type": {
296
+ "defined": "EditCustodyParams"
297
+ }
298
+ }
299
+ ],
300
+ "returns": "u8"
301
+ },
302
+ {
303
+ "name": "removeCustody",
304
+ "accounts": [
305
+ {
306
+ "name": "admin",
307
+ "isMut": true,
308
+ "isSigner": true
309
+ },
310
+ {
311
+ "name": "multisig",
312
+ "isMut": true,
313
+ "isSigner": false
314
+ },
315
+ {
316
+ "name": "transferAuthority",
317
+ "isMut": true,
318
+ "isSigner": false
319
+ },
320
+ {
321
+ "name": "perpetuals",
322
+ "isMut": false,
323
+ "isSigner": false
324
+ },
325
+ {
326
+ "name": "pool",
327
+ "isMut": true,
328
+ "isSigner": false
329
+ },
330
+ {
331
+ "name": "custody",
332
+ "isMut": true,
333
+ "isSigner": false
334
+ },
335
+ {
336
+ "name": "custodyTokenAccount",
337
+ "isMut": true,
338
+ "isSigner": false
339
+ },
340
+ {
341
+ "name": "systemProgram",
342
+ "isMut": false,
343
+ "isSigner": false
344
+ },
345
+ {
346
+ "name": "tokenProgram",
347
+ "isMut": false,
348
+ "isSigner": false
349
+ }
350
+ ],
351
+ "args": [
352
+ {
353
+ "name": "params",
354
+ "type": {
355
+ "defined": "RemoveCustodyParams"
356
+ }
357
+ }
358
+ ],
359
+ "returns": "u8"
360
+ },
361
+ {
362
+ "name": "setAdminSigners",
363
+ "accounts": [
364
+ {
365
+ "name": "admin",
366
+ "isMut": false,
367
+ "isSigner": true
368
+ },
369
+ {
370
+ "name": "multisig",
371
+ "isMut": true,
372
+ "isSigner": false
373
+ }
374
+ ],
375
+ "args": [
376
+ {
377
+ "name": "params",
378
+ "type": {
379
+ "defined": "SetAdminSignersParams"
380
+ }
381
+ }
382
+ ],
383
+ "returns": "u8"
384
+ },
385
+ {
386
+ "name": "setCustodyConfig",
387
+ "accounts": [
388
+ {
389
+ "name": "admin",
390
+ "isMut": false,
391
+ "isSigner": true
392
+ },
393
+ {
394
+ "name": "multisig",
395
+ "isMut": true,
396
+ "isSigner": false
397
+ },
398
+ {
399
+ "name": "pool",
400
+ "isMut": true,
401
+ "isSigner": false
402
+ },
403
+ {
404
+ "name": "custody",
405
+ "isMut": true,
406
+ "isSigner": false
407
+ }
408
+ ],
409
+ "args": [
410
+ {
411
+ "name": "params",
412
+ "type": {
413
+ "defined": "SetCustodyConfigParams"
414
+ }
415
+ }
416
+ ],
417
+ "returns": "u8"
418
+ },
419
+ {
420
+ "name": "setPermissions",
421
+ "accounts": [
422
+ {
423
+ "name": "admin",
424
+ "isMut": false,
425
+ "isSigner": true
426
+ },
427
+ {
428
+ "name": "multisig",
429
+ "isMut": true,
430
+ "isSigner": false
431
+ },
432
+ {
433
+ "name": "perpetuals",
434
+ "isMut": true,
435
+ "isSigner": false
436
+ }
437
+ ],
438
+ "args": [
439
+ {
440
+ "name": "params",
441
+ "type": {
442
+ "defined": "SetPermissionsParams"
443
+ }
444
+ }
445
+ ],
446
+ "returns": "u8"
447
+ },
448
+ {
449
+ "name": "withdrawFees",
450
+ "accounts": [
451
+ {
452
+ "name": "admin",
453
+ "isMut": false,
454
+ "isSigner": true
455
+ },
456
+ {
457
+ "name": "multisig",
458
+ "isMut": true,
459
+ "isSigner": false
460
+ },
461
+ {
462
+ "name": "transferAuthority",
463
+ "isMut": false,
464
+ "isSigner": false
465
+ },
466
+ {
467
+ "name": "perpetuals",
468
+ "isMut": false,
469
+ "isSigner": false
470
+ },
471
+ {
472
+ "name": "pool",
473
+ "isMut": true,
474
+ "isSigner": false
475
+ },
476
+ {
477
+ "name": "custody",
478
+ "isMut": true,
479
+ "isSigner": false
480
+ },
481
+ {
482
+ "name": "custodyTokenAccount",
483
+ "isMut": true,
484
+ "isSigner": false
485
+ },
486
+ {
487
+ "name": "receivingTokenAccount",
488
+ "isMut": true,
489
+ "isSigner": false
490
+ },
491
+ {
492
+ "name": "tokenProgram",
493
+ "isMut": false,
494
+ "isSigner": false
495
+ }
496
+ ],
497
+ "args": [
498
+ {
499
+ "name": "params",
500
+ "type": {
501
+ "defined": "WithdrawFeesParams"
502
+ }
503
+ }
504
+ ],
505
+ "returns": "u8"
506
+ },
507
+ {
508
+ "name": "withdrawSolFees",
509
+ "accounts": [
510
+ {
511
+ "name": "admin",
512
+ "isMut": false,
513
+ "isSigner": true
514
+ },
515
+ {
516
+ "name": "multisig",
517
+ "isMut": true,
518
+ "isSigner": false
519
+ },
520
+ {
521
+ "name": "transferAuthority",
522
+ "isMut": false,
523
+ "isSigner": false
524
+ },
525
+ {
526
+ "name": "perpetuals",
527
+ "isMut": false,
528
+ "isSigner": false
529
+ },
530
+ {
531
+ "name": "receivingAccount",
532
+ "isMut": true,
533
+ "isSigner": false
534
+ }
535
+ ],
536
+ "args": [
537
+ {
538
+ "name": "params",
539
+ "type": {
540
+ "defined": "WithdrawSolFeesParams"
541
+ }
542
+ }
543
+ ],
544
+ "returns": "u8"
545
+ },
546
+ {
547
+ "name": "upgradeCustody",
548
+ "accounts": [
549
+ {
550
+ "name": "admin",
551
+ "isMut": true,
552
+ "isSigner": true
553
+ },
554
+ {
555
+ "name": "multisig",
556
+ "isMut": true,
557
+ "isSigner": false
558
+ },
559
+ {
560
+ "name": "pool",
561
+ "isMut": true,
562
+ "isSigner": false
563
+ },
564
+ {
565
+ "name": "custody",
566
+ "isMut": true,
567
+ "isSigner": false
568
+ },
569
+ {
570
+ "name": "systemProgram",
571
+ "isMut": false,
572
+ "isSigner": false
573
+ }
574
+ ],
575
+ "args": [
576
+ {
577
+ "name": "params",
578
+ "type": {
579
+ "defined": "UpgradeCustodyParams"
580
+ }
581
+ }
582
+ ],
583
+ "returns": "u8"
584
+ },
585
+ {
586
+ "name": "testInit",
587
+ "accounts": [
588
+ {
589
+ "name": "upgradeAuthority",
590
+ "isMut": true,
591
+ "isSigner": true
592
+ },
593
+ {
594
+ "name": "multisig",
595
+ "isMut": true,
596
+ "isSigner": false
597
+ },
598
+ {
599
+ "name": "transferAuthority",
600
+ "isMut": true,
601
+ "isSigner": false
602
+ },
603
+ {
604
+ "name": "perpetuals",
605
+ "isMut": true,
606
+ "isSigner": false
607
+ },
608
+ {
609
+ "name": "systemProgram",
610
+ "isMut": false,
611
+ "isSigner": false
612
+ },
613
+ {
614
+ "name": "tokenProgram",
615
+ "isMut": false,
616
+ "isSigner": false
617
+ }
618
+ ],
619
+ "args": [
620
+ {
621
+ "name": "params",
622
+ "type": {
623
+ "defined": "TestInitParams"
624
+ }
625
+ }
626
+ ]
627
+ },
628
+ {
629
+ "name": "setTestOraclePrice",
630
+ "accounts": [
631
+ {
632
+ "name": "admin",
633
+ "isMut": true,
634
+ "isSigner": true
635
+ },
636
+ {
637
+ "name": "multisig",
638
+ "isMut": true,
639
+ "isSigner": false
640
+ },
641
+ {
642
+ "name": "perpetuals",
643
+ "isMut": false,
644
+ "isSigner": false
645
+ },
646
+ {
647
+ "name": "pool",
648
+ "isMut": false,
649
+ "isSigner": false
650
+ },
651
+ {
652
+ "name": "custody",
653
+ "isMut": false,
654
+ "isSigner": false
655
+ },
656
+ {
657
+ "name": "oracleAccount",
658
+ "isMut": true,
659
+ "isSigner": false
660
+ },
661
+ {
662
+ "name": "systemProgram",
663
+ "isMut": false,
664
+ "isSigner": false
665
+ }
666
+ ],
667
+ "args": [
668
+ {
669
+ "name": "params",
670
+ "type": {
671
+ "defined": "SetTestOraclePriceParams"
672
+ }
673
+ }
674
+ ],
675
+ "returns": "u8"
676
+ },
677
+ {
678
+ "name": "setTestTime",
679
+ "accounts": [
680
+ {
681
+ "name": "admin",
682
+ "isMut": false,
683
+ "isSigner": true
684
+ },
685
+ {
686
+ "name": "multisig",
687
+ "isMut": true,
688
+ "isSigner": false
689
+ },
690
+ {
691
+ "name": "perpetuals",
692
+ "isMut": true,
693
+ "isSigner": false
694
+ }
695
+ ],
696
+ "args": [
697
+ {
698
+ "name": "params",
699
+ "type": {
700
+ "defined": "SetTestTimeParams"
701
+ }
702
+ }
703
+ ],
704
+ "returns": "u8"
705
+ },
706
+ {
707
+ "name": "swap",
708
+ "accounts": [
709
+ {
710
+ "name": "owner",
711
+ "isMut": true,
712
+ "isSigner": true
713
+ },
714
+ {
715
+ "name": "fundingAccount",
716
+ "isMut": true,
717
+ "isSigner": false
718
+ },
719
+ {
720
+ "name": "receivingAccount",
721
+ "isMut": true,
722
+ "isSigner": false
723
+ },
724
+ {
725
+ "name": "transferAuthority",
726
+ "isMut": false,
727
+ "isSigner": false
728
+ },
729
+ {
730
+ "name": "perpetuals",
731
+ "isMut": false,
732
+ "isSigner": false
733
+ },
734
+ {
735
+ "name": "pool",
736
+ "isMut": true,
737
+ "isSigner": false
738
+ },
739
+ {
740
+ "name": "receivingCustody",
741
+ "isMut": true,
742
+ "isSigner": false
743
+ },
744
+ {
745
+ "name": "receivingCustodyOracleAccount",
746
+ "isMut": false,
747
+ "isSigner": false
748
+ },
749
+ {
750
+ "name": "receivingCustodyTokenAccount",
751
+ "isMut": true,
752
+ "isSigner": false
753
+ },
754
+ {
755
+ "name": "dispensingCustody",
756
+ "isMut": true,
757
+ "isSigner": false
758
+ },
759
+ {
760
+ "name": "dispensingCustodyOracleAccount",
761
+ "isMut": false,
762
+ "isSigner": false
763
+ },
764
+ {
765
+ "name": "dispensingCustodyTokenAccount",
766
+ "isMut": true,
767
+ "isSigner": false
768
+ },
769
+ {
770
+ "name": "tokenProgram",
771
+ "isMut": false,
772
+ "isSigner": false
773
+ }
774
+ ],
775
+ "args": [
776
+ {
777
+ "name": "params",
778
+ "type": {
779
+ "defined": "SwapParams"
780
+ }
781
+ }
782
+ ]
783
+ },
784
+ {
785
+ "name": "addLiquidity",
786
+ "accounts": [
787
+ {
788
+ "name": "owner",
789
+ "isMut": true,
790
+ "isSigner": true
791
+ },
792
+ {
793
+ "name": "fundingAccount",
794
+ "isMut": true,
795
+ "isSigner": false
796
+ },
797
+ {
798
+ "name": "lpTokenAccount",
799
+ "isMut": true,
800
+ "isSigner": false
801
+ },
802
+ {
803
+ "name": "transferAuthority",
804
+ "isMut": false,
805
+ "isSigner": false
806
+ },
807
+ {
808
+ "name": "perpetuals",
809
+ "isMut": false,
810
+ "isSigner": false
811
+ },
812
+ {
813
+ "name": "pool",
814
+ "isMut": true,
815
+ "isSigner": false
816
+ },
817
+ {
818
+ "name": "custody",
819
+ "isMut": true,
820
+ "isSigner": false
821
+ },
822
+ {
823
+ "name": "custodyOracleAccount",
824
+ "isMut": false,
825
+ "isSigner": false
826
+ },
827
+ {
828
+ "name": "custodyTokenAccount",
829
+ "isMut": true,
830
+ "isSigner": false
831
+ },
832
+ {
833
+ "name": "lpTokenMint",
834
+ "isMut": true,
835
+ "isSigner": false
836
+ },
837
+ {
838
+ "name": "tokenProgram",
839
+ "isMut": false,
840
+ "isSigner": false
841
+ }
842
+ ],
843
+ "args": [
844
+ {
845
+ "name": "params",
846
+ "type": {
847
+ "defined": "AddLiquidityParams"
848
+ }
849
+ }
850
+ ]
851
+ },
852
+ {
853
+ "name": "removeLiquidity",
854
+ "accounts": [
855
+ {
856
+ "name": "owner",
857
+ "isMut": true,
858
+ "isSigner": true
859
+ },
860
+ {
861
+ "name": "receivingAccount",
862
+ "isMut": true,
863
+ "isSigner": false
864
+ },
865
+ {
866
+ "name": "lpTokenAccount",
867
+ "isMut": true,
868
+ "isSigner": false
869
+ },
870
+ {
871
+ "name": "transferAuthority",
872
+ "isMut": false,
873
+ "isSigner": false
874
+ },
875
+ {
876
+ "name": "perpetuals",
877
+ "isMut": false,
878
+ "isSigner": false
879
+ },
880
+ {
881
+ "name": "pool",
882
+ "isMut": true,
883
+ "isSigner": false
884
+ },
885
+ {
886
+ "name": "custody",
887
+ "isMut": true,
888
+ "isSigner": false
889
+ },
890
+ {
891
+ "name": "custodyOracleAccount",
892
+ "isMut": false,
893
+ "isSigner": false
894
+ },
895
+ {
896
+ "name": "custodyTokenAccount",
897
+ "isMut": true,
898
+ "isSigner": false
899
+ },
900
+ {
901
+ "name": "lpTokenMint",
902
+ "isMut": true,
903
+ "isSigner": false
904
+ },
905
+ {
906
+ "name": "tokenProgram",
907
+ "isMut": false,
908
+ "isSigner": false
909
+ }
910
+ ],
911
+ "args": [
912
+ {
913
+ "name": "params",
914
+ "type": {
915
+ "defined": "RemoveLiquidityParams"
916
+ }
917
+ }
918
+ ]
919
+ },
920
+ {
921
+ "name": "openPosition",
922
+ "accounts": [
923
+ {
924
+ "name": "owner",
925
+ "isMut": true,
926
+ "isSigner": true
927
+ },
928
+ {
929
+ "name": "fundingAccount",
930
+ "isMut": true,
931
+ "isSigner": false
932
+ },
933
+ {
934
+ "name": "transferAuthority",
935
+ "isMut": false,
936
+ "isSigner": false
937
+ },
938
+ {
939
+ "name": "perpetuals",
940
+ "isMut": false,
941
+ "isSigner": false
942
+ },
943
+ {
944
+ "name": "pool",
945
+ "isMut": true,
946
+ "isSigner": false
947
+ },
948
+ {
949
+ "name": "position",
950
+ "isMut": true,
951
+ "isSigner": false
952
+ },
953
+ {
954
+ "name": "custody",
955
+ "isMut": true,
956
+ "isSigner": false
957
+ },
958
+ {
959
+ "name": "custodyOracleAccount",
960
+ "isMut": false,
961
+ "isSigner": false
962
+ },
963
+ {
964
+ "name": "custodyTokenAccount",
965
+ "isMut": true,
966
+ "isSigner": false
967
+ },
968
+ {
969
+ "name": "systemProgram",
970
+ "isMut": false,
971
+ "isSigner": false
972
+ },
973
+ {
974
+ "name": "tokenProgram",
975
+ "isMut": false,
976
+ "isSigner": false
977
+ }
978
+ ],
979
+ "args": [
980
+ {
981
+ "name": "params",
982
+ "type": {
983
+ "defined": "OpenPositionParams"
984
+ }
985
+ }
986
+ ]
987
+ },
988
+ {
989
+ "name": "addCollateral",
990
+ "accounts": [
991
+ {
992
+ "name": "owner",
993
+ "isMut": true,
994
+ "isSigner": true
995
+ },
996
+ {
997
+ "name": "fundingAccount",
998
+ "isMut": true,
999
+ "isSigner": false
1000
+ },
1001
+ {
1002
+ "name": "transferAuthority",
1003
+ "isMut": false,
1004
+ "isSigner": false
1005
+ },
1006
+ {
1007
+ "name": "perpetuals",
1008
+ "isMut": false,
1009
+ "isSigner": false
1010
+ },
1011
+ {
1012
+ "name": "pool",
1013
+ "isMut": true,
1014
+ "isSigner": false
1015
+ },
1016
+ {
1017
+ "name": "position",
1018
+ "isMut": true,
1019
+ "isSigner": false
1020
+ },
1021
+ {
1022
+ "name": "custody",
1023
+ "isMut": true,
1024
+ "isSigner": false
1025
+ },
1026
+ {
1027
+ "name": "custodyOracleAccount",
1028
+ "isMut": false,
1029
+ "isSigner": false
1030
+ },
1031
+ {
1032
+ "name": "custodyTokenAccount",
1033
+ "isMut": true,
1034
+ "isSigner": false
1035
+ },
1036
+ {
1037
+ "name": "tokenProgram",
1038
+ "isMut": false,
1039
+ "isSigner": false
1040
+ }
1041
+ ],
1042
+ "args": [
1043
+ {
1044
+ "name": "params",
1045
+ "type": {
1046
+ "defined": "AddCollateralParams"
1047
+ }
1048
+ }
1049
+ ]
1050
+ },
1051
+ {
1052
+ "name": "removeCollateral",
1053
+ "accounts": [
1054
+ {
1055
+ "name": "owner",
1056
+ "isMut": true,
1057
+ "isSigner": true
1058
+ },
1059
+ {
1060
+ "name": "receivingAccount",
1061
+ "isMut": true,
1062
+ "isSigner": false
1063
+ },
1064
+ {
1065
+ "name": "transferAuthority",
1066
+ "isMut": false,
1067
+ "isSigner": false
1068
+ },
1069
+ {
1070
+ "name": "perpetuals",
1071
+ "isMut": false,
1072
+ "isSigner": false
1073
+ },
1074
+ {
1075
+ "name": "pool",
1076
+ "isMut": true,
1077
+ "isSigner": false
1078
+ },
1079
+ {
1080
+ "name": "position",
1081
+ "isMut": true,
1082
+ "isSigner": false
1083
+ },
1084
+ {
1085
+ "name": "custody",
1086
+ "isMut": true,
1087
+ "isSigner": false
1088
+ },
1089
+ {
1090
+ "name": "custodyOracleAccount",
1091
+ "isMut": false,
1092
+ "isSigner": false
1093
+ },
1094
+ {
1095
+ "name": "custodyTokenAccount",
1096
+ "isMut": true,
1097
+ "isSigner": false
1098
+ },
1099
+ {
1100
+ "name": "tokenProgram",
1101
+ "isMut": false,
1102
+ "isSigner": false
1103
+ }
1104
+ ],
1105
+ "args": [
1106
+ {
1107
+ "name": "params",
1108
+ "type": {
1109
+ "defined": "RemoveCollateralParams"
1110
+ }
1111
+ }
1112
+ ]
1113
+ },
1114
+ {
1115
+ "name": "closePosition",
1116
+ "accounts": [
1117
+ {
1118
+ "name": "owner",
1119
+ "isMut": true,
1120
+ "isSigner": true
1121
+ },
1122
+ {
1123
+ "name": "receivingAccount",
1124
+ "isMut": true,
1125
+ "isSigner": false
1126
+ },
1127
+ {
1128
+ "name": "transferAuthority",
1129
+ "isMut": false,
1130
+ "isSigner": false
1131
+ },
1132
+ {
1133
+ "name": "perpetuals",
1134
+ "isMut": false,
1135
+ "isSigner": false
1136
+ },
1137
+ {
1138
+ "name": "pool",
1139
+ "isMut": true,
1140
+ "isSigner": false
1141
+ },
1142
+ {
1143
+ "name": "position",
1144
+ "isMut": true,
1145
+ "isSigner": false
1146
+ },
1147
+ {
1148
+ "name": "custody",
1149
+ "isMut": true,
1150
+ "isSigner": false
1151
+ },
1152
+ {
1153
+ "name": "custodyOracleAccount",
1154
+ "isMut": false,
1155
+ "isSigner": false
1156
+ },
1157
+ {
1158
+ "name": "custodyTokenAccount",
1159
+ "isMut": true,
1160
+ "isSigner": false
1161
+ },
1162
+ {
1163
+ "name": "tokenProgram",
1164
+ "isMut": false,
1165
+ "isSigner": false
1166
+ }
1167
+ ],
1168
+ "args": [
1169
+ {
1170
+ "name": "params",
1171
+ "type": {
1172
+ "defined": "ClosePositionParams"
1173
+ }
1174
+ }
1175
+ ]
1176
+ },
1177
+ {
1178
+ "name": "liquidate",
1179
+ "accounts": [
1180
+ {
1181
+ "name": "signer",
1182
+ "isMut": true,
1183
+ "isSigner": true
1184
+ },
1185
+ {
1186
+ "name": "receivingAccount",
1187
+ "isMut": true,
1188
+ "isSigner": false
1189
+ },
1190
+ {
1191
+ "name": "rewardsReceivingAccount",
1192
+ "isMut": true,
1193
+ "isSigner": false
1194
+ },
1195
+ {
1196
+ "name": "transferAuthority",
1197
+ "isMut": false,
1198
+ "isSigner": false
1199
+ },
1200
+ {
1201
+ "name": "perpetuals",
1202
+ "isMut": false,
1203
+ "isSigner": false
1204
+ },
1205
+ {
1206
+ "name": "pool",
1207
+ "isMut": true,
1208
+ "isSigner": false
1209
+ },
1210
+ {
1211
+ "name": "position",
1212
+ "isMut": true,
1213
+ "isSigner": false
1214
+ },
1215
+ {
1216
+ "name": "custody",
1217
+ "isMut": true,
1218
+ "isSigner": false
1219
+ },
1220
+ {
1221
+ "name": "custodyOracleAccount",
1222
+ "isMut": false,
1223
+ "isSigner": false
1224
+ },
1225
+ {
1226
+ "name": "custodyTokenAccount",
1227
+ "isMut": true,
1228
+ "isSigner": false
1229
+ },
1230
+ {
1231
+ "name": "tokenProgram",
1232
+ "isMut": false,
1233
+ "isSigner": false
1234
+ }
1235
+ ],
1236
+ "args": [
1237
+ {
1238
+ "name": "params",
1239
+ "type": {
1240
+ "defined": "LiquidateParams"
1241
+ }
1242
+ }
1243
+ ]
1244
+ },
1245
+ {
1246
+ "name": "getAddLiquidityAmountAndFee",
1247
+ "accounts": [
1248
+ {
1249
+ "name": "perpetuals",
1250
+ "isMut": false,
1251
+ "isSigner": false
1252
+ },
1253
+ {
1254
+ "name": "pool",
1255
+ "isMut": false,
1256
+ "isSigner": false
1257
+ },
1258
+ {
1259
+ "name": "custody",
1260
+ "isMut": false,
1261
+ "isSigner": false
1262
+ },
1263
+ {
1264
+ "name": "custodyOracleAccount",
1265
+ "isMut": false,
1266
+ "isSigner": false
1267
+ },
1268
+ {
1269
+ "name": "lpTokenMint",
1270
+ "isMut": false,
1271
+ "isSigner": false
1272
+ }
1273
+ ],
1274
+ "args": [
1275
+ {
1276
+ "name": "params",
1277
+ "type": {
1278
+ "defined": "GetAddLiquidityAmountAndFeeParams"
1279
+ }
1280
+ }
1281
+ ],
1282
+ "returns": {
1283
+ "defined": "AmountAndFee"
1284
+ }
1285
+ },
1286
+ {
1287
+ "name": "getRemoveLiquidityAmountAndFee",
1288
+ "accounts": [
1289
+ {
1290
+ "name": "perpetuals",
1291
+ "isMut": false,
1292
+ "isSigner": false
1293
+ },
1294
+ {
1295
+ "name": "pool",
1296
+ "isMut": false,
1297
+ "isSigner": false
1298
+ },
1299
+ {
1300
+ "name": "custody",
1301
+ "isMut": false,
1302
+ "isSigner": false
1303
+ },
1304
+ {
1305
+ "name": "custodyOracleAccount",
1306
+ "isMut": false,
1307
+ "isSigner": false
1308
+ },
1309
+ {
1310
+ "name": "lpTokenMint",
1311
+ "isMut": false,
1312
+ "isSigner": false
1313
+ }
1314
+ ],
1315
+ "args": [
1316
+ {
1317
+ "name": "params",
1318
+ "type": {
1319
+ "defined": "GetRemoveLiquidityAmountAndFeeParams"
1320
+ }
1321
+ }
1322
+ ],
1323
+ "returns": {
1324
+ "defined": "AmountAndFee"
1325
+ }
1326
+ },
1327
+ {
1328
+ "name": "getEntryPriceAndFee",
1329
+ "accounts": [
1330
+ {
1331
+ "name": "perpetuals",
1332
+ "isMut": false,
1333
+ "isSigner": false
1334
+ },
1335
+ {
1336
+ "name": "pool",
1337
+ "isMut": false,
1338
+ "isSigner": false
1339
+ },
1340
+ {
1341
+ "name": "custody",
1342
+ "isMut": false,
1343
+ "isSigner": false
1344
+ },
1345
+ {
1346
+ "name": "custodyOracleAccount",
1347
+ "isMut": false,
1348
+ "isSigner": false
1349
+ }
1350
+ ],
1351
+ "args": [
1352
+ {
1353
+ "name": "params",
1354
+ "type": {
1355
+ "defined": "GetEntryPriceAndFeeParams"
1356
+ }
1357
+ }
1358
+ ],
1359
+ "returns": {
1360
+ "defined": "NewPositionPricesAndFee"
1361
+ }
1362
+ },
1363
+ {
1364
+ "name": "getExitPriceAndFee",
1365
+ "accounts": [
1366
+ {
1367
+ "name": "perpetuals",
1368
+ "isMut": false,
1369
+ "isSigner": false
1370
+ },
1371
+ {
1372
+ "name": "pool",
1373
+ "isMut": false,
1374
+ "isSigner": false
1375
+ },
1376
+ {
1377
+ "name": "position",
1378
+ "isMut": false,
1379
+ "isSigner": false
1380
+ },
1381
+ {
1382
+ "name": "custody",
1383
+ "isMut": false,
1384
+ "isSigner": false
1385
+ },
1386
+ {
1387
+ "name": "custodyOracleAccount",
1388
+ "isMut": false,
1389
+ "isSigner": false
1390
+ }
1391
+ ],
1392
+ "args": [
1393
+ {
1394
+ "name": "params",
1395
+ "type": {
1396
+ "defined": "GetExitPriceAndFeeParams"
1397
+ }
1398
+ }
1399
+ ],
1400
+ "returns": {
1401
+ "defined": "PriceAndFee"
1402
+ }
1403
+ },
1404
+ {
1405
+ "name": "getPnl",
1406
+ "accounts": [
1407
+ {
1408
+ "name": "perpetuals",
1409
+ "isMut": false,
1410
+ "isSigner": false
1411
+ },
1412
+ {
1413
+ "name": "pool",
1414
+ "isMut": false,
1415
+ "isSigner": false
1416
+ },
1417
+ {
1418
+ "name": "position",
1419
+ "isMut": false,
1420
+ "isSigner": false
1421
+ },
1422
+ {
1423
+ "name": "custody",
1424
+ "isMut": false,
1425
+ "isSigner": false
1426
+ },
1427
+ {
1428
+ "name": "custodyOracleAccount",
1429
+ "isMut": false,
1430
+ "isSigner": false
1431
+ }
1432
+ ],
1433
+ "args": [
1434
+ {
1435
+ "name": "params",
1436
+ "type": {
1437
+ "defined": "GetPnlParams"
1438
+ }
1439
+ }
1440
+ ],
1441
+ "returns": {
1442
+ "defined": "ProfitAndLoss"
1443
+ }
1444
+ },
1445
+ {
1446
+ "name": "getLiquidationPrice",
1447
+ "accounts": [
1448
+ {
1449
+ "name": "perpetuals",
1450
+ "isMut": false,
1451
+ "isSigner": false
1452
+ },
1453
+ {
1454
+ "name": "pool",
1455
+ "isMut": false,
1456
+ "isSigner": false
1457
+ },
1458
+ {
1459
+ "name": "position",
1460
+ "isMut": false,
1461
+ "isSigner": false
1462
+ },
1463
+ {
1464
+ "name": "custody",
1465
+ "isMut": false,
1466
+ "isSigner": false
1467
+ },
1468
+ {
1469
+ "name": "custodyOracleAccount",
1470
+ "isMut": false,
1471
+ "isSigner": false
1472
+ }
1473
+ ],
1474
+ "args": [
1475
+ {
1476
+ "name": "params",
1477
+ "type": {
1478
+ "defined": "GetLiquidationPriceParams"
1479
+ }
1480
+ }
1481
+ ],
1482
+ "returns": "u64"
1483
+ },
1484
+ {
1485
+ "name": "getLiquidationState",
1486
+ "accounts": [
1487
+ {
1488
+ "name": "perpetuals",
1489
+ "isMut": false,
1490
+ "isSigner": false
1491
+ },
1492
+ {
1493
+ "name": "pool",
1494
+ "isMut": false,
1495
+ "isSigner": false
1496
+ },
1497
+ {
1498
+ "name": "position",
1499
+ "isMut": false,
1500
+ "isSigner": false
1501
+ },
1502
+ {
1503
+ "name": "custody",
1504
+ "isMut": false,
1505
+ "isSigner": false
1506
+ },
1507
+ {
1508
+ "name": "custodyOracleAccount",
1509
+ "isMut": false,
1510
+ "isSigner": false
1511
+ }
1512
+ ],
1513
+ "args": [
1514
+ {
1515
+ "name": "params",
1516
+ "type": {
1517
+ "defined": "GetLiquidationStateParams"
1518
+ }
1519
+ }
1520
+ ],
1521
+ "returns": "u8"
1522
+ },
1523
+ {
1524
+ "name": "getOraclePrice",
1525
+ "accounts": [
1526
+ {
1527
+ "name": "perpetuals",
1528
+ "isMut": false,
1529
+ "isSigner": false
1530
+ },
1531
+ {
1532
+ "name": "pool",
1533
+ "isMut": false,
1534
+ "isSigner": false
1535
+ },
1536
+ {
1537
+ "name": "custody",
1538
+ "isMut": false,
1539
+ "isSigner": false
1540
+ },
1541
+ {
1542
+ "name": "custodyOracleAccount",
1543
+ "isMut": false,
1544
+ "isSigner": false
1545
+ }
1546
+ ],
1547
+ "args": [
1548
+ {
1549
+ "name": "params",
1550
+ "type": {
1551
+ "defined": "GetOraclePriceParams"
1552
+ }
1553
+ }
1554
+ ],
1555
+ "returns": "u64"
1556
+ },
1557
+ {
1558
+ "name": "getSwapAmountAndFees",
1559
+ "accounts": [
1560
+ {
1561
+ "name": "perpetuals",
1562
+ "isMut": false,
1563
+ "isSigner": false
1564
+ },
1565
+ {
1566
+ "name": "pool",
1567
+ "isMut": false,
1568
+ "isSigner": false
1569
+ },
1570
+ {
1571
+ "name": "receivingCustody",
1572
+ "isMut": false,
1573
+ "isSigner": false
1574
+ },
1575
+ {
1576
+ "name": "receivingCustodyOracleAccount",
1577
+ "isMut": false,
1578
+ "isSigner": false
1579
+ },
1580
+ {
1581
+ "name": "dispensingCustody",
1582
+ "isMut": false,
1583
+ "isSigner": false
1584
+ },
1585
+ {
1586
+ "name": "dispensingCustodyOracleAccount",
1587
+ "isMut": false,
1588
+ "isSigner": false
1589
+ }
1590
+ ],
1591
+ "args": [
1592
+ {
1593
+ "name": "params",
1594
+ "type": {
1595
+ "defined": "GetSwapAmountAndFeesParams"
1596
+ }
1597
+ }
1598
+ ],
1599
+ "returns": {
1600
+ "defined": "SwapAmountAndFees"
1601
+ }
1602
+ },
1603
+ {
1604
+ "name": "getAssetsUnderManagement",
1605
+ "accounts": [
1606
+ {
1607
+ "name": "perpetuals",
1608
+ "isMut": false,
1609
+ "isSigner": false
1610
+ },
1611
+ {
1612
+ "name": "pool",
1613
+ "isMut": false,
1614
+ "isSigner": false
1615
+ }
1616
+ ],
1617
+ "args": [
1618
+ {
1619
+ "name": "params",
1620
+ "type": {
1621
+ "defined": "GetAssetsUnderManagementParams"
1622
+ }
1623
+ }
1624
+ ],
1625
+ "returns": "u128"
1626
+ }
1627
+ ],
1628
+ "accounts": [
1629
+ {
1630
+ "name": "custody",
1631
+ "type": {
1632
+ "kind": "struct",
1633
+ "fields": [
1634
+ {
1635
+ "name": "pool",
1636
+ "type": "publicKey"
1637
+ },
1638
+ {
1639
+ "name": "mint",
1640
+ "type": "publicKey"
1641
+ },
1642
+ {
1643
+ "name": "tokenAccount",
1644
+ "type": "publicKey"
1645
+ },
1646
+ {
1647
+ "name": "decimals",
1648
+ "type": "u8"
1649
+ },
1650
+ {
1651
+ "name": "isStable",
1652
+ "type": "bool"
1653
+ },
1654
+ {
1655
+ "name": "oracle",
1656
+ "type": {
1657
+ "defined": "OracleParams"
1658
+ }
1659
+ },
1660
+ {
1661
+ "name": "pricing",
1662
+ "type": {
1663
+ "defined": "PricingParams"
1664
+ }
1665
+ },
1666
+ {
1667
+ "name": "permissions",
1668
+ "type": {
1669
+ "defined": "Permissions"
1670
+ }
1671
+ },
1672
+ {
1673
+ "name": "fees",
1674
+ "type": {
1675
+ "defined": "Fees"
1676
+ }
1677
+ },
1678
+ {
1679
+ "name": "borrowRate",
1680
+ "type": {
1681
+ "defined": "BorrowRateParams"
1682
+ }
1683
+ },
1684
+ {
1685
+ "name": "assets",
1686
+ "type": {
1687
+ "defined": "Assets"
1688
+ }
1689
+ },
1690
+ {
1691
+ "name": "collectedFees",
1692
+ "type": {
1693
+ "defined": "FeesStats"
1694
+ }
1695
+ },
1696
+ {
1697
+ "name": "volumeStats",
1698
+ "type": {
1699
+ "defined": "VolumeStats"
1700
+ }
1701
+ },
1702
+ {
1703
+ "name": "tradeStats",
1704
+ "type": {
1705
+ "defined": "TradeStats"
1706
+ }
1707
+ },
1708
+ {
1709
+ "name": "longPositions",
1710
+ "type": {
1711
+ "defined": "PositionStats"
1712
+ }
1713
+ },
1714
+ {
1715
+ "name": "shortPositions",
1716
+ "type": {
1717
+ "defined": "PositionStats"
1718
+ }
1719
+ },
1720
+ {
1721
+ "name": "borrowRateState",
1722
+ "type": {
1723
+ "defined": "BorrowRateState"
1724
+ }
1725
+ },
1726
+ {
1727
+ "name": "bump",
1728
+ "type": "u8"
1729
+ },
1730
+ {
1731
+ "name": "tokenAccountBump",
1732
+ "type": "u8"
1733
+ }
1734
+ ]
1735
+ }
1736
+ },
1737
+ {
1738
+ "name": "deprecatedCustody",
1739
+ "type": {
1740
+ "kind": "struct",
1741
+ "fields": [
1742
+ {
1743
+ "name": "pool",
1744
+ "type": "publicKey"
1745
+ },
1746
+ {
1747
+ "name": "mint",
1748
+ "type": "publicKey"
1749
+ },
1750
+ {
1751
+ "name": "tokenAccount",
1752
+ "type": "publicKey"
1753
+ },
1754
+ {
1755
+ "name": "decimals",
1756
+ "type": "u8"
1757
+ },
1758
+ {
1759
+ "name": "isStable",
1760
+ "type": "bool"
1761
+ },
1762
+ {
1763
+ "name": "oracle",
1764
+ "type": {
1765
+ "defined": "OracleParams"
1766
+ }
1767
+ },
1768
+ {
1769
+ "name": "pricing",
1770
+ "type": {
1771
+ "defined": "DeprecatedPricingParams"
1772
+ }
1773
+ },
1774
+ {
1775
+ "name": "permissions",
1776
+ "type": {
1777
+ "defined": "Permissions"
1778
+ }
1779
+ },
1780
+ {
1781
+ "name": "fees",
1782
+ "type": {
1783
+ "defined": "Fees"
1784
+ }
1785
+ },
1786
+ {
1787
+ "name": "borrowRate",
1788
+ "type": {
1789
+ "defined": "BorrowRateParams"
1790
+ }
1791
+ },
1792
+ {
1793
+ "name": "assets",
1794
+ "type": {
1795
+ "defined": "Assets"
1796
+ }
1797
+ },
1798
+ {
1799
+ "name": "collectedFees",
1800
+ "type": {
1801
+ "defined": "FeesStats"
1802
+ }
1803
+ },
1804
+ {
1805
+ "name": "volumeStats",
1806
+ "type": {
1807
+ "defined": "VolumeStats"
1808
+ }
1809
+ },
1810
+ {
1811
+ "name": "tradeStats",
1812
+ "type": {
1813
+ "defined": "TradeStats"
1814
+ }
1815
+ },
1816
+ {
1817
+ "name": "longPositions",
1818
+ "type": {
1819
+ "defined": "PositionStats"
1820
+ }
1821
+ },
1822
+ {
1823
+ "name": "shortPositions",
1824
+ "type": {
1825
+ "defined": "PositionStats"
1826
+ }
1827
+ },
1828
+ {
1829
+ "name": "borrowRateState",
1830
+ "type": {
1831
+ "defined": "BorrowRateState"
1832
+ }
1833
+ },
1834
+ {
1835
+ "name": "bump",
1836
+ "type": "u8"
1837
+ },
1838
+ {
1839
+ "name": "tokenAccountBump",
1840
+ "type": "u8"
1841
+ }
1842
+ ]
1843
+ }
1844
+ },
1845
+ {
1846
+ "name": "multisig",
1847
+ "type": {
1848
+ "kind": "struct",
1849
+ "fields": [
1850
+ {
1851
+ "name": "numSigners",
1852
+ "type": "u8"
1853
+ },
1854
+ {
1855
+ "name": "numSigned",
1856
+ "type": "u8"
1857
+ },
1858
+ {
1859
+ "name": "minSignatures",
1860
+ "type": "u8"
1861
+ },
1862
+ {
1863
+ "name": "instructionAccountsLen",
1864
+ "type": "u8"
1865
+ },
1866
+ {
1867
+ "name": "instructionDataLen",
1868
+ "type": "u16"
1869
+ },
1870
+ {
1871
+ "name": "instructionHash",
1872
+ "type": "u64"
1873
+ },
1874
+ {
1875
+ "name": "signers",
1876
+ "type": {
1877
+ "array": [
1878
+ "publicKey",
1879
+ 6
1880
+ ]
1881
+ }
1882
+ },
1883
+ {
1884
+ "name": "signed",
1885
+ "type": {
1886
+ "array": [
1887
+ "bool",
1888
+ 6
1889
+ ]
1890
+ }
1891
+ },
1892
+ {
1893
+ "name": "bump",
1894
+ "type": "u8"
1895
+ }
1896
+ ]
1897
+ }
1898
+ },
1899
+ {
1900
+ "name": "testOracle",
1901
+ "type": {
1902
+ "kind": "struct",
1903
+ "fields": [
1904
+ {
1905
+ "name": "price",
1906
+ "type": "u64"
1907
+ },
1908
+ {
1909
+ "name": "expo",
1910
+ "type": "i32"
1911
+ },
1912
+ {
1913
+ "name": "conf",
1914
+ "type": "u64"
1915
+ },
1916
+ {
1917
+ "name": "publishTime",
1918
+ "type": "i64"
1919
+ }
1920
+ ]
1921
+ }
1922
+ },
1923
+ {
1924
+ "name": "perpetuals",
1925
+ "type": {
1926
+ "kind": "struct",
1927
+ "fields": [
1928
+ {
1929
+ "name": "permissions",
1930
+ "type": {
1931
+ "defined": "Permissions"
1932
+ }
1933
+ },
1934
+ {
1935
+ "name": "pools",
1936
+ "type": {
1937
+ "vec": "publicKey"
1938
+ }
1939
+ },
1940
+ {
1941
+ "name": "transferAuthorityBump",
1942
+ "type": "u8"
1943
+ },
1944
+ {
1945
+ "name": "perpetualsBump",
1946
+ "type": "u8"
1947
+ },
1948
+ {
1949
+ "name": "inceptionTime",
1950
+ "type": "i64"
1951
+ }
1952
+ ]
1953
+ }
1954
+ },
1955
+ {
1956
+ "name": "pool",
1957
+ "type": {
1958
+ "kind": "struct",
1959
+ "fields": [
1960
+ {
1961
+ "name": "name",
1962
+ "type": "string"
1963
+ },
1964
+ {
1965
+ "name": "custodies",
1966
+ "type": {
1967
+ "vec": "publicKey"
1968
+ }
1969
+ },
1970
+ {
1971
+ "name": "ratios",
1972
+ "type": {
1973
+ "vec": {
1974
+ "defined": "TokenRatios"
1975
+ }
1976
+ }
1977
+ },
1978
+ {
1979
+ "name": "aumUsd",
1980
+ "type": "u128"
1981
+ },
1982
+ {
1983
+ "name": "bump",
1984
+ "type": "u8"
1985
+ },
1986
+ {
1987
+ "name": "lpTokenBump",
1988
+ "type": "u8"
1989
+ },
1990
+ {
1991
+ "name": "inceptionTime",
1992
+ "type": "i64"
1993
+ }
1994
+ ]
1995
+ }
1996
+ },
1997
+ {
1998
+ "name": "position",
1999
+ "type": {
2000
+ "kind": "struct",
2001
+ "fields": [
2002
+ {
2003
+ "name": "owner",
2004
+ "type": "publicKey"
2005
+ },
2006
+ {
2007
+ "name": "pool",
2008
+ "type": "publicKey"
2009
+ },
2010
+ {
2011
+ "name": "custody",
2012
+ "type": "publicKey"
2013
+ },
2014
+ {
2015
+ "name": "openTime",
2016
+ "type": "i64"
2017
+ },
2018
+ {
2019
+ "name": "updateTime",
2020
+ "type": "i64"
2021
+ },
2022
+ {
2023
+ "name": "side",
2024
+ "type": {
2025
+ "defined": "Side"
2026
+ }
2027
+ },
2028
+ {
2029
+ "name": "price",
2030
+ "type": "u64"
2031
+ },
2032
+ {
2033
+ "name": "sizeUsd",
2034
+ "type": "u64"
2035
+ },
2036
+ {
2037
+ "name": "collateralUsd",
2038
+ "type": "u64"
2039
+ },
2040
+ {
2041
+ "name": "unrealizedProfitUsd",
2042
+ "type": "u64"
2043
+ },
2044
+ {
2045
+ "name": "unrealizedLossUsd",
2046
+ "type": "u64"
2047
+ },
2048
+ {
2049
+ "name": "cumulativeInterestSnapshot",
2050
+ "type": "u128"
2051
+ },
2052
+ {
2053
+ "name": "lockedAmount",
2054
+ "type": "u64"
2055
+ },
2056
+ {
2057
+ "name": "collateralAmount",
2058
+ "type": "u64"
2059
+ },
2060
+ {
2061
+ "name": "bump",
2062
+ "type": "u8"
2063
+ }
2064
+ ]
2065
+ }
2066
+ }
2067
+ ],
2068
+ "types": [
2069
+ {
2070
+ "name": "AddCollateralParams",
2071
+ "type": {
2072
+ "kind": "struct",
2073
+ "fields": [
2074
+ {
2075
+ "name": "collateral",
2076
+ "type": "u64"
2077
+ }
2078
+ ]
2079
+ }
2080
+ },
2081
+ {
2082
+ "name": "AddCustodyParams",
2083
+ "type": {
2084
+ "kind": "struct",
2085
+ "fields": [
2086
+ {
2087
+ "name": "isStable",
2088
+ "type": "bool"
2089
+ },
2090
+ {
2091
+ "name": "oracle",
2092
+ "type": {
2093
+ "defined": "OracleParams"
2094
+ }
2095
+ },
2096
+ {
2097
+ "name": "pricing",
2098
+ "type": {
2099
+ "defined": "PricingParams"
2100
+ }
2101
+ },
2102
+ {
2103
+ "name": "permissions",
2104
+ "type": {
2105
+ "defined": "Permissions"
2106
+ }
2107
+ },
2108
+ {
2109
+ "name": "fees",
2110
+ "type": {
2111
+ "defined": "Fees"
2112
+ }
2113
+ },
2114
+ {
2115
+ "name": "borrowRate",
2116
+ "type": {
2117
+ "defined": "BorrowRateParams"
2118
+ }
2119
+ },
2120
+ {
2121
+ "name": "ratios",
2122
+ "type": {
2123
+ "vec": {
2124
+ "defined": "TokenRatios"
2125
+ }
2126
+ }
2127
+ }
2128
+ ]
2129
+ }
2130
+ },
2131
+ {
2132
+ "name": "AddLiquidityParams",
2133
+ "type": {
2134
+ "kind": "struct",
2135
+ "fields": [
2136
+ {
2137
+ "name": "amountIn",
2138
+ "type": "u64"
2139
+ },
2140
+ {
2141
+ "name": "minLpAmountOut",
2142
+ "type": "u64"
2143
+ }
2144
+ ]
2145
+ }
2146
+ },
2147
+ {
2148
+ "name": "AddPoolParams",
2149
+ "type": {
2150
+ "kind": "struct",
2151
+ "fields": [
2152
+ {
2153
+ "name": "name",
2154
+ "type": "string"
2155
+ }
2156
+ ]
2157
+ }
2158
+ },
2159
+ {
2160
+ "name": "ClosePositionParams",
2161
+ "type": {
2162
+ "kind": "struct",
2163
+ "fields": [
2164
+ {
2165
+ "name": "price",
2166
+ "type": "u64"
2167
+ }
2168
+ ]
2169
+ }
2170
+ },
2171
+ {
2172
+ "name": "GetAddLiquidityAmountAndFeeParams",
2173
+ "type": {
2174
+ "kind": "struct",
2175
+ "fields": [
2176
+ {
2177
+ "name": "amountIn",
2178
+ "type": "u64"
2179
+ }
2180
+ ]
2181
+ }
2182
+ },
2183
+ {
2184
+ "name": "GetAssetsUnderManagementParams",
2185
+ "type": {
2186
+ "kind": "struct",
2187
+ "fields": []
2188
+ }
2189
+ },
2190
+ {
2191
+ "name": "GetEntryPriceAndFeeParams",
2192
+ "type": {
2193
+ "kind": "struct",
2194
+ "fields": [
2195
+ {
2196
+ "name": "collateral",
2197
+ "type": "u64"
2198
+ },
2199
+ {
2200
+ "name": "size",
2201
+ "type": "u64"
2202
+ },
2203
+ {
2204
+ "name": "side",
2205
+ "type": {
2206
+ "defined": "Side"
2207
+ }
2208
+ }
2209
+ ]
2210
+ }
2211
+ },
2212
+ {
2213
+ "name": "GetExitPriceAndFeeParams",
2214
+ "type": {
2215
+ "kind": "struct",
2216
+ "fields": []
2217
+ }
2218
+ },
2219
+ {
2220
+ "name": "GetLiquidationPriceParams",
2221
+ "type": {
2222
+ "kind": "struct",
2223
+ "fields": [
2224
+ {
2225
+ "name": "addCollateral",
2226
+ "type": "u64"
2227
+ },
2228
+ {
2229
+ "name": "removeCollateral",
2230
+ "type": "u64"
2231
+ }
2232
+ ]
2233
+ }
2234
+ },
2235
+ {
2236
+ "name": "GetLiquidationStateParams",
2237
+ "type": {
2238
+ "kind": "struct",
2239
+ "fields": []
2240
+ }
2241
+ },
2242
+ {
2243
+ "name": "GetOraclePriceParams",
2244
+ "type": {
2245
+ "kind": "struct",
2246
+ "fields": [
2247
+ {
2248
+ "name": "ema",
2249
+ "type": "bool"
2250
+ }
2251
+ ]
2252
+ }
2253
+ },
2254
+ {
2255
+ "name": "GetPnlParams",
2256
+ "type": {
2257
+ "kind": "struct",
2258
+ "fields": []
2259
+ }
2260
+ },
2261
+ {
2262
+ "name": "GetRemoveLiquidityAmountAndFeeParams",
2263
+ "type": {
2264
+ "kind": "struct",
2265
+ "fields": [
2266
+ {
2267
+ "name": "lpAmountIn",
2268
+ "type": "u64"
2269
+ }
2270
+ ]
2271
+ }
2272
+ },
2273
+ {
2274
+ "name": "GetSwapAmountAndFeesParams",
2275
+ "type": {
2276
+ "kind": "struct",
2277
+ "fields": [
2278
+ {
2279
+ "name": "amountIn",
2280
+ "type": "u64"
2281
+ }
2282
+ ]
2283
+ }
2284
+ },
2285
+ {
2286
+ "name": "InitParams",
2287
+ "type": {
2288
+ "kind": "struct",
2289
+ "fields": [
2290
+ {
2291
+ "name": "minSignatures",
2292
+ "type": "u8"
2293
+ },
2294
+ {
2295
+ "name": "allowSwap",
2296
+ "type": "bool"
2297
+ },
2298
+ {
2299
+ "name": "allowAddLiquidity",
2300
+ "type": "bool"
2301
+ },
2302
+ {
2303
+ "name": "allowRemoveLiquidity",
2304
+ "type": "bool"
2305
+ },
2306
+ {
2307
+ "name": "allowOpenPosition",
2308
+ "type": "bool"
2309
+ },
2310
+ {
2311
+ "name": "allowClosePosition",
2312
+ "type": "bool"
2313
+ },
2314
+ {
2315
+ "name": "allowPnlWithdrawal",
2316
+ "type": "bool"
2317
+ },
2318
+ {
2319
+ "name": "allowCollateralWithdrawal",
2320
+ "type": "bool"
2321
+ },
2322
+ {
2323
+ "name": "allowSizeChange",
2324
+ "type": "bool"
2325
+ }
2326
+ ]
2327
+ }
2328
+ },
2329
+ {
2330
+ "name": "LiquidateParams",
2331
+ "type": {
2332
+ "kind": "struct",
2333
+ "fields": []
2334
+ }
2335
+ },
2336
+ {
2337
+ "name": "OpenPositionParams",
2338
+ "type": {
2339
+ "kind": "struct",
2340
+ "fields": [
2341
+ {
2342
+ "name": "price",
2343
+ "type": "u64"
2344
+ },
2345
+ {
2346
+ "name": "collateral",
2347
+ "type": "u64"
2348
+ },
2349
+ {
2350
+ "name": "size",
2351
+ "type": "u64"
2352
+ },
2353
+ {
2354
+ "name": "side",
2355
+ "type": {
2356
+ "defined": "Side"
2357
+ }
2358
+ }
2359
+ ]
2360
+ }
2361
+ },
2362
+ {
2363
+ "name": "RemoveCollateralParams",
2364
+ "type": {
2365
+ "kind": "struct",
2366
+ "fields": [
2367
+ {
2368
+ "name": "collateralUsd",
2369
+ "type": "u64"
2370
+ }
2371
+ ]
2372
+ }
2373
+ },
2374
+ {
2375
+ "name": "RemoveCustodyParams",
2376
+ "type": {
2377
+ "kind": "struct",
2378
+ "fields": [
2379
+ {
2380
+ "name": "ratios",
2381
+ "type": {
2382
+ "vec": {
2383
+ "defined": "TokenRatios"
2384
+ }
2385
+ }
2386
+ }
2387
+ ]
2388
+ }
2389
+ },
2390
+ {
2391
+ "name": "RemoveLiquidityParams",
2392
+ "type": {
2393
+ "kind": "struct",
2394
+ "fields": [
2395
+ {
2396
+ "name": "lpAmountIn",
2397
+ "type": "u64"
2398
+ },
2399
+ {
2400
+ "name": "minAmountOut",
2401
+ "type": "u64"
2402
+ }
2403
+ ]
2404
+ }
2405
+ },
2406
+ {
2407
+ "name": "RemovePoolParams",
2408
+ "type": {
2409
+ "kind": "struct",
2410
+ "fields": []
2411
+ }
2412
+ },
2413
+ {
2414
+ "name": "SetAdminSignersParams",
2415
+ "type": {
2416
+ "kind": "struct",
2417
+ "fields": [
2418
+ {
2419
+ "name": "minSignatures",
2420
+ "type": "u8"
2421
+ }
2422
+ ]
2423
+ }
2424
+ },
2425
+ {
2426
+ "name": "SetCustodyConfigParams",
2427
+ "type": {
2428
+ "kind": "struct",
2429
+ "fields": [
2430
+ {
2431
+ "name": "isStable",
2432
+ "type": "bool"
2433
+ },
2434
+ {
2435
+ "name": "oracle",
2436
+ "type": {
2437
+ "defined": "OracleParams"
2438
+ }
2439
+ },
2440
+ {
2441
+ "name": "pricing",
2442
+ "type": {
2443
+ "defined": "PricingParams"
2444
+ }
2445
+ },
2446
+ {
2447
+ "name": "permissions",
2448
+ "type": {
2449
+ "defined": "Permissions"
2450
+ }
2451
+ },
2452
+ {
2453
+ "name": "fees",
2454
+ "type": {
2455
+ "defined": "Fees"
2456
+ }
2457
+ },
2458
+ {
2459
+ "name": "borrowRate",
2460
+ "type": {
2461
+ "defined": "BorrowRateParams"
2462
+ }
2463
+ },
2464
+ {
2465
+ "name": "ratios",
2466
+ "type": {
2467
+ "vec": {
2468
+ "defined": "TokenRatios"
2469
+ }
2470
+ }
2471
+ }
2472
+ ]
2473
+ }
2474
+ },
2475
+ {
2476
+ "name": "SetPermissionsParams",
2477
+ "type": {
2478
+ "kind": "struct",
2479
+ "fields": [
2480
+ {
2481
+ "name": "allowSwap",
2482
+ "type": "bool"
2483
+ },
2484
+ {
2485
+ "name": "allowAddLiquidity",
2486
+ "type": "bool"
2487
+ },
2488
+ {
2489
+ "name": "allowRemoveLiquidity",
2490
+ "type": "bool"
2491
+ },
2492
+ {
2493
+ "name": "allowOpenPosition",
2494
+ "type": "bool"
2495
+ },
2496
+ {
2497
+ "name": "allowClosePosition",
2498
+ "type": "bool"
2499
+ },
2500
+ {
2501
+ "name": "allowPnlWithdrawal",
2502
+ "type": "bool"
2503
+ },
2504
+ {
2505
+ "name": "allowCollateralWithdrawal",
2506
+ "type": "bool"
2507
+ },
2508
+ {
2509
+ "name": "allowSizeChange",
2510
+ "type": "bool"
2511
+ }
2512
+ ]
2513
+ }
2514
+ },
2515
+ {
2516
+ "name": "SetTestOraclePriceParams",
2517
+ "type": {
2518
+ "kind": "struct",
2519
+ "fields": [
2520
+ {
2521
+ "name": "price",
2522
+ "type": "u64"
2523
+ },
2524
+ {
2525
+ "name": "expo",
2526
+ "type": "i32"
2527
+ },
2528
+ {
2529
+ "name": "conf",
2530
+ "type": "u64"
2531
+ },
2532
+ {
2533
+ "name": "publishTime",
2534
+ "type": "i64"
2535
+ }
2536
+ ]
2537
+ }
2538
+ },
2539
+ {
2540
+ "name": "SetTestTimeParams",
2541
+ "type": {
2542
+ "kind": "struct",
2543
+ "fields": [
2544
+ {
2545
+ "name": "time",
2546
+ "type": "i64"
2547
+ }
2548
+ ]
2549
+ }
2550
+ },
2551
+ {
2552
+ "name": "SwapParams",
2553
+ "type": {
2554
+ "kind": "struct",
2555
+ "fields": [
2556
+ {
2557
+ "name": "amountIn",
2558
+ "type": "u64"
2559
+ },
2560
+ {
2561
+ "name": "minAmountOut",
2562
+ "type": "u64"
2563
+ }
2564
+ ]
2565
+ }
2566
+ },
2567
+ {
2568
+ "name": "TestInitParams",
2569
+ "type": {
2570
+ "kind": "struct",
2571
+ "fields": [
2572
+ {
2573
+ "name": "minSignatures",
2574
+ "type": "u8"
2575
+ },
2576
+ {
2577
+ "name": "allowSwap",
2578
+ "type": "bool"
2579
+ },
2580
+ {
2581
+ "name": "allowAddLiquidity",
2582
+ "type": "bool"
2583
+ },
2584
+ {
2585
+ "name": "allowRemoveLiquidity",
2586
+ "type": "bool"
2587
+ },
2588
+ {
2589
+ "name": "allowOpenPosition",
2590
+ "type": "bool"
2591
+ },
2592
+ {
2593
+ "name": "allowClosePosition",
2594
+ "type": "bool"
2595
+ },
2596
+ {
2597
+ "name": "allowPnlWithdrawal",
2598
+ "type": "bool"
2599
+ },
2600
+ {
2601
+ "name": "allowCollateralWithdrawal",
2602
+ "type": "bool"
2603
+ },
2604
+ {
2605
+ "name": "allowSizeChange",
2606
+ "type": "bool"
2607
+ }
2608
+ ]
2609
+ }
2610
+ },
2611
+ {
2612
+ "name": "EditCustodyParams",
2613
+ "type": {
2614
+ "kind": "struct",
2615
+ "fields": [
2616
+ {
2617
+ "name": "isStable",
2618
+ "type": "bool"
2619
+ },
2620
+ {
2621
+ "name": "oracle",
2622
+ "type": {
2623
+ "defined": "OracleParams"
2624
+ }
2625
+ },
2626
+ {
2627
+ "name": "pricing",
2628
+ "type": {
2629
+ "defined": "PricingParams"
2630
+ }
2631
+ },
2632
+ {
2633
+ "name": "permissions",
2634
+ "type": {
2635
+ "defined": "Permissions"
2636
+ }
2637
+ },
2638
+ {
2639
+ "name": "fees",
2640
+ "type": {
2641
+ "defined": "Fees"
2642
+ }
2643
+ },
2644
+ {
2645
+ "name": "borrowRate",
2646
+ "type": {
2647
+ "defined": "BorrowRateParams"
2648
+ }
2649
+ },
2650
+ {
2651
+ "name": "ratios",
2652
+ "type": {
2653
+ "vec": {
2654
+ "defined": "TokenRatios"
2655
+ }
2656
+ }
2657
+ }
2658
+ ]
2659
+ }
2660
+ },
2661
+ {
2662
+ "name": "UpgradeCustodyParams",
2663
+ "type": {
2664
+ "kind": "struct",
2665
+ "fields": []
2666
+ }
2667
+ },
2668
+ {
2669
+ "name": "WithdrawFeesParams",
2670
+ "type": {
2671
+ "kind": "struct",
2672
+ "fields": [
2673
+ {
2674
+ "name": "amount",
2675
+ "type": "u64"
2676
+ }
2677
+ ]
2678
+ }
2679
+ },
2680
+ {
2681
+ "name": "WithdrawSolFeesParams",
2682
+ "type": {
2683
+ "kind": "struct",
2684
+ "fields": [
2685
+ {
2686
+ "name": "amount",
2687
+ "type": "u64"
2688
+ }
2689
+ ]
2690
+ }
2691
+ },
2692
+ {
2693
+ "name": "Fees",
2694
+ "type": {
2695
+ "kind": "struct",
2696
+ "fields": [
2697
+ {
2698
+ "name": "mode",
2699
+ "type": {
2700
+ "defined": "FeesMode"
2701
+ }
2702
+ },
2703
+ {
2704
+ "name": "ratioMult",
2705
+ "type": "u64"
2706
+ },
2707
+ {
2708
+ "name": "utilizationMult",
2709
+ "type": "u64"
2710
+ },
2711
+ {
2712
+ "name": "swapIn",
2713
+ "type": "u64"
2714
+ },
2715
+ {
2716
+ "name": "swapOut",
2717
+ "type": "u64"
2718
+ },
2719
+ {
2720
+ "name": "stableSwapIn",
2721
+ "type": "u64"
2722
+ },
2723
+ {
2724
+ "name": "stableSwapOut",
2725
+ "type": "u64"
2726
+ },
2727
+ {
2728
+ "name": "addLiquidity",
2729
+ "type": "u64"
2730
+ },
2731
+ {
2732
+ "name": "removeLiquidity",
2733
+ "type": "u64"
2734
+ },
2735
+ {
2736
+ "name": "openPosition",
2737
+ "type": "u64"
2738
+ },
2739
+ {
2740
+ "name": "closePosition",
2741
+ "type": "u64"
2742
+ },
2743
+ {
2744
+ "name": "liquidation",
2745
+ "type": "u64"
2746
+ },
2747
+ {
2748
+ "name": "protocolShare",
2749
+ "type": "u64"
2750
+ }
2751
+ ]
2752
+ }
2753
+ },
2754
+ {
2755
+ "name": "FeesStats",
2756
+ "type": {
2757
+ "kind": "struct",
2758
+ "fields": [
2759
+ {
2760
+ "name": "swapUsd",
2761
+ "type": "u64"
2762
+ },
2763
+ {
2764
+ "name": "addLiquidityUsd",
2765
+ "type": "u64"
2766
+ },
2767
+ {
2768
+ "name": "removeLiquidityUsd",
2769
+ "type": "u64"
2770
+ },
2771
+ {
2772
+ "name": "openPositionUsd",
2773
+ "type": "u64"
2774
+ },
2775
+ {
2776
+ "name": "closePositionUsd",
2777
+ "type": "u64"
2778
+ },
2779
+ {
2780
+ "name": "liquidationUsd",
2781
+ "type": "u64"
2782
+ }
2783
+ ]
2784
+ }
2785
+ },
2786
+ {
2787
+ "name": "VolumeStats",
2788
+ "type": {
2789
+ "kind": "struct",
2790
+ "fields": [
2791
+ {
2792
+ "name": "swapUsd",
2793
+ "type": "u64"
2794
+ },
2795
+ {
2796
+ "name": "addLiquidityUsd",
2797
+ "type": "u64"
2798
+ },
2799
+ {
2800
+ "name": "removeLiquidityUsd",
2801
+ "type": "u64"
2802
+ },
2803
+ {
2804
+ "name": "openPositionUsd",
2805
+ "type": "u64"
2806
+ },
2807
+ {
2808
+ "name": "closePositionUsd",
2809
+ "type": "u64"
2810
+ },
2811
+ {
2812
+ "name": "liquidationUsd",
2813
+ "type": "u64"
2814
+ }
2815
+ ]
2816
+ }
2817
+ },
2818
+ {
2819
+ "name": "TradeStats",
2820
+ "type": {
2821
+ "kind": "struct",
2822
+ "fields": [
2823
+ {
2824
+ "name": "profitUsd",
2825
+ "type": "u64"
2826
+ },
2827
+ {
2828
+ "name": "lossUsd",
2829
+ "type": "u64"
2830
+ },
2831
+ {
2832
+ "name": "oiLongUsd",
2833
+ "type": "u64"
2834
+ },
2835
+ {
2836
+ "name": "oiShortUsd",
2837
+ "type": "u64"
2838
+ }
2839
+ ]
2840
+ }
2841
+ },
2842
+ {
2843
+ "name": "Assets",
2844
+ "type": {
2845
+ "kind": "struct",
2846
+ "fields": [
2847
+ {
2848
+ "name": "collateral",
2849
+ "type": "u64"
2850
+ },
2851
+ {
2852
+ "name": "protocolFees",
2853
+ "type": "u64"
2854
+ },
2855
+ {
2856
+ "name": "owned",
2857
+ "type": "u64"
2858
+ },
2859
+ {
2860
+ "name": "locked",
2861
+ "type": "u64"
2862
+ }
2863
+ ]
2864
+ }
2865
+ },
2866
+ {
2867
+ "name": "OracleParams",
2868
+ "type": {
2869
+ "kind": "struct",
2870
+ "fields": [
2871
+ {
2872
+ "name": "oracleAccount",
2873
+ "type": "publicKey"
2874
+ },
2875
+ {
2876
+ "name": "oracleType",
2877
+ "type": {
2878
+ "defined": "OracleType"
2879
+ }
2880
+ },
2881
+ {
2882
+ "name": "maxPriceError",
2883
+ "type": "u64"
2884
+ },
2885
+ {
2886
+ "name": "maxPriceAgeSec",
2887
+ "type": "u32"
2888
+ }
2889
+ ]
2890
+ }
2891
+ },
2892
+ {
2893
+ "name": "PricingParams",
2894
+ "type": {
2895
+ "kind": "struct",
2896
+ "fields": [
2897
+ {
2898
+ "name": "useEma",
2899
+ "type": "bool"
2900
+ },
2901
+ {
2902
+ "name": "useUnrealizedPnlInAum",
2903
+ "type": "bool"
2904
+ },
2905
+ {
2906
+ "name": "tradeSpreadLong",
2907
+ "type": "u64"
2908
+ },
2909
+ {
2910
+ "name": "tradeSpreadShort",
2911
+ "type": "u64"
2912
+ },
2913
+ {
2914
+ "name": "swapSpread",
2915
+ "type": "u64"
2916
+ },
2917
+ {
2918
+ "name": "minInitialLeverage",
2919
+ "type": "u64"
2920
+ },
2921
+ {
2922
+ "name": "maxInitialLeverage",
2923
+ "type": "u64"
2924
+ },
2925
+ {
2926
+ "name": "maxLeverage",
2927
+ "type": "u64"
2928
+ },
2929
+ {
2930
+ "name": "maxPayoffMult",
2931
+ "type": "u64"
2932
+ },
2933
+ {
2934
+ "name": "maxUtilization",
2935
+ "type": "u64"
2936
+ },
2937
+ {
2938
+ "name": "maxPositionLockedUsd",
2939
+ "type": "u64"
2940
+ },
2941
+ {
2942
+ "name": "maxTotalLockedUsd",
2943
+ "type": "u64"
2944
+ }
2945
+ ]
2946
+ }
2947
+ },
2948
+ {
2949
+ "name": "BorrowRateParams",
2950
+ "type": {
2951
+ "kind": "struct",
2952
+ "fields": [
2953
+ {
2954
+ "name": "baseRate",
2955
+ "type": "u64"
2956
+ },
2957
+ {
2958
+ "name": "slope1",
2959
+ "type": "u64"
2960
+ },
2961
+ {
2962
+ "name": "slope2",
2963
+ "type": "u64"
2964
+ },
2965
+ {
2966
+ "name": "optimalUtilization",
2967
+ "type": "u64"
2968
+ }
2969
+ ]
2970
+ }
2971
+ },
2972
+ {
2973
+ "name": "BorrowRateState",
2974
+ "type": {
2975
+ "kind": "struct",
2976
+ "fields": [
2977
+ {
2978
+ "name": "currentRate",
2979
+ "type": "u64"
2980
+ },
2981
+ {
2982
+ "name": "cumulativeInterest",
2983
+ "type": "u128"
2984
+ },
2985
+ {
2986
+ "name": "lastUpdate",
2987
+ "type": "i64"
2988
+ }
2989
+ ]
2990
+ }
2991
+ },
2992
+ {
2993
+ "name": "PositionStats",
2994
+ "type": {
2995
+ "kind": "struct",
2996
+ "fields": [
2997
+ {
2998
+ "name": "openPositions",
2999
+ "type": "u64"
3000
+ },
3001
+ {
3002
+ "name": "collateralUsd",
3003
+ "type": "u64"
3004
+ },
3005
+ {
3006
+ "name": "sizeUsd",
3007
+ "type": "u64"
3008
+ },
3009
+ {
3010
+ "name": "lockedAmount",
3011
+ "type": "u64"
3012
+ },
3013
+ {
3014
+ "name": "weightedPrice",
3015
+ "type": "u128"
3016
+ },
3017
+ {
3018
+ "name": "totalQuantity",
3019
+ "type": "u128"
3020
+ },
3021
+ {
3022
+ "name": "cumulativeInterestUsd",
3023
+ "type": "u64"
3024
+ },
3025
+ {
3026
+ "name": "cumulativeInterestSnapshot",
3027
+ "type": "u128"
3028
+ }
3029
+ ]
3030
+ }
3031
+ },
3032
+ {
3033
+ "name": "DeprecatedPricingParams",
3034
+ "type": {
3035
+ "kind": "struct",
3036
+ "fields": [
3037
+ {
3038
+ "name": "useEma",
3039
+ "type": "bool"
3040
+ },
3041
+ {
3042
+ "name": "useUnrealizedPnlInAum",
3043
+ "type": "bool"
3044
+ },
3045
+ {
3046
+ "name": "tradeSpreadLong",
3047
+ "type": "u64"
3048
+ },
3049
+ {
3050
+ "name": "tradeSpreadShort",
3051
+ "type": "u64"
3052
+ },
3053
+ {
3054
+ "name": "swapSpread",
3055
+ "type": "u64"
3056
+ },
3057
+ {
3058
+ "name": "minInitialLeverage",
3059
+ "type": "u64"
3060
+ },
3061
+ {
3062
+ "name": "maxLeverage",
3063
+ "type": "u64"
3064
+ },
3065
+ {
3066
+ "name": "maxPayoffMult",
3067
+ "type": "u64"
3068
+ }
3069
+ ]
3070
+ }
3071
+ },
3072
+ {
3073
+ "name": "OraclePrice",
3074
+ "type": {
3075
+ "kind": "struct",
3076
+ "fields": [
3077
+ {
3078
+ "name": "price",
3079
+ "type": "u64"
3080
+ },
3081
+ {
3082
+ "name": "exponent",
3083
+ "type": "i32"
3084
+ }
3085
+ ]
3086
+ }
3087
+ },
3088
+ {
3089
+ "name": "PriceAndFee",
3090
+ "type": {
3091
+ "kind": "struct",
3092
+ "fields": [
3093
+ {
3094
+ "name": "price",
3095
+ "type": "u64"
3096
+ },
3097
+ {
3098
+ "name": "fee",
3099
+ "type": "u64"
3100
+ }
3101
+ ]
3102
+ }
3103
+ },
3104
+ {
3105
+ "name": "AmountAndFee",
3106
+ "type": {
3107
+ "kind": "struct",
3108
+ "fields": [
3109
+ {
3110
+ "name": "amount",
3111
+ "type": "u64"
3112
+ },
3113
+ {
3114
+ "name": "fee",
3115
+ "type": "u64"
3116
+ }
3117
+ ]
3118
+ }
3119
+ },
3120
+ {
3121
+ "name": "NewPositionPricesAndFee",
3122
+ "type": {
3123
+ "kind": "struct",
3124
+ "fields": [
3125
+ {
3126
+ "name": "entryPrice",
3127
+ "type": "u64"
3128
+ },
3129
+ {
3130
+ "name": "liquidationPrice",
3131
+ "type": "u64"
3132
+ },
3133
+ {
3134
+ "name": "fee",
3135
+ "type": "u64"
3136
+ }
3137
+ ]
3138
+ }
3139
+ },
3140
+ {
3141
+ "name": "SwapAmountAndFees",
3142
+ "type": {
3143
+ "kind": "struct",
3144
+ "fields": [
3145
+ {
3146
+ "name": "amountOut",
3147
+ "type": "u64"
3148
+ },
3149
+ {
3150
+ "name": "feeIn",
3151
+ "type": "u64"
3152
+ },
3153
+ {
3154
+ "name": "feeOut",
3155
+ "type": "u64"
3156
+ }
3157
+ ]
3158
+ }
3159
+ },
3160
+ {
3161
+ "name": "ProfitAndLoss",
3162
+ "type": {
3163
+ "kind": "struct",
3164
+ "fields": [
3165
+ {
3166
+ "name": "profit",
3167
+ "type": "u64"
3168
+ },
3169
+ {
3170
+ "name": "loss",
3171
+ "type": "u64"
3172
+ }
3173
+ ]
3174
+ }
3175
+ },
3176
+ {
3177
+ "name": "Permissions",
3178
+ "type": {
3179
+ "kind": "struct",
3180
+ "fields": [
3181
+ {
3182
+ "name": "allowSwap",
3183
+ "type": "bool"
3184
+ },
3185
+ {
3186
+ "name": "allowAddLiquidity",
3187
+ "type": "bool"
3188
+ },
3189
+ {
3190
+ "name": "allowRemoveLiquidity",
3191
+ "type": "bool"
3192
+ },
3193
+ {
3194
+ "name": "allowOpenPosition",
3195
+ "type": "bool"
3196
+ },
3197
+ {
3198
+ "name": "allowClosePosition",
3199
+ "type": "bool"
3200
+ },
3201
+ {
3202
+ "name": "allowPnlWithdrawal",
3203
+ "type": "bool"
3204
+ },
3205
+ {
3206
+ "name": "allowCollateralWithdrawal",
3207
+ "type": "bool"
3208
+ },
3209
+ {
3210
+ "name": "allowSizeChange",
3211
+ "type": "bool"
3212
+ }
3213
+ ]
3214
+ }
3215
+ },
3216
+ {
3217
+ "name": "TokenRatios",
3218
+ "type": {
3219
+ "kind": "struct",
3220
+ "fields": [
3221
+ {
3222
+ "name": "target",
3223
+ "type": "u64"
3224
+ },
3225
+ {
3226
+ "name": "min",
3227
+ "type": "u64"
3228
+ },
3229
+ {
3230
+ "name": "max",
3231
+ "type": "u64"
3232
+ }
3233
+ ]
3234
+ }
3235
+ },
3236
+ {
3237
+ "name": "FeesMode",
3238
+ "type": {
3239
+ "kind": "enum",
3240
+ "variants": [
3241
+ {
3242
+ "name": "Fixed"
3243
+ },
3244
+ {
3245
+ "name": "Linear"
3246
+ }
3247
+ ]
3248
+ }
3249
+ },
3250
+ {
3251
+ "name": "AdminInstruction",
3252
+ "type": {
3253
+ "kind": "enum",
3254
+ "variants": [
3255
+ {
3256
+ "name": "AddPool"
3257
+ },
3258
+ {
3259
+ "name": "RemovePool"
3260
+ },
3261
+ {
3262
+ "name": "AddCustody"
3263
+ },
3264
+ {
3265
+ "name": "RemoveCustody"
3266
+ },
3267
+ {
3268
+ "name": "SetAdminSigners"
3269
+ },
3270
+ {
3271
+ "name": "SetCustodyConfig"
3272
+ },
3273
+ {
3274
+ "name": "SetPermissions"
3275
+ },
3276
+ {
3277
+ "name": "SetBorrowRate"
3278
+ },
3279
+ {
3280
+ "name": "WithdrawFees"
3281
+ },
3282
+ {
3283
+ "name": "WithdrawSolFees"
3284
+ },
3285
+ {
3286
+ "name": "SetTestOraclePrice"
3287
+ },
3288
+ {
3289
+ "name": "SetTestTime"
3290
+ },
3291
+ {
3292
+ "name": "UpgradeCustody"
3293
+ }
3294
+ ]
3295
+ }
3296
+ },
3297
+ {
3298
+ "name": "OracleType",
3299
+ "type": {
3300
+ "kind": "enum",
3301
+ "variants": [
3302
+ {
3303
+ "name": "None"
3304
+ },
3305
+ {
3306
+ "name": "Test"
3307
+ },
3308
+ {
3309
+ "name": "Pyth"
3310
+ }
3311
+ ]
3312
+ }
3313
+ },
3314
+ {
3315
+ "name": "AumCalcMode",
3316
+ "type": {
3317
+ "kind": "enum",
3318
+ "variants": [
3319
+ {
3320
+ "name": "Min"
3321
+ },
3322
+ {
3323
+ "name": "Max"
3324
+ },
3325
+ {
3326
+ "name": "Last"
3327
+ },
3328
+ {
3329
+ "name": "EMA"
3330
+ }
3331
+ ]
3332
+ }
3333
+ },
3334
+ {
3335
+ "name": "Side",
3336
+ "type": {
3337
+ "kind": "enum",
3338
+ "variants": [
3339
+ {
3340
+ "name": "None"
3341
+ },
3342
+ {
3343
+ "name": "Long"
3344
+ },
3345
+ {
3346
+ "name": "Short"
3347
+ }
3348
+ ]
3349
+ }
3350
+ },
3351
+ {
3352
+ "name": "CollateralChange",
3353
+ "type": {
3354
+ "kind": "enum",
3355
+ "variants": [
3356
+ {
3357
+ "name": "None"
3358
+ },
3359
+ {
3360
+ "name": "Add"
3361
+ },
3362
+ {
3363
+ "name": "Remove"
3364
+ }
3365
+ ]
3366
+ }
3367
+ }
3368
+ ],
3369
+ "events": [
3370
+ {
3371
+ "name": "OpenPositionLog",
3372
+ "fields": [
3373
+ {
3374
+ "name": "postion",
3375
+ "type": "publicKey",
3376
+ "index": false
3377
+ },
3378
+ {
3379
+ "name": "owner",
3380
+ "type": "publicKey",
3381
+ "index": false
3382
+ },
3383
+ {
3384
+ "name": "custody",
3385
+ "type": "publicKey",
3386
+ "index": false
3387
+ },
3388
+ {
3389
+ "name": "price",
3390
+ "type": "u64",
3391
+ "index": false
3392
+ },
3393
+ {
3394
+ "name": "collateral",
3395
+ "type": "u64",
3396
+ "index": false
3397
+ },
3398
+ {
3399
+ "name": "size",
3400
+ "type": "u64",
3401
+ "index": false
3402
+ },
3403
+ {
3404
+ "name": "side",
3405
+ "type": {
3406
+ "defined": "Side"
3407
+ },
3408
+ "index": false
3409
+ }
3410
+ ]
3411
+ }
3412
+ ],
3413
+ "errors": [
3414
+ {
3415
+ "code": 6000,
3416
+ "name": "MultisigAccountNotAuthorized",
3417
+ "msg": "Account is not authorized to sign this instruction"
3418
+ },
3419
+ {
3420
+ "code": 6001,
3421
+ "name": "MultisigAlreadySigned",
3422
+ "msg": "Account has already signed this instruction"
3423
+ },
3424
+ {
3425
+ "code": 6002,
3426
+ "name": "MultisigAlreadyExecuted",
3427
+ "msg": "This instruction has already been executed"
3428
+ },
3429
+ {
3430
+ "code": 6003,
3431
+ "name": "MathOverflow",
3432
+ "msg": "Overflow in arithmetic operation"
3433
+ },
3434
+ {
3435
+ "code": 6004,
3436
+ "name": "UnsupportedOracle",
3437
+ "msg": "Unsupported price oracle"
3438
+ },
3439
+ {
3440
+ "code": 6005,
3441
+ "name": "InvalidOracleAccount",
3442
+ "msg": "Invalid oracle account"
3443
+ },
3444
+ {
3445
+ "code": 6006,
3446
+ "name": "InvalidOracleState",
3447
+ "msg": "Invalid oracle state"
3448
+ },
3449
+ {
3450
+ "code": 6007,
3451
+ "name": "StaleOraclePrice",
3452
+ "msg": "Stale oracle price"
3453
+ },
3454
+ {
3455
+ "code": 6008,
3456
+ "name": "InvalidOraclePrice",
3457
+ "msg": "Invalid oracle price"
3458
+ },
3459
+ {
3460
+ "code": 6009,
3461
+ "name": "InvalidEnvironment",
3462
+ "msg": "Instruction is not allowed in production"
3463
+ },
3464
+ {
3465
+ "code": 6010,
3466
+ "name": "InvalidPoolState",
3467
+ "msg": "Invalid pool state"
3468
+ },
3469
+ {
3470
+ "code": 6011,
3471
+ "name": "InvalidCustodyState",
3472
+ "msg": "Invalid custody state"
3473
+ },
3474
+ {
3475
+ "code": 6012,
3476
+ "name": "InvalidPositionState",
3477
+ "msg": "Invalid position state"
3478
+ },
3479
+ {
3480
+ "code": 6013,
3481
+ "name": "InvalidPerpetualsConfig",
3482
+ "msg": "Invalid perpetuals config"
3483
+ },
3484
+ {
3485
+ "code": 6014,
3486
+ "name": "InvalidPoolConfig",
3487
+ "msg": "Invalid pool config"
3488
+ },
3489
+ {
3490
+ "code": 6015,
3491
+ "name": "InvalidCustodyConfig",
3492
+ "msg": "Invalid custody config"
3493
+ },
3494
+ {
3495
+ "code": 6016,
3496
+ "name": "InsufficientAmountReturned",
3497
+ "msg": "Insufficient token amount returned"
3498
+ },
3499
+ {
3500
+ "code": 6017,
3501
+ "name": "MaxPriceSlippage",
3502
+ "msg": "Price slippage limit exceeded"
3503
+ },
3504
+ {
3505
+ "code": 6018,
3506
+ "name": "MaxLeverage",
3507
+ "msg": "Position leverage limit exceeded"
3508
+ },
3509
+ {
3510
+ "code": 6019,
3511
+ "name": "CustodyAmountLimit",
3512
+ "msg": "Custody amount limit exceeded"
3513
+ },
3514
+ {
3515
+ "code": 6020,
3516
+ "name": "PositionAmountLimit",
3517
+ "msg": "Position amount limit exceeded"
3518
+ },
3519
+ {
3520
+ "code": 6021,
3521
+ "name": "TokenRatioOutOfRange",
3522
+ "msg": "Token ratio out of range"
3523
+ },
3524
+ {
3525
+ "code": 6022,
3526
+ "name": "UnsupportedToken",
3527
+ "msg": "Token is not supported"
3528
+ },
3529
+ {
3530
+ "code": 6023,
3531
+ "name": "InstructionNotAllowed",
3532
+ "msg": "Instruction is not allowed at this time"
3533
+ },
3534
+ {
3535
+ "code": 6024,
3536
+ "name": "MaxUtilization",
3537
+ "msg": "Token utilization limit exceeded"
3538
+ }
3539
+ ]
3540
+ };
3541
+ //# sourceMappingURL=perpetuals.js.map