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