@lavarage/sdk 5.1.0 → 6.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/idl/lavaragev2.ts CHANGED
@@ -1,2664 +1,2429 @@
1
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
- ]
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
988
32
  }
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
- ]
33
+ ]
34
+ "args": [
35
+ {
36
+ "name": "interestRate"
37
+ "type": "u8"
1020
38
  }
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
- ]
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
1056
63
  }
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
- ]
64
+ ]
65
+ "args": [
66
+ {
67
+ "name": "liquidationLtv"
68
+ "type": "u16"
1112
69
  }
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
- ]
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
1149
109
  }
1150
- },
1151
- {
1152
- "name": "ErrorCode",
1153
- "type": {
1154
- "kind": "enum",
1155
- "variants": [
1156
- {
1157
- "name": "InvalidSignature"
1158
- },
1159
- {
1160
- "name": "InvalidOracle"
1161
- }
1162
- ]
110
+ ]
111
+ "args": [
112
+ {
113
+ "name": "amount"
114
+ "type": "u64"
1163
115
  }
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
- ]
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
1180
140
  }
1181
- },
1182
- {
1183
- "name": "PositionCloseType",
1184
- "type": {
1185
- "kind": "enum",
1186
- "variants": [
1187
- {
1188
- "name": "ClosedByUser"
1189
- },
1190
- {
1191
- "name": "Liquidated"
1192
- }
1193
- ]
141
+ ]
142
+ "args": [
143
+ {
144
+ "name": "amount"
145
+ "type": "u64"
1194
146
  }
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
- },
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": "tradingRemoveTpDelegate"
803
+ "accounts": [
804
+ {
805
+ "name": "delegate"
806
+ "isMut": true
807
+ "isSigner": false
808
+ },
809
+ {
810
+ "name": "originalOperator"
811
+ "isMut": true
812
+ "isSigner": true
813
+ },
814
+ {
815
+ "name": "delegatedAccount"
816
+ "isMut": false
817
+ "isSigner": false
818
+ },
819
+ {
820
+ "name": "systemProgram"
821
+ "isMut": false
822
+ "isSigner": false
823
+ }
824
+ ]
825
+ "args": []
826
+ }
827
+ ]
828
+ "accounts": [
829
+ {
830
+ "name": "delegate"
831
+ "type": {
832
+ "kind": "struct"
833
+ "fields": [
1713
834
  {
1714
- "name": "nodeWallet",
1715
- "isMut": true,
1716
- "isSigner": false
835
+ "name": "delegateType"
836
+ "type": "u8"
1717
837
  },
1718
838
  {
1719
- "name": "instructions",
1720
- "isMut": false,
1721
- "isSigner": false
839
+ "name": "field1"
840
+ "type": "u64"
1722
841
  },
1723
842
  {
1724
- "name": "systemProgram",
1725
- "isMut": false,
1726
- "isSigner": false
843
+ "name": "field2"
844
+ "type": "u64"
1727
845
  },
1728
846
  {
1729
- "name": "clock",
1730
- "isMut": false,
1731
- "isSigner": false
847
+ "name": "field3"
848
+ "type": "u64"
1732
849
  },
1733
850
  {
1734
- "name": "randomAccountAsId",
1735
- "isMut": false,
1736
- "isSigner": false
851
+ "name": "field4"
852
+ "type": "publicKey"
1737
853
  },
1738
854
  {
1739
- "name": "feeTokenAccount",
1740
- "isMut": true,
1741
- "isSigner": false
855
+ "name": "field5"
856
+ "type": "publicKey"
1742
857
  },
1743
858
  {
1744
- "name": "fromTokenAccount",
1745
- "isMut": true,
1746
- "isSigner": false
859
+ "name": "originalOperator"
860
+ "type": "publicKey"
1747
861
  },
1748
862
  {
1749
- "name": "toTokenAccount",
1750
- "isMut": true,
1751
- "isSigner": false
863
+ "name": "delegateOperator"
864
+ "type": "publicKey"
1752
865
  },
1753
866
  {
1754
- "name": "tokenProgram",
1755
- "isMut": false,
1756
- "isSigner": false
867
+ "name": "account"
868
+ "type": "publicKey"
1757
869
  }
1758
- ],
1759
- "args": [
870
+ ]
871
+ }
872
+ },
873
+ {
874
+ "name": "nodeWallet"
875
+ "type": {
876
+ "kind": "struct"
877
+ "fields": [
1760
878
  {
1761
- "name": "positionSize",
879
+ "name": "totalFunds"
1762
880
  "type": "u64"
1763
881
  },
1764
882
  {
1765
- "name": "userPays",
883
+ "name": "totalBorrowed"
1766
884
  "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
885
  },
1783
886
  {
1784
- "name": "tradingPool",
1785
- "isMut": true,
1786
- "isSigner": false
1787
- },
1788
- {
1789
- "name": "systemProgram",
1790
- "isMut": false,
1791
- "isSigner": false
887
+ "name": "maintenanceLtv"
888
+ "type": "u8"
1792
889
  },
1793
890
  {
1794
- "name": "mint",
1795
- "isMut": false,
1796
- "isSigner": false
891
+ "name": "liquidationLtv"
892
+ "type": "u16"
1797
893
  },
1798
894
  {
1799
- "name": "toTokenAccount",
1800
- "isMut": false,
1801
- "isSigner": false
895
+ "name": "nodeOperator"
896
+ "type": "publicKey"
1802
897
  },
1803
898
  {
1804
- "name": "randomAccountAsId",
1805
- "isMut": false,
1806
- "isSigner": false
1807
- }
1808
- ],
1809
- "args": [
1810
- {
1811
- "name": "maxInterestRate",
1812
- "type": "u8"
899
+ "name": "mint"
900
+ "type": "publicKey"
1813
901
  }
1814
902
  ]
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
- },
903
+ }
904
+ },
905
+ {
906
+ "name": "pool"
907
+ "type": {
908
+ "kind": "struct"
909
+ "fields": [
1839
910
  {
1840
- "name": "systemProgram",
1841
- "isMut": false,
1842
- "isSigner": false
911
+ "name": "interestRate"
912
+ "type": "u8"
1843
913
  },
1844
914
  {
1845
- "name": "mint",
1846
- "isMut": false,
1847
- "isSigner": false
915
+ "name": "collateralType"
916
+ "type": "publicKey"
1848
917
  },
1849
918
  {
1850
- "name": "fromTokenAccount",
1851
- "isMut": true,
1852
- "isSigner": false
919
+ "name": "maxBorrow"
920
+ "type": "u64"
1853
921
  },
1854
922
  {
1855
- "name": "toTokenAccount",
1856
- "isMut": true,
1857
- "isSigner": false
923
+ "name": "nodeWallet"
924
+ "type": "publicKey"
1858
925
  },
1859
926
  {
1860
- "name": "tokenProgram",
1861
- "isMut": false,
1862
- "isSigner": false
927
+ "name": "maxExposure"
928
+ "type": "u64"
1863
929
  },
1864
930
  {
1865
- "name": "clock",
1866
- "isMut": false,
1867
- "isSigner": false
931
+ "name": "currentExposure"
932
+ "type": "u64"
1868
933
  },
1869
934
  {
1870
- "name": "randomAccountAsId",
1871
- "isMut": false,
1872
- "isSigner": false
935
+ "name": "qtType"
936
+ "type": "publicKey"
1873
937
  }
1874
- ],
1875
- "args": []
1876
- },
1877
- {
1878
- "name": "tradingDataAccruedInterest",
1879
- "accounts": [
938
+ ]
939
+ }
940
+ },
941
+ {
942
+ "name": "position"
943
+ "type": {
944
+ "kind": "struct"
945
+ "fields": [
1880
946
  {
1881
- "name": "positionAccount",
1882
- "isMut": true,
1883
- "isSigner": false
947
+ "name": "pool"
948
+ "type": "publicKey"
1884
949
  },
1885
950
  {
1886
- "name": "trader",
1887
- "isMut": true,
1888
- "isSigner": true
951
+ "name": "closeStatusRecallTimestamp"
952
+ "type": "u64"
1889
953
  },
1890
954
  {
1891
- "name": "tradingPool",
1892
- "isMut": true,
1893
- "isSigner": false
955
+ "name": "amount"
956
+ "type": "u64"
1894
957
  },
1895
958
  {
1896
- "name": "nodeWallet",
1897
- "isMut": true,
1898
- "isSigner": false
959
+ "name": "userPaid"
960
+ "type": "u64"
1899
961
  },
1900
962
  {
1901
- "name": "systemProgram",
1902
- "isMut": false,
1903
- "isSigner": false
963
+ "name": "collateralAmount"
964
+ "type": "u64"
1904
965
  },
1905
966
  {
1906
- "name": "clock",
1907
- "isMut": false,
1908
- "isSigner": false
967
+ "name": "timestamp"
968
+ "type": "i64"
1909
969
  },
1910
970
  {
1911
- "name": "randomAccountAsId",
1912
- "isMut": false,
1913
- "isSigner": false
971
+ "name": "trader"
972
+ "type": "publicKey"
1914
973
  },
1915
974
  {
1916
- "name": "mint",
1917
- "isMut": false,
1918
- "isSigner": false
975
+ "name": "seed"
976
+ "type": "publicKey"
1919
977
  },
1920
978
  {
1921
- "name": "fromTokenAccount",
1922
- "isMut": true,
1923
- "isSigner": false
979
+ "name": "closeTimestamp"
980
+ "type": "i64"
1924
981
  },
1925
982
  {
1926
- "name": "toTokenAccount",
1927
- "isMut": true,
1928
- "isSigner": false
983
+ "name": "closingPositionSize"
984
+ "type": "u64"
1929
985
  },
1930
986
  {
1931
- "name": "feeTokenAccount",
1932
- "isMut": true,
1933
- "isSigner": false
987
+ "name": "interestRate"
988
+ "type": "u8"
1934
989
  },
1935
990
  {
1936
- "name": "tokenProgram",
1937
- "isMut": false,
1938
- "isSigner": false
991
+ "name": "lastInterestCollect"
992
+ "type": "i64"
1939
993
  }
1940
- ],
1941
- "args": [],
1942
- "returns": "u64"
1943
- },
1944
- {
1945
- "name": "tradingCloseRepaySol",
1946
- "accounts": [
994
+ ]
995
+ }
996
+ }
997
+ ]
998
+ "types": [
999
+ {
1000
+ "name": "LendingErrors"
1001
+ "docs": [
1002
+ "Errors for this program"
1003
+ ]
1004
+ "type": {
1005
+ "kind": "enum"
1006
+ "variants": [
1947
1007
  {
1948
- "name": "positionAccount",
1949
- "isMut": true,
1950
- "isSigner": false
1008
+ "name": "AddressMismatch"
1951
1009
  },
1952
1010
  {
1953
- "name": "trader",
1954
- "isMut": true,
1955
- "isSigner": true
1011
+ "name": "ProgramMismatch"
1956
1012
  },
1957
1013
  {
1958
- "name": "tradingPool",
1959
- "isMut": true,
1960
- "isSigner": false
1014
+ "name": "MissingRepay"
1961
1015
  },
1962
1016
  {
1963
- "name": "nodeWallet",
1964
- "isMut": true,
1965
- "isSigner": false
1017
+ "name": "IncorrectOwner"
1966
1018
  },
1967
1019
  {
1968
- "name": "systemProgram",
1969
- "isMut": false,
1970
- "isSigner": false
1020
+ "name": "IncorrectProgramAuthority"
1971
1021
  },
1972
1022
  {
1973
- "name": "clock",
1974
- "isMut": false,
1975
- "isSigner": false
1023
+ "name": "CannotBorrowBeforeRepay"
1976
1024
  },
1977
1025
  {
1978
- "name": "randomAccountAsId",
1979
- "isMut": false,
1980
- "isSigner": false
1026
+ "name": "UnknownInstruction"
1981
1027
  },
1982
1028
  {
1983
- "name": "mint",
1984
- "isMut": false,
1985
- "isSigner": false
1986
- },
1029
+ "name": "ExpectedCollateralNotEnough"
1030
+ }
1031
+ ]
1032
+ }
1033
+ },
1034
+ {
1035
+ "name": "ErrorCode"
1036
+ "type": {
1037
+ "kind": "enum"
1038
+ "variants": [
1987
1039
  {
1988
- "name": "fromTokenAccount",
1989
- "isMut": true,
1990
- "isSigner": false
1040
+ "name": "InvalidSignature"
1991
1041
  },
1992
1042
  {
1993
- "name": "toTokenAccount",
1994
- "isMut": true,
1995
- "isSigner": false
1996
- },
1043
+ "name": "InvalidOracle"
1044
+ }
1045
+ ]
1046
+ }
1047
+ },
1048
+ {
1049
+ "name": "ErrorCode"
1050
+ "type": {
1051
+ "kind": "enum"
1052
+ "variants": [
1997
1053
  {
1998
- "name": "feeTokenAccount",
1999
- "isMut": true,
2000
- "isSigner": false
1054
+ "name": "OnlyDelegateOperator"
2001
1055
  },
2002
1056
  {
2003
- "name": "tokenProgram",
2004
- "isMut": false,
2005
- "isSigner": false
2006
- }
2007
- ],
2008
- "args": [
2009
- {
2010
- "name": "closingPositionSize",
2011
- "type": "u64"
1057
+ "name": "AddressMismatch"
2012
1058
  },
2013
1059
  {
2014
- "name": "closeType",
2015
- "type": "u64"
1060
+ "name": "InvalidDelegateType"
2016
1061
  }
2017
1062
  ]
2018
- },
2019
- {
2020
- "name": "tradingPartialRepaySol",
2021
- "accounts": [
2022
- {
2023
- "name": "positionAccount",
2024
- "isMut": true,
2025
- "isSigner": false
2026
- },
1063
+ }
1064
+ },
1065
+ {
1066
+ "name": "PositionCloseType"
1067
+ "type": {
1068
+ "kind": "enum"
1069
+ "variants": [
2027
1070
  {
2028
- "name": "trader",
2029
- "isMut": true,
2030
- "isSigner": true
1071
+ "name": "ClosedByUser"
2031
1072
  },
2032
1073
  {
2033
- "name": "tradingPool",
2034
- "isMut": true,
2035
- "isSigner": false
2036
- },
1074
+ "name": "Liquidated"
1075
+ }
1076
+ ]
1077
+ }
1078
+ }
1079
+ ]
1080
+ "events": [
1081
+ {
1082
+ "name": "PositionCloseEvent"
1083
+ "fields": [
1084
+ {
1085
+ "name": "pool"
1086
+ "type": "publicKey"
1087
+ "index": false
1088
+ },
1089
+ {
1090
+ "name": "amount"
1091
+ "type": "u64"
1092
+ "index": false
1093
+ },
1094
+ {
1095
+ "name": "userPaid"
1096
+ "type": "u64"
1097
+ "index": false
1098
+ },
1099
+ {
1100
+ "name": "collateralAmount"
1101
+ "type": "u64"
1102
+ "index": false
1103
+ },
1104
+ {
1105
+ "name": "openTimestamp"
1106
+ "type": "i64"
1107
+ "index": false
1108
+ },
1109
+ {
1110
+ "name": "trader"
1111
+ "type": "publicKey"
1112
+ "index": false
1113
+ },
1114
+ {
1115
+ "name": "closeType"
1116
+ "type": "u8"
1117
+ "index": false
1118
+ },
1119
+ {
1120
+ "name": "closeTimestamp"
1121
+ "type": "i64"
1122
+ "index": false
1123
+ },
1124
+ {
1125
+ "name": "closingPositionSize"
1126
+ "type": "u64"
1127
+ "index": false
1128
+ }
1129
+ ]
1130
+ },
1131
+ {
1132
+ "name": "PositionOpenEvent"
1133
+ "fields": [
1134
+ {
1135
+ "name": "pool"
1136
+ "type": "publicKey"
1137
+ "index": false
1138
+ },
1139
+ {
1140
+ "name": "amount"
1141
+ "type": "u64"
1142
+ "index": false
1143
+ },
1144
+ {
1145
+ "name": "userPaid"
1146
+ "type": "u64"
1147
+ "index": false
1148
+ },
1149
+ {
1150
+ "name": "collateralAmount"
1151
+ "type": "u64"
1152
+ "index": false
1153
+ },
1154
+ {
1155
+ "name": "openTimestamp"
1156
+ "type": "i64"
1157
+ "index": false
1158
+ },
1159
+ {
1160
+ "name": "trader"
1161
+ "type": "publicKey"
1162
+ "index": false
1163
+ }
1164
+ ]
1165
+ }
1166
+ ]
1167
+ "errors": [
1168
+ {
1169
+ "code": 6000
1170
+ "name": "AddressMismatch"
1171
+ "msg": "Address Mismatch"
1172
+ },
1173
+ {
1174
+ "code": 6001
1175
+ "name": "ProgramMismatch"
1176
+ "msg": "Program Mismatch"
1177
+ },
1178
+ {
1179
+ "code": 6002
1180
+ "name": "MissingRepay"
1181
+ "msg": "Missing Repay"
1182
+ },
1183
+ {
1184
+ "code": 6003
1185
+ "name": "IncorrectOwner"
1186
+ "msg": "Incorrect Owner"
1187
+ },
1188
+ {
1189
+ "code": 6004
1190
+ "name": "IncorrectProgramAuthority"
1191
+ "msg": "Incorrect Program Authority"
1192
+ },
1193
+ {
1194
+ "code": 6005
1195
+ "name": "CannotBorrowBeforeRepay"
1196
+ "msg": "Cannot Borrow Before Repay"
1197
+ },
1198
+ {
1199
+ "code": 6006
1200
+ "name": "UnknownInstruction"
1201
+ "msg": "Unknown Instruction"
1202
+ },
1203
+ {
1204
+ "code": 6007
1205
+ "name": "ExpectedCollateralNotEnough"
1206
+ "msg": "Expected collateral not enough"
1207
+ },
1208
+ {
1209
+ "code": 6008
1210
+ "name": "ForTesting"
1211
+ "msg": "TestError"
1212
+ }
1213
+ ]
1214
+ }
1215
+
1216
+ export const IDL: Lavarage = {
1217
+ "version": "0.1.0",
1218
+ "name": "lavarage",
1219
+ "instructions": [
1220
+ {
1221
+ "name": "lpOperatorCreateTradingPool",
1222
+ "accounts": [
1223
+ {
1224
+ "name": "tradingPool",
1225
+ "isMut": true,
1226
+ "isSigner": false
1227
+ },
1228
+ {
1229
+ "name": "operator",
1230
+ "isMut": true,
1231
+ "isSigner": true
1232
+ },
1233
+ {
1234
+ "name": "nodeWallet",
1235
+ "isMut": false,
1236
+ "isSigner": false
1237
+ },
1238
+ {
1239
+ "name": "mint",
1240
+ "isMut": false,
1241
+ "isSigner": false
1242
+ },
1243
+ {
1244
+ "name": "systemProgram",
1245
+ "isMut": false,
1246
+ "isSigner": false
1247
+ }
1248
+ ],
1249
+ "args": [
1250
+ {
1251
+ "name": "interestRate",
1252
+ "type": "u8"
1253
+ }
1254
+ ]
1255
+ },
1256
+ {
1257
+ "name": "lpOperatorCreateNodeWallet",
1258
+ "accounts": [
1259
+ {
1260
+ "name": "nodeWallet",
1261
+ "isMut": true,
1262
+ "isSigner": false
1263
+ },
1264
+ {
1265
+ "name": "operator",
1266
+ "isMut": true,
1267
+ "isSigner": true
1268
+ },
1269
+ {
1270
+ "name": "systemProgram",
1271
+ "isMut": false,
1272
+ "isSigner": false
1273
+ },
1274
+ {
1275
+ "name": "mint",
1276
+ "isMut": false,
1277
+ "isSigner": false
1278
+ }
1279
+ ],
1280
+ "args": [
1281
+ {
1282
+ "name": "liquidationLtv",
1283
+ "type": "u16"
1284
+ }
1285
+ ]
1286
+ },
1287
+ {
1288
+ "name": "lpOperatorWithdrawFromNodeWallet",
1289
+ "accounts": [
1290
+ {
1291
+ "name": "nodeWallet",
1292
+ "isMut": true,
1293
+ "isSigner": false
1294
+ },
1295
+ {
1296
+ "name": "funder",
1297
+ "isMut": true,
1298
+ "isSigner": true
1299
+ },
1300
+ {
1301
+ "name": "systemProgram",
1302
+ "isMut": false,
1303
+ "isSigner": false
1304
+ },
1305
+ {
1306
+ "name": "mint",
1307
+ "isMut": false,
1308
+ "isSigner": false
1309
+ },
1310
+ {
1311
+ "name": "fromTokenAccount",
1312
+ "isMut": true,
1313
+ "isSigner": false
1314
+ },
1315
+ {
1316
+ "name": "toTokenAccount",
1317
+ "isMut": true,
1318
+ "isSigner": false
1319
+ },
1320
+ {
1321
+ "name": "tokenProgram",
1322
+ "isMut": false,
1323
+ "isSigner": false
1324
+ }
1325
+ ],
1326
+ "args": [
1327
+ {
1328
+ "name": "amount",
1329
+ "type": "u64"
1330
+ }
1331
+ ]
1332
+ },
1333
+ {
1334
+ "name": "lpOperatorUpdateMaxBorrow",
1335
+ "accounts": [
1336
+ {
1337
+ "name": "tradingPool",
1338
+ "isMut": true,
1339
+ "isSigner": false
1340
+ },
1341
+ {
1342
+ "name": "nodeWallet",
1343
+ "isMut": false,
1344
+ "isSigner": false
1345
+ },
1346
+ {
1347
+ "name": "operator",
1348
+ "isMut": true,
1349
+ "isSigner": true
1350
+ },
1351
+ {
1352
+ "name": "systemProgram",
1353
+ "isMut": false,
1354
+ "isSigner": false
1355
+ }
1356
+ ],
1357
+ "args": [
1358
+ {
1359
+ "name": "amount",
1360
+ "type": "u64"
1361
+ }
1362
+ ]
1363
+ },
1364
+ {
1365
+ "name": "lpOperatorUpdateMaxExposure",
1366
+ "accounts": [
1367
+ {
1368
+ "name": "tradingPool",
1369
+ "isMut": true,
1370
+ "isSigner": false
1371
+ },
1372
+ {
1373
+ "name": "nodeWallet",
1374
+ "isMut": false,
1375
+ "isSigner": false
1376
+ },
1377
+ {
1378
+ "name": "operator",
1379
+ "isMut": true,
1380
+ "isSigner": true
1381
+ },
1382
+ {
1383
+ "name": "systemProgram",
1384
+ "isMut": false,
1385
+ "isSigner": false
1386
+ }
1387
+ ],
1388
+ "args": [
1389
+ {
1390
+ "name": "amount",
1391
+ "type": "u64"
1392
+ }
1393
+ ]
1394
+ },
1395
+ {
1396
+ "name": "lpOperatorUpdateInterestRate",
1397
+ "accounts": [
1398
+ {
1399
+ "name": "tradingPool",
1400
+ "isMut": true,
1401
+ "isSigner": false
1402
+ },
1403
+ {
1404
+ "name": "nodeWallet",
1405
+ "isMut": false,
1406
+ "isSigner": false
1407
+ },
1408
+ {
1409
+ "name": "operator",
1410
+ "isMut": true,
1411
+ "isSigner": true
1412
+ },
1413
+ {
1414
+ "name": "systemProgram",
1415
+ "isMut": false,
1416
+ "isSigner": false
1417
+ }
1418
+ ],
1419
+ "args": [
1420
+ {
1421
+ "name": "amount",
1422
+ "type": "u8"
1423
+ }
1424
+ ]
1425
+ },
1426
+ {
1427
+ "name": "lpLiquidate",
1428
+ "accounts": [
1429
+ {
1430
+ "name": "mint",
1431
+ "isMut": false,
1432
+ "isSigner": false
1433
+ },
1434
+ {
1435
+ "name": "positionAccount",
1436
+ "isMut": true,
1437
+ "isSigner": false
1438
+ },
1439
+ {
1440
+ "name": "trader",
1441
+ "isMut": true,
1442
+ "isSigner": false
1443
+ },
1444
+ {
1445
+ "name": "tradingPool",
1446
+ "isMut": true,
1447
+ "isSigner": false
1448
+ },
1449
+ {
1450
+ "name": "fromTokenAccount",
1451
+ "isMut": true,
1452
+ "isSigner": false
1453
+ },
1454
+ {
1455
+ "name": "toTokenAccount",
1456
+ "isMut": true,
1457
+ "isSigner": false
1458
+ },
1459
+ {
1460
+ "name": "nodeWallet",
1461
+ "isMut": true,
1462
+ "isSigner": false
1463
+ },
1464
+ {
1465
+ "name": "tokenProgram",
1466
+ "isMut": false,
1467
+ "isSigner": false
1468
+ },
1469
+ {
1470
+ "name": "randomAccountAsId",
1471
+ "isMut": false,
1472
+ "isSigner": false
1473
+ },
1474
+ {
1475
+ "name": "clock",
1476
+ "isMut": false,
1477
+ "isSigner": false
1478
+ },
1479
+ {
1480
+ "name": "operator",
1481
+ "isMut": true,
1482
+ "isSigner": true
1483
+ },
1484
+ {
1485
+ "name": "oracle",
1486
+ "isMut": false,
1487
+ "isSigner": true
1488
+ },
1489
+ {
1490
+ "name": "systemProgram",
1491
+ "isMut": false,
1492
+ "isSigner": false
1493
+ }
1494
+ ],
1495
+ "args": [
1496
+ {
1497
+ "name": "positionSize",
1498
+ "type": "u64"
1499
+ }
1500
+ ]
1501
+ },
1502
+ {
1503
+ "name": "lpCollectInterest",
1504
+ "accounts": [
1505
+ {
1506
+ "name": "mint",
1507
+ "isMut": false,
1508
+ "isSigner": false
1509
+ },
1510
+ {
1511
+ "name": "positionAccount",
1512
+ "isMut": true,
1513
+ "isSigner": false
1514
+ },
1515
+ {
1516
+ "name": "trader",
1517
+ "isMut": true,
1518
+ "isSigner": false
1519
+ },
1520
+ {
1521
+ "name": "tradingPool",
1522
+ "isMut": true,
1523
+ "isSigner": false
1524
+ },
1525
+ {
1526
+ "name": "fromTokenAccount",
1527
+ "isMut": true,
1528
+ "isSigner": false
1529
+ },
1530
+ {
1531
+ "name": "toTokenAccount",
1532
+ "isMut": true,
1533
+ "isSigner": false
1534
+ },
1535
+ {
1536
+ "name": "nodeWallet",
1537
+ "isMut": true,
1538
+ "isSigner": false
1539
+ },
1540
+ {
1541
+ "name": "tokenProgram",
1542
+ "isMut": false,
1543
+ "isSigner": false
1544
+ },
1545
+ {
1546
+ "name": "randomAccountAsId",
1547
+ "isMut": false,
1548
+ "isSigner": false
1549
+ },
1550
+ {
1551
+ "name": "clock",
1552
+ "isMut": false,
1553
+ "isSigner": false
1554
+ },
1555
+ {
1556
+ "name": "operator",
1557
+ "isMut": true,
1558
+ "isSigner": true
1559
+ },
1560
+ {
1561
+ "name": "oracle",
1562
+ "isMut": false,
1563
+ "isSigner": true
1564
+ },
1565
+ {
1566
+ "name": "systemProgram",
1567
+ "isMut": false,
1568
+ "isSigner": false
1569
+ }
1570
+ ],
1571
+ "args": [
1572
+ {
1573
+ "name": "price",
1574
+ "type": "u128"
1575
+ }
1576
+ ]
1577
+ },
1578
+ {
1579
+ "name": "tradingOpenBorrow",
1580
+ "accounts": [
1581
+ {
1582
+ "name": "positionAccount",
1583
+ "isMut": true,
1584
+ "isSigner": false
1585
+ },
1586
+ {
1587
+ "name": "trader",
1588
+ "isMut": true,
1589
+ "isSigner": true
1590
+ },
1591
+ {
1592
+ "name": "tradingPool",
1593
+ "isMut": true,
1594
+ "isSigner": false
1595
+ },
1596
+ {
1597
+ "name": "nodeWallet",
1598
+ "isMut": true,
1599
+ "isSigner": false
1600
+ },
1601
+ {
1602
+ "name": "instructions",
1603
+ "isMut": false,
1604
+ "isSigner": false
1605
+ },
1606
+ {
1607
+ "name": "systemProgram",
1608
+ "isMut": false,
1609
+ "isSigner": false
1610
+ },
1611
+ {
1612
+ "name": "clock",
1613
+ "isMut": false,
1614
+ "isSigner": false
1615
+ },
1616
+ {
1617
+ "name": "randomAccountAsId",
1618
+ "isMut": false,
1619
+ "isSigner": false
1620
+ },
1621
+ {
1622
+ "name": "feeTokenAccount",
1623
+ "isMut": true,
1624
+ "isSigner": false
1625
+ },
1626
+ {
1627
+ "name": "fromTokenAccount",
1628
+ "isMut": true,
1629
+ "isSigner": false
1630
+ },
1631
+ {
1632
+ "name": "toTokenAccount",
1633
+ "isMut": true,
1634
+ "isSigner": false
1635
+ },
1636
+ {
1637
+ "name": "tokenProgram",
1638
+ "isMut": false,
1639
+ "isSigner": false
1640
+ }
1641
+ ],
1642
+ "args": [
1643
+ {
1644
+ "name": "positionSize",
1645
+ "type": "u64"
1646
+ },
1647
+ {
1648
+ "name": "userPays",
1649
+ "type": "u64"
1650
+ }
1651
+ ]
1652
+ },
1653
+ {
1654
+ "name": "tradingOpenAddCollateral",
1655
+ "accounts": [
1656
+ {
1657
+ "name": "positionAccount",
1658
+ "isMut": true,
1659
+ "isSigner": false
1660
+ },
1661
+ {
1662
+ "name": "trader",
1663
+ "isMut": true,
1664
+ "isSigner": true
1665
+ },
1666
+ {
1667
+ "name": "tradingPool",
1668
+ "isMut": true,
1669
+ "isSigner": false
1670
+ },
1671
+ {
1672
+ "name": "systemProgram",
1673
+ "isMut": false,
1674
+ "isSigner": false
1675
+ },
1676
+ {
1677
+ "name": "mint",
1678
+ "isMut": false,
1679
+ "isSigner": false
1680
+ },
1681
+ {
1682
+ "name": "toTokenAccount",
1683
+ "isMut": false,
1684
+ "isSigner": false
1685
+ },
1686
+ {
1687
+ "name": "randomAccountAsId",
1688
+ "isMut": false,
1689
+ "isSigner": false
1690
+ }
1691
+ ],
1692
+ "args": [
1693
+ {
1694
+ "name": "maxInterestRate",
1695
+ "type": "u8"
1696
+ }
1697
+ ]
1698
+ },
1699
+ {
1700
+ "name": "tradingCloseBorrowCollateral",
1701
+ "accounts": [
1702
+ {
1703
+ "name": "positionAccount",
1704
+ "isMut": true,
1705
+ "isSigner": false
1706
+ },
1707
+ {
1708
+ "name": "trader",
1709
+ "isMut": true,
1710
+ "isSigner": true
1711
+ },
1712
+ {
1713
+ "name": "tradingPool",
1714
+ "isMut": true,
1715
+ "isSigner": false
1716
+ },
1717
+ {
1718
+ "name": "instructions",
1719
+ "isMut": false,
1720
+ "isSigner": false
1721
+ },
1722
+ {
1723
+ "name": "systemProgram",
1724
+ "isMut": false,
1725
+ "isSigner": false
1726
+ },
1727
+ {
1728
+ "name": "mint",
1729
+ "isMut": false,
1730
+ "isSigner": false
1731
+ },
1732
+ {
1733
+ "name": "fromTokenAccount",
1734
+ "isMut": true,
1735
+ "isSigner": false
1736
+ },
1737
+ {
1738
+ "name": "toTokenAccount",
1739
+ "isMut": true,
1740
+ "isSigner": false
1741
+ },
1742
+ {
1743
+ "name": "tokenProgram",
1744
+ "isMut": false,
1745
+ "isSigner": false
1746
+ },
1747
+ {
1748
+ "name": "clock",
1749
+ "isMut": false,
1750
+ "isSigner": false
1751
+ },
1752
+ {
1753
+ "name": "randomAccountAsId",
1754
+ "isMut": false,
1755
+ "isSigner": false
1756
+ }
1757
+ ],
1758
+ "args": []
1759
+ },
1760
+ {
1761
+ "name": "tradingDataAccruedInterest",
1762
+ "accounts": [
1763
+ {
1764
+ "name": "positionAccount",
1765
+ "isMut": true,
1766
+ "isSigner": false
1767
+ },
1768
+ {
1769
+ "name": "trader",
1770
+ "isMut": true,
1771
+ "isSigner": true
1772
+ },
1773
+ {
1774
+ "name": "tradingPool",
1775
+ "isMut": true,
1776
+ "isSigner": false
1777
+ },
1778
+ {
1779
+ "name": "nodeWallet",
1780
+ "isMut": true,
1781
+ "isSigner": false
1782
+ },
1783
+ {
1784
+ "name": "systemProgram",
1785
+ "isMut": false,
1786
+ "isSigner": false
1787
+ },
1788
+ {
1789
+ "name": "clock",
1790
+ "isMut": false,
1791
+ "isSigner": false
1792
+ },
1793
+ {
1794
+ "name": "randomAccountAsId",
1795
+ "isMut": false,
1796
+ "isSigner": false
1797
+ },
1798
+ {
1799
+ "name": "mint",
1800
+ "isMut": false,
1801
+ "isSigner": false
1802
+ },
1803
+ {
1804
+ "name": "fromTokenAccount",
1805
+ "isMut": true,
1806
+ "isSigner": false
1807
+ },
1808
+ {
1809
+ "name": "toTokenAccount",
1810
+ "isMut": true,
1811
+ "isSigner": false
1812
+ },
1813
+ {
1814
+ "name": "feeTokenAccount",
1815
+ "isMut": true,
1816
+ "isSigner": false
1817
+ },
1818
+ {
1819
+ "name": "tokenProgram",
1820
+ "isMut": false,
1821
+ "isSigner": false
1822
+ }
1823
+ ],
1824
+ "args": [],
1825
+ "returns": "u64"
1826
+ },
1827
+ {
1828
+ "name": "tradingCloseRepaySol",
1829
+ "accounts": [
1830
+ {
1831
+ "name": "positionAccount",
1832
+ "isMut": true,
1833
+ "isSigner": false
1834
+ },
1835
+ {
1836
+ "name": "trader",
1837
+ "isMut": true,
1838
+ "isSigner": true
1839
+ },
1840
+ {
1841
+ "name": "tradingPool",
1842
+ "isMut": true,
1843
+ "isSigner": false
1844
+ },
1845
+ {
1846
+ "name": "nodeWallet",
1847
+ "isMut": true,
1848
+ "isSigner": false
1849
+ },
1850
+ {
1851
+ "name": "systemProgram",
1852
+ "isMut": false,
1853
+ "isSigner": false
1854
+ },
1855
+ {
1856
+ "name": "clock",
1857
+ "isMut": false,
1858
+ "isSigner": false
1859
+ },
1860
+ {
1861
+ "name": "randomAccountAsId",
1862
+ "isMut": false,
1863
+ "isSigner": false
1864
+ },
1865
+ {
1866
+ "name": "mint",
1867
+ "isMut": false,
1868
+ "isSigner": false
1869
+ },
1870
+ {
1871
+ "name": "fromTokenAccount",
1872
+ "isMut": true,
1873
+ "isSigner": false
1874
+ },
1875
+ {
1876
+ "name": "toTokenAccount",
1877
+ "isMut": true,
1878
+ "isSigner": false
1879
+ },
1880
+ {
1881
+ "name": "feeTokenAccount",
1882
+ "isMut": true,
1883
+ "isSigner": false
1884
+ },
1885
+ {
1886
+ "name": "tokenProgram",
1887
+ "isMut": false,
1888
+ "isSigner": false
1889
+ }
1890
+ ],
1891
+ "args": [
1892
+ {
1893
+ "name": "closingPositionSize",
1894
+ "type": "u64"
1895
+ },
1896
+ {
1897
+ "name": "closeType",
1898
+ "type": "u64"
1899
+ }
1900
+ ]
1901
+ },
1902
+ {
1903
+ "name": "tradingPartialRepaySol",
1904
+ "accounts": [
1905
+ {
1906
+ "name": "positionAccount",
1907
+ "isMut": true,
1908
+ "isSigner": false
1909
+ },
1910
+ {
1911
+ "name": "trader",
1912
+ "isMut": true,
1913
+ "isSigner": true
1914
+ },
1915
+ {
1916
+ "name": "tradingPool",
1917
+ "isMut": true,
1918
+ "isSigner": false
1919
+ },
1920
+ {
1921
+ "name": "nodeWallet",
1922
+ "isMut": true,
1923
+ "isSigner": false
1924
+ },
1925
+ {
1926
+ "name": "systemProgram",
1927
+ "isMut": false,
1928
+ "isSigner": false
1929
+ },
1930
+ {
1931
+ "name": "clock",
1932
+ "isMut": false,
1933
+ "isSigner": false
1934
+ },
1935
+ {
1936
+ "name": "randomAccountAsId",
1937
+ "isMut": false,
1938
+ "isSigner": false
1939
+ },
1940
+ {
1941
+ "name": "mint",
1942
+ "isMut": false,
1943
+ "isSigner": false
1944
+ },
1945
+ {
1946
+ "name": "fromTokenAccount",
1947
+ "isMut": true,
1948
+ "isSigner": false
1949
+ },
1950
+ {
1951
+ "name": "toTokenAccount",
1952
+ "isMut": true,
1953
+ "isSigner": false
1954
+ },
1955
+ {
1956
+ "name": "feeTokenAccount",
1957
+ "isMut": true,
1958
+ "isSigner": false
1959
+ },
1960
+ {
1961
+ "name": "tokenProgram",
1962
+ "isMut": false,
1963
+ "isSigner": false
1964
+ }
1965
+ ],
1966
+ "args": [
1967
+ {
1968
+ "name": "percentage",
1969
+ "type": "u64"
1970
+ }
1971
+ ]
1972
+ },
1973
+ {
1974
+ "name": "tradingCreateTpDelegate",
1975
+ "accounts": [
1976
+ {
1977
+ "name": "delegate",
1978
+ "isMut": true,
1979
+ "isSigner": false
1980
+ },
1981
+ {
1982
+ "name": "originalOperator",
1983
+ "isMut": true,
1984
+ "isSigner": true
1985
+ },
1986
+ {
1987
+ "name": "delegatedAccount",
1988
+ "isMut": false,
1989
+ "isSigner": false
1990
+ },
1991
+ {
1992
+ "name": "systemProgram",
1993
+ "isMut": false,
1994
+ "isSigner": false
1995
+ }
1996
+ ],
1997
+ "args": [
1998
+ {
1999
+ "name": "price",
2000
+ "type": "u64"
2001
+ },
2002
+ {
2003
+ "name": "lowerThreshold",
2004
+ "type": "u64"
2005
+ },
2006
+ {
2007
+ "name": "delegateOperator",
2008
+ "type": "publicKey"
2009
+ },
2010
+ {
2011
+ "name": "partialPercentage",
2012
+ "type": "u64"
2013
+ }
2014
+ ]
2015
+ },
2016
+ {
2017
+ "name": "tradingRemoveTpDelegate",
2018
+ "accounts": [
2019
+ {
2020
+ "name": "delegate",
2021
+ "isMut": true,
2022
+ "isSigner": false
2023
+ },
2024
+ {
2025
+ "name": "originalOperator",
2026
+ "isMut": true,
2027
+ "isSigner": true
2028
+ },
2029
+ {
2030
+ "name": "delegatedAccount",
2031
+ "isMut": false,
2032
+ "isSigner": false
2033
+ },
2034
+ {
2035
+ "name": "systemProgram",
2036
+ "isMut": false,
2037
+ "isSigner": false
2038
+ }
2039
+ ],
2040
+ "args": []
2041
+ }
2042
+ ],
2043
+ "accounts": [
2044
+ {
2045
+ "name": "delegate",
2046
+ "type": {
2047
+ "kind": "struct",
2048
+ "fields": [
2037
2049
  {
2038
- "name": "nodeWallet",
2039
- "isMut": true,
2040
- "isSigner": false
2050
+ "name": "delegateType",
2051
+ "type": "u8"
2041
2052
  },
2042
2053
  {
2043
- "name": "systemProgram",
2044
- "isMut": false,
2045
- "isSigner": false
2054
+ "name": "field1",
2055
+ "type": "u64"
2046
2056
  },
2047
2057
  {
2048
- "name": "clock",
2049
- "isMut": false,
2050
- "isSigner": false
2058
+ "name": "field2",
2059
+ "type": "u64"
2051
2060
  },
2052
2061
  {
2053
- "name": "randomAccountAsId",
2054
- "isMut": false,
2055
- "isSigner": false
2062
+ "name": "field3",
2063
+ "type": "u64"
2056
2064
  },
2057
2065
  {
2058
- "name": "mint",
2059
- "isMut": false,
2060
- "isSigner": false
2066
+ "name": "field4",
2067
+ "type": "publicKey"
2061
2068
  },
2062
2069
  {
2063
- "name": "fromTokenAccount",
2064
- "isMut": true,
2065
- "isSigner": false
2070
+ "name": "field5",
2071
+ "type": "publicKey"
2066
2072
  },
2067
2073
  {
2068
- "name": "toTokenAccount",
2069
- "isMut": true,
2070
- "isSigner": false
2074
+ "name": "originalOperator",
2075
+ "type": "publicKey"
2071
2076
  },
2072
2077
  {
2073
- "name": "feeTokenAccount",
2074
- "isMut": true,
2075
- "isSigner": false
2078
+ "name": "delegateOperator",
2079
+ "type": "publicKey"
2076
2080
  },
2077
2081
  {
2078
- "name": "tokenProgram",
2079
- "isMut": false,
2080
- "isSigner": false
2081
- }
2082
- ],
2083
- "args": [
2084
- {
2085
- "name": "percentage",
2086
- "type": "u64"
2082
+ "name": "account",
2083
+ "type": "publicKey"
2087
2084
  }
2088
2085
  ]
2089
- },
2090
- {
2091
- "name": "tradingCreateTpDelegate",
2092
- "accounts": [
2093
- {
2094
- "name": "delegate",
2095
- "isMut": true,
2096
- "isSigner": false
2097
- },
2086
+ }
2087
+ },
2088
+ {
2089
+ "name": "nodeWallet",
2090
+ "type": {
2091
+ "kind": "struct",
2092
+ "fields": [
2098
2093
  {
2099
- "name": "originalOperator",
2100
- "isMut": true,
2101
- "isSigner": true
2094
+ "name": "totalFunds",
2095
+ "type": "u64"
2102
2096
  },
2103
2097
  {
2104
- "name": "delegatedAccount",
2105
- "isMut": false,
2106
- "isSigner": false
2098
+ "name": "totalBorrowed",
2099
+ "type": "u64"
2107
2100
  },
2108
2101
  {
2109
- "name": "systemProgram",
2110
- "isMut": false,
2111
- "isSigner": false
2112
- }
2113
- ],
2114
- "args": [
2115
- {
2116
- "name": "price",
2117
- "type": "u64"
2102
+ "name": "maintenanceLtv",
2103
+ "type": "u8"
2118
2104
  },
2119
2105
  {
2120
- "name": "lowerThreshold",
2121
- "type": "u64"
2106
+ "name": "liquidationLtv",
2107
+ "type": "u16"
2122
2108
  },
2123
2109
  {
2124
- "name": "delegateOperator",
2110
+ "name": "nodeOperator",
2125
2111
  "type": "publicKey"
2126
2112
  },
2127
2113
  {
2128
- "name": "partialPercentage",
2129
- "type": "u64"
2114
+ "name": "mint",
2115
+ "type": "publicKey"
2130
2116
  }
2131
2117
  ]
2132
- },
2133
- {
2134
- "name": "delegateExecuteTp",
2135
- "accounts": [
2136
- {
2137
- "name": "delegate",
2138
- "isMut": true,
2139
- "isSigner": false
2140
- },
2118
+ }
2119
+ },
2120
+ {
2121
+ "name": "pool",
2122
+ "type": {
2123
+ "kind": "struct",
2124
+ "fields": [
2141
2125
  {
2142
- "name": "delegateOperator",
2143
- "isMut": false,
2144
- "isSigner": true
2126
+ "name": "interestRate",
2127
+ "type": "u8"
2145
2128
  },
2146
2129
  {
2147
- "name": "account",
2148
- "isMut": true,
2149
- "isSigner": false
2130
+ "name": "collateralType",
2131
+ "type": "publicKey"
2150
2132
  },
2151
2133
  {
2152
- "name": "tradingPool",
2153
- "isMut": true,
2154
- "isSigner": false
2134
+ "name": "maxBorrow",
2135
+ "type": "u64"
2155
2136
  },
2156
2137
  {
2157
- "name": "tokenProgram",
2158
- "isMut": false,
2159
- "isSigner": false
2138
+ "name": "nodeWallet",
2139
+ "type": "publicKey"
2160
2140
  },
2161
2141
  {
2162
- "name": "positionTokenAccount",
2163
- "isMut": true,
2164
- "isSigner": false
2142
+ "name": "maxExposure",
2143
+ "type": "u64"
2165
2144
  },
2166
2145
  {
2167
- "name": "delegateTokenAccount",
2168
- "isMut": true,
2169
- "isSigner": false
2146
+ "name": "currentExposure",
2147
+ "type": "u64"
2170
2148
  },
2171
2149
  {
2172
- "name": "systemProgram",
2173
- "isMut": false,
2174
- "isSigner": false
2175
- }
2176
- ],
2177
- "args": [
2178
- {
2179
- "name": "seed",
2150
+ "name": "qtType",
2180
2151
  "type": "publicKey"
2181
2152
  }
2182
2153
  ]
2183
- },
2184
- {
2185
- "name": "delegateClosePosition",
2186
- "accounts": [
2187
- {
2188
- "name": "delegate",
2189
- "isMut": true,
2190
- "isSigner": false
2191
- },
2154
+ }
2155
+ },
2156
+ {
2157
+ "name": "position",
2158
+ "type": {
2159
+ "kind": "struct",
2160
+ "fields": [
2192
2161
  {
2193
- "name": "delegateOperator",
2194
- "isMut": false,
2195
- "isSigner": true
2162
+ "name": "pool",
2163
+ "type": "publicKey"
2196
2164
  },
2197
2165
  {
2198
- "name": "account",
2199
- "isMut": true,
2200
- "isSigner": false
2166
+ "name": "closeStatusRecallTimestamp",
2167
+ "type": "u64"
2201
2168
  },
2202
2169
  {
2203
- "name": "tradingPool",
2204
- "isMut": true,
2205
- "isSigner": false
2170
+ "name": "amount",
2171
+ "type": "u64"
2206
2172
  },
2207
2173
  {
2208
- "name": "nodeWallet",
2209
- "isMut": true,
2210
- "isSigner": false
2174
+ "name": "userPaid",
2175
+ "type": "u64"
2211
2176
  },
2212
2177
  {
2213
- "name": "tokenProgram",
2214
- "isMut": false,
2215
- "isSigner": false
2178
+ "name": "collateralAmount",
2179
+ "type": "u64"
2216
2180
  },
2217
2181
  {
2218
- "name": "nodeWalletTokenAccount",
2219
- "isMut": true,
2220
- "isSigner": false
2182
+ "name": "timestamp",
2183
+ "type": "i64"
2221
2184
  },
2222
2185
  {
2223
- "name": "delegateTokenAccount",
2224
- "isMut": true,
2225
- "isSigner": false
2186
+ "name": "trader",
2187
+ "type": "publicKey"
2226
2188
  },
2227
2189
  {
2228
- "name": "feeTokenAccount",
2229
- "isMut": true,
2230
- "isSigner": false
2190
+ "name": "seed",
2191
+ "type": "publicKey"
2231
2192
  },
2232
2193
  {
2233
- "name": "profitTokenAccount",
2234
- "isMut": true,
2235
- "isSigner": false
2194
+ "name": "closeTimestamp",
2195
+ "type": "i64"
2236
2196
  },
2237
- {
2238
- "name": "systemProgram",
2239
- "isMut": false,
2240
- "isSigner": false
2241
- }
2242
- ],
2243
- "args": [
2244
2197
  {
2245
2198
  "name": "closingPositionSize",
2246
2199
  "type": "u64"
2247
- }
2248
- ]
2249
- },
2250
- {
2251
- "name": "tradingRemoveTpDelegate",
2252
- "accounts": [
2253
- {
2254
- "name": "delegate",
2255
- "isMut": true,
2256
- "isSigner": false
2257
2200
  },
2258
2201
  {
2259
- "name": "originalOperator",
2260
- "isMut": true,
2261
- "isSigner": true
2262
- },
2263
- {
2264
- "name": "delegatedAccount",
2265
- "isMut": false,
2266
- "isSigner": false
2202
+ "name": "interestRate",
2203
+ "type": "u8"
2267
2204
  },
2268
2205
  {
2269
- "name": "systemProgram",
2270
- "isMut": false,
2271
- "isSigner": false
2206
+ "name": "lastInterestCollect",
2207
+ "type": "i64"
2272
2208
  }
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
- }
2209
+ ]
2527
2210
  }
2528
- ],
2529
- "events": [
2530
- {
2531
- "name": "PositionCloseEvent",
2532
- "fields": [
2533
- {
2534
- "name": "pool",
2535
- "type": "publicKey",
2536
- "index": false
2537
- },
2211
+ }
2212
+ ],
2213
+ "types": [
2214
+ {
2215
+ "name": "LendingErrors",
2216
+ "docs": [
2217
+ "Errors for this program"
2218
+ ],
2219
+ "type": {
2220
+ "kind": "enum",
2221
+ "variants": [
2538
2222
  {
2539
- "name": "amount",
2540
- "type": "u64",
2541
- "index": false
2223
+ "name": "AddressMismatch"
2542
2224
  },
2543
2225
  {
2544
- "name": "userPaid",
2545
- "type": "u64",
2546
- "index": false
2226
+ "name": "ProgramMismatch"
2547
2227
  },
2548
2228
  {
2549
- "name": "collateralAmount",
2550
- "type": "u64",
2551
- "index": false
2229
+ "name": "MissingRepay"
2552
2230
  },
2553
2231
  {
2554
- "name": "openTimestamp",
2555
- "type": "i64",
2556
- "index": false
2232
+ "name": "IncorrectOwner"
2557
2233
  },
2558
2234
  {
2559
- "name": "trader",
2560
- "type": "publicKey",
2561
- "index": false
2235
+ "name": "IncorrectProgramAuthority"
2562
2236
  },
2563
2237
  {
2564
- "name": "closeType",
2565
- "type": "u8",
2566
- "index": false
2238
+ "name": "CannotBorrowBeforeRepay"
2567
2239
  },
2568
2240
  {
2569
- "name": "closeTimestamp",
2570
- "type": "i64",
2571
- "index": false
2241
+ "name": "UnknownInstruction"
2572
2242
  },
2573
2243
  {
2574
- "name": "closingPositionSize",
2575
- "type": "u64",
2576
- "index": false
2244
+ "name": "ExpectedCollateralNotEnough"
2577
2245
  }
2578
2246
  ]
2579
- },
2580
- {
2581
- "name": "PositionOpenEvent",
2582
- "fields": [
2247
+ }
2248
+ },
2249
+ {
2250
+ "name": "ErrorCode",
2251
+ "type": {
2252
+ "kind": "enum",
2253
+ "variants": [
2583
2254
  {
2584
- "name": "pool",
2585
- "type": "publicKey",
2586
- "index": false
2255
+ "name": "InvalidSignature"
2587
2256
  },
2588
2257
  {
2589
- "name": "amount",
2590
- "type": "u64",
2591
- "index": false
2592
- },
2258
+ "name": "InvalidOracle"
2259
+ }
2260
+ ]
2261
+ }
2262
+ },
2263
+ {
2264
+ "name": "ErrorCode",
2265
+ "type": {
2266
+ "kind": "enum",
2267
+ "variants": [
2593
2268
  {
2594
- "name": "userPaid",
2595
- "type": "u64",
2596
- "index": false
2269
+ "name": "OnlyDelegateOperator"
2597
2270
  },
2598
2271
  {
2599
- "name": "collateralAmount",
2600
- "type": "u64",
2601
- "index": false
2272
+ "name": "AddressMismatch"
2602
2273
  },
2603
2274
  {
2604
- "name": "openTimestamp",
2605
- "type": "i64",
2606
- "index": false
2275
+ "name": "InvalidDelegateType"
2276
+ }
2277
+ ]
2278
+ }
2279
+ },
2280
+ {
2281
+ "name": "PositionCloseType",
2282
+ "type": {
2283
+ "kind": "enum",
2284
+ "variants": [
2285
+ {
2286
+ "name": "ClosedByUser"
2607
2287
  },
2608
2288
  {
2609
- "name": "trader",
2610
- "type": "publicKey",
2611
- "index": false
2289
+ "name": "Liquidated"
2612
2290
  }
2613
2291
  ]
2614
2292
  }
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
-
2293
+ }
2294
+ ],
2295
+ "events": [
2296
+ {
2297
+ "name": "PositionCloseEvent",
2298
+ "fields": [
2299
+ {
2300
+ "name": "pool",
2301
+ "type": "publicKey",
2302
+ "index": false
2303
+ },
2304
+ {
2305
+ "name": "amount",
2306
+ "type": "u64",
2307
+ "index": false
2308
+ },
2309
+ {
2310
+ "name": "userPaid",
2311
+ "type": "u64",
2312
+ "index": false
2313
+ },
2314
+ {
2315
+ "name": "collateralAmount",
2316
+ "type": "u64",
2317
+ "index": false
2318
+ },
2319
+ {
2320
+ "name": "openTimestamp",
2321
+ "type": "i64",
2322
+ "index": false
2323
+ },
2324
+ {
2325
+ "name": "trader",
2326
+ "type": "publicKey",
2327
+ "index": false
2328
+ },
2329
+ {
2330
+ "name": "closeType",
2331
+ "type": "u8",
2332
+ "index": false
2333
+ },
2334
+ {
2335
+ "name": "closeTimestamp",
2336
+ "type": "i64",
2337
+ "index": false
2338
+ },
2339
+ {
2340
+ "name": "closingPositionSize",
2341
+ "type": "u64",
2342
+ "index": false
2343
+ }
2344
+ ]
2345
+ },
2346
+ {
2347
+ "name": "PositionOpenEvent",
2348
+ "fields": [
2349
+ {
2350
+ "name": "pool",
2351
+ "type": "publicKey",
2352
+ "index": false
2353
+ },
2354
+ {
2355
+ "name": "amount",
2356
+ "type": "u64",
2357
+ "index": false
2358
+ },
2359
+ {
2360
+ "name": "userPaid",
2361
+ "type": "u64",
2362
+ "index": false
2363
+ },
2364
+ {
2365
+ "name": "collateralAmount",
2366
+ "type": "u64",
2367
+ "index": false
2368
+ },
2369
+ {
2370
+ "name": "openTimestamp",
2371
+ "type": "i64",
2372
+ "index": false
2373
+ },
2374
+ {
2375
+ "name": "trader",
2376
+ "type": "publicKey",
2377
+ "index": false
2378
+ }
2379
+ ]
2380
+ }
2381
+ ],
2382
+ "errors": [
2383
+ {
2384
+ "code": 6000,
2385
+ "name": "AddressMismatch",
2386
+ "msg": "Address Mismatch"
2387
+ },
2388
+ {
2389
+ "code": 6001,
2390
+ "name": "ProgramMismatch",
2391
+ "msg": "Program Mismatch"
2392
+ },
2393
+ {
2394
+ "code": 6002,
2395
+ "name": "MissingRepay",
2396
+ "msg": "Missing Repay"
2397
+ },
2398
+ {
2399
+ "code": 6003,
2400
+ "name": "IncorrectOwner",
2401
+ "msg": "Incorrect Owner"
2402
+ },
2403
+ {
2404
+ "code": 6004,
2405
+ "name": "IncorrectProgramAuthority",
2406
+ "msg": "Incorrect Program Authority"
2407
+ },
2408
+ {
2409
+ "code": 6005,
2410
+ "name": "CannotBorrowBeforeRepay",
2411
+ "msg": "Cannot Borrow Before Repay"
2412
+ },
2413
+ {
2414
+ "code": 6006,
2415
+ "name": "UnknownInstruction",
2416
+ "msg": "Unknown Instruction"
2417
+ },
2418
+ {
2419
+ "code": 6007,
2420
+ "name": "ExpectedCollateralNotEnough",
2421
+ "msg": "Expected collateral not enough"
2422
+ },
2423
+ {
2424
+ "code": 6008,
2425
+ "name": "ForTesting",
2426
+ "msg": "TestError"
2427
+ }
2428
+ ]
2429
+ }