@0dotxyz/p0-ts-sdk 2.1.3 → 2.2.0-alpha.1

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.d.cts CHANGED
@@ -64,7 +64,7 @@ type Marginfi = {
64
64
  {
65
65
  name: "configureBankRateLimits";
66
66
  docs: [
67
- "(admin or delegate_limit_admin) Configure bank-level rate limits for withdraw/borrow.",
67
+ "(admin only) Configure bank-level rate limits for withdraw/borrow.",
68
68
  "Rate limits track net outflow in native tokens. Deposits offset withdraws.",
69
69
  "Set to 0 to disable. Hourly and daily windows are independent."
70
70
  ];
@@ -77,6 +77,7 @@ type Marginfi = {
77
77
  {
78
78
  name: "admin";
79
79
  signer: true;
80
+ relations: ["group"];
80
81
  },
81
82
  {
82
83
  name: "bank";
@@ -100,9 +101,7 @@ type Marginfi = {
100
101
  },
101
102
  {
102
103
  name: "configureDeleverageWithdrawalLimit";
103
- docs: [
104
- "(admin or delegate_limit_admin) Set the daily withdrawal limit for deleverages per group."
105
- ];
104
+ docs: ["(group admin only) Set the daily withdrawal limit for deleverages per group."];
106
105
  discriminator: [28, 132, 205, 158, 67, 77, 177, 63];
107
106
  accounts: [
108
107
  {
@@ -112,6 +111,7 @@ type Marginfi = {
112
111
  {
113
112
  name: "admin";
114
113
  signer: true;
114
+ relations: ["marginfiGroup"];
115
115
  }
116
116
  ];
117
117
  args: [
@@ -124,7 +124,7 @@ type Marginfi = {
124
124
  {
125
125
  name: "configureGroupRateLimits";
126
126
  docs: [
127
- "(admin or delegate_limit_admin) Configure group-level rate limits for withdraw/borrow.",
127
+ "(admin only) Configure group-level rate limits for withdraw/borrow.",
128
128
  "Rate limits track aggregate net outflow in USD.",
129
129
  "Example: $10M = 10_000_000. Set to 0 to disable."
130
130
  ];
@@ -137,6 +137,7 @@ type Marginfi = {
137
137
  {
138
138
  name: "admin";
139
139
  signer: true;
140
+ relations: ["marginfiGroup"];
140
141
  }
141
142
  ];
142
143
  args: [
@@ -164,6 +165,7 @@ type Marginfi = {
164
165
  accounts: [
165
166
  {
166
167
  name: "group";
168
+ writable: true;
167
169
  relations: ["marginfiAccount", "bank"];
168
170
  },
169
171
  {
@@ -751,6 +753,7 @@ type Marginfi = {
751
753
  accounts: [
752
754
  {
753
755
  name: "group";
756
+ writable: true;
754
757
  relations: ["marginfiAccount", "bank"];
755
758
  },
756
759
  {
@@ -1282,7 +1285,6 @@ type Marginfi = {
1282
1285
  accounts: [
1283
1286
  {
1284
1287
  name: "group";
1285
- writable: true;
1286
1288
  relations: ["marginfiAccount", "bank"];
1287
1289
  },
1288
1290
  {
@@ -1292,6 +1294,7 @@ type Marginfi = {
1292
1294
  {
1293
1295
  name: "authority";
1294
1296
  signer: true;
1297
+ relations: ["marginfiAccount"];
1295
1298
  },
1296
1299
  {
1297
1300
  name: "bank";
@@ -1581,6 +1584,7 @@ type Marginfi = {
1581
1584
  accounts: [
1582
1585
  {
1583
1586
  name: "group";
1587
+ writable: true;
1584
1588
  relations: ["marginfiAccount", "bank"];
1585
1589
  },
1586
1590
  {
@@ -1755,6 +1759,7 @@ type Marginfi = {
1755
1759
  accounts: [
1756
1760
  {
1757
1761
  name: "group";
1762
+ writable: true;
1758
1763
  relations: ["marginfiAccount", "bank"];
1759
1764
  },
1760
1765
  {
@@ -2283,6 +2288,7 @@ type Marginfi = {
2283
2288
  accounts: [
2284
2289
  {
2285
2290
  name: "group";
2291
+ writable: true;
2286
2292
  relations: ["marginfiAccount", "bank"];
2287
2293
  },
2288
2294
  {
@@ -2379,13 +2385,12 @@ type Marginfi = {
2379
2385
  relations: ["bank"];
2380
2386
  },
2381
2387
  {
2382
- name: "mint";
2388
+ name: "reserveLiquidityMint";
2383
2389
  docs: [
2384
2390
  "The liquidity token mint (e.g., USDC)",
2385
2391
  "Needs serde to get the mint decimals for transfer checked"
2386
2392
  ];
2387
2393
  writable: true;
2388
- relations: ["bank"];
2389
2394
  },
2390
2395
  {
2391
2396
  name: "reserveLiquiditySupply";
@@ -2460,6 +2465,7 @@ type Marginfi = {
2460
2465
  accounts: [
2461
2466
  {
2462
2467
  name: "group";
2468
+ writable: true;
2463
2469
  relations: ["marginfiAccount", "bank"];
2464
2470
  },
2465
2471
  {
@@ -2531,26 +2537,11 @@ type Marginfi = {
2531
2537
  ];
2532
2538
  },
2533
2539
  {
2534
- name: "lendingAccountClearEmissions";
2540
+ name: "lendingAccountCloseBalance";
2535
2541
  docs: [
2536
- "(permissionless) Zero out `emissions_outstanding` on a balance after emissions are disabled",
2537
- "on the bank."
2542
+ "(account authority) Close a balance position with dust-level amounts. Claims outstanding",
2543
+ "emissions before closing."
2538
2544
  ];
2539
- discriminator: [239, 4, 221, 98, 45, 167, 201, 244];
2540
- accounts: [
2541
- {
2542
- name: "marginfiAccount";
2543
- writable: true;
2544
- },
2545
- {
2546
- name: "bank";
2547
- }
2548
- ];
2549
- args: [];
2550
- },
2551
- {
2552
- name: "lendingAccountCloseBalance";
2553
- docs: ["(account authority) Close a balance position with dust-level amounts."];
2554
2545
  discriminator: [245, 54, 41, 4, 243, 202, 31, 17];
2555
2546
  accounts: [
2556
2547
  {
@@ -2582,6 +2573,7 @@ type Marginfi = {
2582
2573
  accounts: [
2583
2574
  {
2584
2575
  name: "group";
2576
+ writable: true;
2585
2577
  relations: ["marginfiAccount", "bank"];
2586
2578
  },
2587
2579
  {
@@ -2795,6 +2787,7 @@ type Marginfi = {
2795
2787
  accounts: [
2796
2788
  {
2797
2789
  name: "group";
2790
+ writable: true;
2798
2791
  relations: ["marginfiAccount", "bank"];
2799
2792
  },
2800
2793
  {
@@ -2841,6 +2834,24 @@ type Marginfi = {
2841
2834
  }
2842
2835
  ];
2843
2836
  },
2837
+ {
2838
+ name: "lendingAccountSettleEmissions";
2839
+ docs: [
2840
+ "(permissionless) Settle unclaimed emissions into a user's balance without withdrawing."
2841
+ ];
2842
+ discriminator: [161, 58, 136, 174, 242, 223, 156, 176];
2843
+ accounts: [
2844
+ {
2845
+ name: "marginfiAccount";
2846
+ writable: true;
2847
+ },
2848
+ {
2849
+ name: "bank";
2850
+ writable: true;
2851
+ }
2852
+ ];
2853
+ args: [];
2854
+ },
2844
2855
  {
2845
2856
  name: "lendingAccountStartFlashloan";
2846
2857
  docs: [
@@ -2881,6 +2892,7 @@ type Marginfi = {
2881
2892
  accounts: [
2882
2893
  {
2883
2894
  name: "group";
2895
+ writable: true;
2884
2896
  relations: ["marginfiAccount", "bank"];
2885
2897
  },
2886
2898
  {
@@ -2963,6 +2975,253 @@ type Marginfi = {
2963
2975
  }
2964
2976
  ];
2965
2977
  },
2978
+ {
2979
+ name: "lendingAccountWithdrawEmissions";
2980
+ docs: [
2981
+ "(account authority) Settle and withdraw emissions rewards to a destination token account."
2982
+ ];
2983
+ discriminator: [234, 22, 84, 214, 118, 176, 140, 170];
2984
+ accounts: [
2985
+ {
2986
+ name: "group";
2987
+ relations: ["marginfiAccount", "bank"];
2988
+ },
2989
+ {
2990
+ name: "marginfiAccount";
2991
+ writable: true;
2992
+ },
2993
+ {
2994
+ name: "authority";
2995
+ signer: true;
2996
+ },
2997
+ {
2998
+ name: "bank";
2999
+ writable: true;
3000
+ },
3001
+ {
3002
+ name: "emissionsMint";
3003
+ relations: ["bank"];
3004
+ },
3005
+ {
3006
+ name: "emissionsAuth";
3007
+ pda: {
3008
+ seeds: [
3009
+ {
3010
+ kind: "const";
3011
+ value: [
3012
+ 101,
3013
+ 109,
3014
+ 105,
3015
+ 115,
3016
+ 115,
3017
+ 105,
3018
+ 111,
3019
+ 110,
3020
+ 115,
3021
+ 95,
3022
+ 97,
3023
+ 117,
3024
+ 116,
3025
+ 104,
3026
+ 95,
3027
+ 115,
3028
+ 101,
3029
+ 101,
3030
+ 100
3031
+ ];
3032
+ },
3033
+ {
3034
+ kind: "account";
3035
+ path: "bank";
3036
+ },
3037
+ {
3038
+ kind: "account";
3039
+ path: "emissionsMint";
3040
+ }
3041
+ ];
3042
+ };
3043
+ },
3044
+ {
3045
+ name: "emissionsVault";
3046
+ writable: true;
3047
+ pda: {
3048
+ seeds: [
3049
+ {
3050
+ kind: "const";
3051
+ value: [
3052
+ 101,
3053
+ 109,
3054
+ 105,
3055
+ 115,
3056
+ 115,
3057
+ 105,
3058
+ 111,
3059
+ 110,
3060
+ 115,
3061
+ 95,
3062
+ 116,
3063
+ 111,
3064
+ 107,
3065
+ 101,
3066
+ 110,
3067
+ 95,
3068
+ 97,
3069
+ 99,
3070
+ 99,
3071
+ 111,
3072
+ 117,
3073
+ 110,
3074
+ 116,
3075
+ 95,
3076
+ 115,
3077
+ 101,
3078
+ 101,
3079
+ 100
3080
+ ];
3081
+ },
3082
+ {
3083
+ kind: "account";
3084
+ path: "bank";
3085
+ },
3086
+ {
3087
+ kind: "account";
3088
+ path: "emissionsMint";
3089
+ }
3090
+ ];
3091
+ };
3092
+ },
3093
+ {
3094
+ name: "destinationAccount";
3095
+ writable: true;
3096
+ },
3097
+ {
3098
+ name: "tokenProgram";
3099
+ }
3100
+ ];
3101
+ args: [];
3102
+ },
3103
+ {
3104
+ name: "lendingAccountWithdrawEmissionsPermissionless";
3105
+ docs: [
3106
+ "(permissionless) Withdraw emissions to the user's pre-configured emissions destination ATA."
3107
+ ];
3108
+ discriminator: [4, 174, 124, 203, 44, 49, 145, 150];
3109
+ accounts: [
3110
+ {
3111
+ name: "group";
3112
+ relations: ["marginfiAccount", "bank"];
3113
+ },
3114
+ {
3115
+ name: "marginfiAccount";
3116
+ writable: true;
3117
+ },
3118
+ {
3119
+ name: "bank";
3120
+ writable: true;
3121
+ },
3122
+ {
3123
+ name: "emissionsMint";
3124
+ relations: ["bank"];
3125
+ },
3126
+ {
3127
+ name: "emissionsAuth";
3128
+ pda: {
3129
+ seeds: [
3130
+ {
3131
+ kind: "const";
3132
+ value: [
3133
+ 101,
3134
+ 109,
3135
+ 105,
3136
+ 115,
3137
+ 115,
3138
+ 105,
3139
+ 111,
3140
+ 110,
3141
+ 115,
3142
+ 95,
3143
+ 97,
3144
+ 117,
3145
+ 116,
3146
+ 104,
3147
+ 95,
3148
+ 115,
3149
+ 101,
3150
+ 101,
3151
+ 100
3152
+ ];
3153
+ },
3154
+ {
3155
+ kind: "account";
3156
+ path: "bank";
3157
+ },
3158
+ {
3159
+ kind: "account";
3160
+ path: "emissionsMint";
3161
+ }
3162
+ ];
3163
+ };
3164
+ },
3165
+ {
3166
+ name: "emissionsVault";
3167
+ writable: true;
3168
+ pda: {
3169
+ seeds: [
3170
+ {
3171
+ kind: "const";
3172
+ value: [
3173
+ 101,
3174
+ 109,
3175
+ 105,
3176
+ 115,
3177
+ 115,
3178
+ 105,
3179
+ 111,
3180
+ 110,
3181
+ 115,
3182
+ 95,
3183
+ 116,
3184
+ 111,
3185
+ 107,
3186
+ 101,
3187
+ 110,
3188
+ 95,
3189
+ 97,
3190
+ 99,
3191
+ 99,
3192
+ 111,
3193
+ 117,
3194
+ 110,
3195
+ 116,
3196
+ 95,
3197
+ 115,
3198
+ 101,
3199
+ 101,
3200
+ 100
3201
+ ];
3202
+ },
3203
+ {
3204
+ kind: "account";
3205
+ path: "bank";
3206
+ },
3207
+ {
3208
+ kind: "account";
3209
+ path: "emissionsMint";
3210
+ }
3211
+ ];
3212
+ };
3213
+ },
3214
+ {
3215
+ name: "destinationAccount";
3216
+ docs: ["registered on `marginfi_account`"];
3217
+ writable: true;
3218
+ },
3219
+ {
3220
+ name: "tokenProgram";
3221
+ }
3222
+ ];
3223
+ args: [];
3224
+ },
2966
3225
  {
2967
3226
  name: "lendingPoolAccrueBankInterest";
2968
3227
  docs: [
@@ -5364,6 +5623,7 @@ type Marginfi = {
5364
5623
  accounts: [
5365
5624
  {
5366
5625
  name: "group";
5626
+ writable: true;
5367
5627
  relations: ["bank"];
5368
5628
  },
5369
5629
  {
@@ -5374,17 +5634,50 @@ type Marginfi = {
5374
5634
  args: [];
5375
5635
  },
5376
5636
  {
5377
- name: "lendingPoolReclaimEmissionsVault";
5378
- docs: [
5379
- "(permissionless) Reclaim all remaining tokens from the emissions vault",
5380
- "to the global fee wallet ATA, and disable emissions on the bank."
5637
+ name: "lendingPoolSetFixedOraclePrice";
5638
+ docs: ["(admin only)"];
5639
+ discriminator: [28, 126, 127, 127, 60, 37, 211, 125];
5640
+ accounts: [
5641
+ {
5642
+ name: "group";
5643
+ relations: ["bank"];
5644
+ },
5645
+ {
5646
+ name: "admin";
5647
+ signer: true;
5648
+ relations: ["group"];
5649
+ },
5650
+ {
5651
+ name: "bank";
5652
+ writable: true;
5653
+ }
5381
5654
  ];
5382
- discriminator: [206, 67, 186, 225, 41, 30, 95, 216];
5655
+ args: [
5656
+ {
5657
+ name: "price";
5658
+ type: {
5659
+ defined: {
5660
+ name: "wrappedI80f48";
5661
+ };
5662
+ };
5663
+ }
5664
+ ];
5665
+ },
5666
+ {
5667
+ name: "lendingPoolSetupEmissions";
5668
+ docs: ["(delegate_emissions_admin only)"];
5669
+ discriminator: [206, 97, 120, 172, 113, 204, 169, 70];
5383
5670
  accounts: [
5384
5671
  {
5385
5672
  name: "group";
5386
5673
  relations: ["bank"];
5387
5674
  },
5675
+ {
5676
+ name: "delegateEmissionsAdmin";
5677
+ writable: true;
5678
+ signer: true;
5679
+ relations: ["group"];
5680
+ },
5388
5681
  {
5389
5682
  name: "bank";
5390
5683
  writable: true;
@@ -5432,7 +5725,7 @@ type Marginfi = {
5432
5725
  };
5433
5726
  },
5434
5727
  {
5435
- name: "emissionsVault";
5728
+ name: "emissionsTokenAccount";
5436
5729
  writable: true;
5437
5730
  pda: {
5438
5731
  seeds: [
@@ -5481,53 +5774,129 @@ type Marginfi = {
5481
5774
  };
5482
5775
  },
5483
5776
  {
5484
- name: "feeState";
5485
- pda: {
5486
- seeds: [
5487
- {
5488
- kind: "const";
5489
- value: [102, 101, 101, 115, 116, 97, 116, 101];
5490
- }
5491
- ];
5492
- };
5493
- },
5494
- {
5495
- name: "destinationAccount";
5496
- docs: ["emissions mint (validated in handler)."];
5777
+ name: "emissionsFundingAccount";
5778
+ docs: ["NOTE: This is a TokenAccount, spl transfer will validate it.", ""];
5497
5779
  writable: true;
5498
5780
  },
5499
5781
  {
5500
5782
  name: "tokenProgram";
5783
+ },
5784
+ {
5785
+ name: "systemProgram";
5786
+ address: "11111111111111111111111111111111";
5787
+ }
5788
+ ];
5789
+ args: [
5790
+ {
5791
+ name: "flags";
5792
+ type: "u64";
5793
+ },
5794
+ {
5795
+ name: "rate";
5796
+ type: "u64";
5797
+ },
5798
+ {
5799
+ name: "totalEmissions";
5800
+ type: "u64";
5501
5801
  }
5502
5802
  ];
5503
- args: [];
5504
5803
  },
5505
5804
  {
5506
- name: "lendingPoolSetFixedOraclePrice";
5507
- docs: ["(admin only)"];
5508
- discriminator: [28, 126, 127, 127, 60, 37, 211, 125];
5805
+ name: "lendingPoolUpdateEmissionsParameters";
5806
+ docs: ["(delegate_emissions_admin only)"];
5807
+ discriminator: [55, 213, 224, 168, 153, 53, 197, 40];
5509
5808
  accounts: [
5510
5809
  {
5511
5810
  name: "group";
5512
5811
  relations: ["bank"];
5513
5812
  },
5514
5813
  {
5515
- name: "admin";
5814
+ name: "delegateEmissionsAdmin";
5815
+ writable: true;
5516
5816
  signer: true;
5517
5817
  relations: ["group"];
5518
5818
  },
5519
5819
  {
5520
5820
  name: "bank";
5521
5821
  writable: true;
5822
+ },
5823
+ {
5824
+ name: "emissionsMint";
5825
+ },
5826
+ {
5827
+ name: "emissionsTokenAccount";
5828
+ writable: true;
5829
+ pda: {
5830
+ seeds: [
5831
+ {
5832
+ kind: "const";
5833
+ value: [
5834
+ 101,
5835
+ 109,
5836
+ 105,
5837
+ 115,
5838
+ 115,
5839
+ 105,
5840
+ 111,
5841
+ 110,
5842
+ 115,
5843
+ 95,
5844
+ 116,
5845
+ 111,
5846
+ 107,
5847
+ 101,
5848
+ 110,
5849
+ 95,
5850
+ 97,
5851
+ 99,
5852
+ 99,
5853
+ 111,
5854
+ 117,
5855
+ 110,
5856
+ 116,
5857
+ 95,
5858
+ 115,
5859
+ 101,
5860
+ 101,
5861
+ 100
5862
+ ];
5863
+ },
5864
+ {
5865
+ kind: "account";
5866
+ path: "bank";
5867
+ },
5868
+ {
5869
+ kind: "account";
5870
+ path: "emissionsMint";
5871
+ }
5872
+ ];
5873
+ };
5874
+ },
5875
+ {
5876
+ name: "emissionsFundingAccount";
5877
+ writable: true;
5878
+ },
5879
+ {
5880
+ name: "tokenProgram";
5522
5881
  }
5523
5882
  ];
5524
5883
  args: [
5525
5884
  {
5526
- name: "price";
5885
+ name: "emissionsFlags";
5886
+ type: {
5887
+ option: "u64";
5888
+ };
5889
+ },
5890
+ {
5891
+ name: "emissionsRate";
5892
+ type: {
5893
+ option: "u64";
5894
+ };
5895
+ },
5896
+ {
5897
+ name: "additionalEmissions";
5527
5898
  type: {
5528
- defined: {
5529
- name: "wrappedI80f48";
5530
- };
5899
+ option: "u64";
5531
5900
  };
5532
5901
  }
5533
5902
  ];
@@ -6035,7 +6404,7 @@ type Marginfi = {
6035
6404
  name: "marginfiAccountKeeperCloseOrder";
6036
6405
  docs: [
6037
6406
  "(permissionless keeper) Close an existing Order after the user account was closed, or it no",
6038
- "longer has the associated positions, or the user has executed",
6407
+ "longer as the associated positions, or the user has executed",
6039
6408
  "`marginfi_account_set_keeper_close_flags`. Keeper keeps the rent."
6040
6409
  ];
6041
6410
  discriminator: [128, 114, 71, 46, 194, 71, 186, 106];
@@ -6261,7 +6630,8 @@ type Marginfi = {
6261
6630
  {
6262
6631
  name: "marginfiAccountUpdateEmissionsDestinationAccount";
6263
6632
  docs: [
6264
- "(account authority) Set the wallet whose canonical ATA will receive off-chain emissions."
6633
+ "(account authority) Set the wallet whose canonical ATA will receive permissionless emissions",
6634
+ "withdrawals."
6265
6635
  ];
6266
6636
  discriminator: [73, 185, 162, 201, 111, 24, 116, 185];
6267
6637
  accounts: [
@@ -6272,10 +6642,11 @@ type Marginfi = {
6272
6642
  {
6273
6643
  name: "authority";
6274
6644
  signer: true;
6645
+ relations: ["marginfiAccount"];
6275
6646
  },
6276
6647
  {
6277
6648
  name: "destinationAccount";
6278
- docs: ["the canonical ATA for each emissions mint."];
6649
+ docs: ["User's earned emissions will be sent to the canonical ATA of this wallet.", ""];
6279
6650
  }
6280
6651
  ];
6281
6652
  args: [];
@@ -6324,12 +6695,6 @@ type Marginfi = {
6324
6695
  option: "pubkey";
6325
6696
  };
6326
6697
  },
6327
- {
6328
- name: "newFlowAdmin";
6329
- type: {
6330
- option: "pubkey";
6331
- };
6332
- },
6333
6698
  {
6334
6699
  name: "newEmissionsAdmin";
6335
6700
  type: {
@@ -6578,6 +6943,7 @@ type Marginfi = {
6578
6943
  accounts: [
6579
6944
  {
6580
6945
  name: "group";
6946
+ writable: true;
6581
6947
  relations: ["marginfiAccount", "bank"];
6582
6948
  },
6583
6949
  {
@@ -6899,6 +7265,7 @@ type Marginfi = {
6899
7265
  accounts: [
6900
7266
  {
6901
7267
  name: "group";
7268
+ writable: true;
6902
7269
  relations: ["marginfiAccount", "bank"];
6903
7270
  },
6904
7271
  {
@@ -7238,91 +7605,6 @@ type Marginfi = {
7238
7605
  }
7239
7606
  ];
7240
7607
  },
7241
- {
7242
- name: "updateDeleverageWithdrawals";
7243
- docs: [
7244
- "(delegate_flow_admin only) Update the deleverage daily withdraw outflow with",
7245
- "aggregated data. The delegate flow admin aggregates",
7246
- "`DeleverageWithdrawFlowEvent` events off-chain and calls this instruction at intervals."
7247
- ];
7248
- discriminator: [56, 3, 181, 118, 27, 247, 207, 227];
7249
- accounts: [
7250
- {
7251
- name: "marginfiGroup";
7252
- writable: true;
7253
- },
7254
- {
7255
- name: "delegateFlowAdmin";
7256
- signer: true;
7257
- relations: ["marginfiGroup"];
7258
- }
7259
- ];
7260
- args: [
7261
- {
7262
- name: "outflowUsd";
7263
- type: "u32";
7264
- },
7265
- {
7266
- name: "updateSeq";
7267
- type: "u64";
7268
- },
7269
- {
7270
- name: "eventStartSlot";
7271
- type: "u64";
7272
- },
7273
- {
7274
- name: "eventEndSlot";
7275
- type: "u64";
7276
- }
7277
- ];
7278
- },
7279
- {
7280
- name: "updateGroupRateLimiter";
7281
- docs: [
7282
- "(delegate_flow_admin only) Update the group rate limiter with aggregated",
7283
- "inflow/outflow. The delegate flow admin aggregates",
7284
- "`RateLimitFlowEvent` events off-chain, converts to USD, and calls this instruction at",
7285
- "intervals to update group rate limiter state."
7286
- ];
7287
- discriminator: [23, 78, 60, 139, 187, 44, 129, 37];
7288
- accounts: [
7289
- {
7290
- name: "marginfiGroup";
7291
- writable: true;
7292
- },
7293
- {
7294
- name: "delegateFlowAdmin";
7295
- signer: true;
7296
- relations: ["marginfiGroup"];
7297
- }
7298
- ];
7299
- args: [
7300
- {
7301
- name: "outflowUsd";
7302
- type: {
7303
- option: "u64";
7304
- };
7305
- },
7306
- {
7307
- name: "inflowUsd";
7308
- type: {
7309
- option: "u64";
7310
- };
7311
- },
7312
- {
7313
- name: "updateSeq";
7314
- type: "u64";
7315
- },
7316
- {
7317
- name: "eventStartSlot";
7318
- type: "u64";
7319
- },
7320
- {
7321
- name: "eventEndSlot";
7322
- type: "u64";
7323
- }
7324
- ];
7325
- },
7326
7608
  {
7327
7609
  name: "writeBankMetadata";
7328
7610
  docs: [
@@ -7433,10 +7715,6 @@ type Marginfi = {
7433
7715
  name: "deleverageEvent";
7434
7716
  discriminator: [161, 8, 108, 204, 209, 198, 12, 30];
7435
7717
  },
7436
- {
7437
- name: "deleverageWithdrawFlowEvent";
7438
- discriminator: [109, 90, 139, 200, 10, 204, 84, 176];
7439
- },
7440
7718
  {
7441
7719
  name: "editStakedSettingsEvent";
7442
7720
  discriminator: [29, 58, 155, 191, 75, 220, 145, 206];
@@ -7533,10 +7811,6 @@ type Marginfi = {
7533
7811
  name: "marginfiGroupCreateEvent";
7534
7812
  discriminator: [233, 125, 61, 14, 98, 240, 136, 253];
7535
7813
  },
7536
- {
7537
- name: "rateLimitFlowEvent";
7538
- discriminator: [229, 5, 73, 200, 0, 107, 105, 109];
7539
- },
7540
7814
  {
7541
7815
  name: "setKeeperCloseFlagsEvent";
7542
7816
  discriminator: [193, 230, 93, 128, 117, 87, 96, 21];
@@ -8143,66 +8417,6 @@ type Marginfi = {
8143
8417
  name: "invalidRateLimitPrice";
8144
8418
  msg: "Invalid rate limit price: pass oracle or pre-crank cache";
8145
8419
  },
8146
- {
8147
- code: 6120;
8148
- name: "groupRateLimiterUpdateEmpty";
8149
- msg: "Group rate limiter admin update must include inflow and/or outflow";
8150
- },
8151
- {
8152
- code: 6121;
8153
- name: "groupRateLimiterUpdateInvalidSlotRange";
8154
- msg: "Group rate limiter admin update slot range is invalid";
8155
- },
8156
- {
8157
- code: 6122;
8158
- name: "groupRateLimiterUpdateFutureSlot";
8159
- msg: "Group rate limiter admin update cannot reference future slots";
8160
- },
8161
- {
8162
- code: 6123;
8163
- name: "groupRateLimiterUpdateStale";
8164
- msg: "Group rate limiter admin update is too stale";
8165
- },
8166
- {
8167
- code: 6124;
8168
- name: "groupRateLimiterUpdateOutOfOrderSlot";
8169
- msg: "Group rate limiter admin update slot progression is out of order";
8170
- },
8171
- {
8172
- code: 6125;
8173
- name: "groupRateLimiterUpdateOutOfOrderSeq";
8174
- msg: "Group rate limiter admin update sequence is out of order";
8175
- },
8176
- {
8177
- code: 6126;
8178
- name: "deleverageWithdrawalUpdateEmpty";
8179
- msg: "Deleverage withdrawal admin update must include outflow";
8180
- },
8181
- {
8182
- code: 6127;
8183
- name: "deleverageWithdrawalUpdateInvalidSlotRange";
8184
- msg: "Deleverage withdrawal admin update slot range is invalid";
8185
- },
8186
- {
8187
- code: 6128;
8188
- name: "deleverageWithdrawalUpdateFutureSlot";
8189
- msg: "Deleverage withdrawal admin update cannot reference future slots";
8190
- },
8191
- {
8192
- code: 6129;
8193
- name: "deleverageWithdrawalUpdateStale";
8194
- msg: "Deleverage withdrawal admin update is too stale";
8195
- },
8196
- {
8197
- code: 6130;
8198
- name: "deleverageWithdrawalUpdateOutOfOrderSlot";
8199
- msg: "Deleverage withdrawal admin update slot progression is out of order";
8200
- },
8201
- {
8202
- code: 6131;
8203
- name: "deleverageWithdrawalUpdateOutOfOrderSeq";
8204
- msg: "Deleverage withdrawal admin update sequence is out of order";
8205
- },
8206
8420
  {
8207
8421
  code: 6200;
8208
8422
  name: "wrongAssetTagForStandardInstructions";
@@ -9008,7 +9222,7 @@ type Marginfi = {
9008
9222
  {
9009
9223
  name: "pad0";
9010
9224
  type: {
9011
- array: ["u8", 16];
9225
+ array: ["u8", 8];
9012
9226
  };
9013
9227
  },
9014
9228
  {
@@ -9126,10 +9340,8 @@ type Marginfi = {
9126
9340
  "Liquidate as an additional safeguard, if the liquidation prices stored here were to be",
9127
9341
  "edited between start and end, it would completely break the risk engine. End validates that",
9128
9342
  "the lock is set, panics if not, and removes it - which prevents footguns if the cache was",
9129
- "e.g. accidently set to default. The lock is also removed when a Balance is closed via",
9130
- "withdraw_all, repay_all, or close_balance, but only when the account has",
9131
- "ACCOUNT_IN_RECEIVERSHIP set, so that operations on unrelated accounts sharing the same",
9132
- "bank do not interfere with an in-progress liquidation."
9343
+ "e.g. accidently set to default. The lock is also removed when a Balance is closed with",
9344
+ "repay_all or withdraw_all, since those Balances can be omitted from the risk check at End."
9133
9345
  ];
9134
9346
  type: "u8";
9135
9347
  },
@@ -9772,6 +9984,16 @@ type Marginfi = {
9772
9984
  name: "rateLimitWindow";
9773
9985
  };
9774
9986
  };
9987
+ },
9988
+ {
9989
+ name: "untrackedInflow";
9990
+ docs: [
9991
+ "Native token inflows pending USD conversion for group rate limiter.",
9992
+ "When deposits/repays occur without a valid oracle price, the amount is",
9993
+ "recorded here and later applied to the group rate limiter when a valid",
9994
+ "price becomes available (e.g., during pulse_bank_price_cache or outflow operations)."
9995
+ ];
9996
+ type: "i64";
9775
9997
  }
9776
9998
  ];
9777
9999
  };
@@ -9800,41 +10022,6 @@ type Marginfi = {
9800
10022
  ];
9801
10023
  };
9802
10024
  },
9803
- {
9804
- name: "deleverageWithdrawFlowEvent";
9805
- docs: [
9806
- "Emitted for deleverage-only withdraw outflows.",
9807
- "The delegate flow admin aggregates these off-chain and",
9808
- "updates the deleverage daily withdraws via `update_deleverage_withdrawals`."
9809
- ];
9810
- type: {
9811
- kind: "struct";
9812
- fields: [
9813
- {
9814
- name: "group";
9815
- type: "pubkey";
9816
- },
9817
- {
9818
- name: "bank";
9819
- type: "pubkey";
9820
- },
9821
- {
9822
- name: "mint";
9823
- type: "pubkey";
9824
- },
9825
- {
9826
- name: "outflowUsd";
9827
- docs: ["Equity-denominated outflow value in USD, rounded to integer."];
9828
- type: "u32";
9829
- },
9830
- {
9831
- name: "currentTimestamp";
9832
- docs: ["Unix timestamp when the flow was recorded"];
9833
- type: "i64";
9834
- }
9835
- ];
9836
- };
9837
- },
9838
10025
  {
9839
10026
  name: "driftConfigCompact";
9840
10027
  docs: [
@@ -11141,7 +11328,7 @@ type Marginfi = {
11141
11328
  "(i.e. no implicit padding). This is important because `Pubkey` has alignment=1 while `u64`",
11142
11329
  "has alignment=8; using plain `repr(C)` would insert padding before the first `u64`."
11143
11330
  ];
11144
- serialization: "bytemuck";
11331
+ serialization: "bytemuckunsafe";
11145
11332
  repr: {
11146
11333
  kind: "c";
11147
11334
  packed: true;
@@ -11988,7 +12175,12 @@ type Marginfi = {
11988
12175
  },
11989
12176
  {
11990
12177
  name: "emissionsDestinationAccount";
11991
- docs: ["Wallet whose canonical ATA receives off-chain emissions distributions."];
12178
+ docs: [
12179
+ "Set with `update_emissions_destination_account`. Emissions rewards can be withdrawn to the",
12180
+ "canonical ATA of this wallet without the user's input (withdraw_emissions_permissionless).",
12181
+ "If pubkey default, the user has not opted into this feature, and must claim emissions",
12182
+ "manually (withdraw_emissions)."
12183
+ ];
11992
12184
  type: "pubkey";
11993
12185
  },
11994
12186
  {
@@ -12259,7 +12451,7 @@ type Marginfi = {
12259
12451
  name: "emodeAdmin";
12260
12452
  docs: [
12261
12453
  "This admin can configure collateral ratios above (but not below) the collateral ratio of",
12262
- "certain banks, e.g. allow SOL to count as 90% collateral when borrowing an LST instead of",
12454
+ "certain banks , e.g. allow SOL to count as 90% collateral when borrowing an LST instead of",
12263
12455
  "the default rate."
12264
12456
  ];
12265
12457
  type: "pubkey";
@@ -12360,40 +12552,6 @@ type Marginfi = {
12360
12552
  };
12361
12553
  };
12362
12554
  },
12363
- {
12364
- name: "rateLimiterLastAdminUpdateSlot";
12365
- docs: ["Last slot covered by an admin group rate limiter aggregation update."];
12366
- type: "u64";
12367
- },
12368
- {
12369
- name: "rateLimiterLastAdminUpdateSeq";
12370
- docs: [
12371
- "Monotonic sequence number for admin group rate limiter updates.",
12372
- "This is used to enforce strict ordering and prevent duplicate/replayed batches",
12373
- "when slot ranges overlap or multiple updates happen in the same slot."
12374
- ];
12375
- type: "u64";
12376
- },
12377
- {
12378
- name: "deleverageWithdrawLastAdminUpdateSlot";
12379
- docs: ["Last slot covered by an admin deleverage withdraw-limit aggregation update."];
12380
- type: "u64";
12381
- },
12382
- {
12383
- name: "deleverageWithdrawLastAdminUpdateSeq";
12384
- docs: ["Monotonic sequence number for admin deleverage withdraw-limit updates."];
12385
- type: "u64";
12386
- },
12387
- {
12388
- name: "delegateFlowAdmin";
12389
- docs: [
12390
- "Can modify flow-control status for the group, i.e. update the withdraw caches with flow",
12391
- "information from banks. Typically this is a hot wallet that lives in e.g. some cron job. If",
12392
- "compromised, flow control can be effectively disabled until the admin is restored, which",
12393
- "does not itself compromise any funds, and is merely annoying."
12394
- ];
12395
- type: "pubkey";
12396
- },
12397
12555
  {
12398
12556
  name: "padding0";
12399
12557
  type: {
@@ -12401,7 +12559,7 @@ type Marginfi = {
12401
12559
  {
12402
12560
  array: ["u64", 2];
12403
12561
  },
12404
- 2
12562
+ 6
12405
12563
  ];
12406
12564
  };
12407
12565
  },
@@ -13512,50 +13670,6 @@ type Marginfi = {
13512
13670
  ];
13513
13671
  };
13514
13672
  },
13515
- {
13516
- name: "rateLimitFlowEvent";
13517
- docs: [
13518
- "Emitted when a bank-level inflow or outflow is recorded.",
13519
- "The delegate flow admin aggregates these off-chain and",
13520
- "updates the group rate limiter via `update_group_rate_limiter`."
13521
- ];
13522
- type: {
13523
- kind: "struct";
13524
- fields: [
13525
- {
13526
- name: "group";
13527
- type: "pubkey";
13528
- },
13529
- {
13530
- name: "bank";
13531
- type: "pubkey";
13532
- },
13533
- {
13534
- name: "mint";
13535
- type: "pubkey";
13536
- },
13537
- {
13538
- name: "flowDirection";
13539
- docs: ["0 = outflow (withdraw/borrow), 1 = inflow (deposit/repay)"];
13540
- type: "u8";
13541
- },
13542
- {
13543
- name: "nativeAmount";
13544
- docs: ["Amount in native tokens"];
13545
- type: "u64";
13546
- },
13547
- {
13548
- name: "mintDecimals";
13549
- type: "u8";
13550
- },
13551
- {
13552
- name: "currentTimestamp";
13553
- docs: ["Unix timestamp when the flow was recorded"];
13554
- type: "i64";
13555
- }
13556
- ];
13557
- };
13558
- },
13559
13673
  {
13560
13674
  name: "rateLimitWindow";
13561
13675
  docs: [
@@ -14736,8 +14850,6 @@ interface BankType {
14736
14850
  group: PublicKey;
14737
14851
  mint: PublicKey;
14738
14852
  mintDecimals: number;
14739
- mintRate: number | null;
14740
- mintPrice: number;
14741
14853
  assetShareValue: BigNumber$1;
14742
14854
  liabilityShareValue: BigNumber$1;
14743
14855
  liquidityVault: PublicKey;
@@ -15094,10 +15206,7 @@ interface BankMetadata$2 {
15094
15206
  tokenName: string;
15095
15207
  tokenSymbol: string;
15096
15208
  }
15097
- declare function parseBankRaw(address: PublicKey, accountParsed: BankRaw, bankMetadata?: BankMetadata$2, mintData?: {
15098
- mintRate: number | null;
15099
- mintPrice: number;
15100
- }): BankType;
15209
+ declare function parseBankRaw(address: PublicKey, accountParsed: BankRaw, bankMetadata?: BankMetadata$2): BankType;
15101
15210
  declare function dtoToBank(bankDto: BankTypeDto): BankType;
15102
15211
  declare function dtoToEmodeSettings(emodeSettingsDto: EmodeSettingsDto): EmodeSettingsType;
15103
15212
  declare function dtoToBankConfig(bankConfigDto: BankConfigDto): BankConfigType;
@@ -15961,6 +16070,35 @@ interface MakeSetupIxParams {
15961
16070
  tokenProgram: PublicKey;
15962
16071
  }[];
15963
16072
  }
16073
+ interface MakeMintStakedLstIxParams {
16074
+ amount: Amount;
16075
+ authority: PublicKey;
16076
+ stakeAccountPk: PublicKey;
16077
+ validator: PublicKey;
16078
+ connection: Connection;
16079
+ }
16080
+ interface MakeMintStakedLstTxParams extends MakeMintStakedLstIxParams {
16081
+ luts: AddressLookupTableAccount[];
16082
+ blockhash?: string;
16083
+ }
16084
+ interface MakeRedeemStakedLstIxParams {
16085
+ amount: Amount;
16086
+ authority: PublicKey;
16087
+ validator: PublicKey;
16088
+ connection: Connection;
16089
+ }
16090
+ interface MakeRedeemStakedLstTxParams extends MakeRedeemStakedLstIxParams {
16091
+ luts: AddressLookupTableAccount[];
16092
+ blockhash?: string;
16093
+ }
16094
+ interface MakeMergeStakeAccountsTxParams {
16095
+ authority: PublicKey;
16096
+ sourceStakeAccount: PublicKey;
16097
+ destinationStakeAccount: PublicKey;
16098
+ connection: Connection;
16099
+ luts: AddressLookupTableAccount[];
16100
+ blockhash?: string;
16101
+ }
15964
16102
 
15965
16103
  /**
15966
16104
  * A combination of banks that need to be cranked
@@ -17614,7 +17752,7 @@ declare function makeFlashLoanTx({ program, marginfiAccount, ixs, bankMap, block
17614
17752
  /**
17615
17753
  * @deprecated Rewards are now distributed offchain. If you wish to get access to emission data, please reach out.
17616
17754
  */
17617
- declare function makeClearEmissionsIx(program: MarginfiProgram, marginfiAccount: MarginfiAccountType, banks: Map<string, BankType>, bankAddress: PublicKey): Promise<InstructionsWrapper>;
17755
+ declare function makeWithdrawEmissionsIx(program: MarginfiProgram, marginfiAccount: MarginfiAccountType, banks: Map<string, BankType>, mintDatas: Map<string, MintData>, bankAddress: PublicKey): Promise<InstructionsWrapper>;
17618
17756
 
17619
17757
  /**
17620
17758
  * Creates transactions to swap one collateral position to another using a flash loan.
@@ -17666,6 +17804,43 @@ declare function makeSwapDebtTx(params: MakeSwapDebtTxParams): Promise<{
17666
17804
  quoteResponse: QuoteResponse | undefined;
17667
17805
  }>;
17668
17806
 
17807
+ /**
17808
+ * Creates instructions to convert a native stake account into LST tokens.
17809
+ *
17810
+ * Steps:
17811
+ * 1. Create LST ATA if needed
17812
+ * 2. Split stake account if partial amount
17813
+ * 3. Authorize staker + withdrawer to pool
17814
+ * 4. Deposit stake into pool → user receives LST
17815
+ */
17816
+ declare function makeMintStakedLstIx(params: MakeMintStakedLstIxParams): Promise<InstructionsWrapper>;
17817
+ /**
17818
+ * Creates a versioned transaction to convert a native stake account into LST tokens.
17819
+ */
17820
+ declare function makeMintStakedLstTx(params: MakeMintStakedLstTxParams): Promise<ExtendedV0Transaction>;
17821
+
17822
+ /**
17823
+ * Creates instructions to convert LST tokens back to a native stake account.
17824
+ *
17825
+ * Steps:
17826
+ * 1. Create new stake account (rent-exempt)
17827
+ * 2. Approve pool mint authority to burn LST
17828
+ * 3. Withdraw stake from pool → user receives stake account
17829
+ */
17830
+ declare function makeRedeemStakedLstIx(params: MakeRedeemStakedLstIxParams): Promise<InstructionsWrapper>;
17831
+ /**
17832
+ * Creates a versioned transaction to convert LST tokens back to a native stake account.
17833
+ */
17834
+ declare function makeRedeemStakedLstTx(params: MakeRedeemStakedLstTxParams): Promise<ExtendedV0Transaction>;
17835
+
17836
+ /**
17837
+ * Creates a versioned transaction to merge two stake accounts.
17838
+ *
17839
+ * The source stake account will be merged into the destination stake account.
17840
+ * Both accounts must share the same authorized staker/withdrawer and vote account.
17841
+ */
17842
+ declare function makeMergeStakeAccountsTx(params: MakeMergeStakeAccountsTxParams): Promise<ExtendedV0Transaction>;
17843
+
17669
17844
  type MakeSmartCrankSwbFeedIxParams = {
17670
17845
  marginfiAccount: MarginfiAccountType;
17671
17846
  bankMap: Map<string, BankType>;
@@ -18464,6 +18639,30 @@ declare function validatorStakeGroupToDto(validatorStakeGroup: ValidatorStakeGro
18464
18639
 
18465
18640
  declare function dtoToValidatorStakeGroup(validatorStakeGroupDto: ValidatorStakeGroupDto): ValidatorStakeGroup;
18466
18641
 
18642
+ /**
18643
+ * Metadata for a staked bank entry.
18644
+ * Sourced from hardcoded JSON — update via `metadata.data.ts` until dynamic fetching is implemented.
18645
+ */
18646
+ interface StakedBankMetadata {
18647
+ bankAddress: string;
18648
+ validatorVoteAccount: string;
18649
+ tokenAddress: string;
18650
+ tokenName: string;
18651
+ tokenSymbol: string;
18652
+ }
18653
+ /**
18654
+ * Returns a Map of bankAddress → StakedBankMetadata (lazy-cached).
18655
+ *
18656
+ * @remarks Uses hardcoded data. TODO: Replace with dynamic API fetch.
18657
+ */
18658
+ declare function getStakedBankMetadataMap(): Map<string, StakedBankMetadata>;
18659
+ /**
18660
+ * Returns a Record of bankAddress → validatorVoteAccount (lazy-cached).
18661
+ *
18662
+ * @remarks Uses hardcoded data. TODO: Replace with dynamic API fetch.
18663
+ */
18664
+ declare function getValidatorVoteAccountByBank(): Record<string, string>;
18665
+
18467
18666
  /**
18468
18667
  * Temporary Module for Functions Pending Refactoring
18469
18668
  *
@@ -18699,8 +18898,6 @@ declare class Bank implements BankType {
18699
18898
  readonly mint: PublicKey;
18700
18899
  readonly mintDecimals: number;
18701
18900
  readonly group: PublicKey;
18702
- readonly mintRate: number | null;
18703
- readonly mintPrice: number;
18704
18901
  readonly assetShareValue: BigNumber$1;
18705
18902
  readonly liabilityShareValue: BigNumber$1;
18706
18903
  readonly liquidityVault: PublicKey;
@@ -18747,7 +18944,7 @@ declare class Bank implements BankType {
18747
18944
  readonly lendingPositionCount?: BigNumber$1 | undefined;
18748
18945
  readonly borrowingPositionCount?: BigNumber$1 | undefined;
18749
18946
  readonly tokenSymbol?: string | undefined;
18750
- constructor(address: PublicKey, mint: PublicKey, mintDecimals: number, group: PublicKey, mintRate: number | null, mintPrice: number, assetShareValue: BigNumber$1, liabilityShareValue: BigNumber$1, liquidityVault: PublicKey, liquidityVaultBump: number, liquidityVaultAuthorityBump: number, insuranceVault: PublicKey, insuranceVaultBump: number, insuranceVaultAuthorityBump: number, collectedInsuranceFeesOutstanding: BigNumber$1, feeVault: PublicKey, feeVaultBump: number, feeVaultAuthorityBump: number, collectedGroupFeesOutstanding: BigNumber$1, lastUpdate: number, config: BankConfig, totalAssetShares: BigNumber$1, totalLiabilityShares: BigNumber$1, emissionsActiveBorrowing: boolean, emissionsActiveLending: boolean, emissionsRate: number, emissionsMint: PublicKey, emissionsRemaining: BigNumber$1, oracleKey: PublicKey, emode: EmodeSettings, kaminoIntegrationAccounts?: {
18947
+ constructor(address: PublicKey, mint: PublicKey, mintDecimals: number, group: PublicKey, assetShareValue: BigNumber$1, liabilityShareValue: BigNumber$1, liquidityVault: PublicKey, liquidityVaultBump: number, liquidityVaultAuthorityBump: number, insuranceVault: PublicKey, insuranceVaultBump: number, insuranceVaultAuthorityBump: number, collectedInsuranceFeesOutstanding: BigNumber$1, feeVault: PublicKey, feeVaultBump: number, feeVaultAuthorityBump: number, collectedGroupFeesOutstanding: BigNumber$1, lastUpdate: number, config: BankConfig, totalAssetShares: BigNumber$1, totalLiabilityShares: BigNumber$1, emissionsActiveBorrowing: boolean, emissionsActiveLending: boolean, emissionsRate: number, emissionsMint: PublicKey, emissionsRemaining: BigNumber$1, oracleKey: PublicKey, emode: EmodeSettings, kaminoIntegrationAccounts?: {
18751
18948
  kaminoReserve: PublicKey;
18752
18949
  kaminoObligation: PublicKey;
18753
18950
  } | undefined, driftIntegrationAccounts?: {
@@ -19578,13 +19775,14 @@ declare class MarginfiAccount implements MarginfiAccountType {
19578
19775
  *
19579
19776
  * @param program - The Marginfi program instance
19580
19777
  * @param banks - Map of all available banks
19581
- * @param bankAddress - The bank to clear emissions for
19778
+ * @param mintDatas - Map of mint data for token programs
19779
+ * @param bankAddress - The bank to withdraw emissions from
19582
19780
  *
19583
- * @returns Promise resolving to InstructionsWrapper containing the clear emissions instructions
19781
+ * @returns Promise resolving to InstructionsWrapper containing the withdraw emissions instructions
19584
19782
  *
19585
- * @see {@link makeClearEmissionsIx} for implementation
19783
+ * @see {@link makeWithdrawEmissionsIx} for implementation
19586
19784
  */
19587
- makeClearEmissionsIx(program: MarginfiProgram, banks: Map<string, Bank>, bankAddress: PublicKey): Promise<InstructionsWrapper>;
19785
+ makeWithdrawEmissionsIx(program: MarginfiProgram, banks: Map<string, Bank>, mintDatas: Map<string, MintData>, bankAddress: PublicKey): Promise<InstructionsWrapper>;
19588
19786
  /**
19589
19787
  * Creates an instruction to begin a flash loan.
19590
19788
  *
@@ -20087,11 +20285,11 @@ declare class MarginfiAccountWrapper {
20087
20285
  */
20088
20286
  makeBorrowIx(bankAddress: PublicKey, amount: Amount, opts?: MakeBorrowIxOpts): Promise<InstructionsWrapper>;
20089
20287
  /**
20090
- * Creates a clear emissions instruction with auto-injected client data.
20288
+ * Creates a withdraw emissions instruction with auto-injected client data.
20091
20289
  *
20092
- * @param bankAddress - Bank address to clear emissions for
20290
+ * @param bankAddress - Bank address to withdraw emissions from
20093
20291
  */
20094
- makeClearEmissionsIx(bankAddress: PublicKey): Promise<InstructionsWrapper>;
20292
+ makeWithdrawEmissionsIx(bankAddress: PublicKey): Promise<InstructionsWrapper>;
20095
20293
  /**
20096
20294
  * Creates a begin flash loan instruction.
20097
20295
  *
@@ -20374,6 +20572,35 @@ declare class MarginfiAccountWrapper {
20374
20572
  * @param excludedBanks - Array of excluded bank public keys (default: [])
20375
20573
  */
20376
20574
  getHealthCheckAccounts(mandatoryBanks?: PublicKey[], excludedBanks?: PublicKey[]): BankType[];
20575
+ /**
20576
+ * Creates a transaction to mint LST from a native stake account.
20577
+ *
20578
+ * Converts a native stake account (or a portion of it) into LST tokens
20579
+ * by depositing the stake into the single-validator pool.
20580
+ *
20581
+ * @param amount - SOL amount to convert (in UI units)
20582
+ * @param stakeAccountPk - The stake account to convert
20583
+ * @param validator - The validator vote account
20584
+ */
20585
+ makeMintStakedLstTx(amount: Amount, stakeAccountPk: PublicKey, validator: PublicKey): Promise<ExtendedV0Transaction>;
20586
+ /**
20587
+ * Creates a transaction to redeem LST tokens back to a native stake account.
20588
+ *
20589
+ * Burns LST tokens and withdraws the underlying stake into a new stake account.
20590
+ *
20591
+ * @param amount - LST amount to redeem (in UI units)
20592
+ * @param validator - The validator vote account
20593
+ */
20594
+ makeRedeemStakedLstTx(amount: Amount, validator: PublicKey): Promise<ExtendedV0Transaction>;
20595
+ /**
20596
+ * Creates a transaction to merge two stake accounts.
20597
+ *
20598
+ * Both accounts must share the same authorized staker/withdrawer and vote account.
20599
+ *
20600
+ * @param sourceStakeAccount - The stake account to merge from (will be consumed)
20601
+ * @param destinationStakeAccount - The stake account to merge into
20602
+ */
20603
+ makeMergeStakeAccountsTx(sourceStakeAccount: PublicKey, destinationStakeAccount: PublicKey): Promise<ExtendedV0Transaction>;
20377
20604
  /**
20378
20605
  * Gets the underlying MarginfiAccount instance.
20379
20606
  * Useful for advanced operations that need direct access.
@@ -20385,4 +20612,4 @@ declare class MarginfiAccountWrapper {
20385
20612
  getClient(): Project0Client;
20386
20613
  }
20387
20614
 
20388
- export { ADDRESS_LOOKUP_TABLE_FOR_GROUP, ADDRESS_LOOKUP_TABLE_FOR_SWAP, AccountFlags, AccountType, type ActionEmodeImpact, type ActiveEmodePair, type ActiveStakePoolMap, type Amount, type AmountType, AssetTag, BUNDLE_TX_SIZE, Balance, type BalanceRaw, type BalanceType, type BalanceTypeDto, Bank, type BankAddress, BankConfig, type BankConfigCompactRaw, type BankConfigDto, BankConfigFlag, type BankConfigOpt, type BankConfigOptRaw, type BankConfigRaw, type BankConfigRawDto, type BankConfigType, type BankIntegrationMetadata, type BankIntegrationMetadataDto, type BankIntegrationMetadataMap, type BankIntegrationMetadataMapDto, type BankMap, type BankMetadata, type BankMetadataRaw, type BankRaw, type BankRawDto, type BankType, type BankTypeDto, BankVaultType, type ComputeAssetHealthComponentParams, type ComputeAssetUsdValueParams, type ComputeBalanceUsdValueParams, type ComputeFreeCollateralFromBalancesParams, type ComputeHealthCacheStatusParams, type ComputeHealthComponentsFromBalancesParams, type ComputeHealthComponentsWithoutBiasParams, type ComputeLiabilityHealthComponentParams, type ComputeLiabilityUsdValueParams, type ComputeLiquidationPriceForBankParams, type ComputeMaxBorrowForBankParams, type ComputeMaxWithdrawForBankParams, type ComputeNetApyParams, type ComputeUsdValueParams, ConfigRaw, type CrankCombination, type CrankabilityResult, DEFAULT_ORACLE_MAX_AGE, DISABLED_FLAG, type DriftBankInput, type DriftMetadata, type DriftStateByBank, type DriftStateJsonByBank, EMPTY_HEALTH_CACHE, type EmodeConfigRaw, type EmodeConfigRawDto, type EmodeEntry, type EmodeEntryDto, EmodeEntryFlags, EmodeFlags, type EmodeImpact, EmodeImpactStatus, type EmodePair, EmodeSettings, type EmodeSettingsDto, type EmodeSettingsRaw, type EmodeSettingsRawDto, type EmodeSettingsType, EmodeTag, type Environment, type ExtendedTransaction, type ExtendedTransactionProperties, type ExtendedV0Transaction, FLASHLOAN_ENABLED_FLAG, type FeeStateCache, type FetchBankIntegrationMetadataOptions, type FetchDriftMetadataOptions, type FetchJupLendMetadataOptions, type FetchKaminoMetadataOptions, type FlashloanActionResult, type GetAssetWeightParams, type GetBalanceUsdValueWithPriceBiasParams, HOURS_PER_YEAR, HealthCache, HealthCacheFlags, type HealthCacheRaw, HealthCacheSimulationError, HealthCacheStatus, type HealthCacheType, type HealthCacheTypeDto, type InstructionsWrapper, type IntegrationType, type InterestRateConfig, type InterestRateConfigCompactRaw, type InterestRateConfigDto, type InterestRateConfigOpt, type InterestRateConfigOptRaw, type InterestRateConfigRaw, JUPITER_V6_PROGRAM, JUP_SWAP_LUT_PROGRAM_AUTHORITY_INDEX, type JupLendBankInput, type JupLendMetadata, type JupLendStateByBank, type JupLendStateJsonByBank, type KaminoBankInput, type KaminoMetadata, type KaminoStateByBank, type KaminoStateJsonByBank, type KaminoStates, LST_MINT, MARGINFI_IDL, MARGINFI_PROGRAM, MARGINFI_PROGRAM_STAGING, MARGINFI_PROGRAM_STAGING_ALT, MARGINFI_SPONSORED_SHARD_ID, MAX_CONFIDENCE_INTERVAL_RATIO, MAX_TX_SIZE, MAX_U64, MPL_METADATA_PROGRAM_ID, type MakeBorrowIxOpts, type MakeBorrowIxParams, type MakeBorrowTxParams, type MakeCloseAccountIxParams, type MakeCloseAccountTxParams, type MakeDepositIxOpts, type MakeDepositIxParams, type MakeDepositTxParams, type MakeDriftDepositIxParams, type MakeDriftDepositTxParams, type MakeDriftWithdrawIxParams, type MakeDriftWithdrawTxParams, type MakeFlashLoanTxParams, type MakeJuplendDepositIxParams, type MakeJuplendDepositTxParams, type MakeJuplendWithdrawIxParams, type MakeJuplendWithdrawTxParams, type MakeKaminoDepositIxParams, type MakeKaminoDepositTxParams, type MakeKaminoWithdrawIxParams, type MakeKaminoWithdrawTxParams, type MakeLoopTxParams, type MakeRepayIxOpts, type MakeRepayIxParams, type MakeRepayTxParams, type MakeRepayWithCollatTxParams, type MakeSetupIxParams, type MakeSwapCollateralTxParams, type MakeSwapDebtTxParams, type MakeWithdrawIxOpts, type MakeWithdrawIxParams, type MakeWithdrawTxParams, MarginRequirementType, type MarginRequirementTypeRaw, MarginfiAccount, type MarginfiAccountRaw, type MarginfiAccountType, type MarginfiAccountTypeDto, MarginfiAccountWrapper, MarginfiGroup, type MarginfiGroupRaw, type MarginfiGroupType, type MarginfiGroupTypeDto, type MarginfiIdlType, type MarginfiProgram, type MintData, type MintDataMap, OperationalState, type OperationalStateRaw, type OracleConfigOpt, type OracleConfigOptRaw, type OraclePrice, type OraclePriceDto, type OraclePriceMap, OracleSetup, type OracleSetupRaw, type OracleSourceKey, PDA_BANK_EMISSIONS_AUTH_SEED, PDA_BANK_EMISSIONS_VAULT_SEED, PDA_BANK_FEE_STATE_SEED, PDA_BANK_FEE_VAULT_AUTH_SEED, PDA_BANK_FEE_VAULT_SEED, PDA_BANK_INSURANCE_VAULT_AUTH_SEED, PDA_BANK_INSURANCE_VAULT_SEED, PDA_BANK_LIQUIDITY_VAULT_AUTH_SEED, PDA_BANK_LIQUIDITY_VAULT_SEED, PDA_MARGINFI_ACCOUNT_SEED, PRIORITY_TX_SIZE, PYTH_PRICE_CONF_INTERVALS, PYTH_PUSH_ORACLE_ID, PYTH_SPONSORED_SHARD_ID, type PanicStateCache, PriceBias, type PriceWithConfidence, type PriceWithConfidenceDto, type Program, Project0Client, type Project0Config, Project0ConfigRaw, type PythOracleServiceOpts, type RatePoint, type RatePointDto, type RatePointRaw, RiskTier, type RiskTierRaw, SINGLE_POOL_PROGRAM_ID, STAKE_CONFIG_ID, STAKE_PROGRAM_ID, SWB_PRICE_CONF_INTERVALS, SYSTEM_PROGRAM_ID, SYSVAR_CLOCK_ID, SYSVAR_RENT_ID, SYSVAR_STAKE_HISTORY_ID, type SimulateAccountHealthCacheWithFallbackParams, type SimulationResultRaw, type SmartCrankParams, type SmartCrankResult, type SolanaTransaction, type StakeAccount, type StakePoolMevMap, type SwbOracleAiDataByKey, type SwbOracleServiceOpts, TRANSFER_ACCOUNT_AUTHORITY_FLAG, TransactionArenaKeyMap, type TransactionBuilderResult, TransactionBuildingError, TransactionBuildingErrorCode, type TransactionBuildingErrorDetails, TransactionConfigMap, TransactionType, type TypedAmount, USDC_DECIMALS, USDC_MINT, type ValidatorRateData, type ValidatorStakeGroup, type ValidatorStakeGroupDto, WSOL_MINT, type Wallet, type WithdrawWindowCache, type WrappedI80F48, ZERO_ORACLE_KEY, accountFlagToBN, addOracleToBanksIx, addTransactionMetadata, adjustPriceComponent, aprToApy, apyToApr, balanceToDto, bankConfigRawToDto, bankConfigToBankConfigRaw, bankMetadataMapToDto, bankMetadataToDto, bankRawToDto, bigNumberToWrappedI80F48, bpsToPercentile, calculateApyFromInterest, calculateInterestFromApy, capConfidenceInterval, categorizePythBanks, checkBatchOracleCrankability, checkMultipleOraclesCrankability, chunkedGetRawMultipleAccountInfoOrdered, chunkedGetRawMultipleAccountInfoOrderedWithNulls, chunkedGetRawMultipleAccountInfos, composeRemainingAccounts, computeAccountValue, computeActiveEmodePairs, computeAssetHealthComponent, computeAssetUsdValue, computeBalanceUsdValue, computeBaseInterestRate, computeClaimedEmissions, computeClosePositionTokenAmount, computeEmodeImpacts, computeFreeCollateralFromBalances, computeFreeCollateralFromCache, computeHealthAccountMetas, computeHealthCacheStatus, computeHealthCheckAccounts, computeHealthComponentsFromBalances, computeHealthComponentsFromCache, computeHealthComponentsWithoutBiasFromBalances, computeInterestRates, computeLiabilityHealthComponent, computeLiabilityUsdValue, computeLiquidationPriceForBank, computeLoopingParams, computeLowestEmodeWeights, computeMaxBorrowForBank, computeMaxLeverage, computeMaxWithdrawForBank, computeNetApy, computeProjectedActiveBalancesNoCpi, computeProjectedActiveBanksNoCpi, computeQuantity, computeQuantityUi, computeRemainingCapacity, computeSmartCrank, computeTotalOutstandingEmissions, computeTvl, computeUsdValue, computeUtilizationRate, convertVoteAccCoeffsToBankCoeffs, createActiveEmodePairFromPairs, createEmptyBalance, decodeAccountRaw, decodeBankRaw, decodeInstruction, decompileV0Transaction, deriveBankEmissionsAuth, deriveBankEmissionsVault, deriveBankFeeVault, deriveBankFeeVaultAuthority, deriveBankInsuranceVault, deriveBankInsuranceVaultAuthority, deriveBankLiquidityVault, deriveBankLiquidityVaultAuthority, deriveFeeState, deriveMarginfiAccount, dtoToBalance, dtoToBank, dtoToBankConfig, dtoToBankConfigRaw, dtoToBankMetadata, dtoToBankMetadataMap, dtoToBankRaw, dtoToEmodeSettings, dtoToEmodeSettingsRaw, dtoToGroup, dtoToHealthCache, dtoToInterestRateConfig, dtoToMarginfiAccount, dtoToOraclePrice, dtoToValidatorStakeGroup, emodeSettingsRawToDto, extractPythOracleKeys, fetchBank, fetchBankIntegrationMetadata, fetchMarginfiAccountAddresses, fetchMarginfiAccountData, fetchMultipleBanks, fetchNativeStakeAccounts, fetchOracleData, fetchProgramForMints, fetchPythOracleData, fetchPythOraclePricesFromAPI, fetchPythOraclePricesFromChain, fetchStakeAccount, fetchStakePoolActiveStates, fetchStakePoolMev, fetchSwbOracleAccountsFromAPI, fetchSwbOracleAccountsFromChain, fetchSwbOracleData, fetchSwbOraclePricesFromAPI, fetchSwbOraclePricesFromCrossbar, findRandomAvailableAccountIndex, freezeBankConfigIx, getAccountKeys, getActiveAccountFlags, getActiveBalances, getActiveEmodeEntryFlags, getActiveEmodeFlags, getActiveHealthCacheFlags, getAssetQuantity, getAssetShares, getAssetWeight, getBalance, getBalanceUsdValueWithPriceBias, getBankVaultAuthority, getBankVaultSeeds, getBirdeyeFallbackPricesByFeedId, getBirdeyePricesForMints, getConfig, getDriftCTokenMultiplier, getDriftMetadata, getDriftStatesDto, getEmodePairs, getHealthCacheStatusDescription, getHealthSimulationTransactions, getJupLendFTokenMultiplier, getJupLendMetadata, getJupLendStatesDto, getJupiterSwapIxsForFlashloan, getKaminoCTokenMultiplier, getKaminoMetadata, getKaminoStatesDto, getLiabilityQuantity, getLiabilityShares, getLiabilityWeight, getOracleSourceFromBank, getOracleSourceFromOracleSetup, getOracleSourceNameFromKey, getPrice, getPriceWithConfidence, getTotalAssetQuantity, getTotalLiabilityQuantity, getTxSize, groupToDto, hasAccountFlag, hasEmodeEntryFlag, hasEmodeFlag, hasHealthCacheFlag, healthCacheToDto, isFlashloan, isV0Tx, isWeightedPrice, isWholePosition, makeAddPermissionlessStakedBankIx, makeBeginFlashLoanIx, makeBorrowIx, makeBorrowTx, makeBundleTipIx, makeClearEmissionsIx, makeCloseMarginfiAccountIx, makeCloseMarginfiAccountTx, makeCrankSwbFeedIx, makeCreateAccountIxWithProjection, makeCreateAccountTxWithProjection, makeCreateMarginfiAccountIx, makeCreateMarginfiAccountTx, makeDepositIx, makeDepositTx, makeDriftDepositIx, makeDriftDepositTx, makeDriftWithdrawIx, makeDriftWithdrawTx, makeEndFlashLoanIx, makeFlashLoanTx, makeJuplendDepositIx, makeJuplendDepositTx, makeJuplendWithdrawIx, makeJuplendWithdrawTx, makeKaminoDepositIx, makeKaminoDepositTx, makeKaminoWithdrawIx, makeKaminoWithdrawTx, makeLoopTx, makePoolAddBankIx, makePoolConfigureBankIx, makePriorityFeeIx, makePriorityFeeMicroIx, makePulseHealthIx, makeRefreshKaminoBanksIxs, makeRepayIx, makeRepayTx, makeRepayWithCollatTx, makeSetupIx, makeSmartCrankSwbFeedIx, makeSwapCollateralTx, makeSwapDebtTx, makeTxPriorityIx, makeUnwrapSolIx, makeUpdateDriftMarketIxs, makeUpdateJupLendRateIxs, makeUpdateSwbFeedIx, makeVersionedTransaction, makeWithdrawIx, makeWithdrawTx, makeWrapSolIxs, mapBrokenFeedsToOraclePrices, mapPythBanksToOraclePrices, mapSwbBanksToOraclePrices, marginfiAccountToDto, nativeToUi, oraclePriceToDto, parseBalanceRaw, parseBankConfigRaw, parseBankRaw, parseEmodeSettingsRaw, parseEmodeTag, parseHealthCacheRaw, parseMarginfiAccountRaw, parseOperationalState, parseOracleSetup, parseOraclePriceData as parsePriceInfo, parseRiskTier, parseRpcPythPriceData, parseSwbOraclePriceData, partitionBanksByCrankability, resolveAmount, serializeBankConfigOpt, serializeInterestRateConfig, serializeOperationalState, serializeOracleSetup, serializeOracleSetupToIndex, serializeRiskTier, shortenAddress, simulateAccountHealthCache, simulateAccountHealthCacheWithFallback, simulateBundle, splitInstructionsToFitTransactions, toBankConfigDto, toBankDto, toBigNumber, toEmodeSettingsDto, toInterestRateConfigDto, toNumber, uiToNative, uiToNativeBigNumber, validatorStakeGroupToDto, wrappedI80F48toBigNumber };
20615
+ export { ADDRESS_LOOKUP_TABLE_FOR_GROUP, ADDRESS_LOOKUP_TABLE_FOR_SWAP, AccountFlags, AccountType, type ActionEmodeImpact, type ActiveEmodePair, type ActiveStakePoolMap, type Amount, type AmountType, AssetTag, BUNDLE_TX_SIZE, Balance, type BalanceRaw, type BalanceType, type BalanceTypeDto, Bank, type BankAddress, BankConfig, type BankConfigCompactRaw, type BankConfigDto, BankConfigFlag, type BankConfigOpt, type BankConfigOptRaw, type BankConfigRaw, type BankConfigRawDto, type BankConfigType, type BankIntegrationMetadata, type BankIntegrationMetadataDto, type BankIntegrationMetadataMap, type BankIntegrationMetadataMapDto, type BankMap, type BankMetadata, type BankMetadataRaw, type BankRaw, type BankRawDto, type BankType, type BankTypeDto, BankVaultType, type ComputeAssetHealthComponentParams, type ComputeAssetUsdValueParams, type ComputeBalanceUsdValueParams, type ComputeFreeCollateralFromBalancesParams, type ComputeHealthCacheStatusParams, type ComputeHealthComponentsFromBalancesParams, type ComputeHealthComponentsWithoutBiasParams, type ComputeLiabilityHealthComponentParams, type ComputeLiabilityUsdValueParams, type ComputeLiquidationPriceForBankParams, type ComputeMaxBorrowForBankParams, type ComputeMaxWithdrawForBankParams, type ComputeNetApyParams, type ComputeUsdValueParams, ConfigRaw, type CrankCombination, type CrankabilityResult, DEFAULT_ORACLE_MAX_AGE, DISABLED_FLAG, type DriftBankInput, type DriftMetadata, type DriftStateByBank, type DriftStateJsonByBank, EMPTY_HEALTH_CACHE, type EmodeConfigRaw, type EmodeConfigRawDto, type EmodeEntry, type EmodeEntryDto, EmodeEntryFlags, EmodeFlags, type EmodeImpact, EmodeImpactStatus, type EmodePair, EmodeSettings, type EmodeSettingsDto, type EmodeSettingsRaw, type EmodeSettingsRawDto, type EmodeSettingsType, EmodeTag, type Environment, type ExtendedTransaction, type ExtendedTransactionProperties, type ExtendedV0Transaction, FLASHLOAN_ENABLED_FLAG, type FeeStateCache, type FetchBankIntegrationMetadataOptions, type FetchDriftMetadataOptions, type FetchJupLendMetadataOptions, type FetchKaminoMetadataOptions, type FlashloanActionResult, type GetAssetWeightParams, type GetBalanceUsdValueWithPriceBiasParams, HOURS_PER_YEAR, HealthCache, HealthCacheFlags, type HealthCacheRaw, HealthCacheSimulationError, HealthCacheStatus, type HealthCacheType, type HealthCacheTypeDto, type InstructionsWrapper, type IntegrationType, type InterestRateConfig, type InterestRateConfigCompactRaw, type InterestRateConfigDto, type InterestRateConfigOpt, type InterestRateConfigOptRaw, type InterestRateConfigRaw, JUPITER_V6_PROGRAM, JUP_SWAP_LUT_PROGRAM_AUTHORITY_INDEX, type JupLendBankInput, type JupLendMetadata, type JupLendStateByBank, type JupLendStateJsonByBank, type KaminoBankInput, type KaminoMetadata, type KaminoStateByBank, type KaminoStateJsonByBank, type KaminoStates, LST_MINT, MARGINFI_IDL, MARGINFI_PROGRAM, MARGINFI_PROGRAM_STAGING, MARGINFI_PROGRAM_STAGING_ALT, MARGINFI_SPONSORED_SHARD_ID, MAX_CONFIDENCE_INTERVAL_RATIO, MAX_TX_SIZE, MAX_U64, MPL_METADATA_PROGRAM_ID, type MakeBorrowIxOpts, type MakeBorrowIxParams, type MakeBorrowTxParams, type MakeCloseAccountIxParams, type MakeCloseAccountTxParams, type MakeDepositIxOpts, type MakeDepositIxParams, type MakeDepositTxParams, type MakeDriftDepositIxParams, type MakeDriftDepositTxParams, type MakeDriftWithdrawIxParams, type MakeDriftWithdrawTxParams, type MakeFlashLoanTxParams, type MakeJuplendDepositIxParams, type MakeJuplendDepositTxParams, type MakeJuplendWithdrawIxParams, type MakeJuplendWithdrawTxParams, type MakeKaminoDepositIxParams, type MakeKaminoDepositTxParams, type MakeKaminoWithdrawIxParams, type MakeKaminoWithdrawTxParams, type MakeLoopTxParams, type MakeMergeStakeAccountsTxParams, type MakeMintStakedLstIxParams, type MakeMintStakedLstTxParams, type MakeRedeemStakedLstIxParams, type MakeRedeemStakedLstTxParams, type MakeRepayIxOpts, type MakeRepayIxParams, type MakeRepayTxParams, type MakeRepayWithCollatTxParams, type MakeSetupIxParams, type MakeSwapCollateralTxParams, type MakeSwapDebtTxParams, type MakeWithdrawIxOpts, type MakeWithdrawIxParams, type MakeWithdrawTxParams, MarginRequirementType, type MarginRequirementTypeRaw, MarginfiAccount, type MarginfiAccountRaw, type MarginfiAccountType, type MarginfiAccountTypeDto, MarginfiAccountWrapper, MarginfiGroup, type MarginfiGroupRaw, type MarginfiGroupType, type MarginfiGroupTypeDto, type MarginfiIdlType, type MarginfiProgram, type MintData, type MintDataMap, OperationalState, type OperationalStateRaw, type OracleConfigOpt, type OracleConfigOptRaw, type OraclePrice, type OraclePriceDto, type OraclePriceMap, OracleSetup, type OracleSetupRaw, type OracleSourceKey, PDA_BANK_EMISSIONS_AUTH_SEED, PDA_BANK_EMISSIONS_VAULT_SEED, PDA_BANK_FEE_STATE_SEED, PDA_BANK_FEE_VAULT_AUTH_SEED, PDA_BANK_FEE_VAULT_SEED, PDA_BANK_INSURANCE_VAULT_AUTH_SEED, PDA_BANK_INSURANCE_VAULT_SEED, PDA_BANK_LIQUIDITY_VAULT_AUTH_SEED, PDA_BANK_LIQUIDITY_VAULT_SEED, PDA_MARGINFI_ACCOUNT_SEED, PRIORITY_TX_SIZE, PYTH_PRICE_CONF_INTERVALS, PYTH_PUSH_ORACLE_ID, PYTH_SPONSORED_SHARD_ID, type PanicStateCache, PriceBias, type PriceWithConfidence, type PriceWithConfidenceDto, type Program, Project0Client, type Project0Config, Project0ConfigRaw, type PythOracleServiceOpts, type RatePoint, type RatePointDto, type RatePointRaw, RiskTier, type RiskTierRaw, SINGLE_POOL_PROGRAM_ID, STAKE_CONFIG_ID, STAKE_PROGRAM_ID, SWB_PRICE_CONF_INTERVALS, SYSTEM_PROGRAM_ID, SYSVAR_CLOCK_ID, SYSVAR_RENT_ID, SYSVAR_STAKE_HISTORY_ID, type SimulateAccountHealthCacheWithFallbackParams, type SimulationResultRaw, type SmartCrankParams, type SmartCrankResult, type SolanaTransaction, type StakeAccount, type StakePoolMevMap, type StakedBankMetadata, type SwbOracleAiDataByKey, type SwbOracleServiceOpts, TRANSFER_ACCOUNT_AUTHORITY_FLAG, TransactionArenaKeyMap, type TransactionBuilderResult, TransactionBuildingError, TransactionBuildingErrorCode, type TransactionBuildingErrorDetails, TransactionConfigMap, TransactionType, type TypedAmount, USDC_DECIMALS, USDC_MINT, type ValidatorRateData, type ValidatorStakeGroup, type ValidatorStakeGroupDto, WSOL_MINT, type Wallet, type WithdrawWindowCache, type WrappedI80F48, ZERO_ORACLE_KEY, accountFlagToBN, addOracleToBanksIx, addTransactionMetadata, adjustPriceComponent, aprToApy, apyToApr, balanceToDto, bankConfigRawToDto, bankConfigToBankConfigRaw, bankMetadataMapToDto, bankMetadataToDto, bankRawToDto, bigNumberToWrappedI80F48, bpsToPercentile, calculateApyFromInterest, calculateInterestFromApy, capConfidenceInterval, categorizePythBanks, checkBatchOracleCrankability, checkMultipleOraclesCrankability, chunkedGetRawMultipleAccountInfoOrdered, chunkedGetRawMultipleAccountInfoOrderedWithNulls, chunkedGetRawMultipleAccountInfos, composeRemainingAccounts, computeAccountValue, computeActiveEmodePairs, computeAssetHealthComponent, computeAssetUsdValue, computeBalanceUsdValue, computeBaseInterestRate, computeClaimedEmissions, computeClosePositionTokenAmount, computeEmodeImpacts, computeFreeCollateralFromBalances, computeFreeCollateralFromCache, computeHealthAccountMetas, computeHealthCacheStatus, computeHealthCheckAccounts, computeHealthComponentsFromBalances, computeHealthComponentsFromCache, computeHealthComponentsWithoutBiasFromBalances, computeInterestRates, computeLiabilityHealthComponent, computeLiabilityUsdValue, computeLiquidationPriceForBank, computeLoopingParams, computeLowestEmodeWeights, computeMaxBorrowForBank, computeMaxLeverage, computeMaxWithdrawForBank, computeNetApy, computeProjectedActiveBalancesNoCpi, computeProjectedActiveBanksNoCpi, computeQuantity, computeQuantityUi, computeRemainingCapacity, computeSmartCrank, computeTotalOutstandingEmissions, computeTvl, computeUsdValue, computeUtilizationRate, convertVoteAccCoeffsToBankCoeffs, createActiveEmodePairFromPairs, createEmptyBalance, decodeAccountRaw, decodeBankRaw, decodeInstruction, decompileV0Transaction, deriveBankEmissionsAuth, deriveBankEmissionsVault, deriveBankFeeVault, deriveBankFeeVaultAuthority, deriveBankInsuranceVault, deriveBankInsuranceVaultAuthority, deriveBankLiquidityVault, deriveBankLiquidityVaultAuthority, deriveFeeState, deriveMarginfiAccount, dtoToBalance, dtoToBank, dtoToBankConfig, dtoToBankConfigRaw, dtoToBankMetadata, dtoToBankMetadataMap, dtoToBankRaw, dtoToEmodeSettings, dtoToEmodeSettingsRaw, dtoToGroup, dtoToHealthCache, dtoToInterestRateConfig, dtoToMarginfiAccount, dtoToOraclePrice, dtoToValidatorStakeGroup, emodeSettingsRawToDto, extractPythOracleKeys, fetchBank, fetchBankIntegrationMetadata, fetchMarginfiAccountAddresses, fetchMarginfiAccountData, fetchMultipleBanks, fetchNativeStakeAccounts, fetchOracleData, fetchProgramForMints, fetchPythOracleData, fetchPythOraclePricesFromAPI, fetchPythOraclePricesFromChain, fetchStakeAccount, fetchStakePoolActiveStates, fetchStakePoolMev, fetchSwbOracleAccountsFromAPI, fetchSwbOracleAccountsFromChain, fetchSwbOracleData, fetchSwbOraclePricesFromAPI, fetchSwbOraclePricesFromCrossbar, findRandomAvailableAccountIndex, freezeBankConfigIx, getAccountKeys, getActiveAccountFlags, getActiveBalances, getActiveEmodeEntryFlags, getActiveEmodeFlags, getActiveHealthCacheFlags, getAssetQuantity, getAssetShares, getAssetWeight, getBalance, getBalanceUsdValueWithPriceBias, getBankVaultAuthority, getBankVaultSeeds, getBirdeyeFallbackPricesByFeedId, getBirdeyePricesForMints, getConfig, getDriftCTokenMultiplier, getDriftMetadata, getDriftStatesDto, getEmodePairs, getHealthCacheStatusDescription, getHealthSimulationTransactions, getJupLendFTokenMultiplier, getJupLendMetadata, getJupLendStatesDto, getJupiterSwapIxsForFlashloan, getKaminoCTokenMultiplier, getKaminoMetadata, getKaminoStatesDto, getLiabilityQuantity, getLiabilityShares, getLiabilityWeight, getOracleSourceFromBank, getOracleSourceFromOracleSetup, getOracleSourceNameFromKey, getPrice, getPriceWithConfidence, getStakedBankMetadataMap, getTotalAssetQuantity, getTotalLiabilityQuantity, getTxSize, getValidatorVoteAccountByBank, groupToDto, hasAccountFlag, hasEmodeEntryFlag, hasEmodeFlag, hasHealthCacheFlag, healthCacheToDto, isFlashloan, isV0Tx, isWeightedPrice, isWholePosition, makeAddPermissionlessStakedBankIx, makeBeginFlashLoanIx, makeBorrowIx, makeBorrowTx, makeBundleTipIx, makeCloseMarginfiAccountIx, makeCloseMarginfiAccountTx, makeCrankSwbFeedIx, makeCreateAccountIxWithProjection, makeCreateAccountTxWithProjection, makeCreateMarginfiAccountIx, makeCreateMarginfiAccountTx, makeDepositIx, makeDepositTx, makeDriftDepositIx, makeDriftDepositTx, makeDriftWithdrawIx, makeDriftWithdrawTx, makeEndFlashLoanIx, makeFlashLoanTx, makeJuplendDepositIx, makeJuplendDepositTx, makeJuplendWithdrawIx, makeJuplendWithdrawTx, makeKaminoDepositIx, makeKaminoDepositTx, makeKaminoWithdrawIx, makeKaminoWithdrawTx, makeLoopTx, makeMergeStakeAccountsTx, makeMintStakedLstIx, makeMintStakedLstTx, makePoolAddBankIx, makePoolConfigureBankIx, makePriorityFeeIx, makePriorityFeeMicroIx, makePulseHealthIx, makeRedeemStakedLstIx, makeRedeemStakedLstTx, makeRefreshKaminoBanksIxs, makeRepayIx, makeRepayTx, makeRepayWithCollatTx, makeSetupIx, makeSmartCrankSwbFeedIx, makeSwapCollateralTx, makeSwapDebtTx, makeTxPriorityIx, makeUnwrapSolIx, makeUpdateDriftMarketIxs, makeUpdateJupLendRateIxs, makeUpdateSwbFeedIx, makeVersionedTransaction, makeWithdrawEmissionsIx, makeWithdrawIx, makeWithdrawTx, makeWrapSolIxs, mapBrokenFeedsToOraclePrices, mapPythBanksToOraclePrices, mapSwbBanksToOraclePrices, marginfiAccountToDto, nativeToUi, oraclePriceToDto, parseBalanceRaw, parseBankConfigRaw, parseBankRaw, parseEmodeSettingsRaw, parseEmodeTag, parseHealthCacheRaw, parseMarginfiAccountRaw, parseOperationalState, parseOracleSetup, parseOraclePriceData as parsePriceInfo, parseRiskTier, parseRpcPythPriceData, parseSwbOraclePriceData, partitionBanksByCrankability, resolveAmount, serializeBankConfigOpt, serializeInterestRateConfig, serializeOperationalState, serializeOracleSetup, serializeOracleSetupToIndex, serializeRiskTier, shortenAddress, simulateAccountHealthCache, simulateAccountHealthCacheWithFallback, simulateBundle, splitInstructionsToFitTransactions, toBankConfigDto, toBankDto, toBigNumber, toEmodeSettingsDto, toInterestRateConfigDto, toNumber, uiToNative, uiToNativeBigNumber, validatorStakeGroupToDto, wrappedI80F48toBigNumber };