@exponent-labs/exponent-tranching-idl 0.9.13

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,2385 @@
1
+ {
2
+ "address": "5vD9m4eGgbeccFRUYR36GTJpR7cpreq17riqFAtg7nDL",
3
+ "metadata": {
4
+ "name": "exponent_tranching",
5
+ "version": "0.1.0",
6
+ "spec": "0.1.0",
7
+ "description": "Created with Anchor"
8
+ },
9
+ "instructions": [
10
+ {
11
+ "name": "deposit",
12
+ "discriminator": [
13
+ 242,
14
+ 35,
15
+ 198,
16
+ 137,
17
+ 82,
18
+ 225,
19
+ 242,
20
+ 182
21
+ ],
22
+ "accounts": [
23
+ {
24
+ "name": "user",
25
+ "writable": true,
26
+ "signer": true
27
+ },
28
+ {
29
+ "name": "market",
30
+ "writable": true
31
+ },
32
+ {
33
+ "name": "return_model_storage",
34
+ "writable": true
35
+ },
36
+ {
37
+ "name": "address_lookup_table"
38
+ },
39
+ {
40
+ "name": "sy_program"
41
+ },
42
+ {
43
+ "name": "sy_mint"
44
+ },
45
+ {
46
+ "name": "token_src",
47
+ "writable": true
48
+ },
49
+ {
50
+ "name": "token_sy_escrow",
51
+ "writable": true
52
+ },
53
+ {
54
+ "name": "token_lp_dst",
55
+ "writable": true
56
+ },
57
+ {
58
+ "name": "mint_lp",
59
+ "writable": true
60
+ },
61
+ {
62
+ "name": "token_program"
63
+ },
64
+ {
65
+ "name": "event_authority"
66
+ },
67
+ {
68
+ "name": "program"
69
+ }
70
+ ],
71
+ "args": [
72
+ {
73
+ "name": "params",
74
+ "type": {
75
+ "defined": {
76
+ "name": "DepositParams"
77
+ }
78
+ }
79
+ }
80
+ ],
81
+ "returns": {
82
+ "defined": {
83
+ "name": "DepositEvent"
84
+ }
85
+ }
86
+ },
87
+ {
88
+ "name": "initialize_tranching_market",
89
+ "discriminator": [
90
+ 68,
91
+ 121,
92
+ 71,
93
+ 233,
94
+ 137,
95
+ 147,
96
+ 126,
97
+ 45
98
+ ],
99
+ "accounts": [
100
+ {
101
+ "name": "payer",
102
+ "writable": true,
103
+ "signer": true
104
+ },
105
+ {
106
+ "name": "market",
107
+ "writable": true
108
+ },
109
+ {
110
+ "name": "return_model_storage",
111
+ "writable": true
112
+ },
113
+ {
114
+ "name": "address_lookup_table"
115
+ },
116
+ {
117
+ "name": "sy_program"
118
+ },
119
+ {
120
+ "name": "sy_mint"
121
+ },
122
+ {
123
+ "name": "token_sy_escrow",
124
+ "writable": true
125
+ },
126
+ {
127
+ "name": "mint_lp_senior",
128
+ "writable": true
129
+ },
130
+ {
131
+ "name": "mint_lp_junior",
132
+ "writable": true
133
+ },
134
+ {
135
+ "name": "token_program",
136
+ "docs": [
137
+ "Use the old Token program as the implementation for SY and LP tokens"
138
+ ]
139
+ },
140
+ {
141
+ "name": "system_program"
142
+ }
143
+ ],
144
+ "args": [
145
+ {
146
+ "name": "roles",
147
+ "type": {
148
+ "defined": {
149
+ "name": "TranchingMarketRoles"
150
+ }
151
+ }
152
+ },
153
+ {
154
+ "name": "risk_config",
155
+ "type": {
156
+ "defined": {
157
+ "name": "TranchingRiskConfig"
158
+ }
159
+ }
160
+ },
161
+ {
162
+ "name": "protocol_fee_config",
163
+ "type": {
164
+ "defined": {
165
+ "name": "TranchingProtocolFeeConfig"
166
+ }
167
+ }
168
+ },
169
+ {
170
+ "name": "return_model",
171
+ "type": {
172
+ "defined": {
173
+ "name": "TrancheReturnModelUpdate"
174
+ }
175
+ }
176
+ },
177
+ {
178
+ "name": "sy_cpi_accounts",
179
+ "type": {
180
+ "defined": {
181
+ "name": "CpiAccounts"
182
+ }
183
+ }
184
+ },
185
+ {
186
+ "name": "max_senior_lp_supply",
187
+ "type": "u64"
188
+ },
189
+ {
190
+ "name": "max_junior_lp_supply",
191
+ "type": "u64"
192
+ },
193
+ {
194
+ "name": "seed_id",
195
+ "type": {
196
+ "array": [
197
+ "u8",
198
+ 8
199
+ ]
200
+ }
201
+ }
202
+ ]
203
+ },
204
+ {
205
+ "name": "mint_protocol_fee_shares",
206
+ "discriminator": [
207
+ 133,
208
+ 34,
209
+ 97,
210
+ 80,
211
+ 246,
212
+ 183,
213
+ 24,
214
+ 168
215
+ ],
216
+ "accounts": [
217
+ {
218
+ "name": "authority",
219
+ "signer": true
220
+ },
221
+ {
222
+ "name": "market",
223
+ "writable": true
224
+ },
225
+ {
226
+ "name": "protocol_fee_recipient"
227
+ },
228
+ {
229
+ "name": "mint_lp_senior",
230
+ "writable": true
231
+ },
232
+ {
233
+ "name": "mint_lp_junior",
234
+ "writable": true
235
+ },
236
+ {
237
+ "name": "token_lp_senior_dst",
238
+ "writable": true
239
+ },
240
+ {
241
+ "name": "token_lp_junior_dst",
242
+ "writable": true
243
+ },
244
+ {
245
+ "name": "token_program"
246
+ }
247
+ ],
248
+ "args": []
249
+ },
250
+ {
251
+ "name": "modify_market",
252
+ "discriminator": [
253
+ 195,
254
+ 49,
255
+ 4,
256
+ 91,
257
+ 235,
258
+ 161,
259
+ 139,
260
+ 178
261
+ ],
262
+ "accounts": [
263
+ {
264
+ "name": "authority",
265
+ "writable": true,
266
+ "signer": true
267
+ },
268
+ {
269
+ "name": "market",
270
+ "writable": true
271
+ },
272
+ {
273
+ "name": "return_model_storage",
274
+ "writable": true
275
+ },
276
+ {
277
+ "name": "address_lookup_table"
278
+ },
279
+ {
280
+ "name": "sy_program"
281
+ },
282
+ {
283
+ "name": "system_program"
284
+ }
285
+ ],
286
+ "args": [
287
+ {
288
+ "name": "params",
289
+ "type": {
290
+ "defined": {
291
+ "name": "ModifyMarketParams"
292
+ }
293
+ }
294
+ }
295
+ ]
296
+ },
297
+ {
298
+ "name": "set_market_paused",
299
+ "discriminator": [
300
+ 233,
301
+ 31,
302
+ 161,
303
+ 248,
304
+ 178,
305
+ 111,
306
+ 102,
307
+ 65
308
+ ],
309
+ "accounts": [
310
+ {
311
+ "name": "authority",
312
+ "signer": true
313
+ },
314
+ {
315
+ "name": "market",
316
+ "writable": true
317
+ }
318
+ ],
319
+ "args": [
320
+ {
321
+ "name": "paused",
322
+ "type": "bool"
323
+ }
324
+ ]
325
+ },
326
+ {
327
+ "name": "withdraw",
328
+ "discriminator": [
329
+ 183,
330
+ 18,
331
+ 70,
332
+ 156,
333
+ 148,
334
+ 109,
335
+ 161,
336
+ 34
337
+ ],
338
+ "accounts": [
339
+ {
340
+ "name": "user",
341
+ "writable": true,
342
+ "signer": true
343
+ },
344
+ {
345
+ "name": "market",
346
+ "writable": true
347
+ },
348
+ {
349
+ "name": "return_model_storage",
350
+ "writable": true
351
+ },
352
+ {
353
+ "name": "address_lookup_table"
354
+ },
355
+ {
356
+ "name": "sy_program"
357
+ },
358
+ {
359
+ "name": "sy_mint"
360
+ },
361
+ {
362
+ "name": "token_lp_src",
363
+ "writable": true
364
+ },
365
+ {
366
+ "name": "token_sy_escrow",
367
+ "writable": true
368
+ },
369
+ {
370
+ "name": "token_dst",
371
+ "writable": true
372
+ },
373
+ {
374
+ "name": "mint_lp",
375
+ "writable": true
376
+ },
377
+ {
378
+ "name": "token_program"
379
+ },
380
+ {
381
+ "name": "event_authority"
382
+ },
383
+ {
384
+ "name": "program"
385
+ }
386
+ ],
387
+ "args": [
388
+ {
389
+ "name": "params",
390
+ "type": {
391
+ "defined": {
392
+ "name": "WithdrawParams"
393
+ }
394
+ }
395
+ }
396
+ ],
397
+ "returns": {
398
+ "defined": {
399
+ "name": "WithdrawEvent"
400
+ }
401
+ }
402
+ },
403
+ {
404
+ "name": "wrapper_deposit",
405
+ "discriminator": [
406
+ 136,
407
+ 36,
408
+ 56,
409
+ 133,
410
+ 237,
411
+ 66,
412
+ 224,
413
+ 149
414
+ ],
415
+ "accounts": [
416
+ {
417
+ "name": "user",
418
+ "writable": true,
419
+ "signer": true
420
+ },
421
+ {
422
+ "name": "market",
423
+ "writable": true
424
+ },
425
+ {
426
+ "name": "return_model_storage",
427
+ "writable": true
428
+ },
429
+ {
430
+ "name": "address_lookup_table"
431
+ },
432
+ {
433
+ "name": "sy_program"
434
+ },
435
+ {
436
+ "name": "sy_mint"
437
+ },
438
+ {
439
+ "name": "token_src",
440
+ "writable": true
441
+ },
442
+ {
443
+ "name": "token_sy_escrow",
444
+ "writable": true
445
+ },
446
+ {
447
+ "name": "token_lp_dst",
448
+ "writable": true
449
+ },
450
+ {
451
+ "name": "mint_lp",
452
+ "writable": true
453
+ },
454
+ {
455
+ "name": "token_program"
456
+ },
457
+ {
458
+ "name": "event_authority"
459
+ },
460
+ {
461
+ "name": "program"
462
+ }
463
+ ],
464
+ "args": [
465
+ {
466
+ "name": "tranche_side",
467
+ "type": {
468
+ "defined": {
469
+ "name": "TrancheSide"
470
+ }
471
+ }
472
+ },
473
+ {
474
+ "name": "amount_base",
475
+ "type": "u64"
476
+ },
477
+ {
478
+ "name": "min_lp_out",
479
+ "type": "u64"
480
+ },
481
+ {
482
+ "name": "mint_sy_accounts_until",
483
+ "type": "u8"
484
+ }
485
+ ],
486
+ "returns": {
487
+ "defined": {
488
+ "name": "WrapperDepositEvent"
489
+ }
490
+ }
491
+ },
492
+ {
493
+ "name": "wrapper_withdraw",
494
+ "discriminator": [
495
+ 129,
496
+ 83,
497
+ 80,
498
+ 33,
499
+ 205,
500
+ 187,
501
+ 240,
502
+ 12
503
+ ],
504
+ "accounts": [
505
+ {
506
+ "name": "user",
507
+ "writable": true,
508
+ "signer": true
509
+ },
510
+ {
511
+ "name": "market",
512
+ "writable": true
513
+ },
514
+ {
515
+ "name": "return_model_storage",
516
+ "writable": true
517
+ },
518
+ {
519
+ "name": "address_lookup_table"
520
+ },
521
+ {
522
+ "name": "sy_program"
523
+ },
524
+ {
525
+ "name": "sy_mint"
526
+ },
527
+ {
528
+ "name": "token_lp_src",
529
+ "writable": true
530
+ },
531
+ {
532
+ "name": "token_sy_escrow",
533
+ "writable": true
534
+ },
535
+ {
536
+ "name": "token_dst",
537
+ "writable": true
538
+ },
539
+ {
540
+ "name": "mint_lp",
541
+ "writable": true
542
+ },
543
+ {
544
+ "name": "token_program"
545
+ },
546
+ {
547
+ "name": "event_authority"
548
+ },
549
+ {
550
+ "name": "program"
551
+ }
552
+ ],
553
+ "args": [
554
+ {
555
+ "name": "tranche_side",
556
+ "type": {
557
+ "defined": {
558
+ "name": "TrancheSide"
559
+ }
560
+ }
561
+ },
562
+ {
563
+ "name": "lp_amount_in",
564
+ "type": "u64"
565
+ },
566
+ {
567
+ "name": "min_base_out",
568
+ "type": "u64"
569
+ },
570
+ {
571
+ "name": "redeem_sy_accounts_until",
572
+ "type": "u8"
573
+ }
574
+ ],
575
+ "returns": {
576
+ "defined": {
577
+ "name": "WrapperWithdrawEvent"
578
+ }
579
+ }
580
+ }
581
+ ],
582
+ "accounts": [
583
+ {
584
+ "name": "ExponentTranchingMarket",
585
+ "discriminator": [
586
+ 119,
587
+ 38,
588
+ 120,
589
+ 122,
590
+ 60,
591
+ 24,
592
+ 58,
593
+ 160
594
+ ]
595
+ },
596
+ {
597
+ "name": "ExponentTranchingMarketReturnModel",
598
+ "discriminator": [
599
+ 156,
600
+ 251,
601
+ 98,
602
+ 150,
603
+ 78,
604
+ 127,
605
+ 196,
606
+ 77
607
+ ]
608
+ }
609
+ ],
610
+ "events": [
611
+ {
612
+ "name": "DepositEvent",
613
+ "discriminator": [
614
+ 120,
615
+ 248,
616
+ 61,
617
+ 83,
618
+ 31,
619
+ 142,
620
+ 107,
621
+ 144
622
+ ]
623
+ },
624
+ {
625
+ "name": "MarketPausedSetEvent",
626
+ "discriminator": [
627
+ 67,
628
+ 128,
629
+ 115,
630
+ 202,
631
+ 33,
632
+ 149,
633
+ 134,
634
+ 101
635
+ ]
636
+ },
637
+ {
638
+ "name": "MintProtocolFeeSharesEvent",
639
+ "discriminator": [
640
+ 26,
641
+ 46,
642
+ 47,
643
+ 252,
644
+ 3,
645
+ 204,
646
+ 112,
647
+ 243
648
+ ]
649
+ },
650
+ {
651
+ "name": "WithdrawEvent",
652
+ "discriminator": [
653
+ 22,
654
+ 9,
655
+ 133,
656
+ 26,
657
+ 160,
658
+ 44,
659
+ 71,
660
+ 192
661
+ ]
662
+ },
663
+ {
664
+ "name": "WrapperDepositEvent",
665
+ "discriminator": [
666
+ 67,
667
+ 103,
668
+ 175,
669
+ 214,
670
+ 117,
671
+ 136,
672
+ 202,
673
+ 172
674
+ ]
675
+ },
676
+ {
677
+ "name": "WrapperWithdrawEvent",
678
+ "discriminator": [
679
+ 125,
680
+ 130,
681
+ 107,
682
+ 122,
683
+ 122,
684
+ 132,
685
+ 122,
686
+ 50
687
+ ]
688
+ }
689
+ ],
690
+ "errors": [
691
+ {
692
+ "code": 6000,
693
+ "name": "MissingRequiredSignature",
694
+ "msg": "Missing required signature"
695
+ },
696
+ {
697
+ "code": 6001,
698
+ "name": "UnauthorizedRole",
699
+ "msg": "Signer is not authorized for this role"
700
+ },
701
+ {
702
+ "code": 6002,
703
+ "name": "AmountTooSmall",
704
+ "msg": "Amount is too small"
705
+ },
706
+ {
707
+ "code": 6003,
708
+ "name": "MathOverflow",
709
+ "msg": "Mathematical overflow"
710
+ },
711
+ {
712
+ "code": 6004,
713
+ "name": "MarketNotEmpty",
714
+ "msg": "Market must be empty for this operation"
715
+ },
716
+ {
717
+ "code": 6005,
718
+ "name": "RewardsDisabled",
719
+ "msg": "Rewards are disabled for this market"
720
+ },
721
+ {
722
+ "code": 6006,
723
+ "name": "InvalidReturnModelConfig",
724
+ "msg": "Invalid return allocation model configuration"
725
+ },
726
+ {
727
+ "code": 6007,
728
+ "name": "InvalidProtocolFeeConfig",
729
+ "msg": "Invalid protocol fee configuration"
730
+ },
731
+ {
732
+ "code": 6008,
733
+ "name": "InvalidRiskConfig",
734
+ "msg": "Invalid risk configuration"
735
+ },
736
+ {
737
+ "code": 6009,
738
+ "name": "MarketPaused",
739
+ "msg": "Market is paused"
740
+ },
741
+ {
742
+ "code": 6010,
743
+ "name": "InvalidLpMint",
744
+ "msg": "Invalid LP mint"
745
+ },
746
+ {
747
+ "code": 6011,
748
+ "name": "InvalidPda",
749
+ "msg": "Invalid PDA"
750
+ },
751
+ {
752
+ "code": 6012,
753
+ "name": "UnsupportedMint",
754
+ "msg": "Unsupported token mint"
755
+ },
756
+ {
757
+ "code": 6013,
758
+ "name": "InvalidSyEscrow",
759
+ "msg": "Invalid SY escrow account"
760
+ },
761
+ {
762
+ "code": 6014,
763
+ "name": "InvalidMarketAuthority",
764
+ "msg": "Invalid market authority"
765
+ },
766
+ {
767
+ "code": 6015,
768
+ "name": "MinLpOutNotMet",
769
+ "msg": "Minimum LP output not met"
770
+ },
771
+ {
772
+ "code": 6016,
773
+ "name": "LpSupplyMaximumExceeded",
774
+ "msg": "LP supply maximum exceeded"
775
+ },
776
+ {
777
+ "code": 6017,
778
+ "name": "SeniorDepositDisabledInLoss",
779
+ "msg": "Senior deposit is disabled while senior impermanent loss exists"
780
+ },
781
+ {
782
+ "code": 6018,
783
+ "name": "SeniorDepositStateNotAllowed",
784
+ "msg": "Senior deposit is not allowed in the current market state"
785
+ },
786
+ {
787
+ "code": 6019,
788
+ "name": "JuniorDepositStateNotAllowed",
789
+ "msg": "Junior deposit is not allowed in the current market state"
790
+ },
791
+ {
792
+ "code": 6020,
793
+ "name": "CoverageExceeded",
794
+ "msg": "Post-deposit coverage requirement would be violated"
795
+ },
796
+ {
797
+ "code": 6021,
798
+ "name": "MinAmountOutNotMet",
799
+ "msg": "Minimum withdrawal output not met"
800
+ },
801
+ {
802
+ "code": 6022,
803
+ "name": "InsufficientTrancheLiquidity",
804
+ "msg": "Insufficient tranche SY liquidity"
805
+ },
806
+ {
807
+ "code": 6023,
808
+ "name": "InsufficientSyEscrowLiquidity",
809
+ "msg": "Insufficient SY escrow liquidity"
810
+ },
811
+ {
812
+ "code": 6024,
813
+ "name": "SeniorWithdrawStateNotAllowed",
814
+ "msg": "Senior withdrawal is not allowed in the current market state"
815
+ },
816
+ {
817
+ "code": 6025,
818
+ "name": "JuniorWithdrawStateNotAllowed",
819
+ "msg": "Junior withdrawal is not allowed in the current market state"
820
+ },
821
+ {
822
+ "code": 6026,
823
+ "name": "InvalidMarketAccountData",
824
+ "msg": "Market account has invalid data"
825
+ },
826
+ {
827
+ "code": 6027,
828
+ "name": "MarketAlreadyInitialized",
829
+ "msg": "Market account has already been initialized"
830
+ }
831
+ ],
832
+ "types": [
833
+ {
834
+ "name": "CpiAccounts",
835
+ "docs": [
836
+ "Account lists for validating CPI calls to the SY program"
837
+ ],
838
+ "type": {
839
+ "kind": "struct",
840
+ "fields": [
841
+ {
842
+ "name": "get_sy_state",
843
+ "docs": [
844
+ "Fetch SY state"
845
+ ],
846
+ "type": {
847
+ "vec": {
848
+ "defined": {
849
+ "name": "CpiInterfaceContext"
850
+ }
851
+ }
852
+ }
853
+ },
854
+ {
855
+ "name": "deposit_sy",
856
+ "docs": [
857
+ "Deposit SY into personal account owned by market"
858
+ ],
859
+ "type": {
860
+ "vec": {
861
+ "defined": {
862
+ "name": "CpiInterfaceContext"
863
+ }
864
+ }
865
+ }
866
+ },
867
+ {
868
+ "name": "withdraw_sy",
869
+ "docs": [
870
+ "Withdraw SY from personal account owned by market"
871
+ ],
872
+ "type": {
873
+ "vec": {
874
+ "defined": {
875
+ "name": "CpiInterfaceContext"
876
+ }
877
+ }
878
+ }
879
+ },
880
+ {
881
+ "name": "claim_emission",
882
+ "docs": [
883
+ "Settle rewards for market-owned accounts"
884
+ ],
885
+ "type": {
886
+ "vec": {
887
+ "vec": {
888
+ "defined": {
889
+ "name": "CpiInterfaceContext"
890
+ }
891
+ }
892
+ }
893
+ }
894
+ },
895
+ {
896
+ "name": "get_position_state",
897
+ "docs": [
898
+ "Get personal yield position"
899
+ ],
900
+ "type": {
901
+ "vec": {
902
+ "defined": {
903
+ "name": "CpiInterfaceContext"
904
+ }
905
+ }
906
+ }
907
+ }
908
+ ]
909
+ }
910
+ },
911
+ {
912
+ "name": "CpiInterfaceContext",
913
+ "type": {
914
+ "kind": "struct",
915
+ "fields": [
916
+ {
917
+ "name": "alt_index",
918
+ "docs": [
919
+ "Address-lookup-table index"
920
+ ],
921
+ "type": "u8"
922
+ },
923
+ {
924
+ "name": "is_signer",
925
+ "type": "bool"
926
+ },
927
+ {
928
+ "name": "is_writable",
929
+ "type": "bool"
930
+ }
931
+ ]
932
+ }
933
+ },
934
+ {
935
+ "name": "DepositEvent",
936
+ "type": {
937
+ "kind": "struct",
938
+ "fields": [
939
+ {
940
+ "name": "user",
941
+ "type": "pubkey"
942
+ },
943
+ {
944
+ "name": "market",
945
+ "type": "pubkey"
946
+ },
947
+ {
948
+ "name": "tranche_side",
949
+ "type": {
950
+ "defined": {
951
+ "name": "TrancheSide"
952
+ }
953
+ }
954
+ },
955
+ {
956
+ "name": "token_src",
957
+ "type": "pubkey"
958
+ },
959
+ {
960
+ "name": "token_sy_escrow",
961
+ "type": "pubkey"
962
+ },
963
+ {
964
+ "name": "token_lp_dst",
965
+ "type": "pubkey"
966
+ },
967
+ {
968
+ "name": "mint_lp",
969
+ "type": "pubkey"
970
+ },
971
+ {
972
+ "name": "amount_in",
973
+ "type": "u64"
974
+ },
975
+ {
976
+ "name": "value_allocated",
977
+ "type": {
978
+ "defined": {
979
+ "name": "Number"
980
+ }
981
+ }
982
+ },
983
+ {
984
+ "name": "lp_out",
985
+ "type": "u64"
986
+ },
987
+ {
988
+ "name": "new_total_lp_supply",
989
+ "type": "u64"
990
+ },
991
+ {
992
+ "name": "sy_exchange_rate",
993
+ "type": {
994
+ "defined": {
995
+ "name": "Number"
996
+ }
997
+ }
998
+ },
999
+ {
1000
+ "name": "senior_raw_nav",
1001
+ "type": {
1002
+ "defined": {
1003
+ "name": "Number"
1004
+ }
1005
+ }
1006
+ },
1007
+ {
1008
+ "name": "junior_raw_nav",
1009
+ "type": {
1010
+ "defined": {
1011
+ "name": "Number"
1012
+ }
1013
+ }
1014
+ },
1015
+ {
1016
+ "name": "senior_effective_nav",
1017
+ "type": {
1018
+ "defined": {
1019
+ "name": "Number"
1020
+ }
1021
+ }
1022
+ },
1023
+ {
1024
+ "name": "junior_effective_nav",
1025
+ "type": {
1026
+ "defined": {
1027
+ "name": "Number"
1028
+ }
1029
+ }
1030
+ },
1031
+ {
1032
+ "name": "senior_loss",
1033
+ "type": {
1034
+ "defined": {
1035
+ "name": "Number"
1036
+ }
1037
+ }
1038
+ },
1039
+ {
1040
+ "name": "junior_loss",
1041
+ "type": {
1042
+ "defined": {
1043
+ "name": "Number"
1044
+ }
1045
+ }
1046
+ },
1047
+ {
1048
+ "name": "senior_premium",
1049
+ "type": {
1050
+ "defined": {
1051
+ "name": "Number"
1052
+ }
1053
+ }
1054
+ },
1055
+ {
1056
+ "name": "junior_premium",
1057
+ "type": {
1058
+ "defined": {
1059
+ "name": "Number"
1060
+ }
1061
+ }
1062
+ },
1063
+ {
1064
+ "name": "utilization",
1065
+ "type": {
1066
+ "defined": {
1067
+ "name": "Number"
1068
+ }
1069
+ }
1070
+ },
1071
+ {
1072
+ "name": "senior_lp_price_net_asset",
1073
+ "type": {
1074
+ "defined": {
1075
+ "name": "Number"
1076
+ }
1077
+ }
1078
+ },
1079
+ {
1080
+ "name": "junior_lp_price_net_asset",
1081
+ "type": {
1082
+ "defined": {
1083
+ "name": "Number"
1084
+ }
1085
+ }
1086
+ },
1087
+ {
1088
+ "name": "timestamp",
1089
+ "type": "i64"
1090
+ }
1091
+ ]
1092
+ }
1093
+ },
1094
+ {
1095
+ "name": "DepositParams",
1096
+ "type": {
1097
+ "kind": "struct",
1098
+ "fields": [
1099
+ {
1100
+ "name": "tranche_side",
1101
+ "type": {
1102
+ "defined": {
1103
+ "name": "TrancheSide"
1104
+ }
1105
+ }
1106
+ },
1107
+ {
1108
+ "name": "amount_in",
1109
+ "type": "u64"
1110
+ },
1111
+ {
1112
+ "name": "min_lp_out",
1113
+ "type": "u64"
1114
+ }
1115
+ ]
1116
+ }
1117
+ },
1118
+ {
1119
+ "name": "ExponentTranchingMarket",
1120
+ "type": {
1121
+ "kind": "struct",
1122
+ "fields": [
1123
+ {
1124
+ "name": "address_lookup_table",
1125
+ "docs": [
1126
+ "Address to ALT"
1127
+ ],
1128
+ "type": "pubkey"
1129
+ },
1130
+ {
1131
+ "name": "sy_mint",
1132
+ "docs": [
1133
+ "Standardized yield token mint"
1134
+ ],
1135
+ "type": "pubkey"
1136
+ },
1137
+ {
1138
+ "name": "sy_program",
1139
+ "docs": [
1140
+ "Linked SY program id"
1141
+ ],
1142
+ "type": "pubkey"
1143
+ },
1144
+ {
1145
+ "name": "token_sy_escrow",
1146
+ "docs": [
1147
+ "Escrow token account that holds SY owned by the market"
1148
+ ],
1149
+ "type": "pubkey"
1150
+ },
1151
+ {
1152
+ "name": "mint_lp_senior",
1153
+ "docs": [
1154
+ "Senior LP mint"
1155
+ ],
1156
+ "type": "pubkey"
1157
+ },
1158
+ {
1159
+ "name": "mint_lp_junior",
1160
+ "docs": [
1161
+ "Junior LP mint"
1162
+ ],
1163
+ "type": "pubkey"
1164
+ },
1165
+ {
1166
+ "name": "self_address",
1167
+ "docs": [
1168
+ "Authority PDA for CPI calls owned by the market state"
1169
+ ],
1170
+ "type": "pubkey"
1171
+ },
1172
+ {
1173
+ "name": "return_model_storage",
1174
+ "docs": [
1175
+ "PDA account that stores the active return allocation model."
1176
+ ],
1177
+ "type": "pubkey"
1178
+ },
1179
+ {
1180
+ "name": "signer_bump",
1181
+ "docs": [
1182
+ "PDA signer bump"
1183
+ ],
1184
+ "type": {
1185
+ "array": [
1186
+ "u8",
1187
+ 1
1188
+ ]
1189
+ }
1190
+ },
1191
+ {
1192
+ "name": "return_model_storage_bump",
1193
+ "docs": [
1194
+ "Return model storage PDA bump"
1195
+ ],
1196
+ "type": {
1197
+ "array": [
1198
+ "u8",
1199
+ 1
1200
+ ]
1201
+ }
1202
+ },
1203
+ {
1204
+ "name": "seed_id",
1205
+ "docs": [
1206
+ "Unique seed id for the market"
1207
+ ],
1208
+ "type": {
1209
+ "array": [
1210
+ "u8",
1211
+ 8
1212
+ ]
1213
+ }
1214
+ },
1215
+ {
1216
+ "name": "status_flags",
1217
+ "docs": [
1218
+ "Global status flags"
1219
+ ],
1220
+ "type": "u8"
1221
+ },
1222
+ {
1223
+ "name": "market_state",
1224
+ "docs": [
1225
+ "Current market lifecycle state"
1226
+ ],
1227
+ "type": {
1228
+ "defined": {
1229
+ "name": "TranchingMarketState"
1230
+ }
1231
+ }
1232
+ },
1233
+ {
1234
+ "name": "financials",
1235
+ "docs": [
1236
+ "Core financial state"
1237
+ ],
1238
+ "type": {
1239
+ "defined": {
1240
+ "name": "TranchingMarketFinancials"
1241
+ }
1242
+ }
1243
+ },
1244
+ {
1245
+ "name": "tranche_supply_state",
1246
+ "docs": [
1247
+ "Tranche LP supply and escrow state"
1248
+ ],
1249
+ "type": {
1250
+ "defined": {
1251
+ "name": "TrancheSupplyState"
1252
+ }
1253
+ }
1254
+ },
1255
+ {
1256
+ "name": "tranche_asset_state",
1257
+ "docs": [
1258
+ "Tranche-owned SY balances"
1259
+ ],
1260
+ "type": {
1261
+ "defined": {
1262
+ "name": "TrancheAssetState"
1263
+ }
1264
+ }
1265
+ },
1266
+ {
1267
+ "name": "risk_config",
1268
+ "docs": [
1269
+ "Risk parameters"
1270
+ ],
1271
+ "type": {
1272
+ "defined": {
1273
+ "name": "TranchingRiskConfig"
1274
+ }
1275
+ }
1276
+ },
1277
+ {
1278
+ "name": "protocol_fee_config",
1279
+ "docs": [
1280
+ "Protocol fee configuration"
1281
+ ],
1282
+ "type": {
1283
+ "defined": {
1284
+ "name": "TranchingProtocolFeeConfig"
1285
+ }
1286
+ }
1287
+ },
1288
+ {
1289
+ "name": "return_model",
1290
+ "docs": [
1291
+ "Return allocation model configuration"
1292
+ ],
1293
+ "type": {
1294
+ "defined": {
1295
+ "name": "TrancheReturnModel"
1296
+ }
1297
+ }
1298
+ },
1299
+ {
1300
+ "name": "roles",
1301
+ "docs": [
1302
+ "Role memberships for market control"
1303
+ ],
1304
+ "type": {
1305
+ "defined": {
1306
+ "name": "TranchingMarketRoles"
1307
+ }
1308
+ }
1309
+ },
1310
+ {
1311
+ "name": "sy_cpi_accounts",
1312
+ "docs": [
1313
+ "Record of CPI accounts for the linked SY program"
1314
+ ],
1315
+ "type": {
1316
+ "defined": {
1317
+ "name": "CpiAccounts"
1318
+ }
1319
+ }
1320
+ }
1321
+ ]
1322
+ }
1323
+ },
1324
+ {
1325
+ "name": "ExponentTranchingMarketReturnModel",
1326
+ "type": {
1327
+ "kind": "struct",
1328
+ "fields": [
1329
+ {
1330
+ "name": "market",
1331
+ "type": "pubkey"
1332
+ },
1333
+ {
1334
+ "name": "return_model",
1335
+ "type": {
1336
+ "defined": {
1337
+ "name": "TrancheReturnModel"
1338
+ }
1339
+ }
1340
+ },
1341
+ {
1342
+ "name": "reserved",
1343
+ "type": {
1344
+ "array": [
1345
+ "u8",
1346
+ 128
1347
+ ]
1348
+ }
1349
+ }
1350
+ ]
1351
+ }
1352
+ },
1353
+ {
1354
+ "name": "MarketPausedSetEvent",
1355
+ "type": {
1356
+ "kind": "struct",
1357
+ "fields": [
1358
+ {
1359
+ "name": "authority",
1360
+ "type": "pubkey"
1361
+ },
1362
+ {
1363
+ "name": "market",
1364
+ "type": "pubkey"
1365
+ },
1366
+ {
1367
+ "name": "paused",
1368
+ "type": "bool"
1369
+ },
1370
+ {
1371
+ "name": "status_flags",
1372
+ "type": "u8"
1373
+ },
1374
+ {
1375
+ "name": "timestamp",
1376
+ "type": "i64"
1377
+ }
1378
+ ]
1379
+ }
1380
+ },
1381
+ {
1382
+ "name": "MintProtocolFeeSharesEvent",
1383
+ "type": {
1384
+ "kind": "struct",
1385
+ "fields": [
1386
+ {
1387
+ "name": "authority",
1388
+ "type": "pubkey"
1389
+ },
1390
+ {
1391
+ "name": "market",
1392
+ "type": "pubkey"
1393
+ },
1394
+ {
1395
+ "name": "protocol_fee_recipient",
1396
+ "type": "pubkey"
1397
+ },
1398
+ {
1399
+ "name": "token_lp_senior_dst",
1400
+ "type": "pubkey"
1401
+ },
1402
+ {
1403
+ "name": "token_lp_junior_dst",
1404
+ "type": "pubkey"
1405
+ },
1406
+ {
1407
+ "name": "senior_lp_shares_minted",
1408
+ "type": "u64"
1409
+ },
1410
+ {
1411
+ "name": "junior_lp_shares_minted",
1412
+ "type": "u64"
1413
+ },
1414
+ {
1415
+ "name": "timestamp",
1416
+ "type": "i64"
1417
+ }
1418
+ ]
1419
+ }
1420
+ },
1421
+ {
1422
+ "name": "ModifyMarketParams",
1423
+ "type": {
1424
+ "kind": "struct",
1425
+ "fields": [
1426
+ {
1427
+ "name": "risk_config",
1428
+ "type": {
1429
+ "option": {
1430
+ "defined": {
1431
+ "name": "TranchingRiskConfig"
1432
+ }
1433
+ }
1434
+ }
1435
+ },
1436
+ {
1437
+ "name": "protocol_fee_config",
1438
+ "type": {
1439
+ "option": {
1440
+ "defined": {
1441
+ "name": "TranchingProtocolFeeConfig"
1442
+ }
1443
+ }
1444
+ }
1445
+ },
1446
+ {
1447
+ "name": "return_model",
1448
+ "type": {
1449
+ "option": {
1450
+ "defined": {
1451
+ "name": "TrancheReturnModelUpdate"
1452
+ }
1453
+ }
1454
+ }
1455
+ },
1456
+ {
1457
+ "name": "sy_cpi_accounts",
1458
+ "type": {
1459
+ "option": {
1460
+ "defined": {
1461
+ "name": "CpiAccounts"
1462
+ }
1463
+ }
1464
+ }
1465
+ },
1466
+ {
1467
+ "name": "address_lookup_table",
1468
+ "type": {
1469
+ "option": "pubkey"
1470
+ }
1471
+ },
1472
+ {
1473
+ "name": "roles",
1474
+ "type": {
1475
+ "option": {
1476
+ "defined": {
1477
+ "name": "TranchingMarketRoles"
1478
+ }
1479
+ }
1480
+ }
1481
+ },
1482
+ {
1483
+ "name": "max_senior_lp_supply",
1484
+ "type": {
1485
+ "option": "u64"
1486
+ }
1487
+ },
1488
+ {
1489
+ "name": "max_junior_lp_supply",
1490
+ "type": {
1491
+ "option": "u64"
1492
+ }
1493
+ }
1494
+ ]
1495
+ }
1496
+ },
1497
+ {
1498
+ "name": "Number",
1499
+ "docs": [
1500
+ "High precision number, stored as 4 u64 words in little endian"
1501
+ ],
1502
+ "repr": {
1503
+ "kind": "c"
1504
+ },
1505
+ "type": {
1506
+ "kind": "struct",
1507
+ "fields": [
1508
+ {
1509
+ "array": [
1510
+ "u64",
1511
+ 4
1512
+ ]
1513
+ }
1514
+ ]
1515
+ }
1516
+ },
1517
+ {
1518
+ "name": "PiecewiseLinearCurveParams",
1519
+ "type": {
1520
+ "kind": "struct",
1521
+ "fields": [
1522
+ {
1523
+ "name": "points",
1524
+ "type": {
1525
+ "vec": "u64"
1526
+ }
1527
+ }
1528
+ ]
1529
+ }
1530
+ },
1531
+ {
1532
+ "name": "PiecewiseLinearCurvePoint",
1533
+ "type": {
1534
+ "kind": "struct",
1535
+ "fields": [
1536
+ {
1537
+ "name": "utilization",
1538
+ "type": {
1539
+ "defined": {
1540
+ "name": "Number"
1541
+ }
1542
+ }
1543
+ },
1544
+ {
1545
+ "name": "y",
1546
+ "type": {
1547
+ "defined": {
1548
+ "name": "Number"
1549
+ }
1550
+ }
1551
+ }
1552
+ ]
1553
+ }
1554
+ },
1555
+ {
1556
+ "name": "TrancheAssetState",
1557
+ "type": {
1558
+ "kind": "struct",
1559
+ "fields": [
1560
+ {
1561
+ "name": "senior_sy_amount",
1562
+ "docs": [
1563
+ "SY balance owned by the senior tranche"
1564
+ ],
1565
+ "type": "u64"
1566
+ },
1567
+ {
1568
+ "name": "junior_sy_amount",
1569
+ "docs": [
1570
+ "SY balance owned by the junior tranche"
1571
+ ],
1572
+ "type": "u64"
1573
+ }
1574
+ ]
1575
+ }
1576
+ },
1577
+ {
1578
+ "name": "TrancheReturnModel",
1579
+ "type": {
1580
+ "kind": "enum",
1581
+ "variants": [
1582
+ {
1583
+ "name": "UtilizationGuidedCurve",
1584
+ "fields": [
1585
+ {
1586
+ "defined": {
1587
+ "name": "UtilizationGuidedCurveParams"
1588
+ }
1589
+ }
1590
+ ]
1591
+ },
1592
+ {
1593
+ "name": "PiecewiseLinearCurve",
1594
+ "fields": [
1595
+ {
1596
+ "defined": {
1597
+ "name": "PiecewiseLinearCurveParams"
1598
+ }
1599
+ }
1600
+ ]
1601
+ }
1602
+ ]
1603
+ }
1604
+ },
1605
+ {
1606
+ "name": "TrancheReturnModelUpdate",
1607
+ "type": {
1608
+ "kind": "enum",
1609
+ "variants": [
1610
+ {
1611
+ "name": "UtilizationGuidedCurve",
1612
+ "fields": [
1613
+ {
1614
+ "defined": {
1615
+ "name": "UtilizationGuidedCurveParams"
1616
+ }
1617
+ }
1618
+ ]
1619
+ },
1620
+ {
1621
+ "name": "PiecewiseLinearCurve",
1622
+ "fields": [
1623
+ {
1624
+ "vec": {
1625
+ "defined": {
1626
+ "name": "PiecewiseLinearCurvePoint"
1627
+ }
1628
+ }
1629
+ }
1630
+ ]
1631
+ }
1632
+ ]
1633
+ }
1634
+ },
1635
+ {
1636
+ "name": "TrancheSide",
1637
+ "type": {
1638
+ "kind": "enum",
1639
+ "variants": [
1640
+ {
1641
+ "name": "Senior"
1642
+ },
1643
+ {
1644
+ "name": "Junior"
1645
+ }
1646
+ ]
1647
+ }
1648
+ },
1649
+ {
1650
+ "name": "TrancheSupplyState",
1651
+ "type": {
1652
+ "kind": "struct",
1653
+ "fields": [
1654
+ {
1655
+ "name": "total_senior_lp_supply",
1656
+ "docs": [
1657
+ "Total senior LP supply"
1658
+ ],
1659
+ "type": "u64"
1660
+ },
1661
+ {
1662
+ "name": "total_junior_lp_supply",
1663
+ "docs": [
1664
+ "Total junior LP supply"
1665
+ ],
1666
+ "type": "u64"
1667
+ },
1668
+ {
1669
+ "name": "max_senior_lp_supply",
1670
+ "docs": [
1671
+ "Optional max senior LP supply"
1672
+ ],
1673
+ "type": "u64"
1674
+ },
1675
+ {
1676
+ "name": "max_junior_lp_supply",
1677
+ "docs": [
1678
+ "Optional max junior LP supply"
1679
+ ],
1680
+ "type": "u64"
1681
+ },
1682
+ {
1683
+ "name": "pending_senior_protocol_fee_lp_shares",
1684
+ "docs": [
1685
+ "Protocol fee senior LP shares accrued but not minted yet"
1686
+ ],
1687
+ "type": "u64"
1688
+ },
1689
+ {
1690
+ "name": "pending_junior_protocol_fee_lp_shares",
1691
+ "docs": [
1692
+ "Protocol fee junior LP shares accrued but not minted yet"
1693
+ ],
1694
+ "type": "u64"
1695
+ },
1696
+ {
1697
+ "name": "pending_senior_deposit_protocol_fee_lp_shares",
1698
+ "docs": [
1699
+ "Senior deposit protocol fee LP shares accrued but not minted yet"
1700
+ ],
1701
+ "type": "u64"
1702
+ },
1703
+ {
1704
+ "name": "pending_junior_deposit_protocol_fee_lp_shares",
1705
+ "docs": [
1706
+ "Junior deposit protocol fee LP shares accrued but not minted yet"
1707
+ ],
1708
+ "type": "u64"
1709
+ },
1710
+ {
1711
+ "name": "pending_senior_withdraw_protocol_fee_lp_shares",
1712
+ "docs": [
1713
+ "Senior withdrawal protocol fee LP shares accrued but not minted yet"
1714
+ ],
1715
+ "type": "u64"
1716
+ },
1717
+ {
1718
+ "name": "pending_junior_withdraw_protocol_fee_lp_shares",
1719
+ "docs": [
1720
+ "Junior withdrawal protocol fee LP shares accrued but not minted yet"
1721
+ ],
1722
+ "type": "u64"
1723
+ }
1724
+ ]
1725
+ }
1726
+ },
1727
+ {
1728
+ "name": "TranchingMarketFinancials",
1729
+ "type": {
1730
+ "kind": "struct",
1731
+ "fields": [
1732
+ {
1733
+ "name": "sr_raw_net_asset",
1734
+ "docs": [
1735
+ "Senior raw net asset value"
1736
+ ],
1737
+ "type": {
1738
+ "defined": {
1739
+ "name": "Number"
1740
+ }
1741
+ }
1742
+ },
1743
+ {
1744
+ "name": "jr_raw_net_asset",
1745
+ "docs": [
1746
+ "Junior raw net asset value"
1747
+ ],
1748
+ "type": {
1749
+ "defined": {
1750
+ "name": "Number"
1751
+ }
1752
+ }
1753
+ },
1754
+ {
1755
+ "name": "sr_effective_net_asset",
1756
+ "docs": [
1757
+ "Senior effective net asset value"
1758
+ ],
1759
+ "type": {
1760
+ "defined": {
1761
+ "name": "Number"
1762
+ }
1763
+ }
1764
+ },
1765
+ {
1766
+ "name": "jr_effective_net_asset",
1767
+ "docs": [
1768
+ "Junior effective net asset value"
1769
+ ],
1770
+ "type": {
1771
+ "defined": {
1772
+ "name": "Number"
1773
+ }
1774
+ }
1775
+ },
1776
+ {
1777
+ "name": "sr_impermanent_loss",
1778
+ "docs": [
1779
+ "Senior impermanent loss balance"
1780
+ ],
1781
+ "type": {
1782
+ "defined": {
1783
+ "name": "Number"
1784
+ }
1785
+ }
1786
+ },
1787
+ {
1788
+ "name": "jr_impermanent_loss",
1789
+ "docs": [
1790
+ "Junior impermanent loss balance"
1791
+ ],
1792
+ "type": {
1793
+ "defined": {
1794
+ "name": "Number"
1795
+ }
1796
+ }
1797
+ },
1798
+ {
1799
+ "name": "utilization",
1800
+ "docs": [
1801
+ "Current utilization"
1802
+ ],
1803
+ "type": {
1804
+ "defined": {
1805
+ "name": "Number"
1806
+ }
1807
+ }
1808
+ },
1809
+ {
1810
+ "name": "current_junior_return_share",
1811
+ "docs": [
1812
+ "Last distributed junior return share"
1813
+ ],
1814
+ "type": {
1815
+ "defined": {
1816
+ "name": "Number"
1817
+ }
1818
+ }
1819
+ },
1820
+ {
1821
+ "name": "tw_junior_return_share_accrued",
1822
+ "docs": [
1823
+ "Accrued time-weighted junior return share"
1824
+ ],
1825
+ "type": {
1826
+ "defined": {
1827
+ "name": "Number"
1828
+ }
1829
+ }
1830
+ },
1831
+ {
1832
+ "name": "last_sync_ts",
1833
+ "docs": [
1834
+ "Last market sync timestamp"
1835
+ ],
1836
+ "type": "i64"
1837
+ },
1838
+ {
1839
+ "name": "last_distribution_ts",
1840
+ "docs": [
1841
+ "Last yield distribution timestamp"
1842
+ ],
1843
+ "type": "i64"
1844
+ },
1845
+ {
1846
+ "name": "fixed_term_end_ts",
1847
+ "docs": [
1848
+ "Fixed-term end timestamp, if active"
1849
+ ],
1850
+ "type": "i64"
1851
+ }
1852
+ ]
1853
+ }
1854
+ },
1855
+ {
1856
+ "name": "TranchingMarketRoles",
1857
+ "type": {
1858
+ "kind": "struct",
1859
+ "fields": [
1860
+ {
1861
+ "name": "admin",
1862
+ "type": {
1863
+ "vec": "pubkey"
1864
+ }
1865
+ },
1866
+ {
1867
+ "name": "sentinel",
1868
+ "type": {
1869
+ "vec": "pubkey"
1870
+ }
1871
+ }
1872
+ ]
1873
+ }
1874
+ },
1875
+ {
1876
+ "name": "TranchingMarketState",
1877
+ "type": {
1878
+ "kind": "enum",
1879
+ "variants": [
1880
+ {
1881
+ "name": "Uninitialized"
1882
+ },
1883
+ {
1884
+ "name": "Active"
1885
+ },
1886
+ {
1887
+ "name": "FixedTermRecovery"
1888
+ },
1889
+ {
1890
+ "name": "Paused"
1891
+ }
1892
+ ]
1893
+ }
1894
+ },
1895
+ {
1896
+ "name": "TranchingProtocolFeeConfig",
1897
+ "type": {
1898
+ "kind": "struct",
1899
+ "fields": [
1900
+ {
1901
+ "name": "protocol_fee_recipient",
1902
+ "docs": [
1903
+ "Protocol fee recipient that receives minted LP fee shares"
1904
+ ],
1905
+ "type": "pubkey"
1906
+ },
1907
+ {
1908
+ "name": "sr_protocol_fee",
1909
+ "docs": [
1910
+ "Protocol fee charged on senior-side yield retained by senior"
1911
+ ],
1912
+ "type": {
1913
+ "defined": {
1914
+ "name": "Number"
1915
+ }
1916
+ }
1917
+ },
1918
+ {
1919
+ "name": "jr_protocol_fee",
1920
+ "docs": [
1921
+ "Protocol fee charged on junior-side raw appreciation retained by junior"
1922
+ ],
1923
+ "type": {
1924
+ "defined": {
1925
+ "name": "Number"
1926
+ }
1927
+ }
1928
+ },
1929
+ {
1930
+ "name": "junior_return_protocol_fee",
1931
+ "docs": [
1932
+ "Protocol fee charged on senior return allocated to junior"
1933
+ ],
1934
+ "type": {
1935
+ "defined": {
1936
+ "name": "Number"
1937
+ }
1938
+ }
1939
+ },
1940
+ {
1941
+ "name": "senior_deposit_protocol_fee",
1942
+ "docs": [
1943
+ "Protocol fee charged on senior tranche deposits"
1944
+ ],
1945
+ "type": {
1946
+ "defined": {
1947
+ "name": "Number"
1948
+ }
1949
+ }
1950
+ },
1951
+ {
1952
+ "name": "junior_deposit_protocol_fee",
1953
+ "docs": [
1954
+ "Protocol fee charged on junior tranche deposits"
1955
+ ],
1956
+ "type": {
1957
+ "defined": {
1958
+ "name": "Number"
1959
+ }
1960
+ }
1961
+ },
1962
+ {
1963
+ "name": "senior_withdraw_protocol_fee",
1964
+ "docs": [
1965
+ "Protocol fee charged on senior tranche withdrawals"
1966
+ ],
1967
+ "type": {
1968
+ "defined": {
1969
+ "name": "Number"
1970
+ }
1971
+ }
1972
+ },
1973
+ {
1974
+ "name": "junior_withdraw_protocol_fee",
1975
+ "docs": [
1976
+ "Protocol fee charged on junior tranche withdrawals"
1977
+ ],
1978
+ "type": {
1979
+ "defined": {
1980
+ "name": "Number"
1981
+ }
1982
+ }
1983
+ }
1984
+ ]
1985
+ }
1986
+ },
1987
+ {
1988
+ "name": "TranchingRiskConfig",
1989
+ "type": {
1990
+ "kind": "struct",
1991
+ "fields": [
1992
+ {
1993
+ "name": "min_coverage",
1994
+ "docs": [
1995
+ "Minimum coverage requirement."
1996
+ ],
1997
+ "type": {
1998
+ "defined": {
1999
+ "name": "Number"
2000
+ }
2001
+ }
2002
+ },
2003
+ {
2004
+ "name": "beta",
2005
+ "docs": [
2006
+ "Junior downside beta."
2007
+ ],
2008
+ "type": {
2009
+ "defined": {
2010
+ "name": "Number"
2011
+ }
2012
+ }
2013
+ },
2014
+ {
2015
+ "name": "liquidation_utilization",
2016
+ "docs": [
2017
+ "Liquidation utilization threshold."
2018
+ ],
2019
+ "type": {
2020
+ "defined": {
2021
+ "name": "Number"
2022
+ }
2023
+ }
2024
+ },
2025
+ {
2026
+ "name": "fixed_term_duration_sec",
2027
+ "docs": [
2028
+ "Fixed-term observation period duration"
2029
+ ],
2030
+ "type": "u32"
2031
+ },
2032
+ {
2033
+ "name": "min_deposit_amount",
2034
+ "docs": [
2035
+ "Min deposit amount in underlying units"
2036
+ ],
2037
+ "type": "u64"
2038
+ },
2039
+ {
2040
+ "name": "sr_self_liquidation_bonus",
2041
+ "docs": [
2042
+ "Senior self-liquidation bonus."
2043
+ ],
2044
+ "type": {
2045
+ "defined": {
2046
+ "name": "Number"
2047
+ }
2048
+ }
2049
+ },
2050
+ {
2051
+ "name": "sr_net_asset_dust_tolerance",
2052
+ "docs": [
2053
+ "Senior NAV dust tolerance."
2054
+ ],
2055
+ "type": {
2056
+ "defined": {
2057
+ "name": "Number"
2058
+ }
2059
+ }
2060
+ },
2061
+ {
2062
+ "name": "jr_net_asset_dust_tolerance",
2063
+ "docs": [
2064
+ "Junior NAV dust tolerance."
2065
+ ],
2066
+ "type": {
2067
+ "defined": {
2068
+ "name": "Number"
2069
+ }
2070
+ }
2071
+ }
2072
+ ]
2073
+ }
2074
+ },
2075
+ {
2076
+ "name": "UtilizationGuidedCurveParams",
2077
+ "type": {
2078
+ "kind": "struct",
2079
+ "fields": [
2080
+ {
2081
+ "name": "junior_share_at_target_utilization",
2082
+ "type": {
2083
+ "defined": {
2084
+ "name": "Number"
2085
+ }
2086
+ }
2087
+ },
2088
+ {
2089
+ "name": "last_target_shift_ts",
2090
+ "type": "i64"
2091
+ },
2092
+ {
2093
+ "name": "max_target_shift_speed",
2094
+ "type": {
2095
+ "defined": {
2096
+ "name": "Number"
2097
+ }
2098
+ }
2099
+ },
2100
+ {
2101
+ "name": "zero_utilization_junior_share_discount",
2102
+ "type": {
2103
+ "defined": {
2104
+ "name": "Number"
2105
+ }
2106
+ }
2107
+ },
2108
+ {
2109
+ "name": "full_utilization_junior_share_premium",
2110
+ "type": {
2111
+ "defined": {
2112
+ "name": "Number"
2113
+ }
2114
+ }
2115
+ }
2116
+ ]
2117
+ }
2118
+ },
2119
+ {
2120
+ "name": "WithdrawEvent",
2121
+ "type": {
2122
+ "kind": "struct",
2123
+ "fields": [
2124
+ {
2125
+ "name": "user",
2126
+ "type": "pubkey"
2127
+ },
2128
+ {
2129
+ "name": "market",
2130
+ "type": "pubkey"
2131
+ },
2132
+ {
2133
+ "name": "tranche_side",
2134
+ "type": {
2135
+ "defined": {
2136
+ "name": "TrancheSide"
2137
+ }
2138
+ }
2139
+ },
2140
+ {
2141
+ "name": "token_lp_src",
2142
+ "type": "pubkey"
2143
+ },
2144
+ {
2145
+ "name": "token_sy_escrow",
2146
+ "type": "pubkey"
2147
+ },
2148
+ {
2149
+ "name": "token_dst",
2150
+ "type": "pubkey"
2151
+ },
2152
+ {
2153
+ "name": "mint_lp",
2154
+ "type": "pubkey"
2155
+ },
2156
+ {
2157
+ "name": "lp_amount_in",
2158
+ "type": "u64"
2159
+ },
2160
+ {
2161
+ "name": "amount_out",
2162
+ "type": "u64"
2163
+ },
2164
+ {
2165
+ "name": "value_redeemed",
2166
+ "type": {
2167
+ "defined": {
2168
+ "name": "Number"
2169
+ }
2170
+ }
2171
+ },
2172
+ {
2173
+ "name": "new_total_lp_supply",
2174
+ "type": "u64"
2175
+ },
2176
+ {
2177
+ "name": "sy_exchange_rate",
2178
+ "type": {
2179
+ "defined": {
2180
+ "name": "Number"
2181
+ }
2182
+ }
2183
+ },
2184
+ {
2185
+ "name": "senior_raw_nav",
2186
+ "type": {
2187
+ "defined": {
2188
+ "name": "Number"
2189
+ }
2190
+ }
2191
+ },
2192
+ {
2193
+ "name": "junior_raw_nav",
2194
+ "type": {
2195
+ "defined": {
2196
+ "name": "Number"
2197
+ }
2198
+ }
2199
+ },
2200
+ {
2201
+ "name": "senior_effective_nav",
2202
+ "type": {
2203
+ "defined": {
2204
+ "name": "Number"
2205
+ }
2206
+ }
2207
+ },
2208
+ {
2209
+ "name": "junior_effective_nav",
2210
+ "type": {
2211
+ "defined": {
2212
+ "name": "Number"
2213
+ }
2214
+ }
2215
+ },
2216
+ {
2217
+ "name": "senior_loss",
2218
+ "type": {
2219
+ "defined": {
2220
+ "name": "Number"
2221
+ }
2222
+ }
2223
+ },
2224
+ {
2225
+ "name": "junior_loss",
2226
+ "type": {
2227
+ "defined": {
2228
+ "name": "Number"
2229
+ }
2230
+ }
2231
+ },
2232
+ {
2233
+ "name": "senior_premium",
2234
+ "type": {
2235
+ "defined": {
2236
+ "name": "Number"
2237
+ }
2238
+ }
2239
+ },
2240
+ {
2241
+ "name": "junior_premium",
2242
+ "type": {
2243
+ "defined": {
2244
+ "name": "Number"
2245
+ }
2246
+ }
2247
+ },
2248
+ {
2249
+ "name": "utilization",
2250
+ "type": {
2251
+ "defined": {
2252
+ "name": "Number"
2253
+ }
2254
+ }
2255
+ },
2256
+ {
2257
+ "name": "senior_lp_price_net_asset",
2258
+ "type": {
2259
+ "defined": {
2260
+ "name": "Number"
2261
+ }
2262
+ }
2263
+ },
2264
+ {
2265
+ "name": "junior_lp_price_net_asset",
2266
+ "type": {
2267
+ "defined": {
2268
+ "name": "Number"
2269
+ }
2270
+ }
2271
+ },
2272
+ {
2273
+ "name": "timestamp",
2274
+ "type": "i64"
2275
+ }
2276
+ ]
2277
+ }
2278
+ },
2279
+ {
2280
+ "name": "WithdrawParams",
2281
+ "type": {
2282
+ "kind": "struct",
2283
+ "fields": [
2284
+ {
2285
+ "name": "tranche_side",
2286
+ "type": {
2287
+ "defined": {
2288
+ "name": "TrancheSide"
2289
+ }
2290
+ }
2291
+ },
2292
+ {
2293
+ "name": "lp_amount_in",
2294
+ "type": "u64"
2295
+ },
2296
+ {
2297
+ "name": "min_amount_out",
2298
+ "type": "u64"
2299
+ }
2300
+ ]
2301
+ }
2302
+ },
2303
+ {
2304
+ "name": "WrapperDepositEvent",
2305
+ "type": {
2306
+ "kind": "struct",
2307
+ "fields": [
2308
+ {
2309
+ "name": "user",
2310
+ "type": "pubkey"
2311
+ },
2312
+ {
2313
+ "name": "market",
2314
+ "type": "pubkey"
2315
+ },
2316
+ {
2317
+ "name": "tranche_side",
2318
+ "type": {
2319
+ "defined": {
2320
+ "name": "TrancheSide"
2321
+ }
2322
+ }
2323
+ },
2324
+ {
2325
+ "name": "amount_base_in",
2326
+ "type": "u64"
2327
+ },
2328
+ {
2329
+ "name": "amount_sy_in",
2330
+ "type": "u64"
2331
+ }
2332
+ ]
2333
+ }
2334
+ },
2335
+ {
2336
+ "name": "WrapperWithdrawEvent",
2337
+ "type": {
2338
+ "kind": "struct",
2339
+ "fields": [
2340
+ {
2341
+ "name": "user",
2342
+ "type": "pubkey"
2343
+ },
2344
+ {
2345
+ "name": "market",
2346
+ "type": "pubkey"
2347
+ },
2348
+ {
2349
+ "name": "tranche_side",
2350
+ "type": {
2351
+ "defined": {
2352
+ "name": "TrancheSide"
2353
+ }
2354
+ }
2355
+ },
2356
+ {
2357
+ "name": "lp_amount_in",
2358
+ "type": "u64"
2359
+ },
2360
+ {
2361
+ "name": "amount_base_out",
2362
+ "type": "u64"
2363
+ }
2364
+ ]
2365
+ }
2366
+ }
2367
+ ],
2368
+ "constants": [
2369
+ {
2370
+ "name": "MARKET_RETURN_MODEL_SEED",
2371
+ "type": "bytes",
2372
+ "value": "[109, 97, 114, 107, 101, 116, 95, 114, 101, 116, 117, 114, 110, 95, 109, 111, 100, 101, 108]"
2373
+ },
2374
+ {
2375
+ "name": "MARKET_SEED",
2376
+ "type": "bytes",
2377
+ "value": "[109, 97, 114, 107, 101, 116]"
2378
+ },
2379
+ {
2380
+ "name": "TOKEN_SY_ESCROW_SEED",
2381
+ "type": "bytes",
2382
+ "value": "[116, 111, 107, 101, 110, 95, 115, 121, 95, 101, 115, 99, 114, 111, 119]"
2383
+ }
2384
+ ]
2385
+ }