@0dotxyz/p0-ts-sdk 2.6.2 → 2.7.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +1204 -374
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +3 -3
- package/dist/index.d.ts +3 -3
- package/dist/index.js +1204 -374
- package/dist/index.js.map +1 -1
- package/dist/instructions.d.cts +1 -1
- package/dist/instructions.d.ts +1 -1
- package/dist/{types-D1QBbDkU.d.ts → types-Ctm1kvCr.d.ts} +1185 -364
- package/dist/{types-DrxdJJIi.d.cts → types-DzbVhEfo.d.cts} +1185 -364
- package/package.json +1 -1
|
@@ -14,7 +14,7 @@ type Marginfi = {
|
|
|
14
14
|
"address": string;
|
|
15
15
|
"metadata": {
|
|
16
16
|
"name": "marginfi";
|
|
17
|
-
"version": "0.1.
|
|
17
|
+
"version": "0.1.10";
|
|
18
18
|
"spec": "0.1.0";
|
|
19
19
|
"description": "Borrow Lending Prime Broker";
|
|
20
20
|
};
|
|
@@ -235,69 +235,6 @@ type Marginfi = {
|
|
|
235
235
|
}
|
|
236
236
|
];
|
|
237
237
|
},
|
|
238
|
-
{
|
|
239
|
-
"name": "copyFeeStateToV2";
|
|
240
|
-
"docs": [
|
|
241
|
-
"(permissionless) Copy current FeeState values into FeeStateV2."
|
|
242
|
-
];
|
|
243
|
-
"discriminator": [
|
|
244
|
-
100,
|
|
245
|
-
146,
|
|
246
|
-
124,
|
|
247
|
-
224,
|
|
248
|
-
95,
|
|
249
|
-
196,
|
|
250
|
-
206,
|
|
251
|
-
14
|
|
252
|
-
];
|
|
253
|
-
"accounts": [
|
|
254
|
-
{
|
|
255
|
-
"name": "feeState";
|
|
256
|
-
"pda": {
|
|
257
|
-
"seeds": [
|
|
258
|
-
{
|
|
259
|
-
"kind": "const";
|
|
260
|
-
"value": [
|
|
261
|
-
102,
|
|
262
|
-
101,
|
|
263
|
-
101,
|
|
264
|
-
115,
|
|
265
|
-
116,
|
|
266
|
-
97,
|
|
267
|
-
116,
|
|
268
|
-
101
|
|
269
|
-
];
|
|
270
|
-
}
|
|
271
|
-
];
|
|
272
|
-
};
|
|
273
|
-
},
|
|
274
|
-
{
|
|
275
|
-
"name": "feeStateV2";
|
|
276
|
-
"writable": true;
|
|
277
|
-
"pda": {
|
|
278
|
-
"seeds": [
|
|
279
|
-
{
|
|
280
|
-
"kind": "const";
|
|
281
|
-
"value": [
|
|
282
|
-
102,
|
|
283
|
-
101,
|
|
284
|
-
101,
|
|
285
|
-
115,
|
|
286
|
-
116,
|
|
287
|
-
97,
|
|
288
|
-
116,
|
|
289
|
-
101,
|
|
290
|
-
95,
|
|
291
|
-
118,
|
|
292
|
-
50
|
|
293
|
-
];
|
|
294
|
-
}
|
|
295
|
-
];
|
|
296
|
-
};
|
|
297
|
-
}
|
|
298
|
-
];
|
|
299
|
-
"args": [];
|
|
300
|
-
},
|
|
301
238
|
{
|
|
302
239
|
"name": "disableStakedOracles";
|
|
303
240
|
"docs": [
|
|
@@ -1674,6 +1611,12 @@ type Marginfi = {
|
|
|
1674
1611
|
"type": {
|
|
1675
1612
|
"option": "pubkey";
|
|
1676
1613
|
};
|
|
1614
|
+
},
|
|
1615
|
+
{
|
|
1616
|
+
"name": "accountTransferFee";
|
|
1617
|
+
"type": {
|
|
1618
|
+
"option": "u32";
|
|
1619
|
+
};
|
|
1677
1620
|
}
|
|
1678
1621
|
];
|
|
1679
1622
|
},
|
|
@@ -1863,6 +1806,12 @@ type Marginfi = {
|
|
|
1863
1806
|
"marginfiAccount"
|
|
1864
1807
|
];
|
|
1865
1808
|
},
|
|
1809
|
+
{
|
|
1810
|
+
"name": "group";
|
|
1811
|
+
"relations": [
|
|
1812
|
+
"marginfiAccount"
|
|
1813
|
+
];
|
|
1814
|
+
},
|
|
1866
1815
|
{
|
|
1867
1816
|
"name": "liquidationReceiver";
|
|
1868
1817
|
"writable": true;
|
|
@@ -1901,6 +1850,16 @@ type Marginfi = {
|
|
|
1901
1850
|
{
|
|
1902
1851
|
"name": "systemProgram";
|
|
1903
1852
|
"address": "11111111111111111111111111111111";
|
|
1853
|
+
},
|
|
1854
|
+
{
|
|
1855
|
+
"name": "feePayer";
|
|
1856
|
+
"docs": [
|
|
1857
|
+
"Optional separate payer for the flat liquidation fee. When provided it must sign and pays the",
|
|
1858
|
+
"fee; when omitted, the `liquidation_receiver` pays (the default)."
|
|
1859
|
+
];
|
|
1860
|
+
"writable": true;
|
|
1861
|
+
"signer": true;
|
|
1862
|
+
"optional": true;
|
|
1904
1863
|
}
|
|
1905
1864
|
];
|
|
1906
1865
|
"args": [];
|
|
@@ -2078,61 +2037,6 @@ type Marginfi = {
|
|
|
2078
2037
|
}
|
|
2079
2038
|
];
|
|
2080
2039
|
},
|
|
2081
|
-
{
|
|
2082
|
-
"name": "initGlobalFeeStateV2";
|
|
2083
|
-
"docs": [
|
|
2084
|
-
"(Runs once per program) Initialize the V2 fee state PDA."
|
|
2085
|
-
];
|
|
2086
|
-
"discriminator": [
|
|
2087
|
-
170,
|
|
2088
|
-
82,
|
|
2089
|
-
207,
|
|
2090
|
-
84,
|
|
2091
|
-
84,
|
|
2092
|
-
17,
|
|
2093
|
-
116,
|
|
2094
|
-
124
|
|
2095
|
-
];
|
|
2096
|
-
"accounts": [
|
|
2097
|
-
{
|
|
2098
|
-
"name": "payer";
|
|
2099
|
-
"docs": [
|
|
2100
|
-
"Pays the init fee"
|
|
2101
|
-
];
|
|
2102
|
-
"writable": true;
|
|
2103
|
-
"signer": true;
|
|
2104
|
-
},
|
|
2105
|
-
{
|
|
2106
|
-
"name": "feeStateV2";
|
|
2107
|
-
"writable": true;
|
|
2108
|
-
"pda": {
|
|
2109
|
-
"seeds": [
|
|
2110
|
-
{
|
|
2111
|
-
"kind": "const";
|
|
2112
|
-
"value": [
|
|
2113
|
-
102,
|
|
2114
|
-
101,
|
|
2115
|
-
101,
|
|
2116
|
-
115,
|
|
2117
|
-
116,
|
|
2118
|
-
97,
|
|
2119
|
-
116,
|
|
2120
|
-
101,
|
|
2121
|
-
95,
|
|
2122
|
-
118,
|
|
2123
|
-
50
|
|
2124
|
-
];
|
|
2125
|
-
}
|
|
2126
|
-
];
|
|
2127
|
-
};
|
|
2128
|
-
},
|
|
2129
|
-
{
|
|
2130
|
-
"name": "systemProgram";
|
|
2131
|
-
"address": "11111111111111111111111111111111";
|
|
2132
|
-
}
|
|
2133
|
-
];
|
|
2134
|
-
"args": [];
|
|
2135
|
-
},
|
|
2136
2040
|
{
|
|
2137
2041
|
"name": "initStakedSettings";
|
|
2138
2042
|
"docs": [
|
|
@@ -3852,6 +3756,12 @@ type Marginfi = {
|
|
|
3852
3756
|
"name": "marginfiAccount";
|
|
3853
3757
|
"writable": true;
|
|
3854
3758
|
},
|
|
3759
|
+
{
|
|
3760
|
+
"name": "group";
|
|
3761
|
+
"relations": [
|
|
3762
|
+
"marginfiAccount"
|
|
3763
|
+
];
|
|
3764
|
+
},
|
|
3855
3765
|
{
|
|
3856
3766
|
"name": "authority";
|
|
3857
3767
|
"signer": true;
|
|
@@ -4054,6 +3964,12 @@ type Marginfi = {
|
|
|
4054
3964
|
{
|
|
4055
3965
|
"name": "marginfiAccount";
|
|
4056
3966
|
"writable": true;
|
|
3967
|
+
},
|
|
3968
|
+
{
|
|
3969
|
+
"name": "group";
|
|
3970
|
+
"relations": [
|
|
3971
|
+
"marginfiAccount"
|
|
3972
|
+
];
|
|
4057
3973
|
}
|
|
4058
3974
|
];
|
|
4059
3975
|
"args": [];
|
|
@@ -6665,6 +6581,50 @@ type Marginfi = {
|
|
|
6665
6581
|
];
|
|
6666
6582
|
"args": [];
|
|
6667
6583
|
},
|
|
6584
|
+
{
|
|
6585
|
+
"name": "lendingPoolClearCircuitBreaker";
|
|
6586
|
+
"docs": [
|
|
6587
|
+
"(admin or risk_admin) Clear an active circuit-breaker halt on a bank.",
|
|
6588
|
+
"* `reseed_reference` - If true, also zero the EMA reference so the next pulse reseeds it",
|
|
6589
|
+
"from live oracle data (use when clearing because the new price level is valid and the",
|
|
6590
|
+
"pre-halt reference would cause an immediate re-halt)."
|
|
6591
|
+
];
|
|
6592
|
+
"discriminator": [
|
|
6593
|
+
64,
|
|
6594
|
+
73,
|
|
6595
|
+
106,
|
|
6596
|
+
46,
|
|
6597
|
+
213,
|
|
6598
|
+
86,
|
|
6599
|
+
31,
|
|
6600
|
+
48
|
|
6601
|
+
];
|
|
6602
|
+
"accounts": [
|
|
6603
|
+
{
|
|
6604
|
+
"name": "group";
|
|
6605
|
+
"relations": [
|
|
6606
|
+
"bank"
|
|
6607
|
+
];
|
|
6608
|
+
},
|
|
6609
|
+
{
|
|
6610
|
+
"name": "authority";
|
|
6611
|
+
"docs": [
|
|
6612
|
+
"Either `group.admin` or `group.risk_admin`. Validated in the handler."
|
|
6613
|
+
];
|
|
6614
|
+
"signer": true;
|
|
6615
|
+
},
|
|
6616
|
+
{
|
|
6617
|
+
"name": "bank";
|
|
6618
|
+
"writable": true;
|
|
6619
|
+
}
|
|
6620
|
+
];
|
|
6621
|
+
"args": [
|
|
6622
|
+
{
|
|
6623
|
+
"name": "reseedReference";
|
|
6624
|
+
"type": "bool";
|
|
6625
|
+
}
|
|
6626
|
+
];
|
|
6627
|
+
},
|
|
6668
6628
|
{
|
|
6669
6629
|
"name": "lendingPoolCloneBank";
|
|
6670
6630
|
"docs": [
|
|
@@ -6977,7 +6937,20 @@ type Marginfi = {
|
|
|
6977
6937
|
{
|
|
6978
6938
|
"name": "lendingPoolCloseBank";
|
|
6979
6939
|
"docs": [
|
|
6980
|
-
"(admin only) Close a bank. Requires CLOSE_ENABLED_FLAG and zero positions/shares."
|
|
6940
|
+
"(admin only) Close a bank. Requires CLOSE_ENABLED_FLAG and zero positions/shares.",
|
|
6941
|
+
"",
|
|
6942
|
+
"Pass `force_close = Some(true)` to bypass the CLOSE_ENABLED_FLAG and open-position checks",
|
|
6943
|
+
"(zero-shares/emissions are still required). Forcing a bank closed is **VERY DANGEROUS**.",
|
|
6944
|
+
"Only do it if a Bank was fundamentally broken in some way. The admin **MUST ENSURE** that:",
|
|
6945
|
+
"",
|
|
6946
|
+
"* **NO USER** has a Balance in this bank (zero-shares on the bank is not sufficient to",
|
|
6947
|
+
"guarantee this, a user can have a zero-share Balance, this could brick their account.)",
|
|
6948
|
+
"* fee and insurance vault balances are withdrawn (unless you don't care if they are lost",
|
|
6949
|
+
"**FOREVER**).",
|
|
6950
|
+
"* all three vault token-account balances are zero (or you don't care if anything remaining",
|
|
6951
|
+
"is lost **FOREVER**), including the liquidity vault",
|
|
6952
|
+
"* all three outstanding-fee fields are zero (or you don't care if anything remaining is lost",
|
|
6953
|
+
"**FOREVER**)"
|
|
6981
6954
|
];
|
|
6982
6955
|
"discriminator": [
|
|
6983
6956
|
22,
|
|
@@ -7010,7 +6983,14 @@ type Marginfi = {
|
|
|
7010
6983
|
];
|
|
7011
6984
|
}
|
|
7012
6985
|
];
|
|
7013
|
-
"args": [
|
|
6986
|
+
"args": [
|
|
6987
|
+
{
|
|
6988
|
+
"name": "forceClose";
|
|
6989
|
+
"type": {
|
|
6990
|
+
"option": "bool";
|
|
6991
|
+
};
|
|
6992
|
+
}
|
|
6993
|
+
];
|
|
7014
6994
|
},
|
|
7015
6995
|
{
|
|
7016
6996
|
"name": "lendingPoolCollectBankFees";
|
|
@@ -7694,6 +7674,79 @@ type Marginfi = {
|
|
|
7694
7674
|
];
|
|
7695
7675
|
"args": [];
|
|
7696
7676
|
},
|
|
7677
|
+
{
|
|
7678
|
+
"name": "lendingPoolInitSameAssetEmodeRegistry";
|
|
7679
|
+
"docs": [
|
|
7680
|
+
"(admin or emode_admin only) Initialize the per-group same-asset e-mode registry."
|
|
7681
|
+
];
|
|
7682
|
+
"discriminator": [
|
|
7683
|
+
217,
|
|
7684
|
+
78,
|
|
7685
|
+
227,
|
|
7686
|
+
223,
|
|
7687
|
+
147,
|
|
7688
|
+
231,
|
|
7689
|
+
213,
|
|
7690
|
+
108
|
|
7691
|
+
];
|
|
7692
|
+
"accounts": [
|
|
7693
|
+
{
|
|
7694
|
+
"name": "group";
|
|
7695
|
+
},
|
|
7696
|
+
{
|
|
7697
|
+
"name": "signer";
|
|
7698
|
+
"writable": true;
|
|
7699
|
+
"signer": true;
|
|
7700
|
+
},
|
|
7701
|
+
{
|
|
7702
|
+
"name": "sameAssetEmodeRegistry";
|
|
7703
|
+
"writable": true;
|
|
7704
|
+
"pda": {
|
|
7705
|
+
"seeds": [
|
|
7706
|
+
{
|
|
7707
|
+
"kind": "const";
|
|
7708
|
+
"value": [
|
|
7709
|
+
115,
|
|
7710
|
+
97,
|
|
7711
|
+
109,
|
|
7712
|
+
101,
|
|
7713
|
+
95,
|
|
7714
|
+
97,
|
|
7715
|
+
115,
|
|
7716
|
+
115,
|
|
7717
|
+
101,
|
|
7718
|
+
116,
|
|
7719
|
+
95,
|
|
7720
|
+
101,
|
|
7721
|
+
109,
|
|
7722
|
+
111,
|
|
7723
|
+
100,
|
|
7724
|
+
101,
|
|
7725
|
+
95,
|
|
7726
|
+
114,
|
|
7727
|
+
101,
|
|
7728
|
+
103,
|
|
7729
|
+
105,
|
|
7730
|
+
115,
|
|
7731
|
+
116,
|
|
7732
|
+
114,
|
|
7733
|
+
121
|
|
7734
|
+
];
|
|
7735
|
+
},
|
|
7736
|
+
{
|
|
7737
|
+
"kind": "account";
|
|
7738
|
+
"path": "group";
|
|
7739
|
+
}
|
|
7740
|
+
];
|
|
7741
|
+
};
|
|
7742
|
+
},
|
|
7743
|
+
{
|
|
7744
|
+
"name": "systemProgram";
|
|
7745
|
+
"address": "11111111111111111111111111111111";
|
|
7746
|
+
}
|
|
7747
|
+
];
|
|
7748
|
+
"args": [];
|
|
7749
|
+
},
|
|
7697
7750
|
{
|
|
7698
7751
|
"name": "lendingPoolPulseBankPriceCache";
|
|
7699
7752
|
"docs": [
|
|
@@ -7724,12 +7777,132 @@ type Marginfi = {
|
|
|
7724
7777
|
"args": [];
|
|
7725
7778
|
},
|
|
7726
7779
|
{
|
|
7727
|
-
"name": "
|
|
7780
|
+
"name": "lendingPoolResizeGroupAccount";
|
|
7728
7781
|
"docs": [
|
|
7729
|
-
"(
|
|
7782
|
+
"(permissionless) Resize the group account to the v2 layout size; `payer` funds the",
|
|
7783
|
+
"added rent."
|
|
7730
7784
|
];
|
|
7731
7785
|
"discriminator": [
|
|
7732
|
-
|
|
7786
|
+
97,
|
|
7787
|
+
221,
|
|
7788
|
+
69,
|
|
7789
|
+
96,
|
|
7790
|
+
204,
|
|
7791
|
+
162,
|
|
7792
|
+
174,
|
|
7793
|
+
250
|
|
7794
|
+
];
|
|
7795
|
+
"accounts": [
|
|
7796
|
+
{
|
|
7797
|
+
"name": "group";
|
|
7798
|
+
"docs": [
|
|
7799
|
+
"undersized group can still be resized under the future (larger-struct) program."
|
|
7800
|
+
];
|
|
7801
|
+
"writable": true;
|
|
7802
|
+
},
|
|
7803
|
+
{
|
|
7804
|
+
"name": "payer";
|
|
7805
|
+
"docs": [
|
|
7806
|
+
"Funds the rent for the added account space."
|
|
7807
|
+
];
|
|
7808
|
+
"writable": true;
|
|
7809
|
+
"signer": true;
|
|
7810
|
+
},
|
|
7811
|
+
{
|
|
7812
|
+
"name": "systemProgram";
|
|
7813
|
+
"address": "11111111111111111111111111111111";
|
|
7814
|
+
}
|
|
7815
|
+
];
|
|
7816
|
+
"args": [];
|
|
7817
|
+
},
|
|
7818
|
+
{
|
|
7819
|
+
"name": "lendingPoolSetBankSameAssetEmodeEligibility";
|
|
7820
|
+
"docs": [
|
|
7821
|
+
"(admin or emode_admin only) Opt a bank in/out of same-asset e-mode participation."
|
|
7822
|
+
];
|
|
7823
|
+
"discriminator": [
|
|
7824
|
+
149,
|
|
7825
|
+
50,
|
|
7826
|
+
162,
|
|
7827
|
+
236,
|
|
7828
|
+
150,
|
|
7829
|
+
119,
|
|
7830
|
+
9,
|
|
7831
|
+
47
|
|
7832
|
+
];
|
|
7833
|
+
"accounts": [
|
|
7834
|
+
{
|
|
7835
|
+
"name": "group";
|
|
7836
|
+
"relations": [
|
|
7837
|
+
"bank",
|
|
7838
|
+
"sameAssetEmodeRegistry"
|
|
7839
|
+
];
|
|
7840
|
+
},
|
|
7841
|
+
{
|
|
7842
|
+
"name": "signer";
|
|
7843
|
+
"signer": true;
|
|
7844
|
+
},
|
|
7845
|
+
{
|
|
7846
|
+
"name": "bank";
|
|
7847
|
+
"writable": true;
|
|
7848
|
+
},
|
|
7849
|
+
{
|
|
7850
|
+
"name": "sameAssetEmodeRegistry";
|
|
7851
|
+
"writable": true;
|
|
7852
|
+
"pda": {
|
|
7853
|
+
"seeds": [
|
|
7854
|
+
{
|
|
7855
|
+
"kind": "const";
|
|
7856
|
+
"value": [
|
|
7857
|
+
115,
|
|
7858
|
+
97,
|
|
7859
|
+
109,
|
|
7860
|
+
101,
|
|
7861
|
+
95,
|
|
7862
|
+
97,
|
|
7863
|
+
115,
|
|
7864
|
+
115,
|
|
7865
|
+
101,
|
|
7866
|
+
116,
|
|
7867
|
+
95,
|
|
7868
|
+
101,
|
|
7869
|
+
109,
|
|
7870
|
+
111,
|
|
7871
|
+
100,
|
|
7872
|
+
101,
|
|
7873
|
+
95,
|
|
7874
|
+
114,
|
|
7875
|
+
101,
|
|
7876
|
+
103,
|
|
7877
|
+
105,
|
|
7878
|
+
115,
|
|
7879
|
+
116,
|
|
7880
|
+
114,
|
|
7881
|
+
121
|
|
7882
|
+
];
|
|
7883
|
+
},
|
|
7884
|
+
{
|
|
7885
|
+
"kind": "account";
|
|
7886
|
+
"path": "group";
|
|
7887
|
+
}
|
|
7888
|
+
];
|
|
7889
|
+
};
|
|
7890
|
+
}
|
|
7891
|
+
];
|
|
7892
|
+
"args": [
|
|
7893
|
+
{
|
|
7894
|
+
"name": "enabled";
|
|
7895
|
+
"type": "bool";
|
|
7896
|
+
}
|
|
7897
|
+
];
|
|
7898
|
+
},
|
|
7899
|
+
{
|
|
7900
|
+
"name": "lendingPoolSetFixedOraclePrice";
|
|
7901
|
+
"docs": [
|
|
7902
|
+
"(admin only)"
|
|
7903
|
+
];
|
|
7904
|
+
"discriminator": [
|
|
7905
|
+
28,
|
|
7733
7906
|
126,
|
|
7734
7907
|
127,
|
|
7735
7908
|
127,
|
|
@@ -8912,6 +9085,8 @@ type Marginfi = {
|
|
|
8912
9085
|
"(admin only) Configure group admin keys and emode leverage caps. All admin keys must be",
|
|
8913
9086
|
"provided on every call. Emode leverage caps are set if provided, otherwise the existing",
|
|
8914
9087
|
"(non-zero) values are kept. Pass `Some(value)` to update, `None` to leave unchanged.",
|
|
9088
|
+
"Same-asset emode leverage is disabled by configuring both init and maint leverage to `1`;",
|
|
9089
|
+
"values below `1`, including `0`, are invalid.",
|
|
8915
9090
|
"",
|
|
8916
9091
|
"Note: `new_emissions_admin` is deprecated and currently has no on-chain effect."
|
|
8917
9092
|
];
|
|
@@ -9006,6 +9181,26 @@ type Marginfi = {
|
|
|
9006
9181
|
};
|
|
9007
9182
|
};
|
|
9008
9183
|
};
|
|
9184
|
+
},
|
|
9185
|
+
{
|
|
9186
|
+
"name": "sameAssetEmodeInitLeverage";
|
|
9187
|
+
"type": {
|
|
9188
|
+
"option": {
|
|
9189
|
+
"defined": {
|
|
9190
|
+
"name": "wrappedI80f48";
|
|
9191
|
+
};
|
|
9192
|
+
};
|
|
9193
|
+
};
|
|
9194
|
+
},
|
|
9195
|
+
{
|
|
9196
|
+
"name": "sameAssetEmodeMaintLeverage";
|
|
9197
|
+
"type": {
|
|
9198
|
+
"option": {
|
|
9199
|
+
"defined": {
|
|
9200
|
+
"name": "wrappedI80f48";
|
|
9201
|
+
};
|
|
9202
|
+
};
|
|
9203
|
+
};
|
|
9009
9204
|
}
|
|
9010
9205
|
];
|
|
9011
9206
|
},
|
|
@@ -9285,10 +9480,11 @@ type Marginfi = {
|
|
|
9285
9480
|
{
|
|
9286
9481
|
"name": "purgeDeleverageBalance";
|
|
9287
9482
|
"docs": [
|
|
9288
|
-
"(risk admin only) Purge a user's lending balance
|
|
9289
|
-
"after all the debt has been settled on a bank in deleveraging
|
|
9290
|
-
"`TOKENLESS_REPAYMENTS_ALLOWED` and `TOKENLESS_REPAYMENTS_COMPLETE`.
|
|
9291
|
-
"lending
|
|
9483
|
+
"(risk admin only) Purge a user's lending balance on a bank being sunset, without paying the",
|
|
9484
|
+
"user anything. Only usable after all the debt has been settled on a bank in deleveraging",
|
|
9485
|
+
"mode, i.e. `TOKENLESS_REPAYMENTS_ALLOWED` and `TOKENLESS_REPAYMENTS_COMPLETE`. Used to clear",
|
|
9486
|
+
"abandoned lending positions in a now-worthless bank so it can be closed via",
|
|
9487
|
+
"`lending_pool_close_bank`."
|
|
9292
9488
|
];
|
|
9293
9489
|
"discriminator": [
|
|
9294
9490
|
132,
|
|
@@ -9326,6 +9522,63 @@ type Marginfi = {
|
|
|
9326
9522
|
];
|
|
9327
9523
|
"args": [];
|
|
9328
9524
|
},
|
|
9525
|
+
{
|
|
9526
|
+
"name": "resizeGlobalFeeState";
|
|
9527
|
+
"docs": [
|
|
9528
|
+
"(permissionless) Resize the fee-state account to the v2 layout size; `payer` funds the",
|
|
9529
|
+
"added rent."
|
|
9530
|
+
];
|
|
9531
|
+
"discriminator": [
|
|
9532
|
+
141,
|
|
9533
|
+
111,
|
|
9534
|
+
97,
|
|
9535
|
+
79,
|
|
9536
|
+
111,
|
|
9537
|
+
143,
|
|
9538
|
+
77,
|
|
9539
|
+
159
|
|
9540
|
+
];
|
|
9541
|
+
"accounts": [
|
|
9542
|
+
{
|
|
9543
|
+
"name": "feeState";
|
|
9544
|
+
"docs": [
|
|
9545
|
+
"Not an AccountLoader so an undersized fee state can still be resized under the future",
|
|
9546
|
+
"(larger-struct) program."
|
|
9547
|
+
];
|
|
9548
|
+
"writable": true;
|
|
9549
|
+
"pda": {
|
|
9550
|
+
"seeds": [
|
|
9551
|
+
{
|
|
9552
|
+
"kind": "const";
|
|
9553
|
+
"value": [
|
|
9554
|
+
102,
|
|
9555
|
+
101,
|
|
9556
|
+
101,
|
|
9557
|
+
115,
|
|
9558
|
+
116,
|
|
9559
|
+
97,
|
|
9560
|
+
116,
|
|
9561
|
+
101
|
|
9562
|
+
];
|
|
9563
|
+
}
|
|
9564
|
+
];
|
|
9565
|
+
};
|
|
9566
|
+
},
|
|
9567
|
+
{
|
|
9568
|
+
"name": "payer";
|
|
9569
|
+
"docs": [
|
|
9570
|
+
"Funds the rent for the added account space."
|
|
9571
|
+
];
|
|
9572
|
+
"writable": true;
|
|
9573
|
+
"signer": true;
|
|
9574
|
+
},
|
|
9575
|
+
{
|
|
9576
|
+
"name": "systemProgram";
|
|
9577
|
+
"address": "11111111111111111111111111111111";
|
|
9578
|
+
}
|
|
9579
|
+
];
|
|
9580
|
+
"args": [];
|
|
9581
|
+
},
|
|
9329
9582
|
{
|
|
9330
9583
|
"name": "solendDeposit";
|
|
9331
9584
|
"docs": [
|
|
@@ -9989,6 +10242,12 @@ type Marginfi = {
|
|
|
9989
10242
|
"marginfiAccount"
|
|
9990
10243
|
];
|
|
9991
10244
|
},
|
|
10245
|
+
{
|
|
10246
|
+
"name": "group";
|
|
10247
|
+
"relations": [
|
|
10248
|
+
"marginfiAccount"
|
|
10249
|
+
];
|
|
10250
|
+
},
|
|
9992
10251
|
{
|
|
9993
10252
|
"name": "liquidationReceiver";
|
|
9994
10253
|
"docs": [
|
|
@@ -10225,6 +10484,26 @@ type Marginfi = {
|
|
|
10225
10484
|
"name": "globalFeeWallet";
|
|
10226
10485
|
"writable": true;
|
|
10227
10486
|
},
|
|
10487
|
+
{
|
|
10488
|
+
"name": "feeState";
|
|
10489
|
+
"pda": {
|
|
10490
|
+
"seeds": [
|
|
10491
|
+
{
|
|
10492
|
+
"kind": "const";
|
|
10493
|
+
"value": [
|
|
10494
|
+
102,
|
|
10495
|
+
101,
|
|
10496
|
+
101,
|
|
10497
|
+
115,
|
|
10498
|
+
116,
|
|
10499
|
+
97,
|
|
10500
|
+
116,
|
|
10501
|
+
101
|
|
10502
|
+
];
|
|
10503
|
+
}
|
|
10504
|
+
];
|
|
10505
|
+
};
|
|
10506
|
+
},
|
|
10228
10507
|
{
|
|
10229
10508
|
"name": "systemProgram";
|
|
10230
10509
|
"address": "11111111111111111111111111111111";
|
|
@@ -10326,6 +10605,26 @@ type Marginfi = {
|
|
|
10326
10605
|
"name": "globalFeeWallet";
|
|
10327
10606
|
"writable": true;
|
|
10328
10607
|
},
|
|
10608
|
+
{
|
|
10609
|
+
"name": "feeState";
|
|
10610
|
+
"pda": {
|
|
10611
|
+
"seeds": [
|
|
10612
|
+
{
|
|
10613
|
+
"kind": "const";
|
|
10614
|
+
"value": [
|
|
10615
|
+
102,
|
|
10616
|
+
101,
|
|
10617
|
+
101,
|
|
10618
|
+
115,
|
|
10619
|
+
116,
|
|
10620
|
+
97,
|
|
10621
|
+
116,
|
|
10622
|
+
101
|
|
10623
|
+
];
|
|
10624
|
+
}
|
|
10625
|
+
];
|
|
10626
|
+
};
|
|
10627
|
+
},
|
|
10329
10628
|
{
|
|
10330
10629
|
"name": "instructionsSysvar";
|
|
10331
10630
|
"docs": [
|
|
@@ -10650,19 +10949,6 @@ type Marginfi = {
|
|
|
10650
10949
|
220
|
|
10651
10950
|
];
|
|
10652
10951
|
},
|
|
10653
|
-
{
|
|
10654
|
-
"name": "feeStateV2";
|
|
10655
|
-
"discriminator": [
|
|
10656
|
-
240,
|
|
10657
|
-
43,
|
|
10658
|
-
104,
|
|
10659
|
-
108,
|
|
10660
|
-
146,
|
|
10661
|
-
39,
|
|
10662
|
-
22,
|
|
10663
|
-
38
|
|
10664
|
-
];
|
|
10665
|
-
},
|
|
10666
10952
|
{
|
|
10667
10953
|
"name": "liquidationRecord";
|
|
10668
10954
|
"discriminator": [
|
|
@@ -10715,6 +11001,19 @@ type Marginfi = {
|
|
|
10715
11001
|
51
|
|
10716
11002
|
];
|
|
10717
11003
|
},
|
|
11004
|
+
{
|
|
11005
|
+
"name": "sameAssetEmodeRegistry";
|
|
11006
|
+
"discriminator": [
|
|
11007
|
+
222,
|
|
11008
|
+
21,
|
|
11009
|
+
195,
|
|
11010
|
+
149,
|
|
11011
|
+
193,
|
|
11012
|
+
72,
|
|
11013
|
+
219,
|
|
11014
|
+
31
|
|
11015
|
+
];
|
|
11016
|
+
},
|
|
10718
11017
|
{
|
|
10719
11018
|
"name": "stakedSettings";
|
|
10720
11019
|
"discriminator": [
|
|
@@ -10744,14 +11043,53 @@ type Marginfi = {
|
|
|
10744
11043
|
];
|
|
10745
11044
|
},
|
|
10746
11045
|
{
|
|
10747
|
-
"name": "
|
|
11046
|
+
"name": "circuitBreakerAutoBrokenEvent";
|
|
10748
11047
|
"discriminator": [
|
|
10749
|
-
|
|
10750
|
-
|
|
10751
|
-
|
|
10752
|
-
|
|
10753
|
-
|
|
10754
|
-
|
|
11048
|
+
104,
|
|
11049
|
+
30,
|
|
11050
|
+
251,
|
|
11051
|
+
194,
|
|
11052
|
+
213,
|
|
11053
|
+
139,
|
|
11054
|
+
21,
|
|
11055
|
+
230
|
|
11056
|
+
];
|
|
11057
|
+
},
|
|
11058
|
+
{
|
|
11059
|
+
"name": "circuitBreakerClearedEvent";
|
|
11060
|
+
"discriminator": [
|
|
11061
|
+
97,
|
|
11062
|
+
244,
|
|
11063
|
+
85,
|
|
11064
|
+
48,
|
|
11065
|
+
246,
|
|
11066
|
+
155,
|
|
11067
|
+
29,
|
|
11068
|
+
219
|
|
11069
|
+
];
|
|
11070
|
+
},
|
|
11071
|
+
{
|
|
11072
|
+
"name": "circuitBreakerTrippedEvent";
|
|
11073
|
+
"discriminator": [
|
|
11074
|
+
112,
|
|
11075
|
+
68,
|
|
11076
|
+
182,
|
|
11077
|
+
85,
|
|
11078
|
+
54,
|
|
11079
|
+
184,
|
|
11080
|
+
4,
|
|
11081
|
+
134
|
|
11082
|
+
];
|
|
11083
|
+
},
|
|
11084
|
+
{
|
|
11085
|
+
"name": "deleverageEvent";
|
|
11086
|
+
"discriminator": [
|
|
11087
|
+
161,
|
|
11088
|
+
8,
|
|
11089
|
+
108,
|
|
11090
|
+
204,
|
|
11091
|
+
209,
|
|
11092
|
+
198,
|
|
10755
11093
|
12,
|
|
10756
11094
|
30
|
|
10757
11095
|
];
|
|
@@ -10990,6 +11328,19 @@ type Marginfi = {
|
|
|
10990
11328
|
26
|
|
10991
11329
|
];
|
|
10992
11330
|
},
|
|
11331
|
+
{
|
|
11332
|
+
"name": "lendingPoolBankSetSameAssetEmodeEligibilityEvent";
|
|
11333
|
+
"discriminator": [
|
|
11334
|
+
186,
|
|
11335
|
+
247,
|
|
11336
|
+
119,
|
|
11337
|
+
107,
|
|
11338
|
+
251,
|
|
11339
|
+
215,
|
|
11340
|
+
15,
|
|
11341
|
+
79
|
|
11342
|
+
];
|
|
11343
|
+
},
|
|
10993
11344
|
{
|
|
10994
11345
|
"name": "lendingPoolSuperAdminDepositEvent";
|
|
10995
11346
|
"discriminator": [
|
|
@@ -12187,6 +12538,36 @@ type Marginfi = {
|
|
|
12187
12538
|
"code": 6512;
|
|
12188
12539
|
"name": "invalidJuplendWithdrawIntermediaryAta";
|
|
12189
12540
|
"msg": "Invalid Juplend withdraw intermediary ATA";
|
|
12541
|
+
},
|
|
12542
|
+
{
|
|
12543
|
+
"code": 6513;
|
|
12544
|
+
"name": "invalidResize";
|
|
12545
|
+
"msg": "Account is already at (or above) the target size";
|
|
12546
|
+
},
|
|
12547
|
+
{
|
|
12548
|
+
"code": 6600;
|
|
12549
|
+
"name": "bankCircuitBreakerHalted";
|
|
12550
|
+
"msg": "Bank is halted by oracle circuit breaker";
|
|
12551
|
+
},
|
|
12552
|
+
{
|
|
12553
|
+
"code": 6601;
|
|
12554
|
+
"name": "circuitBreakerAdminOnly";
|
|
12555
|
+
"msg": "Action requires risk admin while bank is circuit-breaker halted";
|
|
12556
|
+
},
|
|
12557
|
+
{
|
|
12558
|
+
"code": 6602;
|
|
12559
|
+
"name": "circuitBreakerInvalidConfig";
|
|
12560
|
+
"msg": "Invalid circuit breaker config";
|
|
12561
|
+
},
|
|
12562
|
+
{
|
|
12563
|
+
"code": 6603;
|
|
12564
|
+
"name": "circuitBreakerRequiresWarmCache";
|
|
12565
|
+
"msg": "Circuit breaker cannot be enabled until the oracle price cache is warm (call pulse first)";
|
|
12566
|
+
},
|
|
12567
|
+
{
|
|
12568
|
+
"code": 6604;
|
|
12569
|
+
"name": "circuitBreakerPriceJump";
|
|
12570
|
+
"msg": "Oracle price deviates too far from the circuit breaker reference; action rejected";
|
|
12190
12571
|
}
|
|
12191
12572
|
];
|
|
12192
12573
|
"types": [
|
|
@@ -12573,7 +12954,9 @@ type Marginfi = {
|
|
|
12573
12954
|
"keypair-based bank.",
|
|
12574
12955
|
"- Bit 9 (512): `STAKED_ORACLE_DISABLED` — staked oracle pricing is temporarily disabled.",
|
|
12575
12956
|
"- Bit 10 (1024): `STAKED_ORACLE_PRICE_USES_ONRAMP` — staked oracle pricing includes the SPL",
|
|
12576
|
-
"single-pool on-ramp account in NAV."
|
|
12957
|
+
"single-pool on-ramp account in NAV.",
|
|
12958
|
+
"- Bit 11 (2048): `CIRCUIT_BREAKER_ENABLED` — oracle deviation breaker active on this bank",
|
|
12959
|
+
"- Bit 12 (4096): `BANK_SAME_ASSET_EMODE_ELIGIBLE` — bank may participate in same-asset e-mode."
|
|
12577
12960
|
];
|
|
12578
12961
|
"type": "u64";
|
|
12579
12962
|
},
|
|
@@ -12668,6 +13051,24 @@ type Marginfi = {
|
|
|
12668
13051
|
];
|
|
12669
13052
|
"type": "i32";
|
|
12670
13053
|
},
|
|
13054
|
+
{
|
|
13055
|
+
"name": "liquidationLiquidatorFee";
|
|
13056
|
+
"docs": [
|
|
13057
|
+
"Fee the liquidator earns when liquidating against this bank's liability. Decode with",
|
|
13058
|
+
"`u32_to_centi` (`u32::MAX` = 100%).",
|
|
13059
|
+
"* 0 falls back to the default (`DEFAULT_LIQUIDATION_FEE` = 2.5%)."
|
|
13060
|
+
];
|
|
13061
|
+
"type": "u32";
|
|
13062
|
+
},
|
|
13063
|
+
{
|
|
13064
|
+
"name": "liquidationInsuranceFee";
|
|
13065
|
+
"docs": [
|
|
13066
|
+
"Fee routed to this bank's insurance fund on a liquidation against its liability. Decode",
|
|
13067
|
+
"with `u32_to_centi` (`u32::MAX` = 100%).",
|
|
13068
|
+
"* 0 falls back to the default (`DEFAULT_LIQUIDATION_FEE` = 2.5%)."
|
|
13069
|
+
];
|
|
13070
|
+
"type": "u32";
|
|
13071
|
+
},
|
|
12671
13072
|
{
|
|
12672
13073
|
"name": "padding0";
|
|
12673
13074
|
"docs": [
|
|
@@ -12676,7 +13077,7 @@ type Marginfi = {
|
|
|
12676
13077
|
"type": {
|
|
12677
13078
|
"array": [
|
|
12678
13079
|
"u8",
|
|
12679
|
-
|
|
13080
|
+
8
|
|
12680
13081
|
];
|
|
12681
13082
|
};
|
|
12682
13083
|
},
|
|
@@ -12743,12 +13144,116 @@ type Marginfi = {
|
|
|
12743
13144
|
];
|
|
12744
13145
|
"type": "u64";
|
|
12745
13146
|
},
|
|
13147
|
+
{
|
|
13148
|
+
"name": "cbHaltStartedAt";
|
|
13149
|
+
"docs": [
|
|
13150
|
+
"Unix-seconds when the current halt started, zero if not halted."
|
|
13151
|
+
];
|
|
13152
|
+
"type": "i64";
|
|
13153
|
+
},
|
|
13154
|
+
{
|
|
13155
|
+
"name": "cbHaltEndedAt";
|
|
13156
|
+
"docs": [
|
|
13157
|
+
"Unix-seconds when the current halt's tier duration ends. Tier stays sticky past this for",
|
|
13158
|
+
"the escalation window; a fresh breach within the window ratchets to the next tier."
|
|
13159
|
+
];
|
|
13160
|
+
"type": "i64";
|
|
13161
|
+
},
|
|
13162
|
+
{
|
|
13163
|
+
"name": "cbTier";
|
|
13164
|
+
"docs": [
|
|
13165
|
+
"0 = operational, 1..=3 = escalating halt severity."
|
|
13166
|
+
];
|
|
13167
|
+
"type": "u8";
|
|
13168
|
+
},
|
|
13169
|
+
{
|
|
13170
|
+
"name": "cbTier3ConsecutiveTrips";
|
|
13171
|
+
"docs": [
|
|
13172
|
+
"Consecutive tier-3 trips with no clean escalation-window between them. Hitting",
|
|
13173
|
+
"`CB_MAX_TIER3_BEFORE_CIRCUIT_BREAK` forces the bank to `CircuitBroken`."
|
|
13174
|
+
];
|
|
13175
|
+
"type": "u8";
|
|
13176
|
+
},
|
|
13177
|
+
{
|
|
13178
|
+
"name": "cbPreBreakState";
|
|
13179
|
+
"docs": [
|
|
13180
|
+
"`BankOperationalState` (as `u8`) the bank held before the breaker forced it to",
|
|
13181
|
+
"`CircuitBroken`. Restored by `clear_circuit_breaker`. Meaningless unless",
|
|
13182
|
+
"`operational_state == CircuitBroken`."
|
|
13183
|
+
];
|
|
13184
|
+
"type": "u8";
|
|
13185
|
+
},
|
|
13186
|
+
{
|
|
13187
|
+
"name": "cbPad";
|
|
13188
|
+
"type": {
|
|
13189
|
+
"array": [
|
|
13190
|
+
"u8",
|
|
13191
|
+
5
|
|
13192
|
+
];
|
|
13193
|
+
};
|
|
13194
|
+
},
|
|
13195
|
+
{
|
|
13196
|
+
"name": "cbLastObservedSlot";
|
|
13197
|
+
"docs": [
|
|
13198
|
+
"Solana slot of the last counted CB observation; used for slot-level dedup."
|
|
13199
|
+
];
|
|
13200
|
+
"type": "u64";
|
|
13201
|
+
},
|
|
13202
|
+
{
|
|
13203
|
+
"name": "cbLastOracleSourceTime";
|
|
13204
|
+
"docs": [
|
|
13205
|
+
"Publisher-side timestamp of the last counted CB observation; rejects re-reads of the same",
|
|
13206
|
+
"publication across multiple Solana slots. Zero when the adapter doesn't expose one."
|
|
13207
|
+
];
|
|
13208
|
+
"type": "i64";
|
|
13209
|
+
},
|
|
13210
|
+
{
|
|
13211
|
+
"name": "cbReferencePrice";
|
|
13212
|
+
"docs": [
|
|
13213
|
+
"EMA reference price used by the circuit breaker, in the multiplier-adjusted effective-price",
|
|
13214
|
+
"domain the risk engine uses. Frozen while halted, zero until the first observation after",
|
|
13215
|
+
"enable."
|
|
13216
|
+
];
|
|
13217
|
+
"type": {
|
|
13218
|
+
"defined": {
|
|
13219
|
+
"name": "wrappedI80f48";
|
|
13220
|
+
};
|
|
13221
|
+
};
|
|
13222
|
+
},
|
|
13223
|
+
{
|
|
13224
|
+
"name": "cbWindowReferencePrice";
|
|
13225
|
+
"docs": [
|
|
13226
|
+
"Long-window reference price (same multiplier-adjusted domain as `cb_reference_price`) used",
|
|
13227
|
+
"to catch slow oracle walking that stays below the per-observation breaker threshold."
|
|
13228
|
+
];
|
|
13229
|
+
"type": {
|
|
13230
|
+
"defined": {
|
|
13231
|
+
"name": "wrappedI80f48";
|
|
13232
|
+
};
|
|
13233
|
+
};
|
|
13234
|
+
},
|
|
13235
|
+
{
|
|
13236
|
+
"name": "cbWindowStartedAt";
|
|
13237
|
+
"docs": [
|
|
13238
|
+
"Unix-seconds when `cb_window_reference_price` was anchored."
|
|
13239
|
+
];
|
|
13240
|
+
"type": "i64";
|
|
13241
|
+
},
|
|
13242
|
+
{
|
|
13243
|
+
"name": "cbFrozenSecondsPending";
|
|
13244
|
+
"docs": [
|
|
13245
|
+
"Frozen halt seconds from halt intervals overwritten or cleared before `accrue_interest`",
|
|
13246
|
+
"consumed them. Non-zero only when the halt record changes without a preceding accrual, i.e.",
|
|
13247
|
+
"a paused pulse; the next accrual excludes these on top of the current halt. Zero normally."
|
|
13248
|
+
];
|
|
13249
|
+
"type": "u64";
|
|
13250
|
+
},
|
|
12746
13251
|
{
|
|
12747
13252
|
"name": "padding1";
|
|
12748
13253
|
"type": {
|
|
12749
13254
|
"array": [
|
|
12750
13255
|
"u64",
|
|
12751
|
-
|
|
13256
|
+
2
|
|
12752
13257
|
];
|
|
12753
13258
|
};
|
|
12754
13259
|
}
|
|
@@ -12844,7 +13349,8 @@ type Marginfi = {
|
|
|
12844
13349
|
"Confidence interval reported by the oracle when last_oracle_price was fetched",
|
|
12845
13350
|
"* Always non-negative",
|
|
12846
13351
|
"* Zero if never updated",
|
|
12847
|
-
"*
|
|
13352
|
+
"* Pyth: confidence * 2.12",
|
|
13353
|
+
"* Switchboard: price * oracle_max_confidence / U32_MAX"
|
|
12848
13354
|
];
|
|
12849
13355
|
"type": {
|
|
12850
13356
|
"defined": {
|
|
@@ -12868,7 +13374,7 @@ type Marginfi = {
|
|
|
12868
13374
|
"type": "u8";
|
|
12869
13375
|
},
|
|
12870
13376
|
{
|
|
12871
|
-
"name": "
|
|
13377
|
+
"name": "cbCachePad";
|
|
12872
13378
|
"type": {
|
|
12873
13379
|
"array": [
|
|
12874
13380
|
"u8",
|
|
@@ -13045,12 +13551,26 @@ type Marginfi = {
|
|
|
13045
13551
|
];
|
|
13046
13552
|
};
|
|
13047
13553
|
},
|
|
13554
|
+
{
|
|
13555
|
+
"name": "cbWindowMaxUpBps";
|
|
13556
|
+
"docs": [
|
|
13557
|
+
"CB long-window upward move cap in bps; `0` uses the `CB_WINDOW_MAX_UP_BPS` default."
|
|
13558
|
+
];
|
|
13559
|
+
"type": "u16";
|
|
13560
|
+
},
|
|
13561
|
+
{
|
|
13562
|
+
"name": "cbWindowMaxDownBps";
|
|
13563
|
+
"docs": [
|
|
13564
|
+
"CB long-window downward move cap in bps; `0` uses the `CB_WINDOW_MAX_DOWN_BPS` default."
|
|
13565
|
+
];
|
|
13566
|
+
"type": "u16";
|
|
13567
|
+
},
|
|
13048
13568
|
{
|
|
13049
13569
|
"name": "pad0";
|
|
13050
13570
|
"type": {
|
|
13051
13571
|
"array": [
|
|
13052
13572
|
"u8",
|
|
13053
|
-
|
|
13573
|
+
2
|
|
13054
13574
|
];
|
|
13055
13575
|
};
|
|
13056
13576
|
},
|
|
@@ -13104,10 +13624,17 @@ type Marginfi = {
|
|
|
13104
13624
|
"type": {
|
|
13105
13625
|
"array": [
|
|
13106
13626
|
"u8",
|
|
13107
|
-
|
|
13627
|
+
1
|
|
13108
13628
|
];
|
|
13109
13629
|
};
|
|
13110
13630
|
},
|
|
13631
|
+
{
|
|
13632
|
+
"name": "cbWindowSeconds";
|
|
13633
|
+
"docs": [
|
|
13634
|
+
"CB long-window length in seconds; `0` uses the `CB_WINDOW_SECONDS` default."
|
|
13635
|
+
];
|
|
13636
|
+
"type": "u32";
|
|
13637
|
+
},
|
|
13111
13638
|
{
|
|
13112
13639
|
"name": "totalAssetValueInitLimit";
|
|
13113
13640
|
"docs": [
|
|
@@ -13141,10 +13668,15 @@ type Marginfi = {
|
|
|
13141
13668
|
{
|
|
13142
13669
|
"name": "oracleMaxConfidence";
|
|
13143
13670
|
"docs": [
|
|
13144
|
-
"
|
|
13145
|
-
"
|
|
13146
|
-
"
|
|
13147
|
-
"*
|
|
13671
|
+
"A %, as u32, e.g. 100% = u32::MAX, 50% = u32::MAX/2, etc.",
|
|
13672
|
+
"",
|
|
13673
|
+
"Oracle confidence configuration. Semantics depend on the oracle type:",
|
|
13674
|
+
"* Pyth: Maximum allowed confidence interval. Prices exceeding this threshold are rejected.",
|
|
13675
|
+
"- 0 defaults to 10%.",
|
|
13676
|
+
"* Switchboard: Confidence spread used for price biasing.",
|
|
13677
|
+
"- 0 disables confidence adjustment.",
|
|
13678
|
+
"- Non-zero: confidence = price * oracle_max_confidence / U32_MAX.",
|
|
13679
|
+
"- Clamped to MAX_CONF_INTERVAL (5% of price)."
|
|
13148
13680
|
];
|
|
13149
13681
|
"type": "u32";
|
|
13150
13682
|
},
|
|
@@ -13160,13 +13692,47 @@ type Marginfi = {
|
|
|
13160
13692
|
};
|
|
13161
13693
|
},
|
|
13162
13694
|
{
|
|
13163
|
-
"name": "
|
|
13695
|
+
"name": "cbDeviationBpsTiers";
|
|
13696
|
+
"docs": [
|
|
13697
|
+
"Deviation thresholds in basis points for tiers 1/2/3, strictly monotonic."
|
|
13698
|
+
];
|
|
13164
13699
|
"type": {
|
|
13165
13700
|
"array": [
|
|
13166
|
-
"
|
|
13167
|
-
|
|
13701
|
+
"u16",
|
|
13702
|
+
3
|
|
13168
13703
|
];
|
|
13169
13704
|
};
|
|
13705
|
+
},
|
|
13706
|
+
{
|
|
13707
|
+
"name": "cbTierDurationsSeconds";
|
|
13708
|
+
"docs": [
|
|
13709
|
+
"Halt durations in seconds for tiers 1/2/3, strictly monotonic."
|
|
13710
|
+
];
|
|
13711
|
+
"type": {
|
|
13712
|
+
"array": [
|
|
13713
|
+
"u16",
|
|
13714
|
+
3
|
|
13715
|
+
];
|
|
13716
|
+
};
|
|
13717
|
+
},
|
|
13718
|
+
{
|
|
13719
|
+
"name": "cbEscalationWindowMult";
|
|
13720
|
+
"docs": [
|
|
13721
|
+
"Escalation window multiplier: a re-breach within `prev_tier_duration * mult` seconds",
|
|
13722
|
+
"after a halt ends ratchets to the next tier."
|
|
13723
|
+
];
|
|
13724
|
+
"type": "u8";
|
|
13725
|
+
},
|
|
13726
|
+
{
|
|
13727
|
+
"name": "cbConfigPad";
|
|
13728
|
+
"type": "u8";
|
|
13729
|
+
},
|
|
13730
|
+
{
|
|
13731
|
+
"name": "cbEmaAlphaBps";
|
|
13732
|
+
"docs": [
|
|
13733
|
+
"EMA smoothing factor for the reference price, in basis points (e.g. 1000 = α=0.1)."
|
|
13734
|
+
];
|
|
13735
|
+
"type": "u16";
|
|
13170
13736
|
}
|
|
13171
13737
|
];
|
|
13172
13738
|
};
|
|
@@ -13302,10 +13868,15 @@ type Marginfi = {
|
|
|
13302
13868
|
{
|
|
13303
13869
|
"name": "oracleMaxConfidence";
|
|
13304
13870
|
"docs": [
|
|
13305
|
-
"
|
|
13306
|
-
"
|
|
13307
|
-
"
|
|
13308
|
-
"*
|
|
13871
|
+
"A %, as u32, e.g. 100% = u32::MAX, 50% = u32::MAX/2, etc.",
|
|
13872
|
+
"",
|
|
13873
|
+
"Oracle confidence configuration. Semantics depend on the oracle type.",
|
|
13874
|
+
"* Pyth: Maximum allowed confidence interval. Prices exceeding this threshold are rejected.",
|
|
13875
|
+
"- 0 defaults to 10%.",
|
|
13876
|
+
"* Switchboard: Confidence spread used for price biasing.",
|
|
13877
|
+
"- 0 disables confidence adjustment.",
|
|
13878
|
+
"- Non-zero: confidence = price * oracle_max_confidence / U32_MAX.",
|
|
13879
|
+
"- Clamped to MAX_CONF_INTERVAL (5% of price)."
|
|
13309
13880
|
];
|
|
13310
13881
|
"type": "u32";
|
|
13311
13882
|
}
|
|
@@ -13440,6 +14011,79 @@ type Marginfi = {
|
|
|
13440
14011
|
"type": {
|
|
13441
14012
|
"option": "bool";
|
|
13442
14013
|
};
|
|
14014
|
+
},
|
|
14015
|
+
{
|
|
14016
|
+
"name": "liquidationLiquidatorFee";
|
|
14017
|
+
"docs": [
|
|
14018
|
+
"Per-bank liquidation fees, encoded as `u32_to_centi` (`u32::MAX` = 100%; 0 => default 2.5%)."
|
|
14019
|
+
];
|
|
14020
|
+
"type": {
|
|
14021
|
+
"option": "u32";
|
|
14022
|
+
};
|
|
14023
|
+
},
|
|
14024
|
+
{
|
|
14025
|
+
"name": "liquidationInsuranceFee";
|
|
14026
|
+
"type": {
|
|
14027
|
+
"option": "u32";
|
|
14028
|
+
};
|
|
14029
|
+
},
|
|
14030
|
+
{
|
|
14031
|
+
"name": "circuitBreakerEnabled";
|
|
14032
|
+
"type": {
|
|
14033
|
+
"option": "bool";
|
|
14034
|
+
};
|
|
14035
|
+
},
|
|
14036
|
+
{
|
|
14037
|
+
"name": "cbDeviationBpsTiers";
|
|
14038
|
+
"type": {
|
|
14039
|
+
"option": {
|
|
14040
|
+
"array": [
|
|
14041
|
+
"u16",
|
|
14042
|
+
3
|
|
14043
|
+
];
|
|
14044
|
+
};
|
|
14045
|
+
};
|
|
14046
|
+
},
|
|
14047
|
+
{
|
|
14048
|
+
"name": "cbTierDurationsSeconds";
|
|
14049
|
+
"type": {
|
|
14050
|
+
"option": {
|
|
14051
|
+
"array": [
|
|
14052
|
+
"u16",
|
|
14053
|
+
3
|
|
14054
|
+
];
|
|
14055
|
+
};
|
|
14056
|
+
};
|
|
14057
|
+
},
|
|
14058
|
+
{
|
|
14059
|
+
"name": "cbEscalationWindowMult";
|
|
14060
|
+
"type": {
|
|
14061
|
+
"option": "u8";
|
|
14062
|
+
};
|
|
14063
|
+
},
|
|
14064
|
+
{
|
|
14065
|
+
"name": "cbEmaAlphaBps";
|
|
14066
|
+
"type": {
|
|
14067
|
+
"option": "u16";
|
|
14068
|
+
};
|
|
14069
|
+
},
|
|
14070
|
+
{
|
|
14071
|
+
"name": "cbWindowSeconds";
|
|
14072
|
+
"type": {
|
|
14073
|
+
"option": "u32";
|
|
14074
|
+
};
|
|
14075
|
+
},
|
|
14076
|
+
{
|
|
14077
|
+
"name": "cbWindowMaxUpBps";
|
|
14078
|
+
"type": {
|
|
14079
|
+
"option": "u16";
|
|
14080
|
+
};
|
|
14081
|
+
},
|
|
14082
|
+
{
|
|
14083
|
+
"name": "cbWindowMaxDownBps";
|
|
14084
|
+
"type": {
|
|
14085
|
+
"option": "u16";
|
|
14086
|
+
};
|
|
13443
14087
|
}
|
|
13444
14088
|
];
|
|
13445
14089
|
};
|
|
@@ -13564,6 +14208,9 @@ type Marginfi = {
|
|
|
13564
14208
|
},
|
|
13565
14209
|
{
|
|
13566
14210
|
"name": "reduceOnlyWithBorrowingPower";
|
|
14211
|
+
},
|
|
14212
|
+
{
|
|
14213
|
+
"name": "circuitBroken";
|
|
13567
14214
|
}
|
|
13568
14215
|
];
|
|
13569
14216
|
};
|
|
@@ -13605,6 +14252,78 @@ type Marginfi = {
|
|
|
13605
14252
|
];
|
|
13606
14253
|
};
|
|
13607
14254
|
},
|
|
14255
|
+
{
|
|
14256
|
+
"name": "circuitBreakerAutoBrokenEvent";
|
|
14257
|
+
"docs": [
|
|
14258
|
+
"Emitted when consecutive tier-3 trips force a bank into `CircuitBroken`."
|
|
14259
|
+
];
|
|
14260
|
+
"type": {
|
|
14261
|
+
"kind": "struct";
|
|
14262
|
+
"fields": [
|
|
14263
|
+
{
|
|
14264
|
+
"name": "consecutiveTier3Trips";
|
|
14265
|
+
"type": "u8";
|
|
14266
|
+
},
|
|
14267
|
+
{
|
|
14268
|
+
"name": "currentTimestamp";
|
|
14269
|
+
"type": "i64";
|
|
14270
|
+
}
|
|
14271
|
+
];
|
|
14272
|
+
};
|
|
14273
|
+
},
|
|
14274
|
+
{
|
|
14275
|
+
"name": "circuitBreakerClearedEvent";
|
|
14276
|
+
"docs": [
|
|
14277
|
+
"Emitted when a halt is cleared (admin override or escalation-window expiry)."
|
|
14278
|
+
];
|
|
14279
|
+
"type": {
|
|
14280
|
+
"kind": "struct";
|
|
14281
|
+
"fields": [
|
|
14282
|
+
{
|
|
14283
|
+
"name": "priorTier";
|
|
14284
|
+
"type": "u8";
|
|
14285
|
+
},
|
|
14286
|
+
{
|
|
14287
|
+
"name": "reason";
|
|
14288
|
+
"docs": [
|
|
14289
|
+
"One of the `CB_CLEAR_REASON_*` constants."
|
|
14290
|
+
];
|
|
14291
|
+
"type": "u8";
|
|
14292
|
+
},
|
|
14293
|
+
{
|
|
14294
|
+
"name": "currentTimestamp";
|
|
14295
|
+
"type": "i64";
|
|
14296
|
+
}
|
|
14297
|
+
];
|
|
14298
|
+
};
|
|
14299
|
+
},
|
|
14300
|
+
{
|
|
14301
|
+
"name": "circuitBreakerTrippedEvent";
|
|
14302
|
+
"docs": [
|
|
14303
|
+
"Emitted when the per-bank oracle circuit breaker trips or escalates a halt."
|
|
14304
|
+
];
|
|
14305
|
+
"type": {
|
|
14306
|
+
"kind": "struct";
|
|
14307
|
+
"fields": [
|
|
14308
|
+
{
|
|
14309
|
+
"name": "tier";
|
|
14310
|
+
"type": "u8";
|
|
14311
|
+
},
|
|
14312
|
+
{
|
|
14313
|
+
"name": "deviationBps";
|
|
14314
|
+
"type": "u64";
|
|
14315
|
+
},
|
|
14316
|
+
{
|
|
14317
|
+
"name": "haltStartedAt";
|
|
14318
|
+
"type": "i64";
|
|
14319
|
+
},
|
|
14320
|
+
{
|
|
14321
|
+
"name": "haltEndedAt";
|
|
14322
|
+
"type": "i64";
|
|
14323
|
+
}
|
|
14324
|
+
];
|
|
14325
|
+
};
|
|
14326
|
+
},
|
|
13608
14327
|
{
|
|
13609
14328
|
"name": "deleverageEvent";
|
|
13610
14329
|
"type": {
|
|
@@ -13724,7 +14443,7 @@ type Marginfi = {
|
|
|
13724
14443
|
"name": "driftConfigCompact";
|
|
13725
14444
|
"docs": [
|
|
13726
14445
|
"Used to configure Drift banks. A simplified version of `BankConfigCompact` which omits most",
|
|
13727
|
-
"values related to interest since Drift banks cannot earn interest or be borrowed
|
|
14446
|
+
"values related to interest since Drift banks cannot earn interest or be borrowed from."
|
|
13728
14447
|
];
|
|
13729
14448
|
"type": {
|
|
13730
14449
|
"kind": "struct";
|
|
@@ -14115,9 +14834,24 @@ type Marginfi = {
|
|
|
14115
14834
|
];
|
|
14116
14835
|
"type": "pubkey";
|
|
14117
14836
|
},
|
|
14837
|
+
{
|
|
14838
|
+
"name": "accountTransferFee";
|
|
14839
|
+
"docs": [
|
|
14840
|
+
"Flat fee in lamports paid to the global fee wallet when initiating an account transfer",
|
|
14841
|
+
"(anti-spam; 5,000,000 lamports ~= $0.50). A stored 0 means \"use the default\"",
|
|
14842
|
+
"(`DEFAULT_ACCOUNT_TRANSFER_FEE_LAMPORTS`), which preserves the legacy fee for FeeStates",
|
|
14843
|
+
"created before this field existed."
|
|
14844
|
+
];
|
|
14845
|
+
"type": "u32";
|
|
14846
|
+
},
|
|
14118
14847
|
{
|
|
14119
14848
|
"name": "placeholder0";
|
|
14120
|
-
"type":
|
|
14849
|
+
"type": {
|
|
14850
|
+
"array": [
|
|
14851
|
+
"u8",
|
|
14852
|
+
4
|
|
14853
|
+
];
|
|
14854
|
+
};
|
|
14121
14855
|
},
|
|
14122
14856
|
{
|
|
14123
14857
|
"name": "bankInitFlatSolFee";
|
|
@@ -14228,194 +14962,47 @@ type Marginfi = {
|
|
|
14228
14962
|
"Can pause (not unpause) the protocol, but cannot modify any fee configuration."
|
|
14229
14963
|
];
|
|
14230
14964
|
"type": "pubkey";
|
|
14231
|
-
}
|
|
14232
|
-
];
|
|
14233
|
-
};
|
|
14234
|
-
},
|
|
14235
|
-
{
|
|
14236
|
-
"name": "feeStateCache";
|
|
14237
|
-
"docs": [
|
|
14238
|
-
"Cached fee configuration propagated from the global FeeState"
|
|
14239
|
-
];
|
|
14240
|
-
"repr": {
|
|
14241
|
-
"kind": "c";
|
|
14242
|
-
};
|
|
14243
|
-
"type": {
|
|
14244
|
-
"kind": "struct";
|
|
14245
|
-
"fields": [
|
|
14246
|
-
{
|
|
14247
|
-
"name": "globalFeeWallet";
|
|
14248
|
-
"docs": [
|
|
14249
|
-
"The wallet that receives program-level fees"
|
|
14250
|
-
];
|
|
14251
|
-
"type": "pubkey";
|
|
14252
14965
|
},
|
|
14253
14966
|
{
|
|
14254
|
-
"name": "
|
|
14255
|
-
"docs": [
|
|
14256
|
-
"Fixed fee APR charged to borrowers (program-level)"
|
|
14257
|
-
];
|
|
14258
|
-
"type": {
|
|
14259
|
-
"defined": {
|
|
14260
|
-
"name": "wrappedI80f48";
|
|
14261
|
-
};
|
|
14262
|
-
};
|
|
14263
|
-
},
|
|
14264
|
-
{
|
|
14265
|
-
"name": "programFeeRate";
|
|
14967
|
+
"name": "reserved0";
|
|
14266
14968
|
"docs": [
|
|
14267
|
-
"
|
|
14969
|
+
"Reserved for future use (e.g. the variable-borrow premium settings). Accounts created",
|
|
14970
|
+
"before the struct grew to this size are v1-sized (`8 + V1_LEN` bytes) and must be",
|
|
14971
|
+
"grown via `resize_global_fee_state` before this program version can load them; the new",
|
|
14972
|
+
"bytes are zero-filled."
|
|
14268
14973
|
];
|
|
14269
14974
|
"type": {
|
|
14270
|
-
"
|
|
14271
|
-
"
|
|
14272
|
-
|
|
14975
|
+
"array": [
|
|
14976
|
+
"u64",
|
|
14977
|
+
32
|
|
14978
|
+
];
|
|
14273
14979
|
};
|
|
14274
|
-
},
|
|
14275
|
-
{
|
|
14276
|
-
"name": "lastUpdate";
|
|
14277
|
-
"docs": [
|
|
14278
|
-
"Unix timestamp of the last fee state propagation"
|
|
14279
|
-
];
|
|
14280
|
-
"type": "i64";
|
|
14281
14980
|
}
|
|
14282
14981
|
];
|
|
14283
14982
|
};
|
|
14284
14983
|
},
|
|
14285
|
-
{
|
|
14286
|
-
"name": "
|
|
14287
|
-
"docs": [
|
|
14288
|
-
"
|
|
14289
|
-
];
|
|
14290
|
-
"
|
|
14291
|
-
|
|
14292
|
-
|
|
14293
|
-
|
|
14294
|
-
|
|
14295
|
-
"
|
|
14296
|
-
"fields": [
|
|
14297
|
-
{
|
|
14298
|
-
"name": "key";
|
|
14299
|
-
"docs": [
|
|
14300
|
-
"The fee state's own key. A PDA derived from `b\"feestate_v2\"`"
|
|
14301
|
-
];
|
|
14302
|
-
"type": "pubkey";
|
|
14303
|
-
},
|
|
14304
|
-
{
|
|
14305
|
-
"name": "globalFeeAdmin";
|
|
14306
|
-
"docs": [
|
|
14307
|
-
"Can modify fees, pause the protocol, etc"
|
|
14308
|
-
];
|
|
14309
|
-
"type": "pubkey";
|
|
14310
|
-
},
|
|
14311
|
-
{
|
|
14312
|
-
"name": "globalFeeWallet";
|
|
14313
|
-
"docs": [
|
|
14314
|
-
"The base wallet for all protocol fees. All SOL fees go to this wallet. All non-SOL fees go",
|
|
14315
|
-
"to the cannonical ATA of this wallet for that asset."
|
|
14316
|
-
];
|
|
14317
|
-
"type": "pubkey";
|
|
14318
|
-
},
|
|
14319
|
-
{
|
|
14320
|
-
"name": "placeholder0";
|
|
14321
|
-
"type": "u64";
|
|
14322
|
-
},
|
|
14323
|
-
{
|
|
14324
|
-
"name": "bankInitFlatSolFee";
|
|
14325
|
-
"docs": [
|
|
14326
|
-
"Flat fee assessed when a new bank is initialized, in lamports.",
|
|
14327
|
-
"* In SOL, in native decimals."
|
|
14328
|
-
];
|
|
14329
|
-
"type": "u32";
|
|
14330
|
-
},
|
|
14331
|
-
{
|
|
14332
|
-
"name": "bumpSeed";
|
|
14333
|
-
"type": "u8";
|
|
14334
|
-
},
|
|
14335
|
-
{
|
|
14336
|
-
"name": "padding0";
|
|
14337
|
-
"type": {
|
|
14338
|
-
"array": [
|
|
14339
|
-
"u8",
|
|
14340
|
-
3
|
|
14341
|
-
];
|
|
14342
|
-
};
|
|
14343
|
-
},
|
|
14344
|
-
{
|
|
14345
|
-
"name": "liquidationMaxFee";
|
|
14346
|
-
"docs": [
|
|
14347
|
-
"Liquidators can claim at this premium, when liquidating an asset in receivership",
|
|
14348
|
-
"liquidation, e.g. (1 + this) * amount repaid >= asset seized",
|
|
14349
|
-
"* A percentage"
|
|
14350
|
-
];
|
|
14351
|
-
"type": {
|
|
14352
|
-
"defined": {
|
|
14353
|
-
"name": "wrappedI80f48";
|
|
14354
|
-
};
|
|
14355
|
-
};
|
|
14356
|
-
},
|
|
14357
|
-
{
|
|
14358
|
-
"name": "programFeeFixed";
|
|
14359
|
-
"docs": [
|
|
14360
|
-
"Fee collected by the program owner from all groups",
|
|
14361
|
-
"* A percentage"
|
|
14362
|
-
];
|
|
14363
|
-
"type": {
|
|
14364
|
-
"defined": {
|
|
14365
|
-
"name": "wrappedI80f48";
|
|
14366
|
-
};
|
|
14367
|
-
};
|
|
14368
|
-
},
|
|
14369
|
-
{
|
|
14370
|
-
"name": "programFeeRate";
|
|
14371
|
-
"docs": [
|
|
14372
|
-
"Fee collected by the program owner from all groups",
|
|
14373
|
-
"* A percentage"
|
|
14374
|
-
];
|
|
14375
|
-
"type": {
|
|
14376
|
-
"defined": {
|
|
14377
|
-
"name": "wrappedI80f48";
|
|
14378
|
-
};
|
|
14379
|
-
};
|
|
14380
|
-
},
|
|
14381
|
-
{
|
|
14382
|
-
"name": "panicState";
|
|
14383
|
-
"docs": [
|
|
14384
|
-
"When the global admin pauses the protocol in the event of an emergency, information about",
|
|
14385
|
-
"the pause duration will be stored here and propagated to groups."
|
|
14386
|
-
];
|
|
14387
|
-
"type": {
|
|
14388
|
-
"defined": {
|
|
14389
|
-
"name": "panicState";
|
|
14390
|
-
};
|
|
14391
|
-
};
|
|
14392
|
-
},
|
|
14393
|
-
{
|
|
14394
|
-
"name": "placeholder1";
|
|
14395
|
-
"type": "u64";
|
|
14396
|
-
},
|
|
14397
|
-
{
|
|
14398
|
-
"name": "liquidationFlatSolFee";
|
|
14399
|
-
"docs": [
|
|
14400
|
-
"Flat fee assessed for insurance/program use when a liquidation is executed",
|
|
14401
|
-
"* In SOL, in native decimals."
|
|
14402
|
-
];
|
|
14403
|
-
"type": "u32";
|
|
14404
|
-
},
|
|
14984
|
+
{
|
|
14985
|
+
"name": "feeStateCache";
|
|
14986
|
+
"docs": [
|
|
14987
|
+
"Cached fee configuration propagated from the global FeeState"
|
|
14988
|
+
];
|
|
14989
|
+
"repr": {
|
|
14990
|
+
"kind": "c";
|
|
14991
|
+
};
|
|
14992
|
+
"type": {
|
|
14993
|
+
"kind": "struct";
|
|
14994
|
+
"fields": [
|
|
14405
14995
|
{
|
|
14406
|
-
"name": "
|
|
14996
|
+
"name": "globalFeeWallet";
|
|
14407
14997
|
"docs": [
|
|
14408
|
-
"
|
|
14409
|
-
"* In SOL, in native decimals."
|
|
14998
|
+
"The wallet that receives program-level fees"
|
|
14410
14999
|
];
|
|
14411
|
-
"type": "
|
|
15000
|
+
"type": "pubkey";
|
|
14412
15001
|
},
|
|
14413
15002
|
{
|
|
14414
|
-
"name": "
|
|
15003
|
+
"name": "programFeeFixed";
|
|
14415
15004
|
"docs": [
|
|
14416
|
-
"
|
|
14417
|
-
"pun intended) e.g. (1 + this) * amount repaid >= asset seized",
|
|
14418
|
-
"* A percentage"
|
|
15005
|
+
"Fixed fee APR charged to borrowers (program-level)"
|
|
14419
15006
|
];
|
|
14420
15007
|
"type": {
|
|
14421
15008
|
"defined": {
|
|
@@ -14424,23 +15011,22 @@ type Marginfi = {
|
|
|
14424
15011
|
};
|
|
14425
15012
|
},
|
|
14426
15013
|
{
|
|
14427
|
-
"name": "
|
|
15014
|
+
"name": "programFeeRate";
|
|
14428
15015
|
"docs": [
|
|
14429
|
-
"
|
|
15016
|
+
"Proportional fee rate on interest (program-level)"
|
|
14430
15017
|
];
|
|
14431
|
-
"type":
|
|
15018
|
+
"type": {
|
|
15019
|
+
"defined": {
|
|
15020
|
+
"name": "wrappedI80f48";
|
|
15021
|
+
};
|
|
15022
|
+
};
|
|
14432
15023
|
},
|
|
14433
15024
|
{
|
|
14434
|
-
"name": "
|
|
15025
|
+
"name": "lastUpdate";
|
|
14435
15026
|
"docs": [
|
|
14436
|
-
"
|
|
15027
|
+
"Unix timestamp of the last fee state propagation"
|
|
14437
15028
|
];
|
|
14438
|
-
"type":
|
|
14439
|
-
"array": [
|
|
14440
|
-
"u8",
|
|
14441
|
-
256
|
|
14442
|
-
];
|
|
14443
|
-
};
|
|
15029
|
+
"type": "i64";
|
|
14444
15030
|
}
|
|
14445
15031
|
];
|
|
14446
15032
|
};
|
|
@@ -15257,7 +15843,7 @@ type Marginfi = {
|
|
|
15257
15843
|
"name": "juplendConfigCompact";
|
|
15258
15844
|
"docs": [
|
|
15259
15845
|
"Used to configure JupLend banks. A simplified version of `BankConfigCompact` which omits most",
|
|
15260
|
-
"values related to interest since JupLend banks cannot earn interest or be borrowed
|
|
15846
|
+
"values related to interest since JupLend banks cannot earn interest or be borrowed from.",
|
|
15261
15847
|
"",
|
|
15262
15848
|
"Note: JupLend banks do not take an Operational State, they always start in `Uninitialized`",
|
|
15263
15849
|
"state and are set to `Operational` via `juplend_init_position` (seed deposit + protocol fToken",
|
|
@@ -16081,6 +16667,34 @@ type Marginfi = {
|
|
|
16081
16667
|
];
|
|
16082
16668
|
};
|
|
16083
16669
|
},
|
|
16670
|
+
{
|
|
16671
|
+
"name": "lendingPoolBankSetSameAssetEmodeEligibilityEvent";
|
|
16672
|
+
"type": {
|
|
16673
|
+
"kind": "struct";
|
|
16674
|
+
"fields": [
|
|
16675
|
+
{
|
|
16676
|
+
"name": "header";
|
|
16677
|
+
"type": {
|
|
16678
|
+
"defined": {
|
|
16679
|
+
"name": "groupEventHeader";
|
|
16680
|
+
};
|
|
16681
|
+
};
|
|
16682
|
+
},
|
|
16683
|
+
{
|
|
16684
|
+
"name": "bank";
|
|
16685
|
+
"type": "pubkey";
|
|
16686
|
+
},
|
|
16687
|
+
{
|
|
16688
|
+
"name": "mint";
|
|
16689
|
+
"type": "pubkey";
|
|
16690
|
+
},
|
|
16691
|
+
{
|
|
16692
|
+
"name": "enabled";
|
|
16693
|
+
"type": "bool";
|
|
16694
|
+
}
|
|
16695
|
+
];
|
|
16696
|
+
};
|
|
16697
|
+
},
|
|
16084
16698
|
{
|
|
16085
16699
|
"name": "lendingPoolSuperAdminDepositEvent";
|
|
16086
16700
|
"type": {
|
|
@@ -16167,6 +16781,10 @@ type Marginfi = {
|
|
|
16167
16781
|
{
|
|
16168
16782
|
"name": "liquidatorLiabilityBalance";
|
|
16169
16783
|
"type": "f64";
|
|
16784
|
+
},
|
|
16785
|
+
{
|
|
16786
|
+
"name": "liquidatorLiabilityBankAssetBalance";
|
|
16787
|
+
"type": "f64";
|
|
16170
16788
|
}
|
|
16171
16789
|
];
|
|
16172
16790
|
};
|
|
@@ -16876,16 +17494,21 @@ type Marginfi = {
|
|
|
16876
17494
|
"type": "u32";
|
|
16877
17495
|
},
|
|
16878
17496
|
{
|
|
16879
|
-
"name": "
|
|
17497
|
+
"name": "sameAssetEmodeInitLeverage";
|
|
16880
17498
|
"docs": [
|
|
16881
|
-
"
|
|
17499
|
+
"Encoded same-asset automatic emode leverage for initial margin.",
|
|
17500
|
+
"Decode with `u32_to_basis`. Same-asset treatment is disabled when the decoded leverage is",
|
|
17501
|
+
"less than or equal to 1 and also requires each participating bank to opt in."
|
|
16882
17502
|
];
|
|
16883
|
-
"type":
|
|
16884
|
-
|
|
16885
|
-
|
|
16886
|
-
|
|
16887
|
-
|
|
16888
|
-
|
|
17503
|
+
"type": "u32";
|
|
17504
|
+
},
|
|
17505
|
+
{
|
|
17506
|
+
"name": "sameAssetEmodeMaintLeverage";
|
|
17507
|
+
"docs": [
|
|
17508
|
+
"Encoded same-asset automatic emode leverage for maintenance margin.",
|
|
17509
|
+
"Decode with `u32_to_basis`. Ordering is validated in decoded space."
|
|
17510
|
+
];
|
|
17511
|
+
"type": "u32";
|
|
16889
17512
|
},
|
|
16890
17513
|
{
|
|
16891
17514
|
"name": "rateLimiter";
|
|
@@ -16966,6 +17589,20 @@ type Marginfi = {
|
|
|
16966
17589
|
32
|
|
16967
17590
|
];
|
|
16968
17591
|
};
|
|
17592
|
+
},
|
|
17593
|
+
{
|
|
17594
|
+
"name": "padding2";
|
|
17595
|
+
"type": {
|
|
17596
|
+
"array": [
|
|
17597
|
+
{
|
|
17598
|
+
"array": [
|
|
17599
|
+
"u64",
|
|
17600
|
+
32
|
|
17601
|
+
];
|
|
17602
|
+
},
|
|
17603
|
+
32
|
|
17604
|
+
];
|
|
17605
|
+
};
|
|
16969
17606
|
}
|
|
16970
17607
|
];
|
|
16971
17608
|
};
|
|
@@ -18011,11 +18648,12 @@ type Marginfi = {
|
|
|
18011
18648
|
};
|
|
18012
18649
|
},
|
|
18013
18650
|
{
|
|
18014
|
-
"name": "
|
|
18651
|
+
"name": "createdAt";
|
|
18015
18652
|
"docs": [
|
|
18016
|
-
"
|
|
18653
|
+
"Unix timestamp (seconds) when the order was created. Reads 0 for orders created before this",
|
|
18654
|
+
"field existed (it was previously a reserved placeholder; same 8 bytes, so layout-compatible)."
|
|
18017
18655
|
];
|
|
18018
|
-
"type": "
|
|
18656
|
+
"type": "i64";
|
|
18019
18657
|
},
|
|
18020
18658
|
{
|
|
18021
18659
|
"name": "maxSlippage";
|
|
@@ -18465,6 +19103,175 @@ type Marginfi = {
|
|
|
18465
19103
|
];
|
|
18466
19104
|
};
|
|
18467
19105
|
},
|
|
19106
|
+
{
|
|
19107
|
+
"name": "sameAssetEmodeBank";
|
|
19108
|
+
"serialization": "bytemuck";
|
|
19109
|
+
"repr": {
|
|
19110
|
+
"kind": "c";
|
|
19111
|
+
};
|
|
19112
|
+
"type": {
|
|
19113
|
+
"kind": "struct";
|
|
19114
|
+
"fields": [
|
|
19115
|
+
{
|
|
19116
|
+
"name": "bank";
|
|
19117
|
+
"type": "pubkey";
|
|
19118
|
+
},
|
|
19119
|
+
{
|
|
19120
|
+
"name": "groupIndex";
|
|
19121
|
+
"docs": [
|
|
19122
|
+
"Index into `SameAssetEmodeRegistry.groups`."
|
|
19123
|
+
];
|
|
19124
|
+
"type": "u8";
|
|
19125
|
+
},
|
|
19126
|
+
{
|
|
19127
|
+
"name": "padding";
|
|
19128
|
+
"type": {
|
|
19129
|
+
"array": [
|
|
19130
|
+
"u8",
|
|
19131
|
+
7
|
|
19132
|
+
];
|
|
19133
|
+
};
|
|
19134
|
+
}
|
|
19135
|
+
];
|
|
19136
|
+
};
|
|
19137
|
+
},
|
|
19138
|
+
{
|
|
19139
|
+
"name": "sameAssetEmodeGroup";
|
|
19140
|
+
"serialization": "bytemuck";
|
|
19141
|
+
"repr": {
|
|
19142
|
+
"kind": "c";
|
|
19143
|
+
};
|
|
19144
|
+
"type": {
|
|
19145
|
+
"kind": "struct";
|
|
19146
|
+
"fields": [
|
|
19147
|
+
{
|
|
19148
|
+
"name": "mint";
|
|
19149
|
+
"type": "pubkey";
|
|
19150
|
+
},
|
|
19151
|
+
{
|
|
19152
|
+
"name": "oracleKey";
|
|
19153
|
+
"docs": [
|
|
19154
|
+
"The canonical price source, matching `Bank.config.oracle_keys[0]`."
|
|
19155
|
+
];
|
|
19156
|
+
"type": "pubkey";
|
|
19157
|
+
}
|
|
19158
|
+
];
|
|
19159
|
+
};
|
|
19160
|
+
},
|
|
19161
|
+
{
|
|
19162
|
+
"name": "sameAssetEmodeRegistry";
|
|
19163
|
+
"docs": [
|
|
19164
|
+
"Read-only archive of same-asset-emode banks. Enables the emode admin to see, at a glance, which",
|
|
19165
|
+
"banks are participating in same-asset-emode."
|
|
19166
|
+
];
|
|
19167
|
+
"serialization": "bytemuck";
|
|
19168
|
+
"repr": {
|
|
19169
|
+
"kind": "c";
|
|
19170
|
+
};
|
|
19171
|
+
"type": {
|
|
19172
|
+
"kind": "struct";
|
|
19173
|
+
"fields": [
|
|
19174
|
+
{
|
|
19175
|
+
"name": "padding0";
|
|
19176
|
+
"type": "u64";
|
|
19177
|
+
},
|
|
19178
|
+
{
|
|
19179
|
+
"name": "key";
|
|
19180
|
+
"docs": [
|
|
19181
|
+
"This registry's own key."
|
|
19182
|
+
];
|
|
19183
|
+
"type": "pubkey";
|
|
19184
|
+
},
|
|
19185
|
+
{
|
|
19186
|
+
"name": "group";
|
|
19187
|
+
"docs": [
|
|
19188
|
+
"Group for which this registry applies."
|
|
19189
|
+
];
|
|
19190
|
+
"type": "pubkey";
|
|
19191
|
+
},
|
|
19192
|
+
{
|
|
19193
|
+
"name": "bankCount";
|
|
19194
|
+
"type": "u16";
|
|
19195
|
+
},
|
|
19196
|
+
{
|
|
19197
|
+
"name": "groupCount";
|
|
19198
|
+
"type": "u8";
|
|
19199
|
+
},
|
|
19200
|
+
{
|
|
19201
|
+
"name": "bump";
|
|
19202
|
+
"type": "u8";
|
|
19203
|
+
},
|
|
19204
|
+
{
|
|
19205
|
+
"name": "padding1";
|
|
19206
|
+
"type": {
|
|
19207
|
+
"array": [
|
|
19208
|
+
"u8",
|
|
19209
|
+
4
|
|
19210
|
+
];
|
|
19211
|
+
};
|
|
19212
|
+
},
|
|
19213
|
+
{
|
|
19214
|
+
"name": "groups";
|
|
19215
|
+
"docs": [
|
|
19216
|
+
"Describes the same-asset-emode groupings that exist"
|
|
19217
|
+
];
|
|
19218
|
+
"type": {
|
|
19219
|
+
"array": [
|
|
19220
|
+
{
|
|
19221
|
+
"defined": {
|
|
19222
|
+
"name": "sameAssetEmodeGroup";
|
|
19223
|
+
};
|
|
19224
|
+
},
|
|
19225
|
+
32
|
|
19226
|
+
];
|
|
19227
|
+
};
|
|
19228
|
+
},
|
|
19229
|
+
{
|
|
19230
|
+
"name": "banks";
|
|
19231
|
+
"docs": [
|
|
19232
|
+
"Describes which bank belongs to which group"
|
|
19233
|
+
];
|
|
19234
|
+
"type": {
|
|
19235
|
+
"array": [
|
|
19236
|
+
{
|
|
19237
|
+
"defined": {
|
|
19238
|
+
"name": "sameAssetEmodeBank";
|
|
19239
|
+
};
|
|
19240
|
+
},
|
|
19241
|
+
128
|
|
19242
|
+
];
|
|
19243
|
+
};
|
|
19244
|
+
},
|
|
19245
|
+
{
|
|
19246
|
+
"name": "padding2";
|
|
19247
|
+
"type": {
|
|
19248
|
+
"array": [
|
|
19249
|
+
"u8",
|
|
19250
|
+
1024
|
|
19251
|
+
];
|
|
19252
|
+
};
|
|
19253
|
+
},
|
|
19254
|
+
{
|
|
19255
|
+
"name": "padding3";
|
|
19256
|
+
"type": {
|
|
19257
|
+
"array": [
|
|
19258
|
+
"u8",
|
|
19259
|
+
512
|
|
19260
|
+
];
|
|
19261
|
+
};
|
|
19262
|
+
},
|
|
19263
|
+
{
|
|
19264
|
+
"name": "padding4";
|
|
19265
|
+
"type": {
|
|
19266
|
+
"array": [
|
|
19267
|
+
"u8",
|
|
19268
|
+
256
|
|
19269
|
+
];
|
|
19270
|
+
};
|
|
19271
|
+
}
|
|
19272
|
+
];
|
|
19273
|
+
};
|
|
19274
|
+
},
|
|
18468
19275
|
{
|
|
18469
19276
|
"name": "setKeeperCloseFlagsEvent";
|
|
18470
19277
|
"type": {
|
|
@@ -19203,7 +20010,9 @@ declare enum OperationalState {
|
|
|
19203
20010
|
KilledByBankruptcy = "KilledByBankruptcy",
|
|
19204
20011
|
/** Awaiting a JupLend seed deposit; all operations blocked (0.1.9+) */
|
|
19205
20012
|
Uninitialized = "Uninitialized",
|
|
19206
|
-
ReduceOnlyWithBorrowingPower = "ReduceOnlyWithBorrowingPower"
|
|
20013
|
+
ReduceOnlyWithBorrowingPower = "ReduceOnlyWithBorrowingPower",
|
|
20014
|
+
/** Halted by the per-bank oracle circuit breaker (0.1.10+) */
|
|
20015
|
+
CircuitBroken = "CircuitBroken"
|
|
19207
20016
|
}
|
|
19208
20017
|
interface RatePoint {
|
|
19209
20018
|
util: number;
|
|
@@ -19608,6 +20417,16 @@ interface BankConfigOptRaw {
|
|
|
19608
20417
|
permissionlessBadDebtSettlement: boolean | null;
|
|
19609
20418
|
freezeSettings: boolean | null;
|
|
19610
20419
|
tokenlessRepaymentsAllowed: boolean | null;
|
|
20420
|
+
liquidationLiquidatorFee: number | null;
|
|
20421
|
+
liquidationInsuranceFee: number | null;
|
|
20422
|
+
circuitBreakerEnabled: boolean | null;
|
|
20423
|
+
cbDeviationBpsTiers: number[] | null;
|
|
20424
|
+
cbTierDurationsSeconds: number[] | null;
|
|
20425
|
+
cbEscalationWindowMult: number | null;
|
|
20426
|
+
cbEmaAlphaBps: number | null;
|
|
20427
|
+
cbWindowSeconds: number | null;
|
|
20428
|
+
cbWindowMaxUpBps: number | null;
|
|
20429
|
+
cbWindowMaxDownBps: number | null;
|
|
19611
20430
|
}
|
|
19612
20431
|
interface BankConfigCompactRaw extends Omit<BankConfigRaw, "oracleKeys" | "oracleSetup" | "fixedPrice" | "interestRateConfig"> {
|
|
19613
20432
|
interestRateConfig: InterestRateConfigCompactRaw;
|
|
@@ -19629,6 +20448,8 @@ type OperationalStateRaw = {
|
|
|
19629
20448
|
uninitialized: {};
|
|
19630
20449
|
} | {
|
|
19631
20450
|
reduceOnlyWithBorrowingPower: {};
|
|
20451
|
+
} | {
|
|
20452
|
+
circuitBroken: {};
|
|
19632
20453
|
};
|
|
19633
20454
|
interface RatePointRaw {
|
|
19634
20455
|
util: number;
|