@lavarage/sdk 4.5.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.
@@ -0,0 +1,2664 @@
1
+ export type Lavarage = {
2
+ "version": "0.1.0",
3
+ "name": "lavarage",
4
+ "instructions": [
5
+ {
6
+ "name": "lpOperatorCreateTradingPool",
7
+ "accounts": [
8
+ {
9
+ "name": "tradingPool",
10
+ "isMut": true,
11
+ "isSigner": false
12
+ },
13
+ {
14
+ "name": "operator",
15
+ "isMut": true,
16
+ "isSigner": true
17
+ },
18
+ {
19
+ "name": "nodeWallet",
20
+ "isMut": false,
21
+ "isSigner": false
22
+ },
23
+ {
24
+ "name": "mint",
25
+ "isMut": false,
26
+ "isSigner": false
27
+ },
28
+ {
29
+ "name": "systemProgram",
30
+ "isMut": false,
31
+ "isSigner": false
32
+ }
33
+ ],
34
+ "args": [
35
+ {
36
+ "name": "interestRate",
37
+ "type": "u8"
38
+ }
39
+ ]
40
+ },
41
+ {
42
+ "name": "lpOperatorCreateNodeWallet",
43
+ "accounts": [
44
+ {
45
+ "name": "nodeWallet",
46
+ "isMut": true,
47
+ "isSigner": false
48
+ },
49
+ {
50
+ "name": "operator",
51
+ "isMut": true,
52
+ "isSigner": true
53
+ },
54
+ {
55
+ "name": "systemProgram",
56
+ "isMut": false,
57
+ "isSigner": false
58
+ },
59
+ {
60
+ "name": "mint",
61
+ "isMut": false,
62
+ "isSigner": false
63
+ }
64
+ ],
65
+ "args": [
66
+ {
67
+ "name": "liquidationLtv",
68
+ "type": "u16"
69
+ }
70
+ ]
71
+ },
72
+ {
73
+ "name": "lpOperatorWithdrawFromNodeWallet",
74
+ "accounts": [
75
+ {
76
+ "name": "nodeWallet",
77
+ "isMut": true,
78
+ "isSigner": false
79
+ },
80
+ {
81
+ "name": "funder",
82
+ "isMut": true,
83
+ "isSigner": true
84
+ },
85
+ {
86
+ "name": "systemProgram",
87
+ "isMut": false,
88
+ "isSigner": false
89
+ },
90
+ {
91
+ "name": "mint",
92
+ "isMut": false,
93
+ "isSigner": false
94
+ },
95
+ {
96
+ "name": "fromTokenAccount",
97
+ "isMut": true,
98
+ "isSigner": false
99
+ },
100
+ {
101
+ "name": "toTokenAccount",
102
+ "isMut": true,
103
+ "isSigner": false
104
+ },
105
+ {
106
+ "name": "tokenProgram",
107
+ "isMut": false,
108
+ "isSigner": false
109
+ }
110
+ ],
111
+ "args": [
112
+ {
113
+ "name": "amount",
114
+ "type": "u64"
115
+ }
116
+ ]
117
+ },
118
+ {
119
+ "name": "lpOperatorUpdateMaxBorrow",
120
+ "accounts": [
121
+ {
122
+ "name": "tradingPool",
123
+ "isMut": true,
124
+ "isSigner": false
125
+ },
126
+ {
127
+ "name": "nodeWallet",
128
+ "isMut": false,
129
+ "isSigner": false
130
+ },
131
+ {
132
+ "name": "operator",
133
+ "isMut": true,
134
+ "isSigner": true
135
+ },
136
+ {
137
+ "name": "systemProgram",
138
+ "isMut": false,
139
+ "isSigner": false
140
+ }
141
+ ],
142
+ "args": [
143
+ {
144
+ "name": "amount",
145
+ "type": "u64"
146
+ }
147
+ ]
148
+ },
149
+ {
150
+ "name": "lpOperatorUpdateMaxExposure",
151
+ "accounts": [
152
+ {
153
+ "name": "tradingPool",
154
+ "isMut": true,
155
+ "isSigner": false
156
+ },
157
+ {
158
+ "name": "nodeWallet",
159
+ "isMut": false,
160
+ "isSigner": false
161
+ },
162
+ {
163
+ "name": "operator",
164
+ "isMut": true,
165
+ "isSigner": true
166
+ },
167
+ {
168
+ "name": "systemProgram",
169
+ "isMut": false,
170
+ "isSigner": false
171
+ }
172
+ ],
173
+ "args": [
174
+ {
175
+ "name": "amount",
176
+ "type": "u64"
177
+ }
178
+ ]
179
+ },
180
+ {
181
+ "name": "lpOperatorUpdateInterestRate",
182
+ "accounts": [
183
+ {
184
+ "name": "tradingPool",
185
+ "isMut": true,
186
+ "isSigner": false
187
+ },
188
+ {
189
+ "name": "nodeWallet",
190
+ "isMut": false,
191
+ "isSigner": false
192
+ },
193
+ {
194
+ "name": "operator",
195
+ "isMut": true,
196
+ "isSigner": true
197
+ },
198
+ {
199
+ "name": "systemProgram",
200
+ "isMut": false,
201
+ "isSigner": false
202
+ }
203
+ ],
204
+ "args": [
205
+ {
206
+ "name": "amount",
207
+ "type": "u8"
208
+ }
209
+ ]
210
+ },
211
+ {
212
+ "name": "lpLiquidate",
213
+ "accounts": [
214
+ {
215
+ "name": "mint",
216
+ "isMut": false,
217
+ "isSigner": false
218
+ },
219
+ {
220
+ "name": "positionAccount",
221
+ "isMut": true,
222
+ "isSigner": false
223
+ },
224
+ {
225
+ "name": "trader",
226
+ "isMut": true,
227
+ "isSigner": false
228
+ },
229
+ {
230
+ "name": "tradingPool",
231
+ "isMut": true,
232
+ "isSigner": false
233
+ },
234
+ {
235
+ "name": "fromTokenAccount",
236
+ "isMut": true,
237
+ "isSigner": false
238
+ },
239
+ {
240
+ "name": "toTokenAccount",
241
+ "isMut": true,
242
+ "isSigner": false
243
+ },
244
+ {
245
+ "name": "nodeWallet",
246
+ "isMut": true,
247
+ "isSigner": false
248
+ },
249
+ {
250
+ "name": "tokenProgram",
251
+ "isMut": false,
252
+ "isSigner": false
253
+ },
254
+ {
255
+ "name": "randomAccountAsId",
256
+ "isMut": false,
257
+ "isSigner": false
258
+ },
259
+ {
260
+ "name": "clock",
261
+ "isMut": false,
262
+ "isSigner": false
263
+ },
264
+ {
265
+ "name": "operator",
266
+ "isMut": true,
267
+ "isSigner": true
268
+ },
269
+ {
270
+ "name": "oracle",
271
+ "isMut": false,
272
+ "isSigner": true
273
+ },
274
+ {
275
+ "name": "systemProgram",
276
+ "isMut": false,
277
+ "isSigner": false
278
+ }
279
+ ],
280
+ "args": [
281
+ {
282
+ "name": "positionSize",
283
+ "type": "u64"
284
+ }
285
+ ]
286
+ },
287
+ {
288
+ "name": "lpCollectInterest",
289
+ "accounts": [
290
+ {
291
+ "name": "mint",
292
+ "isMut": false,
293
+ "isSigner": false
294
+ },
295
+ {
296
+ "name": "positionAccount",
297
+ "isMut": true,
298
+ "isSigner": false
299
+ },
300
+ {
301
+ "name": "trader",
302
+ "isMut": true,
303
+ "isSigner": false
304
+ },
305
+ {
306
+ "name": "tradingPool",
307
+ "isMut": true,
308
+ "isSigner": false
309
+ },
310
+ {
311
+ "name": "fromTokenAccount",
312
+ "isMut": true,
313
+ "isSigner": false
314
+ },
315
+ {
316
+ "name": "toTokenAccount",
317
+ "isMut": true,
318
+ "isSigner": false
319
+ },
320
+ {
321
+ "name": "nodeWallet",
322
+ "isMut": true,
323
+ "isSigner": false
324
+ },
325
+ {
326
+ "name": "tokenProgram",
327
+ "isMut": false,
328
+ "isSigner": false
329
+ },
330
+ {
331
+ "name": "randomAccountAsId",
332
+ "isMut": false,
333
+ "isSigner": false
334
+ },
335
+ {
336
+ "name": "clock",
337
+ "isMut": false,
338
+ "isSigner": false
339
+ },
340
+ {
341
+ "name": "operator",
342
+ "isMut": true,
343
+ "isSigner": true
344
+ },
345
+ {
346
+ "name": "oracle",
347
+ "isMut": false,
348
+ "isSigner": true
349
+ },
350
+ {
351
+ "name": "systemProgram",
352
+ "isMut": false,
353
+ "isSigner": false
354
+ }
355
+ ],
356
+ "args": [
357
+ {
358
+ "name": "price",
359
+ "type": "u128"
360
+ }
361
+ ]
362
+ },
363
+ {
364
+ "name": "tradingOpenBorrow",
365
+ "accounts": [
366
+ {
367
+ "name": "positionAccount",
368
+ "isMut": true,
369
+ "isSigner": false
370
+ },
371
+ {
372
+ "name": "trader",
373
+ "isMut": true,
374
+ "isSigner": true
375
+ },
376
+ {
377
+ "name": "tradingPool",
378
+ "isMut": true,
379
+ "isSigner": false
380
+ },
381
+ {
382
+ "name": "nodeWallet",
383
+ "isMut": true,
384
+ "isSigner": false
385
+ },
386
+ {
387
+ "name": "instructions",
388
+ "isMut": false,
389
+ "isSigner": false
390
+ },
391
+ {
392
+ "name": "systemProgram",
393
+ "isMut": false,
394
+ "isSigner": false
395
+ },
396
+ {
397
+ "name": "clock",
398
+ "isMut": false,
399
+ "isSigner": false
400
+ },
401
+ {
402
+ "name": "randomAccountAsId",
403
+ "isMut": false,
404
+ "isSigner": false
405
+ },
406
+ {
407
+ "name": "feeTokenAccount",
408
+ "isMut": true,
409
+ "isSigner": false
410
+ },
411
+ {
412
+ "name": "fromTokenAccount",
413
+ "isMut": true,
414
+ "isSigner": false
415
+ },
416
+ {
417
+ "name": "toTokenAccount",
418
+ "isMut": true,
419
+ "isSigner": false
420
+ },
421
+ {
422
+ "name": "tokenProgram",
423
+ "isMut": false,
424
+ "isSigner": false
425
+ }
426
+ ],
427
+ "args": [
428
+ {
429
+ "name": "positionSize",
430
+ "type": "u64"
431
+ },
432
+ {
433
+ "name": "userPays",
434
+ "type": "u64"
435
+ }
436
+ ]
437
+ },
438
+ {
439
+ "name": "tradingOpenAddCollateral",
440
+ "accounts": [
441
+ {
442
+ "name": "positionAccount",
443
+ "isMut": true,
444
+ "isSigner": false
445
+ },
446
+ {
447
+ "name": "trader",
448
+ "isMut": true,
449
+ "isSigner": true
450
+ },
451
+ {
452
+ "name": "tradingPool",
453
+ "isMut": true,
454
+ "isSigner": false
455
+ },
456
+ {
457
+ "name": "systemProgram",
458
+ "isMut": false,
459
+ "isSigner": false
460
+ },
461
+ {
462
+ "name": "mint",
463
+ "isMut": false,
464
+ "isSigner": false
465
+ },
466
+ {
467
+ "name": "toTokenAccount",
468
+ "isMut": false,
469
+ "isSigner": false
470
+ },
471
+ {
472
+ "name": "randomAccountAsId",
473
+ "isMut": false,
474
+ "isSigner": false
475
+ }
476
+ ],
477
+ "args": [
478
+ {
479
+ "name": "maxInterestRate",
480
+ "type": "u8"
481
+ }
482
+ ]
483
+ },
484
+ {
485
+ "name": "tradingCloseBorrowCollateral",
486
+ "accounts": [
487
+ {
488
+ "name": "positionAccount",
489
+ "isMut": true,
490
+ "isSigner": false
491
+ },
492
+ {
493
+ "name": "trader",
494
+ "isMut": true,
495
+ "isSigner": true
496
+ },
497
+ {
498
+ "name": "tradingPool",
499
+ "isMut": true,
500
+ "isSigner": false
501
+ },
502
+ {
503
+ "name": "instructions",
504
+ "isMut": false,
505
+ "isSigner": false
506
+ },
507
+ {
508
+ "name": "systemProgram",
509
+ "isMut": false,
510
+ "isSigner": false
511
+ },
512
+ {
513
+ "name": "mint",
514
+ "isMut": false,
515
+ "isSigner": false
516
+ },
517
+ {
518
+ "name": "fromTokenAccount",
519
+ "isMut": true,
520
+ "isSigner": false
521
+ },
522
+ {
523
+ "name": "toTokenAccount",
524
+ "isMut": true,
525
+ "isSigner": false
526
+ },
527
+ {
528
+ "name": "tokenProgram",
529
+ "isMut": false,
530
+ "isSigner": false
531
+ },
532
+ {
533
+ "name": "clock",
534
+ "isMut": false,
535
+ "isSigner": false
536
+ },
537
+ {
538
+ "name": "randomAccountAsId",
539
+ "isMut": false,
540
+ "isSigner": false
541
+ }
542
+ ],
543
+ "args": []
544
+ },
545
+ {
546
+ "name": "tradingDataAccruedInterest",
547
+ "accounts": [
548
+ {
549
+ "name": "positionAccount",
550
+ "isMut": true,
551
+ "isSigner": false
552
+ },
553
+ {
554
+ "name": "trader",
555
+ "isMut": true,
556
+ "isSigner": true
557
+ },
558
+ {
559
+ "name": "tradingPool",
560
+ "isMut": true,
561
+ "isSigner": false
562
+ },
563
+ {
564
+ "name": "nodeWallet",
565
+ "isMut": true,
566
+ "isSigner": false
567
+ },
568
+ {
569
+ "name": "systemProgram",
570
+ "isMut": false,
571
+ "isSigner": false
572
+ },
573
+ {
574
+ "name": "clock",
575
+ "isMut": false,
576
+ "isSigner": false
577
+ },
578
+ {
579
+ "name": "randomAccountAsId",
580
+ "isMut": false,
581
+ "isSigner": false
582
+ },
583
+ {
584
+ "name": "mint",
585
+ "isMut": false,
586
+ "isSigner": false
587
+ },
588
+ {
589
+ "name": "fromTokenAccount",
590
+ "isMut": true,
591
+ "isSigner": false
592
+ },
593
+ {
594
+ "name": "toTokenAccount",
595
+ "isMut": true,
596
+ "isSigner": false
597
+ },
598
+ {
599
+ "name": "feeTokenAccount",
600
+ "isMut": true,
601
+ "isSigner": false
602
+ },
603
+ {
604
+ "name": "tokenProgram",
605
+ "isMut": false,
606
+ "isSigner": false
607
+ }
608
+ ],
609
+ "args": [],
610
+ "returns": "u64"
611
+ },
612
+ {
613
+ "name": "tradingCloseRepaySol",
614
+ "accounts": [
615
+ {
616
+ "name": "positionAccount",
617
+ "isMut": true,
618
+ "isSigner": false
619
+ },
620
+ {
621
+ "name": "trader",
622
+ "isMut": true,
623
+ "isSigner": true
624
+ },
625
+ {
626
+ "name": "tradingPool",
627
+ "isMut": true,
628
+ "isSigner": false
629
+ },
630
+ {
631
+ "name": "nodeWallet",
632
+ "isMut": true,
633
+ "isSigner": false
634
+ },
635
+ {
636
+ "name": "systemProgram",
637
+ "isMut": false,
638
+ "isSigner": false
639
+ },
640
+ {
641
+ "name": "clock",
642
+ "isMut": false,
643
+ "isSigner": false
644
+ },
645
+ {
646
+ "name": "randomAccountAsId",
647
+ "isMut": false,
648
+ "isSigner": false
649
+ },
650
+ {
651
+ "name": "mint",
652
+ "isMut": false,
653
+ "isSigner": false
654
+ },
655
+ {
656
+ "name": "fromTokenAccount",
657
+ "isMut": true,
658
+ "isSigner": false
659
+ },
660
+ {
661
+ "name": "toTokenAccount",
662
+ "isMut": true,
663
+ "isSigner": false
664
+ },
665
+ {
666
+ "name": "feeTokenAccount",
667
+ "isMut": true,
668
+ "isSigner": false
669
+ },
670
+ {
671
+ "name": "tokenProgram",
672
+ "isMut": false,
673
+ "isSigner": false
674
+ }
675
+ ],
676
+ "args": [
677
+ {
678
+ "name": "closingPositionSize",
679
+ "type": "u64"
680
+ },
681
+ {
682
+ "name": "closeType",
683
+ "type": "u64"
684
+ }
685
+ ]
686
+ },
687
+ {
688
+ "name": "tradingPartialRepaySol",
689
+ "accounts": [
690
+ {
691
+ "name": "positionAccount",
692
+ "isMut": true,
693
+ "isSigner": false
694
+ },
695
+ {
696
+ "name": "trader",
697
+ "isMut": true,
698
+ "isSigner": true
699
+ },
700
+ {
701
+ "name": "tradingPool",
702
+ "isMut": true,
703
+ "isSigner": false
704
+ },
705
+ {
706
+ "name": "nodeWallet",
707
+ "isMut": true,
708
+ "isSigner": false
709
+ },
710
+ {
711
+ "name": "systemProgram",
712
+ "isMut": false,
713
+ "isSigner": false
714
+ },
715
+ {
716
+ "name": "clock",
717
+ "isMut": false,
718
+ "isSigner": false
719
+ },
720
+ {
721
+ "name": "randomAccountAsId",
722
+ "isMut": false,
723
+ "isSigner": false
724
+ },
725
+ {
726
+ "name": "mint",
727
+ "isMut": false,
728
+ "isSigner": false
729
+ },
730
+ {
731
+ "name": "fromTokenAccount",
732
+ "isMut": true,
733
+ "isSigner": false
734
+ },
735
+ {
736
+ "name": "toTokenAccount",
737
+ "isMut": true,
738
+ "isSigner": false
739
+ },
740
+ {
741
+ "name": "feeTokenAccount",
742
+ "isMut": true,
743
+ "isSigner": false
744
+ },
745
+ {
746
+ "name": "tokenProgram",
747
+ "isMut": false,
748
+ "isSigner": false
749
+ }
750
+ ],
751
+ "args": [
752
+ {
753
+ "name": "percentage",
754
+ "type": "u64"
755
+ }
756
+ ]
757
+ },
758
+ {
759
+ "name": "tradingCreateTpDelegate",
760
+ "accounts": [
761
+ {
762
+ "name": "delegate",
763
+ "isMut": true,
764
+ "isSigner": false
765
+ },
766
+ {
767
+ "name": "originalOperator",
768
+ "isMut": true,
769
+ "isSigner": true
770
+ },
771
+ {
772
+ "name": "delegatedAccount",
773
+ "isMut": false,
774
+ "isSigner": false
775
+ },
776
+ {
777
+ "name": "systemProgram",
778
+ "isMut": false,
779
+ "isSigner": false
780
+ }
781
+ ],
782
+ "args": [
783
+ {
784
+ "name": "price",
785
+ "type": "u64"
786
+ },
787
+ {
788
+ "name": "lowerThreshold",
789
+ "type": "u64"
790
+ },
791
+ {
792
+ "name": "delegateOperator",
793
+ "type": "publicKey"
794
+ },
795
+ {
796
+ "name": "partialPercentage",
797
+ "type": "u64"
798
+ }
799
+ ]
800
+ },
801
+ {
802
+ "name": "delegateExecuteTp",
803
+ "accounts": [
804
+ {
805
+ "name": "delegate",
806
+ "isMut": true,
807
+ "isSigner": false
808
+ },
809
+ {
810
+ "name": "delegateOperator",
811
+ "isMut": false,
812
+ "isSigner": true
813
+ },
814
+ {
815
+ "name": "account",
816
+ "isMut": true,
817
+ "isSigner": false
818
+ },
819
+ {
820
+ "name": "tradingPool",
821
+ "isMut": true,
822
+ "isSigner": false
823
+ },
824
+ {
825
+ "name": "tokenProgram",
826
+ "isMut": false,
827
+ "isSigner": false
828
+ },
829
+ {
830
+ "name": "positionTokenAccount",
831
+ "isMut": true,
832
+ "isSigner": false
833
+ },
834
+ {
835
+ "name": "delegateTokenAccount",
836
+ "isMut": true,
837
+ "isSigner": false
838
+ },
839
+ {
840
+ "name": "systemProgram",
841
+ "isMut": false,
842
+ "isSigner": false
843
+ }
844
+ ],
845
+ "args": [
846
+ {
847
+ "name": "seed",
848
+ "type": "publicKey"
849
+ }
850
+ ]
851
+ },
852
+ {
853
+ "name": "delegateClosePosition",
854
+ "accounts": [
855
+ {
856
+ "name": "delegate",
857
+ "isMut": true,
858
+ "isSigner": false
859
+ },
860
+ {
861
+ "name": "delegateOperator",
862
+ "isMut": false,
863
+ "isSigner": true
864
+ },
865
+ {
866
+ "name": "account",
867
+ "isMut": true,
868
+ "isSigner": false
869
+ },
870
+ {
871
+ "name": "tradingPool",
872
+ "isMut": true,
873
+ "isSigner": false
874
+ },
875
+ {
876
+ "name": "nodeWallet",
877
+ "isMut": true,
878
+ "isSigner": false
879
+ },
880
+ {
881
+ "name": "tokenProgram",
882
+ "isMut": false,
883
+ "isSigner": false
884
+ },
885
+ {
886
+ "name": "nodeWalletTokenAccount",
887
+ "isMut": true,
888
+ "isSigner": false
889
+ },
890
+ {
891
+ "name": "delegateTokenAccount",
892
+ "isMut": true,
893
+ "isSigner": false
894
+ },
895
+ {
896
+ "name": "feeTokenAccount",
897
+ "isMut": true,
898
+ "isSigner": false
899
+ },
900
+ {
901
+ "name": "profitTokenAccount",
902
+ "isMut": true,
903
+ "isSigner": false
904
+ },
905
+ {
906
+ "name": "systemProgram",
907
+ "isMut": false,
908
+ "isSigner": false
909
+ }
910
+ ],
911
+ "args": [
912
+ {
913
+ "name": "closingPositionSize",
914
+ "type": "u64"
915
+ }
916
+ ]
917
+ },
918
+ {
919
+ "name": "tradingRemoveTpDelegate",
920
+ "accounts": [
921
+ {
922
+ "name": "delegate",
923
+ "isMut": true,
924
+ "isSigner": false
925
+ },
926
+ {
927
+ "name": "originalOperator",
928
+ "isMut": true,
929
+ "isSigner": true
930
+ },
931
+ {
932
+ "name": "delegatedAccount",
933
+ "isMut": false,
934
+ "isSigner": false
935
+ },
936
+ {
937
+ "name": "systemProgram",
938
+ "isMut": false,
939
+ "isSigner": false
940
+ }
941
+ ],
942
+ "args": []
943
+ }
944
+ ],
945
+ "accounts": [
946
+ {
947
+ "name": "delegate",
948
+ "type": {
949
+ "kind": "struct",
950
+ "fields": [
951
+ {
952
+ "name": "delegateType",
953
+ "type": "u8"
954
+ },
955
+ {
956
+ "name": "field1",
957
+ "type": "u64"
958
+ },
959
+ {
960
+ "name": "field2",
961
+ "type": "u64"
962
+ },
963
+ {
964
+ "name": "field3",
965
+ "type": "u64"
966
+ },
967
+ {
968
+ "name": "field4",
969
+ "type": "publicKey"
970
+ },
971
+ {
972
+ "name": "field5",
973
+ "type": "publicKey"
974
+ },
975
+ {
976
+ "name": "originalOperator",
977
+ "type": "publicKey"
978
+ },
979
+ {
980
+ "name": "delegateOperator",
981
+ "type": "publicKey"
982
+ },
983
+ {
984
+ "name": "account",
985
+ "type": "publicKey"
986
+ }
987
+ ]
988
+ }
989
+ },
990
+ {
991
+ "name": "nodeWallet",
992
+ "type": {
993
+ "kind": "struct",
994
+ "fields": [
995
+ {
996
+ "name": "totalFunds",
997
+ "type": "u64"
998
+ },
999
+ {
1000
+ "name": "totalBorrowed",
1001
+ "type": "u64"
1002
+ },
1003
+ {
1004
+ "name": "maintenanceLtv",
1005
+ "type": "u8"
1006
+ },
1007
+ {
1008
+ "name": "liquidationLtv",
1009
+ "type": "u16"
1010
+ },
1011
+ {
1012
+ "name": "nodeOperator",
1013
+ "type": "publicKey"
1014
+ },
1015
+ {
1016
+ "name": "mint",
1017
+ "type": "publicKey"
1018
+ }
1019
+ ]
1020
+ }
1021
+ },
1022
+ {
1023
+ "name": "pool",
1024
+ "type": {
1025
+ "kind": "struct",
1026
+ "fields": [
1027
+ {
1028
+ "name": "interestRate",
1029
+ "type": "u8"
1030
+ },
1031
+ {
1032
+ "name": "collateralType",
1033
+ "type": "publicKey"
1034
+ },
1035
+ {
1036
+ "name": "maxBorrow",
1037
+ "type": "u64"
1038
+ },
1039
+ {
1040
+ "name": "nodeWallet",
1041
+ "type": "publicKey"
1042
+ },
1043
+ {
1044
+ "name": "maxExposure",
1045
+ "type": "u64"
1046
+ },
1047
+ {
1048
+ "name": "currentExposure",
1049
+ "type": "u64"
1050
+ },
1051
+ {
1052
+ "name": "qtType",
1053
+ "type": "publicKey"
1054
+ }
1055
+ ]
1056
+ }
1057
+ },
1058
+ {
1059
+ "name": "position",
1060
+ "type": {
1061
+ "kind": "struct",
1062
+ "fields": [
1063
+ {
1064
+ "name": "pool",
1065
+ "type": "publicKey"
1066
+ },
1067
+ {
1068
+ "name": "closeStatusRecallTimestamp",
1069
+ "type": "u64"
1070
+ },
1071
+ {
1072
+ "name": "amount",
1073
+ "type": "u64"
1074
+ },
1075
+ {
1076
+ "name": "userPaid",
1077
+ "type": "u64"
1078
+ },
1079
+ {
1080
+ "name": "collateralAmount",
1081
+ "type": "u64"
1082
+ },
1083
+ {
1084
+ "name": "timestamp",
1085
+ "type": "i64"
1086
+ },
1087
+ {
1088
+ "name": "trader",
1089
+ "type": "publicKey"
1090
+ },
1091
+ {
1092
+ "name": "seed",
1093
+ "type": "publicKey"
1094
+ },
1095
+ {
1096
+ "name": "closeTimestamp",
1097
+ "type": "i64"
1098
+ },
1099
+ {
1100
+ "name": "closingPositionSize",
1101
+ "type": "u64"
1102
+ },
1103
+ {
1104
+ "name": "interestRate",
1105
+ "type": "u8"
1106
+ },
1107
+ {
1108
+ "name": "lastInterestCollect",
1109
+ "type": "i64"
1110
+ }
1111
+ ]
1112
+ }
1113
+ }
1114
+ ],
1115
+ "types": [
1116
+ {
1117
+ "name": "LendingErrors",
1118
+ "docs": [
1119
+ "Errors for this program"
1120
+ ],
1121
+ "type": {
1122
+ "kind": "enum",
1123
+ "variants": [
1124
+ {
1125
+ "name": "AddressMismatch"
1126
+ },
1127
+ {
1128
+ "name": "ProgramMismatch"
1129
+ },
1130
+ {
1131
+ "name": "MissingRepay"
1132
+ },
1133
+ {
1134
+ "name": "IncorrectOwner"
1135
+ },
1136
+ {
1137
+ "name": "IncorrectProgramAuthority"
1138
+ },
1139
+ {
1140
+ "name": "CannotBorrowBeforeRepay"
1141
+ },
1142
+ {
1143
+ "name": "UnknownInstruction"
1144
+ },
1145
+ {
1146
+ "name": "ExpectedCollateralNotEnough"
1147
+ }
1148
+ ]
1149
+ }
1150
+ },
1151
+ {
1152
+ "name": "ErrorCode",
1153
+ "type": {
1154
+ "kind": "enum",
1155
+ "variants": [
1156
+ {
1157
+ "name": "InvalidSignature"
1158
+ },
1159
+ {
1160
+ "name": "InvalidOracle"
1161
+ }
1162
+ ]
1163
+ }
1164
+ },
1165
+ {
1166
+ "name": "ErrorCode",
1167
+ "type": {
1168
+ "kind": "enum",
1169
+ "variants": [
1170
+ {
1171
+ "name": "OnlyDelegateOperator"
1172
+ },
1173
+ {
1174
+ "name": "AddressMismatch"
1175
+ },
1176
+ {
1177
+ "name": "InvalidDelegateType"
1178
+ }
1179
+ ]
1180
+ }
1181
+ },
1182
+ {
1183
+ "name": "PositionCloseType",
1184
+ "type": {
1185
+ "kind": "enum",
1186
+ "variants": [
1187
+ {
1188
+ "name": "ClosedByUser"
1189
+ },
1190
+ {
1191
+ "name": "Liquidated"
1192
+ }
1193
+ ]
1194
+ }
1195
+ }
1196
+ ],
1197
+ "events": [
1198
+ {
1199
+ "name": "PositionCloseEvent",
1200
+ "fields": [
1201
+ {
1202
+ "name": "pool",
1203
+ "type": "publicKey",
1204
+ "index": false
1205
+ },
1206
+ {
1207
+ "name": "amount",
1208
+ "type": "u64",
1209
+ "index": false
1210
+ },
1211
+ {
1212
+ "name": "userPaid",
1213
+ "type": "u64",
1214
+ "index": false
1215
+ },
1216
+ {
1217
+ "name": "collateralAmount",
1218
+ "type": "u64",
1219
+ "index": false
1220
+ },
1221
+ {
1222
+ "name": "openTimestamp",
1223
+ "type": "i64",
1224
+ "index": false
1225
+ },
1226
+ {
1227
+ "name": "trader",
1228
+ "type": "publicKey",
1229
+ "index": false
1230
+ },
1231
+ {
1232
+ "name": "closeType",
1233
+ "type": "u8",
1234
+ "index": false
1235
+ },
1236
+ {
1237
+ "name": "closeTimestamp",
1238
+ "type": "i64",
1239
+ "index": false
1240
+ },
1241
+ {
1242
+ "name": "closingPositionSize",
1243
+ "type": "u64",
1244
+ "index": false
1245
+ }
1246
+ ]
1247
+ },
1248
+ {
1249
+ "name": "PositionOpenEvent",
1250
+ "fields": [
1251
+ {
1252
+ "name": "pool",
1253
+ "type": "publicKey",
1254
+ "index": false
1255
+ },
1256
+ {
1257
+ "name": "amount",
1258
+ "type": "u64",
1259
+ "index": false
1260
+ },
1261
+ {
1262
+ "name": "userPaid",
1263
+ "type": "u64",
1264
+ "index": false
1265
+ },
1266
+ {
1267
+ "name": "collateralAmount",
1268
+ "type": "u64",
1269
+ "index": false
1270
+ },
1271
+ {
1272
+ "name": "openTimestamp",
1273
+ "type": "i64",
1274
+ "index": false
1275
+ },
1276
+ {
1277
+ "name": "trader",
1278
+ "type": "publicKey",
1279
+ "index": false
1280
+ }
1281
+ ]
1282
+ }
1283
+ ],
1284
+ "errors": [
1285
+ {
1286
+ "code": 6000,
1287
+ "name": "AddressMismatch",
1288
+ "msg": "Address Mismatch"
1289
+ },
1290
+ {
1291
+ "code": 6001,
1292
+ "name": "ProgramMismatch",
1293
+ "msg": "Program Mismatch"
1294
+ },
1295
+ {
1296
+ "code": 6002,
1297
+ "name": "MissingRepay",
1298
+ "msg": "Missing Repay"
1299
+ },
1300
+ {
1301
+ "code": 6003,
1302
+ "name": "IncorrectOwner",
1303
+ "msg": "Incorrect Owner"
1304
+ },
1305
+ {
1306
+ "code": 6004,
1307
+ "name": "IncorrectProgramAuthority",
1308
+ "msg": "Incorrect Program Authority"
1309
+ },
1310
+ {
1311
+ "code": 6005,
1312
+ "name": "CannotBorrowBeforeRepay",
1313
+ "msg": "Cannot Borrow Before Repay"
1314
+ },
1315
+ {
1316
+ "code": 6006,
1317
+ "name": "UnknownInstruction",
1318
+ "msg": "Unknown Instruction"
1319
+ },
1320
+ {
1321
+ "code": 6007,
1322
+ "name": "ExpectedCollateralNotEnough",
1323
+ "msg": "Expected collateral not enough"
1324
+ },
1325
+ {
1326
+ "code": 6008,
1327
+ "name": "ForTesting",
1328
+ "msg": "TestError"
1329
+ }
1330
+ ]
1331
+ };
1332
+
1333
+ export const IDL: Lavarage = {
1334
+ "version": "0.1.0",
1335
+ "name": "lavarage",
1336
+ "instructions": [
1337
+ {
1338
+ "name": "lpOperatorCreateTradingPool",
1339
+ "accounts": [
1340
+ {
1341
+ "name": "tradingPool",
1342
+ "isMut": true,
1343
+ "isSigner": false
1344
+ },
1345
+ {
1346
+ "name": "operator",
1347
+ "isMut": true,
1348
+ "isSigner": true
1349
+ },
1350
+ {
1351
+ "name": "nodeWallet",
1352
+ "isMut": false,
1353
+ "isSigner": false
1354
+ },
1355
+ {
1356
+ "name": "mint",
1357
+ "isMut": false,
1358
+ "isSigner": false
1359
+ },
1360
+ {
1361
+ "name": "systemProgram",
1362
+ "isMut": false,
1363
+ "isSigner": false
1364
+ }
1365
+ ],
1366
+ "args": [
1367
+ {
1368
+ "name": "interestRate",
1369
+ "type": "u8"
1370
+ }
1371
+ ]
1372
+ },
1373
+ {
1374
+ "name": "lpOperatorCreateNodeWallet",
1375
+ "accounts": [
1376
+ {
1377
+ "name": "nodeWallet",
1378
+ "isMut": true,
1379
+ "isSigner": false
1380
+ },
1381
+ {
1382
+ "name": "operator",
1383
+ "isMut": true,
1384
+ "isSigner": true
1385
+ },
1386
+ {
1387
+ "name": "systemProgram",
1388
+ "isMut": false,
1389
+ "isSigner": false
1390
+ },
1391
+ {
1392
+ "name": "mint",
1393
+ "isMut": false,
1394
+ "isSigner": false
1395
+ }
1396
+ ],
1397
+ "args": [
1398
+ {
1399
+ "name": "liquidationLtv",
1400
+ "type": "u16"
1401
+ }
1402
+ ]
1403
+ },
1404
+ {
1405
+ "name": "lpOperatorWithdrawFromNodeWallet",
1406
+ "accounts": [
1407
+ {
1408
+ "name": "nodeWallet",
1409
+ "isMut": true,
1410
+ "isSigner": false
1411
+ },
1412
+ {
1413
+ "name": "funder",
1414
+ "isMut": true,
1415
+ "isSigner": true
1416
+ },
1417
+ {
1418
+ "name": "systemProgram",
1419
+ "isMut": false,
1420
+ "isSigner": false
1421
+ },
1422
+ {
1423
+ "name": "mint",
1424
+ "isMut": false,
1425
+ "isSigner": false
1426
+ },
1427
+ {
1428
+ "name": "fromTokenAccount",
1429
+ "isMut": true,
1430
+ "isSigner": false
1431
+ },
1432
+ {
1433
+ "name": "toTokenAccount",
1434
+ "isMut": true,
1435
+ "isSigner": false
1436
+ },
1437
+ {
1438
+ "name": "tokenProgram",
1439
+ "isMut": false,
1440
+ "isSigner": false
1441
+ }
1442
+ ],
1443
+ "args": [
1444
+ {
1445
+ "name": "amount",
1446
+ "type": "u64"
1447
+ }
1448
+ ]
1449
+ },
1450
+ {
1451
+ "name": "lpOperatorUpdateMaxBorrow",
1452
+ "accounts": [
1453
+ {
1454
+ "name": "tradingPool",
1455
+ "isMut": true,
1456
+ "isSigner": false
1457
+ },
1458
+ {
1459
+ "name": "nodeWallet",
1460
+ "isMut": false,
1461
+ "isSigner": false
1462
+ },
1463
+ {
1464
+ "name": "operator",
1465
+ "isMut": true,
1466
+ "isSigner": true
1467
+ },
1468
+ {
1469
+ "name": "systemProgram",
1470
+ "isMut": false,
1471
+ "isSigner": false
1472
+ }
1473
+ ],
1474
+ "args": [
1475
+ {
1476
+ "name": "amount",
1477
+ "type": "u64"
1478
+ }
1479
+ ]
1480
+ },
1481
+ {
1482
+ "name": "lpOperatorUpdateMaxExposure",
1483
+ "accounts": [
1484
+ {
1485
+ "name": "tradingPool",
1486
+ "isMut": true,
1487
+ "isSigner": false
1488
+ },
1489
+ {
1490
+ "name": "nodeWallet",
1491
+ "isMut": false,
1492
+ "isSigner": false
1493
+ },
1494
+ {
1495
+ "name": "operator",
1496
+ "isMut": true,
1497
+ "isSigner": true
1498
+ },
1499
+ {
1500
+ "name": "systemProgram",
1501
+ "isMut": false,
1502
+ "isSigner": false
1503
+ }
1504
+ ],
1505
+ "args": [
1506
+ {
1507
+ "name": "amount",
1508
+ "type": "u64"
1509
+ }
1510
+ ]
1511
+ },
1512
+ {
1513
+ "name": "lpOperatorUpdateInterestRate",
1514
+ "accounts": [
1515
+ {
1516
+ "name": "tradingPool",
1517
+ "isMut": true,
1518
+ "isSigner": false
1519
+ },
1520
+ {
1521
+ "name": "nodeWallet",
1522
+ "isMut": false,
1523
+ "isSigner": false
1524
+ },
1525
+ {
1526
+ "name": "operator",
1527
+ "isMut": true,
1528
+ "isSigner": true
1529
+ },
1530
+ {
1531
+ "name": "systemProgram",
1532
+ "isMut": false,
1533
+ "isSigner": false
1534
+ }
1535
+ ],
1536
+ "args": [
1537
+ {
1538
+ "name": "amount",
1539
+ "type": "u8"
1540
+ }
1541
+ ]
1542
+ },
1543
+ {
1544
+ "name": "lpLiquidate",
1545
+ "accounts": [
1546
+ {
1547
+ "name": "mint",
1548
+ "isMut": false,
1549
+ "isSigner": false
1550
+ },
1551
+ {
1552
+ "name": "positionAccount",
1553
+ "isMut": true,
1554
+ "isSigner": false
1555
+ },
1556
+ {
1557
+ "name": "trader",
1558
+ "isMut": true,
1559
+ "isSigner": false
1560
+ },
1561
+ {
1562
+ "name": "tradingPool",
1563
+ "isMut": true,
1564
+ "isSigner": false
1565
+ },
1566
+ {
1567
+ "name": "fromTokenAccount",
1568
+ "isMut": true,
1569
+ "isSigner": false
1570
+ },
1571
+ {
1572
+ "name": "toTokenAccount",
1573
+ "isMut": true,
1574
+ "isSigner": false
1575
+ },
1576
+ {
1577
+ "name": "nodeWallet",
1578
+ "isMut": true,
1579
+ "isSigner": false
1580
+ },
1581
+ {
1582
+ "name": "tokenProgram",
1583
+ "isMut": false,
1584
+ "isSigner": false
1585
+ },
1586
+ {
1587
+ "name": "randomAccountAsId",
1588
+ "isMut": false,
1589
+ "isSigner": false
1590
+ },
1591
+ {
1592
+ "name": "clock",
1593
+ "isMut": false,
1594
+ "isSigner": false
1595
+ },
1596
+ {
1597
+ "name": "operator",
1598
+ "isMut": true,
1599
+ "isSigner": true
1600
+ },
1601
+ {
1602
+ "name": "oracle",
1603
+ "isMut": false,
1604
+ "isSigner": true
1605
+ },
1606
+ {
1607
+ "name": "systemProgram",
1608
+ "isMut": false,
1609
+ "isSigner": false
1610
+ }
1611
+ ],
1612
+ "args": [
1613
+ {
1614
+ "name": "positionSize",
1615
+ "type": "u64"
1616
+ }
1617
+ ]
1618
+ },
1619
+ {
1620
+ "name": "lpCollectInterest",
1621
+ "accounts": [
1622
+ {
1623
+ "name": "mint",
1624
+ "isMut": false,
1625
+ "isSigner": false
1626
+ },
1627
+ {
1628
+ "name": "positionAccount",
1629
+ "isMut": true,
1630
+ "isSigner": false
1631
+ },
1632
+ {
1633
+ "name": "trader",
1634
+ "isMut": true,
1635
+ "isSigner": false
1636
+ },
1637
+ {
1638
+ "name": "tradingPool",
1639
+ "isMut": true,
1640
+ "isSigner": false
1641
+ },
1642
+ {
1643
+ "name": "fromTokenAccount",
1644
+ "isMut": true,
1645
+ "isSigner": false
1646
+ },
1647
+ {
1648
+ "name": "toTokenAccount",
1649
+ "isMut": true,
1650
+ "isSigner": false
1651
+ },
1652
+ {
1653
+ "name": "nodeWallet",
1654
+ "isMut": true,
1655
+ "isSigner": false
1656
+ },
1657
+ {
1658
+ "name": "tokenProgram",
1659
+ "isMut": false,
1660
+ "isSigner": false
1661
+ },
1662
+ {
1663
+ "name": "randomAccountAsId",
1664
+ "isMut": false,
1665
+ "isSigner": false
1666
+ },
1667
+ {
1668
+ "name": "clock",
1669
+ "isMut": false,
1670
+ "isSigner": false
1671
+ },
1672
+ {
1673
+ "name": "operator",
1674
+ "isMut": true,
1675
+ "isSigner": true
1676
+ },
1677
+ {
1678
+ "name": "oracle",
1679
+ "isMut": false,
1680
+ "isSigner": true
1681
+ },
1682
+ {
1683
+ "name": "systemProgram",
1684
+ "isMut": false,
1685
+ "isSigner": false
1686
+ }
1687
+ ],
1688
+ "args": [
1689
+ {
1690
+ "name": "price",
1691
+ "type": "u128"
1692
+ }
1693
+ ]
1694
+ },
1695
+ {
1696
+ "name": "tradingOpenBorrow",
1697
+ "accounts": [
1698
+ {
1699
+ "name": "positionAccount",
1700
+ "isMut": true,
1701
+ "isSigner": false
1702
+ },
1703
+ {
1704
+ "name": "trader",
1705
+ "isMut": true,
1706
+ "isSigner": true
1707
+ },
1708
+ {
1709
+ "name": "tradingPool",
1710
+ "isMut": true,
1711
+ "isSigner": false
1712
+ },
1713
+ {
1714
+ "name": "nodeWallet",
1715
+ "isMut": true,
1716
+ "isSigner": false
1717
+ },
1718
+ {
1719
+ "name": "instructions",
1720
+ "isMut": false,
1721
+ "isSigner": false
1722
+ },
1723
+ {
1724
+ "name": "systemProgram",
1725
+ "isMut": false,
1726
+ "isSigner": false
1727
+ },
1728
+ {
1729
+ "name": "clock",
1730
+ "isMut": false,
1731
+ "isSigner": false
1732
+ },
1733
+ {
1734
+ "name": "randomAccountAsId",
1735
+ "isMut": false,
1736
+ "isSigner": false
1737
+ },
1738
+ {
1739
+ "name": "feeTokenAccount",
1740
+ "isMut": true,
1741
+ "isSigner": false
1742
+ },
1743
+ {
1744
+ "name": "fromTokenAccount",
1745
+ "isMut": true,
1746
+ "isSigner": false
1747
+ },
1748
+ {
1749
+ "name": "toTokenAccount",
1750
+ "isMut": true,
1751
+ "isSigner": false
1752
+ },
1753
+ {
1754
+ "name": "tokenProgram",
1755
+ "isMut": false,
1756
+ "isSigner": false
1757
+ }
1758
+ ],
1759
+ "args": [
1760
+ {
1761
+ "name": "positionSize",
1762
+ "type": "u64"
1763
+ },
1764
+ {
1765
+ "name": "userPays",
1766
+ "type": "u64"
1767
+ }
1768
+ ]
1769
+ },
1770
+ {
1771
+ "name": "tradingOpenAddCollateral",
1772
+ "accounts": [
1773
+ {
1774
+ "name": "positionAccount",
1775
+ "isMut": true,
1776
+ "isSigner": false
1777
+ },
1778
+ {
1779
+ "name": "trader",
1780
+ "isMut": true,
1781
+ "isSigner": true
1782
+ },
1783
+ {
1784
+ "name": "tradingPool",
1785
+ "isMut": true,
1786
+ "isSigner": false
1787
+ },
1788
+ {
1789
+ "name": "systemProgram",
1790
+ "isMut": false,
1791
+ "isSigner": false
1792
+ },
1793
+ {
1794
+ "name": "mint",
1795
+ "isMut": false,
1796
+ "isSigner": false
1797
+ },
1798
+ {
1799
+ "name": "toTokenAccount",
1800
+ "isMut": false,
1801
+ "isSigner": false
1802
+ },
1803
+ {
1804
+ "name": "randomAccountAsId",
1805
+ "isMut": false,
1806
+ "isSigner": false
1807
+ }
1808
+ ],
1809
+ "args": [
1810
+ {
1811
+ "name": "maxInterestRate",
1812
+ "type": "u8"
1813
+ }
1814
+ ]
1815
+ },
1816
+ {
1817
+ "name": "tradingCloseBorrowCollateral",
1818
+ "accounts": [
1819
+ {
1820
+ "name": "positionAccount",
1821
+ "isMut": true,
1822
+ "isSigner": false
1823
+ },
1824
+ {
1825
+ "name": "trader",
1826
+ "isMut": true,
1827
+ "isSigner": true
1828
+ },
1829
+ {
1830
+ "name": "tradingPool",
1831
+ "isMut": true,
1832
+ "isSigner": false
1833
+ },
1834
+ {
1835
+ "name": "instructions",
1836
+ "isMut": false,
1837
+ "isSigner": false
1838
+ },
1839
+ {
1840
+ "name": "systemProgram",
1841
+ "isMut": false,
1842
+ "isSigner": false
1843
+ },
1844
+ {
1845
+ "name": "mint",
1846
+ "isMut": false,
1847
+ "isSigner": false
1848
+ },
1849
+ {
1850
+ "name": "fromTokenAccount",
1851
+ "isMut": true,
1852
+ "isSigner": false
1853
+ },
1854
+ {
1855
+ "name": "toTokenAccount",
1856
+ "isMut": true,
1857
+ "isSigner": false
1858
+ },
1859
+ {
1860
+ "name": "tokenProgram",
1861
+ "isMut": false,
1862
+ "isSigner": false
1863
+ },
1864
+ {
1865
+ "name": "clock",
1866
+ "isMut": false,
1867
+ "isSigner": false
1868
+ },
1869
+ {
1870
+ "name": "randomAccountAsId",
1871
+ "isMut": false,
1872
+ "isSigner": false
1873
+ }
1874
+ ],
1875
+ "args": []
1876
+ },
1877
+ {
1878
+ "name": "tradingDataAccruedInterest",
1879
+ "accounts": [
1880
+ {
1881
+ "name": "positionAccount",
1882
+ "isMut": true,
1883
+ "isSigner": false
1884
+ },
1885
+ {
1886
+ "name": "trader",
1887
+ "isMut": true,
1888
+ "isSigner": true
1889
+ },
1890
+ {
1891
+ "name": "tradingPool",
1892
+ "isMut": true,
1893
+ "isSigner": false
1894
+ },
1895
+ {
1896
+ "name": "nodeWallet",
1897
+ "isMut": true,
1898
+ "isSigner": false
1899
+ },
1900
+ {
1901
+ "name": "systemProgram",
1902
+ "isMut": false,
1903
+ "isSigner": false
1904
+ },
1905
+ {
1906
+ "name": "clock",
1907
+ "isMut": false,
1908
+ "isSigner": false
1909
+ },
1910
+ {
1911
+ "name": "randomAccountAsId",
1912
+ "isMut": false,
1913
+ "isSigner": false
1914
+ },
1915
+ {
1916
+ "name": "mint",
1917
+ "isMut": false,
1918
+ "isSigner": false
1919
+ },
1920
+ {
1921
+ "name": "fromTokenAccount",
1922
+ "isMut": true,
1923
+ "isSigner": false
1924
+ },
1925
+ {
1926
+ "name": "toTokenAccount",
1927
+ "isMut": true,
1928
+ "isSigner": false
1929
+ },
1930
+ {
1931
+ "name": "feeTokenAccount",
1932
+ "isMut": true,
1933
+ "isSigner": false
1934
+ },
1935
+ {
1936
+ "name": "tokenProgram",
1937
+ "isMut": false,
1938
+ "isSigner": false
1939
+ }
1940
+ ],
1941
+ "args": [],
1942
+ "returns": "u64"
1943
+ },
1944
+ {
1945
+ "name": "tradingCloseRepaySol",
1946
+ "accounts": [
1947
+ {
1948
+ "name": "positionAccount",
1949
+ "isMut": true,
1950
+ "isSigner": false
1951
+ },
1952
+ {
1953
+ "name": "trader",
1954
+ "isMut": true,
1955
+ "isSigner": true
1956
+ },
1957
+ {
1958
+ "name": "tradingPool",
1959
+ "isMut": true,
1960
+ "isSigner": false
1961
+ },
1962
+ {
1963
+ "name": "nodeWallet",
1964
+ "isMut": true,
1965
+ "isSigner": false
1966
+ },
1967
+ {
1968
+ "name": "systemProgram",
1969
+ "isMut": false,
1970
+ "isSigner": false
1971
+ },
1972
+ {
1973
+ "name": "clock",
1974
+ "isMut": false,
1975
+ "isSigner": false
1976
+ },
1977
+ {
1978
+ "name": "randomAccountAsId",
1979
+ "isMut": false,
1980
+ "isSigner": false
1981
+ },
1982
+ {
1983
+ "name": "mint",
1984
+ "isMut": false,
1985
+ "isSigner": false
1986
+ },
1987
+ {
1988
+ "name": "fromTokenAccount",
1989
+ "isMut": true,
1990
+ "isSigner": false
1991
+ },
1992
+ {
1993
+ "name": "toTokenAccount",
1994
+ "isMut": true,
1995
+ "isSigner": false
1996
+ },
1997
+ {
1998
+ "name": "feeTokenAccount",
1999
+ "isMut": true,
2000
+ "isSigner": false
2001
+ },
2002
+ {
2003
+ "name": "tokenProgram",
2004
+ "isMut": false,
2005
+ "isSigner": false
2006
+ }
2007
+ ],
2008
+ "args": [
2009
+ {
2010
+ "name": "closingPositionSize",
2011
+ "type": "u64"
2012
+ },
2013
+ {
2014
+ "name": "closeType",
2015
+ "type": "u64"
2016
+ }
2017
+ ]
2018
+ },
2019
+ {
2020
+ "name": "tradingPartialRepaySol",
2021
+ "accounts": [
2022
+ {
2023
+ "name": "positionAccount",
2024
+ "isMut": true,
2025
+ "isSigner": false
2026
+ },
2027
+ {
2028
+ "name": "trader",
2029
+ "isMut": true,
2030
+ "isSigner": true
2031
+ },
2032
+ {
2033
+ "name": "tradingPool",
2034
+ "isMut": true,
2035
+ "isSigner": false
2036
+ },
2037
+ {
2038
+ "name": "nodeWallet",
2039
+ "isMut": true,
2040
+ "isSigner": false
2041
+ },
2042
+ {
2043
+ "name": "systemProgram",
2044
+ "isMut": false,
2045
+ "isSigner": false
2046
+ },
2047
+ {
2048
+ "name": "clock",
2049
+ "isMut": false,
2050
+ "isSigner": false
2051
+ },
2052
+ {
2053
+ "name": "randomAccountAsId",
2054
+ "isMut": false,
2055
+ "isSigner": false
2056
+ },
2057
+ {
2058
+ "name": "mint",
2059
+ "isMut": false,
2060
+ "isSigner": false
2061
+ },
2062
+ {
2063
+ "name": "fromTokenAccount",
2064
+ "isMut": true,
2065
+ "isSigner": false
2066
+ },
2067
+ {
2068
+ "name": "toTokenAccount",
2069
+ "isMut": true,
2070
+ "isSigner": false
2071
+ },
2072
+ {
2073
+ "name": "feeTokenAccount",
2074
+ "isMut": true,
2075
+ "isSigner": false
2076
+ },
2077
+ {
2078
+ "name": "tokenProgram",
2079
+ "isMut": false,
2080
+ "isSigner": false
2081
+ }
2082
+ ],
2083
+ "args": [
2084
+ {
2085
+ "name": "percentage",
2086
+ "type": "u64"
2087
+ }
2088
+ ]
2089
+ },
2090
+ {
2091
+ "name": "tradingCreateTpDelegate",
2092
+ "accounts": [
2093
+ {
2094
+ "name": "delegate",
2095
+ "isMut": true,
2096
+ "isSigner": false
2097
+ },
2098
+ {
2099
+ "name": "originalOperator",
2100
+ "isMut": true,
2101
+ "isSigner": true
2102
+ },
2103
+ {
2104
+ "name": "delegatedAccount",
2105
+ "isMut": false,
2106
+ "isSigner": false
2107
+ },
2108
+ {
2109
+ "name": "systemProgram",
2110
+ "isMut": false,
2111
+ "isSigner": false
2112
+ }
2113
+ ],
2114
+ "args": [
2115
+ {
2116
+ "name": "price",
2117
+ "type": "u64"
2118
+ },
2119
+ {
2120
+ "name": "lowerThreshold",
2121
+ "type": "u64"
2122
+ },
2123
+ {
2124
+ "name": "delegateOperator",
2125
+ "type": "publicKey"
2126
+ },
2127
+ {
2128
+ "name": "partialPercentage",
2129
+ "type": "u64"
2130
+ }
2131
+ ]
2132
+ },
2133
+ {
2134
+ "name": "delegateExecuteTp",
2135
+ "accounts": [
2136
+ {
2137
+ "name": "delegate",
2138
+ "isMut": true,
2139
+ "isSigner": false
2140
+ },
2141
+ {
2142
+ "name": "delegateOperator",
2143
+ "isMut": false,
2144
+ "isSigner": true
2145
+ },
2146
+ {
2147
+ "name": "account",
2148
+ "isMut": true,
2149
+ "isSigner": false
2150
+ },
2151
+ {
2152
+ "name": "tradingPool",
2153
+ "isMut": true,
2154
+ "isSigner": false
2155
+ },
2156
+ {
2157
+ "name": "tokenProgram",
2158
+ "isMut": false,
2159
+ "isSigner": false
2160
+ },
2161
+ {
2162
+ "name": "positionTokenAccount",
2163
+ "isMut": true,
2164
+ "isSigner": false
2165
+ },
2166
+ {
2167
+ "name": "delegateTokenAccount",
2168
+ "isMut": true,
2169
+ "isSigner": false
2170
+ },
2171
+ {
2172
+ "name": "systemProgram",
2173
+ "isMut": false,
2174
+ "isSigner": false
2175
+ }
2176
+ ],
2177
+ "args": [
2178
+ {
2179
+ "name": "seed",
2180
+ "type": "publicKey"
2181
+ }
2182
+ ]
2183
+ },
2184
+ {
2185
+ "name": "delegateClosePosition",
2186
+ "accounts": [
2187
+ {
2188
+ "name": "delegate",
2189
+ "isMut": true,
2190
+ "isSigner": false
2191
+ },
2192
+ {
2193
+ "name": "delegateOperator",
2194
+ "isMut": false,
2195
+ "isSigner": true
2196
+ },
2197
+ {
2198
+ "name": "account",
2199
+ "isMut": true,
2200
+ "isSigner": false
2201
+ },
2202
+ {
2203
+ "name": "tradingPool",
2204
+ "isMut": true,
2205
+ "isSigner": false
2206
+ },
2207
+ {
2208
+ "name": "nodeWallet",
2209
+ "isMut": true,
2210
+ "isSigner": false
2211
+ },
2212
+ {
2213
+ "name": "tokenProgram",
2214
+ "isMut": false,
2215
+ "isSigner": false
2216
+ },
2217
+ {
2218
+ "name": "nodeWalletTokenAccount",
2219
+ "isMut": true,
2220
+ "isSigner": false
2221
+ },
2222
+ {
2223
+ "name": "delegateTokenAccount",
2224
+ "isMut": true,
2225
+ "isSigner": false
2226
+ },
2227
+ {
2228
+ "name": "feeTokenAccount",
2229
+ "isMut": true,
2230
+ "isSigner": false
2231
+ },
2232
+ {
2233
+ "name": "profitTokenAccount",
2234
+ "isMut": true,
2235
+ "isSigner": false
2236
+ },
2237
+ {
2238
+ "name": "systemProgram",
2239
+ "isMut": false,
2240
+ "isSigner": false
2241
+ }
2242
+ ],
2243
+ "args": [
2244
+ {
2245
+ "name": "closingPositionSize",
2246
+ "type": "u64"
2247
+ }
2248
+ ]
2249
+ },
2250
+ {
2251
+ "name": "tradingRemoveTpDelegate",
2252
+ "accounts": [
2253
+ {
2254
+ "name": "delegate",
2255
+ "isMut": true,
2256
+ "isSigner": false
2257
+ },
2258
+ {
2259
+ "name": "originalOperator",
2260
+ "isMut": true,
2261
+ "isSigner": true
2262
+ },
2263
+ {
2264
+ "name": "delegatedAccount",
2265
+ "isMut": false,
2266
+ "isSigner": false
2267
+ },
2268
+ {
2269
+ "name": "systemProgram",
2270
+ "isMut": false,
2271
+ "isSigner": false
2272
+ }
2273
+ ],
2274
+ "args": []
2275
+ }
2276
+ ],
2277
+ "accounts": [
2278
+ {
2279
+ "name": "delegate",
2280
+ "type": {
2281
+ "kind": "struct",
2282
+ "fields": [
2283
+ {
2284
+ "name": "delegateType",
2285
+ "type": "u8"
2286
+ },
2287
+ {
2288
+ "name": "field1",
2289
+ "type": "u64"
2290
+ },
2291
+ {
2292
+ "name": "field2",
2293
+ "type": "u64"
2294
+ },
2295
+ {
2296
+ "name": "field3",
2297
+ "type": "u64"
2298
+ },
2299
+ {
2300
+ "name": "field4",
2301
+ "type": "publicKey"
2302
+ },
2303
+ {
2304
+ "name": "field5",
2305
+ "type": "publicKey"
2306
+ },
2307
+ {
2308
+ "name": "originalOperator",
2309
+ "type": "publicKey"
2310
+ },
2311
+ {
2312
+ "name": "delegateOperator",
2313
+ "type": "publicKey"
2314
+ },
2315
+ {
2316
+ "name": "account",
2317
+ "type": "publicKey"
2318
+ }
2319
+ ]
2320
+ }
2321
+ },
2322
+ {
2323
+ "name": "nodeWallet",
2324
+ "type": {
2325
+ "kind": "struct",
2326
+ "fields": [
2327
+ {
2328
+ "name": "totalFunds",
2329
+ "type": "u64"
2330
+ },
2331
+ {
2332
+ "name": "totalBorrowed",
2333
+ "type": "u64"
2334
+ },
2335
+ {
2336
+ "name": "maintenanceLtv",
2337
+ "type": "u8"
2338
+ },
2339
+ {
2340
+ "name": "liquidationLtv",
2341
+ "type": "u16"
2342
+ },
2343
+ {
2344
+ "name": "nodeOperator",
2345
+ "type": "publicKey"
2346
+ },
2347
+ {
2348
+ "name": "mint",
2349
+ "type": "publicKey"
2350
+ }
2351
+ ]
2352
+ }
2353
+ },
2354
+ {
2355
+ "name": "pool",
2356
+ "type": {
2357
+ "kind": "struct",
2358
+ "fields": [
2359
+ {
2360
+ "name": "interestRate",
2361
+ "type": "u8"
2362
+ },
2363
+ {
2364
+ "name": "collateralType",
2365
+ "type": "publicKey"
2366
+ },
2367
+ {
2368
+ "name": "maxBorrow",
2369
+ "type": "u64"
2370
+ },
2371
+ {
2372
+ "name": "nodeWallet",
2373
+ "type": "publicKey"
2374
+ },
2375
+ {
2376
+ "name": "maxExposure",
2377
+ "type": "u64"
2378
+ },
2379
+ {
2380
+ "name": "currentExposure",
2381
+ "type": "u64"
2382
+ },
2383
+ {
2384
+ "name": "qtType",
2385
+ "type": "publicKey"
2386
+ }
2387
+ ]
2388
+ }
2389
+ },
2390
+ {
2391
+ "name": "position",
2392
+ "type": {
2393
+ "kind": "struct",
2394
+ "fields": [
2395
+ {
2396
+ "name": "pool",
2397
+ "type": "publicKey"
2398
+ },
2399
+ {
2400
+ "name": "closeStatusRecallTimestamp",
2401
+ "type": "u64"
2402
+ },
2403
+ {
2404
+ "name": "amount",
2405
+ "type": "u64"
2406
+ },
2407
+ {
2408
+ "name": "userPaid",
2409
+ "type": "u64"
2410
+ },
2411
+ {
2412
+ "name": "collateralAmount",
2413
+ "type": "u64"
2414
+ },
2415
+ {
2416
+ "name": "timestamp",
2417
+ "type": "i64"
2418
+ },
2419
+ {
2420
+ "name": "trader",
2421
+ "type": "publicKey"
2422
+ },
2423
+ {
2424
+ "name": "seed",
2425
+ "type": "publicKey"
2426
+ },
2427
+ {
2428
+ "name": "closeTimestamp",
2429
+ "type": "i64"
2430
+ },
2431
+ {
2432
+ "name": "closingPositionSize",
2433
+ "type": "u64"
2434
+ },
2435
+ {
2436
+ "name": "interestRate",
2437
+ "type": "u8"
2438
+ },
2439
+ {
2440
+ "name": "lastInterestCollect",
2441
+ "type": "i64"
2442
+ }
2443
+ ]
2444
+ }
2445
+ }
2446
+ ],
2447
+ "types": [
2448
+ {
2449
+ "name": "LendingErrors",
2450
+ "docs": [
2451
+ "Errors for this program"
2452
+ ],
2453
+ "type": {
2454
+ "kind": "enum",
2455
+ "variants": [
2456
+ {
2457
+ "name": "AddressMismatch"
2458
+ },
2459
+ {
2460
+ "name": "ProgramMismatch"
2461
+ },
2462
+ {
2463
+ "name": "MissingRepay"
2464
+ },
2465
+ {
2466
+ "name": "IncorrectOwner"
2467
+ },
2468
+ {
2469
+ "name": "IncorrectProgramAuthority"
2470
+ },
2471
+ {
2472
+ "name": "CannotBorrowBeforeRepay"
2473
+ },
2474
+ {
2475
+ "name": "UnknownInstruction"
2476
+ },
2477
+ {
2478
+ "name": "ExpectedCollateralNotEnough"
2479
+ }
2480
+ ]
2481
+ }
2482
+ },
2483
+ {
2484
+ "name": "ErrorCode",
2485
+ "type": {
2486
+ "kind": "enum",
2487
+ "variants": [
2488
+ {
2489
+ "name": "InvalidSignature"
2490
+ },
2491
+ {
2492
+ "name": "InvalidOracle"
2493
+ }
2494
+ ]
2495
+ }
2496
+ },
2497
+ {
2498
+ "name": "ErrorCode",
2499
+ "type": {
2500
+ "kind": "enum",
2501
+ "variants": [
2502
+ {
2503
+ "name": "OnlyDelegateOperator"
2504
+ },
2505
+ {
2506
+ "name": "AddressMismatch"
2507
+ },
2508
+ {
2509
+ "name": "InvalidDelegateType"
2510
+ }
2511
+ ]
2512
+ }
2513
+ },
2514
+ {
2515
+ "name": "PositionCloseType",
2516
+ "type": {
2517
+ "kind": "enum",
2518
+ "variants": [
2519
+ {
2520
+ "name": "ClosedByUser"
2521
+ },
2522
+ {
2523
+ "name": "Liquidated"
2524
+ }
2525
+ ]
2526
+ }
2527
+ }
2528
+ ],
2529
+ "events": [
2530
+ {
2531
+ "name": "PositionCloseEvent",
2532
+ "fields": [
2533
+ {
2534
+ "name": "pool",
2535
+ "type": "publicKey",
2536
+ "index": false
2537
+ },
2538
+ {
2539
+ "name": "amount",
2540
+ "type": "u64",
2541
+ "index": false
2542
+ },
2543
+ {
2544
+ "name": "userPaid",
2545
+ "type": "u64",
2546
+ "index": false
2547
+ },
2548
+ {
2549
+ "name": "collateralAmount",
2550
+ "type": "u64",
2551
+ "index": false
2552
+ },
2553
+ {
2554
+ "name": "openTimestamp",
2555
+ "type": "i64",
2556
+ "index": false
2557
+ },
2558
+ {
2559
+ "name": "trader",
2560
+ "type": "publicKey",
2561
+ "index": false
2562
+ },
2563
+ {
2564
+ "name": "closeType",
2565
+ "type": "u8",
2566
+ "index": false
2567
+ },
2568
+ {
2569
+ "name": "closeTimestamp",
2570
+ "type": "i64",
2571
+ "index": false
2572
+ },
2573
+ {
2574
+ "name": "closingPositionSize",
2575
+ "type": "u64",
2576
+ "index": false
2577
+ }
2578
+ ]
2579
+ },
2580
+ {
2581
+ "name": "PositionOpenEvent",
2582
+ "fields": [
2583
+ {
2584
+ "name": "pool",
2585
+ "type": "publicKey",
2586
+ "index": false
2587
+ },
2588
+ {
2589
+ "name": "amount",
2590
+ "type": "u64",
2591
+ "index": false
2592
+ },
2593
+ {
2594
+ "name": "userPaid",
2595
+ "type": "u64",
2596
+ "index": false
2597
+ },
2598
+ {
2599
+ "name": "collateralAmount",
2600
+ "type": "u64",
2601
+ "index": false
2602
+ },
2603
+ {
2604
+ "name": "openTimestamp",
2605
+ "type": "i64",
2606
+ "index": false
2607
+ },
2608
+ {
2609
+ "name": "trader",
2610
+ "type": "publicKey",
2611
+ "index": false
2612
+ }
2613
+ ]
2614
+ }
2615
+ ],
2616
+ "errors": [
2617
+ {
2618
+ "code": 6000,
2619
+ "name": "AddressMismatch",
2620
+ "msg": "Address Mismatch"
2621
+ },
2622
+ {
2623
+ "code": 6001,
2624
+ "name": "ProgramMismatch",
2625
+ "msg": "Program Mismatch"
2626
+ },
2627
+ {
2628
+ "code": 6002,
2629
+ "name": "MissingRepay",
2630
+ "msg": "Missing Repay"
2631
+ },
2632
+ {
2633
+ "code": 6003,
2634
+ "name": "IncorrectOwner",
2635
+ "msg": "Incorrect Owner"
2636
+ },
2637
+ {
2638
+ "code": 6004,
2639
+ "name": "IncorrectProgramAuthority",
2640
+ "msg": "Incorrect Program Authority"
2641
+ },
2642
+ {
2643
+ "code": 6005,
2644
+ "name": "CannotBorrowBeforeRepay",
2645
+ "msg": "Cannot Borrow Before Repay"
2646
+ },
2647
+ {
2648
+ "code": 6006,
2649
+ "name": "UnknownInstruction",
2650
+ "msg": "Unknown Instruction"
2651
+ },
2652
+ {
2653
+ "code": 6007,
2654
+ "name": "ExpectedCollateralNotEnough",
2655
+ "msg": "Expected collateral not enough"
2656
+ },
2657
+ {
2658
+ "code": 6008,
2659
+ "name": "ForTesting",
2660
+ "msg": "TestError"
2661
+ }
2662
+ ]
2663
+ };
2664
+