@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.
package/src/type.ts ADDED
@@ -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
+ };