@exponent-labs/marginfi-sy-idl 0.0.3

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,2068 @@
1
+ /**
2
+ * Program IDL in camelCase format in order to be used in JS/TS.
3
+ *
4
+ * Note that this is only a type helper and is not the actual IDL. The original
5
+ * IDL can be found at `target/idl/marginfi_standard.json`.
6
+ */
7
+ export type MarginfiStandard = {
8
+ "address": "XPMfipyhcbq3DBvgvxkbZY7GekwmGNJLMD3wdiCkBc7";
9
+ "metadata": {
10
+ "name": "marginfiStandard";
11
+ "version": "0.1.0";
12
+ "spec": "0.1.0";
13
+ "description": "Created with Anchor";
14
+ };
15
+ "instructions": [
16
+ {
17
+ "name": "addEmission";
18
+ "discriminator": [
19
+ 4
20
+ ];
21
+ "accounts": [
22
+ {
23
+ "name": "signer";
24
+ "signer": true;
25
+ },
26
+ {
27
+ "name": "feePayer";
28
+ "writable": true;
29
+ "signer": true;
30
+ },
31
+ {
32
+ "name": "meta";
33
+ "writable": true;
34
+ },
35
+ {
36
+ "name": "tokenEmission";
37
+ "docs": [
38
+ "The emission token account, which will be the escrow for accrued emissions"
39
+ ];
40
+ },
41
+ {
42
+ "name": "mintEmission";
43
+ "docs": [
44
+ "The mint for the emission"
45
+ ];
46
+ },
47
+ {
48
+ "name": "systemProgram";
49
+ "docs": [
50
+ "Needed for realloc'ing the emission tracker"
51
+ ];
52
+ },
53
+ {
54
+ "name": "adminState";
55
+ }
56
+ ];
57
+ "args": [];
58
+ },
59
+ {
60
+ "name": "collectEmission";
61
+ "discriminator": [
62
+ 8
63
+ ];
64
+ "accounts": [
65
+ {
66
+ "name": "owner";
67
+ "signer": true;
68
+ },
69
+ {
70
+ "name": "meta";
71
+ "writable": true;
72
+ },
73
+ {
74
+ "name": "position";
75
+ "writable": true;
76
+ },
77
+ {
78
+ "name": "tokenEmissionAccountAuthority";
79
+ "writable": true;
80
+ },
81
+ {
82
+ "name": "tokenEmissionSigner";
83
+ "writable": true;
84
+ },
85
+ {
86
+ "name": "tokenProgram";
87
+ }
88
+ ];
89
+ "args": [
90
+ {
91
+ "name": "amount";
92
+ "type": {
93
+ "defined": {
94
+ "name": "amount";
95
+ };
96
+ };
97
+ }
98
+ ];
99
+ },
100
+ {
101
+ "name": "collectTreasuryEmission";
102
+ "discriminator": [
103
+ 9
104
+ ];
105
+ "accounts": [
106
+ {
107
+ "name": "treasuryAdministrator";
108
+ "signer": true;
109
+ },
110
+ {
111
+ "name": "meta";
112
+ "writable": true;
113
+ },
114
+ {
115
+ "name": "admin";
116
+ },
117
+ {
118
+ "name": "tokenEmissionAccountAuthority";
119
+ "writable": true;
120
+ },
121
+ {
122
+ "name": "tokenEmissionTreasuryAdministrator";
123
+ "writable": true;
124
+ },
125
+ {
126
+ "name": "tokenProgram";
127
+ }
128
+ ];
129
+ "args": [
130
+ {
131
+ "name": "amount";
132
+ "type": {
133
+ "defined": {
134
+ "name": "amount";
135
+ };
136
+ };
137
+ }
138
+ ];
139
+ },
140
+ {
141
+ "name": "deposit";
142
+ "discriminator": [
143
+ 5
144
+ ];
145
+ "accounts": [
146
+ {
147
+ "name": "depositor";
148
+ "writable": true;
149
+ "signer": true;
150
+ },
151
+ {
152
+ "name": "meta";
153
+ "writable": true;
154
+ },
155
+ {
156
+ "name": "mintSy";
157
+ },
158
+ {
159
+ "name": "marginfiProgram";
160
+ },
161
+ {
162
+ "name": "marginfiBank";
163
+ "writable": true;
164
+ },
165
+ {
166
+ "name": "tokenSyEscrow";
167
+ "writable": true;
168
+ },
169
+ {
170
+ "name": "tokenSyDepositor";
171
+ "writable": true;
172
+ },
173
+ {
174
+ "name": "position";
175
+ "writable": true;
176
+ },
177
+ {
178
+ "name": "emissionDst";
179
+ "docs": [
180
+ "The token account that receives emissions",
181
+ "This is constrained to be an ATA owned by \"account authority\""
182
+ ];
183
+ "writable": true;
184
+ "optional": true;
185
+ },
186
+ {
187
+ "name": "marginfiGroup";
188
+ },
189
+ {
190
+ "name": "marginfiAccount";
191
+ "writable": true;
192
+ },
193
+ {
194
+ "name": "mintEmission";
195
+ "docs": [
196
+ "The mint for the marginfi emission"
197
+ ];
198
+ "optional": true;
199
+ },
200
+ {
201
+ "name": "tokenProgramEmission";
202
+ "optional": true;
203
+ },
204
+ {
205
+ "name": "marginfiEmissionsVault";
206
+ "writable": true;
207
+ "optional": true;
208
+ },
209
+ {
210
+ "name": "marginfiEmissionsAuth";
211
+ "optional": true;
212
+ },
213
+ {
214
+ "name": "tokenProgram";
215
+ },
216
+ {
217
+ "name": "systemProgram";
218
+ }
219
+ ];
220
+ "args": [
221
+ {
222
+ "name": "amount";
223
+ "type": "u64";
224
+ }
225
+ ];
226
+ "returns": {
227
+ "defined": {
228
+ "name": "syState";
229
+ };
230
+ };
231
+ },
232
+ {
233
+ "name": "getPosition";
234
+ "discriminator": [
235
+ 10
236
+ ];
237
+ "accounts": [
238
+ {
239
+ "name": "position";
240
+ "writable": true;
241
+ },
242
+ {
243
+ "name": "meta";
244
+ "writable": true;
245
+ },
246
+ {
247
+ "name": "marginfiBank";
248
+ "writable": true;
249
+ },
250
+ {
251
+ "name": "marginfiAccount";
252
+ "writable": true;
253
+ },
254
+ {
255
+ "name": "marginfiProgram";
256
+ },
257
+ {
258
+ "name": "mintSy";
259
+ },
260
+ {
261
+ "name": "tokenSyEscrow";
262
+ },
263
+ {
264
+ "name": "marginfiGroup";
265
+ },
266
+ {
267
+ "name": "mintEmission";
268
+ "docs": [
269
+ "The mint for the marginfi emission"
270
+ ];
271
+ "optional": true;
272
+ },
273
+ {
274
+ "name": "tokenProgramEmission";
275
+ "optional": true;
276
+ },
277
+ {
278
+ "name": "marginfiEmissionsVault";
279
+ "writable": true;
280
+ "optional": true;
281
+ },
282
+ {
283
+ "name": "marginfiEmissionsAuth";
284
+ "optional": true;
285
+ },
286
+ {
287
+ "name": "emissionDst";
288
+ "docs": [
289
+ "The token account that receives emissions",
290
+ "This is constrained to be an ATA owned by \"account authority\""
291
+ ];
292
+ "writable": true;
293
+ "optional": true;
294
+ },
295
+ {
296
+ "name": "systemProgram";
297
+ }
298
+ ];
299
+ "args": [];
300
+ "returns": {
301
+ "defined": {
302
+ "name": "positionState";
303
+ };
304
+ };
305
+ },
306
+ {
307
+ "name": "getState";
308
+ "discriminator": [
309
+ 7
310
+ ];
311
+ "accounts": [
312
+ {
313
+ "name": "meta";
314
+ "writable": true;
315
+ },
316
+ {
317
+ "name": "mintSy";
318
+ },
319
+ {
320
+ "name": "marginfiBank";
321
+ "writable": true;
322
+ },
323
+ {
324
+ "name": "tokenSyEscrow";
325
+ },
326
+ {
327
+ "name": "tokenEmissionAccountAuthority";
328
+ "writable": true;
329
+ "optional": true;
330
+ },
331
+ {
332
+ "name": "mintEmission";
333
+ "optional": true;
334
+ },
335
+ {
336
+ "name": "marginfiGroup";
337
+ },
338
+ {
339
+ "name": "marginfiEmissionsVault";
340
+ "writable": true;
341
+ "optional": true;
342
+ },
343
+ {
344
+ "name": "marginfiEmissionsAuth";
345
+ "optional": true;
346
+ },
347
+ {
348
+ "name": "marginfiAccount";
349
+ "writable": true;
350
+ },
351
+ {
352
+ "name": "marginfiProgram";
353
+ },
354
+ {
355
+ "name": "tokenProgram";
356
+ "optional": true;
357
+ }
358
+ ];
359
+ "args": [];
360
+ "returns": {
361
+ "defined": {
362
+ "name": "syState";
363
+ };
364
+ };
365
+ },
366
+ {
367
+ "name": "initSy";
368
+ "discriminator": [
369
+ 0
370
+ ];
371
+ "accounts": [
372
+ {
373
+ "name": "admin";
374
+ "writable": true;
375
+ "signer": true;
376
+ },
377
+ {
378
+ "name": "marginfiAccount";
379
+ "docs": [
380
+ "The address of the marginfi account"
381
+ ];
382
+ "writable": true;
383
+ },
384
+ {
385
+ "name": "syMeta";
386
+ "docs": [
387
+ "Master metadata account for SY token"
388
+ ];
389
+ "writable": true;
390
+ },
391
+ {
392
+ "name": "mintSy";
393
+ "docs": [
394
+ "Mint for SY token"
395
+ ];
396
+ "writable": true;
397
+ },
398
+ {
399
+ "name": "tokenSyEscrow";
400
+ "docs": [
401
+ "Escrow account for deposited SY"
402
+ ];
403
+ "writable": true;
404
+ },
405
+ {
406
+ "name": "marginfiBank";
407
+ "writable": true;
408
+ },
409
+ {
410
+ "name": "marginfiGroup";
411
+ "writable": true;
412
+ },
413
+ {
414
+ "name": "marginfiProgram";
415
+ },
416
+ {
417
+ "name": "tokenProgram";
418
+ },
419
+ {
420
+ "name": "systemProgram";
421
+ },
422
+ {
423
+ "name": "adminState";
424
+ },
425
+ {
426
+ "name": "metadata";
427
+ "writable": true;
428
+ },
429
+ {
430
+ "name": "tokenMetadataProgram";
431
+ },
432
+ {
433
+ "name": "rent";
434
+ }
435
+ ];
436
+ "args": [
437
+ {
438
+ "name": "minMintSize";
439
+ "type": "u64";
440
+ },
441
+ {
442
+ "name": "minRedeemSize";
443
+ "type": "u64";
444
+ },
445
+ {
446
+ "name": "name";
447
+ "type": "string";
448
+ },
449
+ {
450
+ "name": "symbol";
451
+ "type": "string";
452
+ },
453
+ {
454
+ "name": "uri";
455
+ "type": "string";
456
+ }
457
+ ];
458
+ },
459
+ {
460
+ "name": "initializePosition";
461
+ "discriminator": [
462
+ 3
463
+ ];
464
+ "accounts": [
465
+ {
466
+ "name": "feePayer";
467
+ "writable": true;
468
+ "signer": true;
469
+ },
470
+ {
471
+ "name": "owner";
472
+ },
473
+ {
474
+ "name": "meta";
475
+ },
476
+ {
477
+ "name": "position";
478
+ "writable": true;
479
+ },
480
+ {
481
+ "name": "systemProgram";
482
+ }
483
+ ];
484
+ "args": [];
485
+ },
486
+ {
487
+ "name": "mint";
488
+ "discriminator": [
489
+ 1
490
+ ];
491
+ "accounts": [
492
+ {
493
+ "name": "depositor";
494
+ "writable": true;
495
+ "signer": true;
496
+ },
497
+ {
498
+ "name": "meta";
499
+ },
500
+ {
501
+ "name": "mintSy";
502
+ "writable": true;
503
+ },
504
+ {
505
+ "name": "mintBase";
506
+ "writable": true;
507
+ },
508
+ {
509
+ "name": "tokenBaseDepositor";
510
+ "docs": [
511
+ "Depositor's base asset token account"
512
+ ];
513
+ "writable": true;
514
+ },
515
+ {
516
+ "name": "tokenBaseAccountAuthority";
517
+ "docs": [
518
+ "SY robot's base token account"
519
+ ];
520
+ "writable": true;
521
+ },
522
+ {
523
+ "name": "tokenSyDepositor";
524
+ "writable": true;
525
+ },
526
+ {
527
+ "name": "marginfiAccount";
528
+ "writable": true;
529
+ },
530
+ {
531
+ "name": "marginfiBank";
532
+ "writable": true;
533
+ },
534
+ {
535
+ "name": "bankLiquidityVault";
536
+ "writable": true;
537
+ },
538
+ {
539
+ "name": "marginfiGroup";
540
+ "writable": true;
541
+ },
542
+ {
543
+ "name": "marginfiProgram";
544
+ },
545
+ {
546
+ "name": "baseTokenProgram";
547
+ },
548
+ {
549
+ "name": "tokenProgram";
550
+ },
551
+ {
552
+ "name": "marginfiEmissionsAuth";
553
+ "optional": true;
554
+ },
555
+ {
556
+ "name": "marginfiEmissionsVault";
557
+ "writable": true;
558
+ "optional": true;
559
+ },
560
+ {
561
+ "name": "mintEmission";
562
+ "optional": true;
563
+ },
564
+ {
565
+ "name": "emissionDst";
566
+ "writable": true;
567
+ "optional": true;
568
+ },
569
+ {
570
+ "name": "tokenProgramEmission";
571
+ "optional": true;
572
+ }
573
+ ];
574
+ "args": [
575
+ {
576
+ "name": "amount";
577
+ "type": "u64";
578
+ }
579
+ ];
580
+ "returns": {
581
+ "defined": {
582
+ "name": "mintSyReturnData";
583
+ };
584
+ };
585
+ },
586
+ {
587
+ "name": "redeem";
588
+ "discriminator": [
589
+ 2
590
+ ];
591
+ "accounts": [
592
+ {
593
+ "name": "signer";
594
+ "writable": true;
595
+ "signer": true;
596
+ },
597
+ {
598
+ "name": "meta";
599
+ },
600
+ {
601
+ "name": "tokenBaseDst";
602
+ "writable": true;
603
+ },
604
+ {
605
+ "name": "tokenBaseAccountAuthority";
606
+ "writable": true;
607
+ },
608
+ {
609
+ "name": "tokenSySigner";
610
+ "writable": true;
611
+ },
612
+ {
613
+ "name": "mintSy";
614
+ "writable": true;
615
+ },
616
+ {
617
+ "name": "mintBase";
618
+ "writable": true;
619
+ },
620
+ {
621
+ "name": "marginfiBank";
622
+ "writable": true;
623
+ },
624
+ {
625
+ "name": "marginfiAccount";
626
+ "writable": true;
627
+ },
628
+ {
629
+ "name": "bankLiquidityVault";
630
+ "writable": true;
631
+ },
632
+ {
633
+ "name": "bankLiquidityVaultAuthority";
634
+ "writable": true;
635
+ },
636
+ {
637
+ "name": "marginfiGroup";
638
+ },
639
+ {
640
+ "name": "marginfiProgram";
641
+ },
642
+ {
643
+ "name": "tokenBaseProgram";
644
+ "docs": [
645
+ "Base token program"
646
+ ];
647
+ },
648
+ {
649
+ "name": "tokenProgram";
650
+ "docs": [
651
+ "SY token program"
652
+ ];
653
+ },
654
+ {
655
+ "name": "marginfiEmissionsAuth";
656
+ "optional": true;
657
+ },
658
+ {
659
+ "name": "marginfiEmissionsVault";
660
+ "writable": true;
661
+ "optional": true;
662
+ },
663
+ {
664
+ "name": "mintEmission";
665
+ "optional": true;
666
+ },
667
+ {
668
+ "name": "emissionDst";
669
+ "writable": true;
670
+ "optional": true;
671
+ },
672
+ {
673
+ "name": "tokenProgramEmission";
674
+ "optional": true;
675
+ }
676
+ ];
677
+ "args": [
678
+ {
679
+ "name": "amount";
680
+ "type": "u64";
681
+ }
682
+ ];
683
+ "returns": {
684
+ "defined": {
685
+ "name": "redeemSyReturnData";
686
+ };
687
+ };
688
+ },
689
+ {
690
+ "name": "withdraw";
691
+ "discriminator": [
692
+ 6
693
+ ];
694
+ "accounts": [
695
+ {
696
+ "name": "owner";
697
+ "writable": true;
698
+ "signer": true;
699
+ },
700
+ {
701
+ "name": "meta";
702
+ "writable": true;
703
+ },
704
+ {
705
+ "name": "mintSy";
706
+ },
707
+ {
708
+ "name": "position";
709
+ "writable": true;
710
+ },
711
+ {
712
+ "name": "tokenSyEscrow";
713
+ "docs": [
714
+ "Escrow pool of SY tokens"
715
+ ];
716
+ "writable": true;
717
+ },
718
+ {
719
+ "name": "tokenSyDst";
720
+ "docs": [
721
+ "Destination for SY tokens withdrawn"
722
+ ];
723
+ "writable": true;
724
+ },
725
+ {
726
+ "name": "tokenEmissionAuthorityMfiAccount";
727
+ "writable": true;
728
+ "optional": true;
729
+ },
730
+ {
731
+ "name": "mintEmission";
732
+ "optional": true;
733
+ },
734
+ {
735
+ "name": "marginfiBank";
736
+ "writable": true;
737
+ },
738
+ {
739
+ "name": "marginfiEmissionsVault";
740
+ "writable": true;
741
+ "optional": true;
742
+ },
743
+ {
744
+ "name": "marginfiEmissionsAuth";
745
+ "optional": true;
746
+ },
747
+ {
748
+ "name": "marginfiGroup";
749
+ },
750
+ {
751
+ "name": "marginfiAccount";
752
+ "writable": true;
753
+ },
754
+ {
755
+ "name": "marginfiProgram";
756
+ },
757
+ {
758
+ "name": "tokenProgramEmission";
759
+ "optional": true;
760
+ },
761
+ {
762
+ "name": "tokenProgram";
763
+ },
764
+ {
765
+ "name": "systemProgram";
766
+ }
767
+ ];
768
+ "args": [
769
+ {
770
+ "name": "amount";
771
+ "type": "u64";
772
+ }
773
+ ];
774
+ "returns": {
775
+ "defined": {
776
+ "name": "syState";
777
+ };
778
+ };
779
+ }
780
+ ];
781
+ "accounts": [
782
+ {
783
+ "name": "admin";
784
+ "discriminator": [
785
+ 244,
786
+ 158,
787
+ 220,
788
+ 65,
789
+ 8,
790
+ 73,
791
+ 4,
792
+ 65
793
+ ];
794
+ },
795
+ {
796
+ "name": "bank";
797
+ "discriminator": [
798
+ 142,
799
+ 49,
800
+ 166,
801
+ 242,
802
+ 50,
803
+ 66,
804
+ 97,
805
+ 188
806
+ ];
807
+ },
808
+ {
809
+ "name": "marginfiAccount";
810
+ "discriminator": [
811
+ 67,
812
+ 178,
813
+ 130,
814
+ 109,
815
+ 126,
816
+ 114,
817
+ 28,
818
+ 42
819
+ ];
820
+ },
821
+ {
822
+ "name": "marginfiGroup";
823
+ "discriminator": [
824
+ 182,
825
+ 23,
826
+ 173,
827
+ 240,
828
+ 151,
829
+ 206,
830
+ 182,
831
+ 67
832
+ ];
833
+ },
834
+ {
835
+ "name": "position";
836
+ "discriminator": [
837
+ 170,
838
+ 188,
839
+ 143,
840
+ 228,
841
+ 122,
842
+ 64,
843
+ 247,
844
+ 208
845
+ ];
846
+ },
847
+ {
848
+ "name": "syMeta";
849
+ "discriminator": [
850
+ 254,
851
+ 147,
852
+ 136,
853
+ 16,
854
+ 163,
855
+ 203,
856
+ 98,
857
+ 93
858
+ ];
859
+ }
860
+ ];
861
+ "errors": [
862
+ {
863
+ "code": 6000;
864
+ "name": "mintAmountTooLow";
865
+ "msg": "The mint amount is too low";
866
+ },
867
+ {
868
+ "code": 6001;
869
+ "name": "redeemAmountTooLow";
870
+ "msg": "The redeem amount is too low";
871
+ },
872
+ {
873
+ "code": 6002;
874
+ "name": "emissionAccountsNotProvided";
875
+ "msg": "Necessary emission accounts not provided";
876
+ },
877
+ {
878
+ "code": 6003;
879
+ "name": "emissionAccountsProvidedWhenNotNeeded";
880
+ "msg": "Emission accounts provided when not needed";
881
+ },
882
+ {
883
+ "code": 6004;
884
+ "name": "rewardWithdrawAmountTooHigh";
885
+ "msg": "The reward withdraw amount is higher than the available reward";
886
+ },
887
+ {
888
+ "code": 6005;
889
+ "name": "noRewardsForMeta";
890
+ "msg": "There are no rewards for this meta";
891
+ },
892
+ {
893
+ "code": 6006;
894
+ "name": "sySupplyMismatch";
895
+ "msg": "Instruction invariant found that there was more SY minted than the amount of shares in the marginfi account";
896
+ },
897
+ {
898
+ "code": 6007;
899
+ "name": "positionAmountTooLow";
900
+ "msg": "Position has less amount than the requested withdraw amount";
901
+ }
902
+ ];
903
+ "types": [
904
+ {
905
+ "name": "admin";
906
+ "type": {
907
+ "kind": "struct";
908
+ "fields": [
909
+ {
910
+ "name": "uberAdmin";
911
+ "type": "pubkey";
912
+ },
913
+ {
914
+ "name": "proposedUberAdmin";
915
+ "type": {
916
+ "option": "pubkey";
917
+ };
918
+ },
919
+ {
920
+ "name": "principles";
921
+ "type": {
922
+ "defined": {
923
+ "name": "principles";
924
+ };
925
+ };
926
+ }
927
+ ];
928
+ };
929
+ },
930
+ {
931
+ "name": "amount";
932
+ "type": {
933
+ "kind": "enum";
934
+ "variants": [
935
+ {
936
+ "name": "all";
937
+ },
938
+ {
939
+ "name": "some";
940
+ "fields": [
941
+ "u64"
942
+ ];
943
+ }
944
+ ];
945
+ };
946
+ },
947
+ {
948
+ "name": "balance";
949
+ "serialization": "bytemuckunsafe";
950
+ "repr": {
951
+ "kind": "c";
952
+ };
953
+ "type": {
954
+ "kind": "struct";
955
+ "fields": [
956
+ {
957
+ "name": "active";
958
+ "type": "bool";
959
+ },
960
+ {
961
+ "name": "bankPk";
962
+ "type": "pubkey";
963
+ },
964
+ {
965
+ "name": "pad0";
966
+ "type": {
967
+ "array": [
968
+ "u8",
969
+ 7
970
+ ];
971
+ };
972
+ },
973
+ {
974
+ "name": "assetShares";
975
+ "type": {
976
+ "defined": {
977
+ "name": "wrappedI80f48";
978
+ };
979
+ };
980
+ },
981
+ {
982
+ "name": "liabilityShares";
983
+ "type": {
984
+ "defined": {
985
+ "name": "wrappedI80f48";
986
+ };
987
+ };
988
+ },
989
+ {
990
+ "name": "emissionsOutstanding";
991
+ "type": {
992
+ "defined": {
993
+ "name": "wrappedI80f48";
994
+ };
995
+ };
996
+ },
997
+ {
998
+ "name": "lastUpdate";
999
+ "type": "u64";
1000
+ },
1001
+ {
1002
+ "name": "padding";
1003
+ "type": {
1004
+ "array": [
1005
+ "u64",
1006
+ 1
1007
+ ];
1008
+ };
1009
+ }
1010
+ ];
1011
+ };
1012
+ },
1013
+ {
1014
+ "name": "bank";
1015
+ "serialization": "bytemuckunsafe";
1016
+ "repr": {
1017
+ "kind": "c";
1018
+ };
1019
+ "type": {
1020
+ "kind": "struct";
1021
+ "fields": [
1022
+ {
1023
+ "name": "mint";
1024
+ "type": "pubkey";
1025
+ },
1026
+ {
1027
+ "name": "mintDecimals";
1028
+ "type": "u8";
1029
+ },
1030
+ {
1031
+ "name": "group";
1032
+ "type": "pubkey";
1033
+ },
1034
+ {
1035
+ "name": "pad0";
1036
+ "type": {
1037
+ "array": [
1038
+ "u8",
1039
+ 7
1040
+ ];
1041
+ };
1042
+ },
1043
+ {
1044
+ "name": "assetShareValue";
1045
+ "type": {
1046
+ "defined": {
1047
+ "name": "wrappedI80f48";
1048
+ };
1049
+ };
1050
+ },
1051
+ {
1052
+ "name": "liabilityShareValue";
1053
+ "type": {
1054
+ "defined": {
1055
+ "name": "wrappedI80f48";
1056
+ };
1057
+ };
1058
+ },
1059
+ {
1060
+ "name": "liquidityVault";
1061
+ "type": "pubkey";
1062
+ },
1063
+ {
1064
+ "name": "liquidityVaultBump";
1065
+ "type": "u8";
1066
+ },
1067
+ {
1068
+ "name": "liquidityVaultAuthorityBump";
1069
+ "type": "u8";
1070
+ },
1071
+ {
1072
+ "name": "insuranceVault";
1073
+ "type": "pubkey";
1074
+ },
1075
+ {
1076
+ "name": "insuranceVaultBump";
1077
+ "type": "u8";
1078
+ },
1079
+ {
1080
+ "name": "insuranceVaultAuthorityBump";
1081
+ "type": "u8";
1082
+ },
1083
+ {
1084
+ "name": "pad1";
1085
+ "type": {
1086
+ "array": [
1087
+ "u8",
1088
+ 4
1089
+ ];
1090
+ };
1091
+ },
1092
+ {
1093
+ "name": "collectedInsuranceFeesOutstanding";
1094
+ "type": {
1095
+ "defined": {
1096
+ "name": "wrappedI80f48";
1097
+ };
1098
+ };
1099
+ },
1100
+ {
1101
+ "name": "feeVault";
1102
+ "type": "pubkey";
1103
+ },
1104
+ {
1105
+ "name": "feeVaultBump";
1106
+ "type": "u8";
1107
+ },
1108
+ {
1109
+ "name": "feeVaultAuthorityBump";
1110
+ "type": "u8";
1111
+ },
1112
+ {
1113
+ "name": "pad2";
1114
+ "type": {
1115
+ "array": [
1116
+ "u8",
1117
+ 6
1118
+ ];
1119
+ };
1120
+ },
1121
+ {
1122
+ "name": "collectedGroupFeesOutstanding";
1123
+ "type": {
1124
+ "defined": {
1125
+ "name": "wrappedI80f48";
1126
+ };
1127
+ };
1128
+ },
1129
+ {
1130
+ "name": "totalLiabilityShares";
1131
+ "type": {
1132
+ "defined": {
1133
+ "name": "wrappedI80f48";
1134
+ };
1135
+ };
1136
+ },
1137
+ {
1138
+ "name": "totalAssetShares";
1139
+ "type": {
1140
+ "defined": {
1141
+ "name": "wrappedI80f48";
1142
+ };
1143
+ };
1144
+ },
1145
+ {
1146
+ "name": "lastUpdate";
1147
+ "type": "i64";
1148
+ },
1149
+ {
1150
+ "name": "config";
1151
+ "type": {
1152
+ "defined": {
1153
+ "name": "bankConfig";
1154
+ };
1155
+ };
1156
+ },
1157
+ {
1158
+ "name": "flags";
1159
+ "docs": [
1160
+ "Emissions Config Flags",
1161
+ "",
1162
+ "- EMISSIONS_FLAG_BORROW_ACTIVE: 1",
1163
+ "- EMISSIONS_FLAG_LENDING_ACTIVE: 2",
1164
+ ""
1165
+ ];
1166
+ "type": "u64";
1167
+ },
1168
+ {
1169
+ "name": "emissionsRate";
1170
+ "docs": [
1171
+ "Emissions APR.",
1172
+ "Number of emitted tokens (emissions_mint) per 1e(bank.mint_decimal) tokens (bank mint) (native amount) per 1 YEAR."
1173
+ ];
1174
+ "type": "u64";
1175
+ },
1176
+ {
1177
+ "name": "emissionsRemaining";
1178
+ "type": {
1179
+ "defined": {
1180
+ "name": "wrappedI80f48";
1181
+ };
1182
+ };
1183
+ },
1184
+ {
1185
+ "name": "emissionsMint";
1186
+ "type": "pubkey";
1187
+ },
1188
+ {
1189
+ "name": "padding0";
1190
+ "type": {
1191
+ "array": [
1192
+ {
1193
+ "array": [
1194
+ "u64",
1195
+ 2
1196
+ ];
1197
+ },
1198
+ 28
1199
+ ];
1200
+ };
1201
+ },
1202
+ {
1203
+ "name": "padding1";
1204
+ "type": {
1205
+ "array": [
1206
+ {
1207
+ "array": [
1208
+ "u64",
1209
+ 2
1210
+ ];
1211
+ },
1212
+ 32
1213
+ ];
1214
+ };
1215
+ }
1216
+ ];
1217
+ };
1218
+ },
1219
+ {
1220
+ "name": "bankConfig";
1221
+ "serialization": "bytemuckunsafe";
1222
+ "repr": {
1223
+ "kind": "c";
1224
+ };
1225
+ "type": {
1226
+ "kind": "struct";
1227
+ "fields": [
1228
+ {
1229
+ "name": "assetWeightInit";
1230
+ "type": {
1231
+ "defined": {
1232
+ "name": "wrappedI80f48";
1233
+ };
1234
+ };
1235
+ },
1236
+ {
1237
+ "name": "assetWeightMaint";
1238
+ "type": {
1239
+ "defined": {
1240
+ "name": "wrappedI80f48";
1241
+ };
1242
+ };
1243
+ },
1244
+ {
1245
+ "name": "liabilityWeightInit";
1246
+ "type": {
1247
+ "defined": {
1248
+ "name": "wrappedI80f48";
1249
+ };
1250
+ };
1251
+ },
1252
+ {
1253
+ "name": "liabilityWeightMaint";
1254
+ "type": {
1255
+ "defined": {
1256
+ "name": "wrappedI80f48";
1257
+ };
1258
+ };
1259
+ },
1260
+ {
1261
+ "name": "depositLimit";
1262
+ "type": "u64";
1263
+ },
1264
+ {
1265
+ "name": "interestRateConfig";
1266
+ "type": {
1267
+ "defined": {
1268
+ "name": "interestRateConfig";
1269
+ };
1270
+ };
1271
+ },
1272
+ {
1273
+ "name": "operationalState";
1274
+ "type": {
1275
+ "defined": {
1276
+ "name": "bankOperationalState";
1277
+ };
1278
+ };
1279
+ },
1280
+ {
1281
+ "name": "oracleSetup";
1282
+ "type": {
1283
+ "defined": {
1284
+ "name": "oracleSetup";
1285
+ };
1286
+ };
1287
+ },
1288
+ {
1289
+ "name": "oracleKeys";
1290
+ "type": {
1291
+ "array": [
1292
+ "pubkey",
1293
+ 5
1294
+ ];
1295
+ };
1296
+ },
1297
+ {
1298
+ "name": "pad0";
1299
+ "type": {
1300
+ "array": [
1301
+ "u8",
1302
+ 6
1303
+ ];
1304
+ };
1305
+ },
1306
+ {
1307
+ "name": "borrowLimit";
1308
+ "type": "u64";
1309
+ },
1310
+ {
1311
+ "name": "riskTier";
1312
+ "type": {
1313
+ "defined": {
1314
+ "name": "riskTier";
1315
+ };
1316
+ };
1317
+ },
1318
+ {
1319
+ "name": "pad1";
1320
+ "type": {
1321
+ "array": [
1322
+ "u8",
1323
+ 7
1324
+ ];
1325
+ };
1326
+ },
1327
+ {
1328
+ "name": "totalAssetValueInitLimit";
1329
+ "docs": [
1330
+ "USD denominated limit for calculating asset value for initialization margin requirements.",
1331
+ "Example, if total SOL deposits are equal to $1M and the limit it set to $500K,",
1332
+ "then SOL assets will be discounted by 50%.",
1333
+ "",
1334
+ "In other words the max value of liabilities that can be backed by the asset is $500K.",
1335
+ "This is useful for limiting the damage of orcale attacks.",
1336
+ "",
1337
+ "Value is UI USD value, for example value 100 -> $100"
1338
+ ];
1339
+ "type": "u64";
1340
+ },
1341
+ {
1342
+ "name": "oracleMaxAge";
1343
+ "docs": [
1344
+ "Time window in seconds for the oracle price feed to be considered live."
1345
+ ];
1346
+ "type": "u16";
1347
+ },
1348
+ {
1349
+ "name": "padding";
1350
+ "type": {
1351
+ "array": [
1352
+ "u8",
1353
+ 38
1354
+ ];
1355
+ };
1356
+ }
1357
+ ];
1358
+ };
1359
+ },
1360
+ {
1361
+ "name": "bankOperationalState";
1362
+ "repr": {
1363
+ "kind": "rust";
1364
+ };
1365
+ "type": {
1366
+ "kind": "enum";
1367
+ "variants": [
1368
+ {
1369
+ "name": "paused";
1370
+ },
1371
+ {
1372
+ "name": "operational";
1373
+ },
1374
+ {
1375
+ "name": "reduceOnly";
1376
+ }
1377
+ ];
1378
+ };
1379
+ },
1380
+ {
1381
+ "name": "interestRateConfig";
1382
+ "serialization": "bytemuck";
1383
+ "repr": {
1384
+ "kind": "c";
1385
+ };
1386
+ "type": {
1387
+ "kind": "struct";
1388
+ "fields": [
1389
+ {
1390
+ "name": "optimalUtilizationRate";
1391
+ "type": {
1392
+ "defined": {
1393
+ "name": "wrappedI80f48";
1394
+ };
1395
+ };
1396
+ },
1397
+ {
1398
+ "name": "plateauInterestRate";
1399
+ "type": {
1400
+ "defined": {
1401
+ "name": "wrappedI80f48";
1402
+ };
1403
+ };
1404
+ },
1405
+ {
1406
+ "name": "maxInterestRate";
1407
+ "type": {
1408
+ "defined": {
1409
+ "name": "wrappedI80f48";
1410
+ };
1411
+ };
1412
+ },
1413
+ {
1414
+ "name": "insuranceFeeFixedApr";
1415
+ "type": {
1416
+ "defined": {
1417
+ "name": "wrappedI80f48";
1418
+ };
1419
+ };
1420
+ },
1421
+ {
1422
+ "name": "insuranceIrFee";
1423
+ "type": {
1424
+ "defined": {
1425
+ "name": "wrappedI80f48";
1426
+ };
1427
+ };
1428
+ },
1429
+ {
1430
+ "name": "protocolFixedFeeApr";
1431
+ "type": {
1432
+ "defined": {
1433
+ "name": "wrappedI80f48";
1434
+ };
1435
+ };
1436
+ },
1437
+ {
1438
+ "name": "protocolIrFee";
1439
+ "type": {
1440
+ "defined": {
1441
+ "name": "wrappedI80f48";
1442
+ };
1443
+ };
1444
+ },
1445
+ {
1446
+ "name": "padding";
1447
+ "type": {
1448
+ "array": [
1449
+ {
1450
+ "array": [
1451
+ "u64",
1452
+ 2
1453
+ ];
1454
+ },
1455
+ 8
1456
+ ];
1457
+ };
1458
+ }
1459
+ ];
1460
+ };
1461
+ },
1462
+ {
1463
+ "name": "lendingAccount";
1464
+ "serialization": "bytemuckunsafe";
1465
+ "repr": {
1466
+ "kind": "c";
1467
+ };
1468
+ "type": {
1469
+ "kind": "struct";
1470
+ "fields": [
1471
+ {
1472
+ "name": "balances";
1473
+ "type": {
1474
+ "array": [
1475
+ {
1476
+ "defined": {
1477
+ "name": "balance";
1478
+ };
1479
+ },
1480
+ 16
1481
+ ];
1482
+ };
1483
+ },
1484
+ {
1485
+ "name": "padding";
1486
+ "type": {
1487
+ "array": [
1488
+ "u64",
1489
+ 8
1490
+ ];
1491
+ };
1492
+ }
1493
+ ];
1494
+ };
1495
+ },
1496
+ {
1497
+ "name": "marginfiAccount";
1498
+ "serialization": "bytemuckunsafe";
1499
+ "repr": {
1500
+ "kind": "c";
1501
+ };
1502
+ "type": {
1503
+ "kind": "struct";
1504
+ "fields": [
1505
+ {
1506
+ "name": "group";
1507
+ "type": "pubkey";
1508
+ },
1509
+ {
1510
+ "name": "authority";
1511
+ "type": "pubkey";
1512
+ },
1513
+ {
1514
+ "name": "lendingAccount";
1515
+ "type": {
1516
+ "defined": {
1517
+ "name": "lendingAccount";
1518
+ };
1519
+ };
1520
+ },
1521
+ {
1522
+ "name": "accountFlags";
1523
+ "docs": [
1524
+ "The flags that indicate the state of the account.",
1525
+ "This is u64 bitfield, where each bit represents a flag.",
1526
+ "",
1527
+ "Flags:",
1528
+ "- DISABLED_FLAG = 1 << 0 = 1 - This flag indicates that the account is disabled,",
1529
+ "and no further actions can be taken on it."
1530
+ ];
1531
+ "type": "u64";
1532
+ },
1533
+ {
1534
+ "name": "padding";
1535
+ "type": {
1536
+ "array": [
1537
+ "u64",
1538
+ 63
1539
+ ];
1540
+ };
1541
+ }
1542
+ ];
1543
+ };
1544
+ },
1545
+ {
1546
+ "name": "marginfiGroup";
1547
+ "serialization": "bytemuck";
1548
+ "repr": {
1549
+ "kind": "c";
1550
+ };
1551
+ "type": {
1552
+ "kind": "struct";
1553
+ "fields": [
1554
+ {
1555
+ "name": "admin";
1556
+ "type": "pubkey";
1557
+ },
1558
+ {
1559
+ "name": "padding0";
1560
+ "type": {
1561
+ "array": [
1562
+ {
1563
+ "array": [
1564
+ "u64",
1565
+ 2
1566
+ ];
1567
+ },
1568
+ 32
1569
+ ];
1570
+ };
1571
+ },
1572
+ {
1573
+ "name": "padding1";
1574
+ "type": {
1575
+ "array": [
1576
+ {
1577
+ "array": [
1578
+ "u64",
1579
+ 2
1580
+ ];
1581
+ },
1582
+ 32
1583
+ ];
1584
+ };
1585
+ }
1586
+ ];
1587
+ };
1588
+ },
1589
+ {
1590
+ "name": "mintSyReturnData";
1591
+ "type": {
1592
+ "kind": "struct";
1593
+ "fields": [
1594
+ {
1595
+ "name": "syOutAmount";
1596
+ "type": "u64";
1597
+ },
1598
+ {
1599
+ "name": "exchangeRate";
1600
+ "type": {
1601
+ "defined": {
1602
+ "name": "number";
1603
+ };
1604
+ };
1605
+ }
1606
+ ];
1607
+ };
1608
+ },
1609
+ {
1610
+ "name": "number";
1611
+ "docs": [
1612
+ "High precision number, stored as 4 u64 words in little endian"
1613
+ ];
1614
+ "type": {
1615
+ "kind": "struct";
1616
+ "fields": [
1617
+ {
1618
+ "array": [
1619
+ "u64",
1620
+ 4
1621
+ ];
1622
+ }
1623
+ ];
1624
+ };
1625
+ },
1626
+ {
1627
+ "name": "oracleSetup";
1628
+ "repr": {
1629
+ "kind": "rust";
1630
+ };
1631
+ "type": {
1632
+ "kind": "enum";
1633
+ "variants": [
1634
+ {
1635
+ "name": "none";
1636
+ },
1637
+ {
1638
+ "name": "pythLegacy";
1639
+ },
1640
+ {
1641
+ "name": "switchboardV2";
1642
+ },
1643
+ {
1644
+ "name": "pythPushOracle";
1645
+ },
1646
+ {
1647
+ "name": "switchboardPull";
1648
+ }
1649
+ ];
1650
+ };
1651
+ },
1652
+ {
1653
+ "name": "position";
1654
+ "type": {
1655
+ "kind": "struct";
1656
+ "fields": [
1657
+ {
1658
+ "name": "owner";
1659
+ "type": "pubkey";
1660
+ },
1661
+ {
1662
+ "name": "marginfiBank";
1663
+ "type": "pubkey";
1664
+ },
1665
+ {
1666
+ "name": "amount";
1667
+ "type": "u64";
1668
+ },
1669
+ {
1670
+ "name": "rewardIndexes";
1671
+ "type": {
1672
+ "vec": {
1673
+ "defined": {
1674
+ "name": "reward";
1675
+ };
1676
+ };
1677
+ };
1678
+ }
1679
+ ];
1680
+ };
1681
+ },
1682
+ {
1683
+ "name": "positionState";
1684
+ "type": {
1685
+ "kind": "struct";
1686
+ "fields": [
1687
+ {
1688
+ "name": "owner";
1689
+ "type": "pubkey";
1690
+ },
1691
+ {
1692
+ "name": "syBalance";
1693
+ "type": "u64";
1694
+ },
1695
+ {
1696
+ "name": "emissions";
1697
+ "type": {
1698
+ "vec": {
1699
+ "defined": {
1700
+ "name": "sy_common::Emission";
1701
+ };
1702
+ };
1703
+ };
1704
+ }
1705
+ ];
1706
+ };
1707
+ },
1708
+ {
1709
+ "name": "principleDetails";
1710
+ "type": {
1711
+ "kind": "struct";
1712
+ "fields": [
1713
+ {
1714
+ "name": "administrators";
1715
+ "type": {
1716
+ "vec": "pubkey";
1717
+ };
1718
+ }
1719
+ ];
1720
+ };
1721
+ },
1722
+ {
1723
+ "name": "principles";
1724
+ "type": {
1725
+ "kind": "struct";
1726
+ "fields": [
1727
+ {
1728
+ "name": "marginfiStandard";
1729
+ "type": {
1730
+ "defined": {
1731
+ "name": "principleDetails";
1732
+ };
1733
+ };
1734
+ },
1735
+ {
1736
+ "name": "collectTreasury";
1737
+ "type": {
1738
+ "defined": {
1739
+ "name": "principleDetails";
1740
+ };
1741
+ };
1742
+ },
1743
+ {
1744
+ "name": "kaminoLendStandard";
1745
+ "type": {
1746
+ "defined": {
1747
+ "name": "principleDetails";
1748
+ };
1749
+ };
1750
+ },
1751
+ {
1752
+ "name": "exponentCore";
1753
+ "type": {
1754
+ "defined": {
1755
+ "name": "principleDetails";
1756
+ };
1757
+ };
1758
+ },
1759
+ {
1760
+ "name": "changeStatusFlags";
1761
+ "type": {
1762
+ "defined": {
1763
+ "name": "principleDetails";
1764
+ };
1765
+ };
1766
+ },
1767
+ {
1768
+ "name": "jitoRestaking";
1769
+ "type": {
1770
+ "defined": {
1771
+ "name": "principleDetails";
1772
+ };
1773
+ };
1774
+ }
1775
+ ];
1776
+ };
1777
+ },
1778
+ {
1779
+ "name": "redeemSyReturnData";
1780
+ "type": {
1781
+ "kind": "struct";
1782
+ "fields": [
1783
+ {
1784
+ "name": "baseOutAmount";
1785
+ "type": "u64";
1786
+ },
1787
+ {
1788
+ "name": "exchangeRate";
1789
+ "type": {
1790
+ "defined": {
1791
+ "name": "number";
1792
+ };
1793
+ };
1794
+ }
1795
+ ];
1796
+ };
1797
+ },
1798
+ {
1799
+ "name": "reward";
1800
+ "type": {
1801
+ "kind": "struct";
1802
+ "fields": [
1803
+ {
1804
+ "name": "mint";
1805
+ "type": "pubkey";
1806
+ },
1807
+ {
1808
+ "name": "lastSeenShareIndex";
1809
+ "type": {
1810
+ "defined": {
1811
+ "name": "number";
1812
+ };
1813
+ };
1814
+ },
1815
+ {
1816
+ "name": "claimableRewardsAmount";
1817
+ "type": "u64";
1818
+ }
1819
+ ];
1820
+ };
1821
+ },
1822
+ {
1823
+ "name": "riskTier";
1824
+ "repr": {
1825
+ "kind": "rust";
1826
+ };
1827
+ "type": {
1828
+ "kind": "enum";
1829
+ "variants": [
1830
+ {
1831
+ "name": "collateral";
1832
+ },
1833
+ {
1834
+ "name": "isolated";
1835
+ }
1836
+ ];
1837
+ };
1838
+ },
1839
+ {
1840
+ "name": "syMeta";
1841
+ "docs": [
1842
+ "Metadata for an SY token"
1843
+ ];
1844
+ "type": {
1845
+ "kind": "struct";
1846
+ "fields": [
1847
+ {
1848
+ "name": "marginfiBank";
1849
+ "docs": [
1850
+ "Marginfi Bank ID"
1851
+ ];
1852
+ "type": "pubkey";
1853
+ },
1854
+ {
1855
+ "name": "marginfiAccount";
1856
+ "docs": [
1857
+ "Pubkey of account with Marginfi"
1858
+ ];
1859
+ "type": "pubkey";
1860
+ },
1861
+ {
1862
+ "name": "mintSy";
1863
+ "docs": [
1864
+ "Mint for the SY token"
1865
+ ];
1866
+ "type": "pubkey";
1867
+ },
1868
+ {
1869
+ "name": "tokenSyEscrow";
1870
+ "docs": [
1871
+ "Escrow account where SY gets deposited"
1872
+ ];
1873
+ "type": "pubkey";
1874
+ },
1875
+ {
1876
+ "name": "maxSySupply";
1877
+ "docs": [
1878
+ "Maximum supply of SY tokens"
1879
+ ];
1880
+ "type": "u64";
1881
+ },
1882
+ {
1883
+ "name": "minMintSize";
1884
+ "docs": [
1885
+ "Minimum size of SY tokens that can be made from minting",
1886
+ "This is to prevent dust from being minted, or from rounding errors"
1887
+ ];
1888
+ "type": "u64";
1889
+ },
1890
+ {
1891
+ "name": "minRedeemSize";
1892
+ "docs": [
1893
+ "Minimum size of SY tokens that can be redeemed",
1894
+ "This is to prevent dust from being redeemed, or from rounding errors"
1895
+ ];
1896
+ "type": "u64";
1897
+ },
1898
+ {
1899
+ "name": "selfAddressBump";
1900
+ "docs": [
1901
+ "Bump for the self address to this PDA"
1902
+ ];
1903
+ "type": {
1904
+ "array": [
1905
+ "u8",
1906
+ 1
1907
+ ];
1908
+ };
1909
+ },
1910
+ {
1911
+ "name": "emissions";
1912
+ "docs": [
1913
+ "List of emissions"
1914
+ ];
1915
+ "type": {
1916
+ "vec": {
1917
+ "defined": {
1918
+ "name": "marginfi_standard::state::sy_meta::Emission";
1919
+ };
1920
+ };
1921
+ };
1922
+ }
1923
+ ];
1924
+ };
1925
+ },
1926
+ {
1927
+ "name": "syState";
1928
+ "type": {
1929
+ "kind": "struct";
1930
+ "fields": [
1931
+ {
1932
+ "name": "exchangeRate";
1933
+ "type": {
1934
+ "defined": {
1935
+ "name": "number";
1936
+ };
1937
+ };
1938
+ },
1939
+ {
1940
+ "name": "emissionIndexes";
1941
+ "type": {
1942
+ "vec": {
1943
+ "defined": {
1944
+ "name": "number";
1945
+ };
1946
+ };
1947
+ };
1948
+ }
1949
+ ];
1950
+ };
1951
+ },
1952
+ {
1953
+ "name": "wrappedI80f48";
1954
+ "serialization": "bytemuck";
1955
+ "repr": {
1956
+ "kind": "c";
1957
+ "align": 8;
1958
+ };
1959
+ "type": {
1960
+ "kind": "struct";
1961
+ "fields": [
1962
+ {
1963
+ "name": "value";
1964
+ "type": {
1965
+ "array": [
1966
+ "u8",
1967
+ 16
1968
+ ];
1969
+ };
1970
+ }
1971
+ ];
1972
+ };
1973
+ },
1974
+ {
1975
+ "name": "marginfi_standard::state::sy_meta::Emission";
1976
+ "type": {
1977
+ "kind": "struct";
1978
+ "fields": [
1979
+ {
1980
+ "name": "mint";
1981
+ "docs": [
1982
+ "Mint of the emission"
1983
+ ];
1984
+ "type": "pubkey";
1985
+ },
1986
+ {
1987
+ "name": "index";
1988
+ "docs": [
1989
+ "Index of the emission"
1990
+ ];
1991
+ "type": {
1992
+ "defined": {
1993
+ "name": "number";
1994
+ };
1995
+ };
1996
+ },
1997
+ {
1998
+ "name": "lastSeenTotalAccruedEmissions";
1999
+ "docs": [
2000
+ "How many emissions have been earned by the SY pool over its lifetime"
2001
+ ];
2002
+ "type": "u128";
2003
+ },
2004
+ {
2005
+ "name": "totalClaimedEmissions";
2006
+ "docs": [
2007
+ "How many emissions have been withdrawn by SY users over its lifetime"
2008
+ ];
2009
+ "type": "u128";
2010
+ },
2011
+ {
2012
+ "name": "tokenProgram";
2013
+ "type": "pubkey";
2014
+ },
2015
+ {
2016
+ "name": "escrowAccount";
2017
+ "docs": [
2018
+ "Token account that holds collected emissions in escrow"
2019
+ ];
2020
+ "type": "pubkey";
2021
+ },
2022
+ {
2023
+ "name": "treasuryEmission";
2024
+ "docs": [
2025
+ "Treasury emission comes from the emissions of SY that has not been staked and can be withdrawn by the Admin key"
2026
+ ];
2027
+ "type": "u64";
2028
+ },
2029
+ {
2030
+ "name": "lastSeenIndex";
2031
+ "docs": [
2032
+ "Used for staging treasury earnings from unstaked SY"
2033
+ ];
2034
+ "type": {
2035
+ "defined": {
2036
+ "name": "number";
2037
+ };
2038
+ };
2039
+ }
2040
+ ];
2041
+ };
2042
+ },
2043
+ {
2044
+ "name": "sy_common::Emission";
2045
+ "type": {
2046
+ "kind": "struct";
2047
+ "fields": [
2048
+ {
2049
+ "name": "mint";
2050
+ "type": "pubkey";
2051
+ },
2052
+ {
2053
+ "name": "amountClaimable";
2054
+ "type": "u64";
2055
+ },
2056
+ {
2057
+ "name": "lastSeenEmissionIndex";
2058
+ "type": {
2059
+ "defined": {
2060
+ "name": "number";
2061
+ };
2062
+ };
2063
+ }
2064
+ ];
2065
+ };
2066
+ }
2067
+ ];
2068
+ };