@carrot-protocol/clend-rpc 0.1.4-slippage-dev-cf7647d → 0.1.4-slippage-dev-7513a63

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/math.d.ts CHANGED
@@ -250,14 +250,14 @@ export declare function calculateAccruedInterest(lastUpdate: BN, assetAmountUi:
250
250
  */
251
251
  export declare function adjustBorrowForOriginationFee(idealBorrowAmount: BN, originationFeeRate: number): BN;
252
252
  /**
253
- * Adjusts a borrow amount upwards to compensate for potential swap slippage,
253
+ * Adjusts an amount upwards to compensate for potential swap slippage,
254
254
  * assuming worst-case based on slippageBps.
255
255
  *
256
- * @param amountToAdjust - The borrow amount to adjust (native units, BN), typically after cost adjustments.
256
+ * @param amountToAdjust - The amount to adjust (native units, BN), typically after cost adjustments.
257
257
  * @param slippageBps - The maximum slippage tolerance in basis points (e.g., 100 for 1%).
258
- * @returns Adjusted borrow amount (native units, BN), slightly more than the input amount. Returns input amount if slippageBps is zero or invalid.
258
+ * @returns Adjusted amount (native units, BN), slightly more than the input amount. Returns input amount if slippageBps is zero or invalid.
259
259
  */
260
- export declare function adjustBorrowForSlippage(amountToAdjust: BN, slippageBps: number): BN;
260
+ export declare function adjustAmountForSlippage(amountToAdjust: BN, slippageBps: number): BN;
261
261
  /**
262
262
  * Calculates the estimated liquidation price for a collateral asset.
263
263
  *
package/dist/math.js CHANGED
@@ -21,7 +21,7 @@ exports.computeWithdrawLeverageAmounts = computeWithdrawLeverageAmounts;
21
21
  exports.calculateHealthFactorAndLeverage = calculateHealthFactorAndLeverage;
22
22
  exports.calculateAccruedInterest = calculateAccruedInterest;
23
23
  exports.adjustBorrowForOriginationFee = adjustBorrowForOriginationFee;
24
- exports.adjustBorrowForSlippage = adjustBorrowForSlippage;
24
+ exports.adjustAmountForSlippage = adjustAmountForSlippage;
25
25
  exports.calculateLiquidationPrice = calculateLiquidationPrice;
26
26
  exports.calculateLtv = calculateLtv;
27
27
  exports.calculateLiquidationPriceChangePercentage = calculateLiquidationPriceChangePercentage;
@@ -541,21 +541,20 @@ function adjustBorrowForOriginationFee(idealBorrowAmount, originationFeeRate) {
541
541
  return anchor_1.BN.max(adjustedBorrowAmount, new anchor_1.BN(0));
542
542
  }
543
543
  /**
544
- * Adjusts a borrow amount upwards to compensate for potential swap slippage,
544
+ * Adjusts an amount upwards to compensate for potential swap slippage,
545
545
  * assuming worst-case based on slippageBps.
546
546
  *
547
- * @param amountToAdjust - The borrow amount to adjust (native units, BN), typically after cost adjustments.
547
+ * @param amountToAdjust - The amount to adjust (native units, BN), typically after cost adjustments.
548
548
  * @param slippageBps - The maximum slippage tolerance in basis points (e.g., 100 for 1%).
549
- * @returns Adjusted borrow amount (native units, BN), slightly more than the input amount. Returns input amount if slippageBps is zero or invalid.
549
+ * @returns Adjusted amount (native units, BN), slightly more than the input amount. Returns input amount if slippageBps is zero or invalid.
550
550
  */
551
- function adjustBorrowForSlippage(amountToAdjust, slippageBps) {
551
+ function adjustAmountForSlippage(amountToAdjust, slippageBps) {
552
552
  if (slippageBps <= 0) {
553
553
  return amountToAdjust; // No adjustment if no slippage tolerance
554
554
  }
555
555
  const S = new decimal_js_1.Decimal(slippageBps).div(10000); // Slippage factor S as decimal
556
556
  // Ensure S is less than 1 (100% slippage)
557
557
  if (S.gte(1)) {
558
- console.warn(`Slippage factor ${S.toString()} is >= 100%, returning original amount.`);
559
558
  return amountToAdjust;
560
559
  }
561
560
  // Formula: B_actual ≈ B_ideal / (1 - S)
@@ -566,14 +565,13 @@ function adjustBorrowForSlippage(amountToAdjust, slippageBps) {
566
565
  denominator.isNaN() ||
567
566
  !denominator.isFinite() ||
568
567
  denominator.isNegative()) {
569
- console.warn("Invalid denominator in slippage adjustment, returning input amount");
570
568
  return amountToAdjust;
571
569
  }
572
570
  const amountToAdjustDecimal = new decimal_js_1.Decimal(amountToAdjust.toString());
573
- const adjustedBorrowDecimal = amountToAdjustDecimal.div(denominator);
571
+ const adjustedAmountDecimal = amountToAdjustDecimal.div(denominator);
574
572
  // Round up when increasing amount due to needing more input for slippage
575
- const adjustedBorrowAmount = new anchor_1.BN(adjustedBorrowDecimal.ceil().toFixed());
576
- return adjustedBorrowAmount;
573
+ const adjustedAmount = new anchor_1.BN(adjustedAmountDecimal.ceil().toFixed());
574
+ return adjustedAmount;
577
575
  }
578
576
  /**
579
577
  * Calculates the estimated liquidation price for a collateral asset.
package/dist/math.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"math.js","sourceRoot":"","sources":["../src/math.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"math.js","sourceRoot":"","sources":["../src/math.ts"],"names":[],"mappings":"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"}
package/dist/rpc.d.ts CHANGED
@@ -83,21 +83,58 @@ export declare class ClendClient {
83
83
  collateralBankData: Bank;
84
84
  debtBankData: Bank;
85
85
  }>;
86
- getNetWithdrawLeverageParams(clendGroup: web3.PublicKey, clendAccount: web3.PublicKey, collateralMint: web3.PublicKey, debtMint: web3.PublicKey, desiredNetWithdraw: BN, withdrawAll: boolean): Promise<{
86
+ getNetWithdrawLeverageParams(clendGroup: web3.PublicKey, clendAccount: web3.PublicKey, collateralMint: web3.PublicKey, debtMint: web3.PublicKey, desiredNetWithdraw: BN, withdrawAll: boolean, slippageBps: number): Promise<{
87
87
  debtToRepay: BN;
88
88
  collateralToWithdraw: BN;
89
89
  collateralBankData: Bank;
90
90
  debtBankData: Bank;
91
91
  }>;
92
92
  adjustLeverage(clendGroup: web3.PublicKey, clendAccount: web3.PublicKey, collateralMint: web3.PublicKey, debtMint: web3.PublicKey, targetLeverage: number, slippageBps: number): Promise<string>;
93
- getAdjustLeverageParams(clendGroup: web3.PublicKey, clendAccount: web3.PublicKey, collateralMint: web3.PublicKey, debtMint: web3.PublicKey, targetLeverage: number): Promise<{
94
- collateralDeltaUi: number;
95
- debtDeltaUi: number;
93
+ /**
94
+ * Calculates the required changes in debt and collateral to reach a target leverage.
95
+ * Adjusts the deltas for fees, slippage, and interest buffers as appropriate.
96
+ *
97
+ * @param clendGroup - The public key of the Clend group.
98
+ * @param clendAccount - The public key of the user's Clend account.
99
+ * @param collateralMint - The public key of the collateral token mint.
100
+ * @param debtMint - The public key of the debt token mint.
101
+ * @param targetLeverage - The desired final leverage ratio.
102
+ * @param slippageBps - The slippage tolerance in basis points for swap adjustments.
103
+ * @param futureInterestBufferSec - Estimated seconds of future interest to buffer for repay operations (default: 2s).
104
+ * @returns Promise<{
105
+ * finalCollateralDeltaUi: number; // Final change in collateral (UI units, adjusted for swap needs)
106
+ * finalDebtDeltaUi: number; // Final change in debt (UI units, adjusted for fee/slippage/buffer)
107
+ * isIncrease: boolean; // True if leverage is increasing (borrowing more)
108
+ * collateralBankData: Bank;
109
+ * debtBankData: Bank;
110
+ * }>
111
+ */
112
+ getAdjustLeverageParams(clendGroup: web3.PublicKey, clendAccount: web3.PublicKey, collateralMint: web3.PublicKey, debtMint: web3.PublicKey, targetLeverage: number, slippageBps: number): Promise<{
113
+ finalCollateralDeltaUi: number;
114
+ finalDebtDeltaUi: number;
96
115
  isIncrease: boolean;
97
116
  collateralBankData: Bank;
98
117
  debtBankData: Bank;
99
118
  }>;
100
- getAdjustLeverageIxns(clendGroup: web3.PublicKey, clendAccount: web3.PublicKey, user: web3.PublicKey, debtBankData: Bank, collateralBankData: Bank, isIncrease: boolean, debtDeltaUi: number, slippageBps: number, additionalIxnCount: number): Promise<{
119
+ /**
120
+ * Builds the transaction instructions for adjusting leverage.
121
+ * Uses the pre-calculated and adjusted delta values from getAdjustLeverageParams.
122
+ *
123
+ * @param clendGroup - The public key of the Clend group.
124
+ * @param clendAccount - The public key of the user's Clend account.
125
+ * @param user - The public key of the user initiating the transaction.
126
+ * @param debtBankData - The Bank data for the debt asset.
127
+ * @param collateralBankData - The Bank data for the collateral asset.
128
+ * @param isIncrease - Boolean indicating if leverage is increasing.
129
+ * @param finalDebtDeltaUi - The final calculated change in debt (UI units), adjusted for fees/slippage/buffers.
130
+ * @param finalCollateralDeltaUi - The final calculated change in collateral (UI units), adjusted for swap needs.
131
+ * @param slippageBps - The slippage tolerance in basis points for Jupiter swaps.
132
+ * @param additionalIxnCount - Count of additional instructions (e.g., JIT) to offset flash loan index.
133
+ * @returns Promise<{ ixns: web3.TransactionInstruction[]; luts: web3.PublicKey[]; }>
134
+ */
135
+ getAdjustLeverageIxns(clendGroup: web3.PublicKey, clendAccount: web3.PublicKey, user: web3.PublicKey, debtBankData: Bank, collateralBankData: Bank, isIncrease: boolean, finalDebtDeltaUi: number, // Use the final adjusted value from getAdjustLeverageParams
136
+ finalCollateralDeltaUi: number, // Use the final adjusted value from getAdjustLeverageParams
137
+ slippageBps: number, additionalIxnCount: number): Promise<{
101
138
  ixns: web3.TransactionInstruction[];
102
139
  luts: web3.PublicKey[];
103
140
  }>;
package/dist/rpc.js CHANGED
@@ -587,7 +587,7 @@ class ClendClient {
587
587
  const borrowAmountAfterBorrowingCosts = (0, math_1.adjustBorrowForOriginationFee)(borrowAmount, originationFeeRate);
588
588
  // 3. Adjust for Slippage (Borrow MORE)
589
589
  // Apply slippage adjustment to the amount already adjusted for costs
590
- const finalBorrowAmount = (0, math_1.adjustBorrowForSlippage)(borrowAmountAfterBorrowingCosts, // Input the cost-adjusted amount
590
+ const finalBorrowAmount = (0, math_1.adjustAmountForSlippage)(borrowAmountAfterBorrowingCosts, // Input the cost-adjusted amount
591
591
  slippageBps);
592
592
  const finalBorrowAmountUi = (0, math_1.amountToUi)(finalBorrowAmount, debtDecimals);
593
593
  utils_1.logger.info("depositLeverage params calculated", {
@@ -613,7 +613,7 @@ class ClendClient {
613
613
  };
614
614
  }
615
615
  async withdrawLeverage(clendGroup, clendAccount, collateralMint, debtMint, withdrawAmount, withdrawAll, slippageBps) {
616
- const params = await this.getNetWithdrawLeverageParams(clendGroup, clendAccount, collateralMint, debtMint, withdrawAmount, withdrawAll);
616
+ const params = await this.getNetWithdrawLeverageParams(clendGroup, clendAccount, collateralMint, debtMint, withdrawAmount, withdrawAll, slippageBps);
617
617
  const { ixns, luts } = await this.getWithdrawLeverageIxns(clendGroup, clendAccount, collateralMint, debtMint, params.collateralBankData.mintDecimals, params.debtBankData.mintDecimals, withdrawAll, params.debtToRepay, params.collateralToWithdraw, slippageBps, 0);
618
618
  // Send transaction
619
619
  return this.send(ixns, [], luts);
@@ -762,10 +762,7 @@ class ClendClient {
762
762
  debtMaintWeight,
763
763
  });
764
764
  // Calculate leverage-preserving withdrawal
765
- const { debtToRepayUi, newCollateralUi, newDebtUi, currentLeverage, newLeverage, } = (0, math_2.computeWithdrawLeverageAmounts)(collateralAmountUI, debtAmountUI, withdrawAmountUI, collateralPrice, debtPrice,
766
- //collateralMaintWeight,
767
- //debtMaintWeight,
768
- 1, 1);
765
+ const { debtToRepayUi, newCollateralUi, newDebtUi, currentLeverage, newLeverage, } = (0, math_2.computeWithdrawLeverageAmounts)(collateralAmountUI, debtAmountUI, withdrawAmountUI, collateralPrice, debtPrice, 1, 1);
769
766
  utils_1.logger.debug("withdrawLeverage params calculated", {
770
767
  debtToRepayUi,
771
768
  newCollateralUi,
@@ -776,8 +773,6 @@ class ClendClient {
776
773
  // Set the amounts to withdraw and repay
777
774
  collateralToWithdraw = withdrawAmount;
778
775
  debtToRepay = (0, math_1.uiToAmount)(debtToRepayUi, debtDecimals);
779
- // Add a small buffer for interest accrual
780
- debtToRepay = debtToRepay.add(new anchor_1.BN(1));
781
776
  }
782
777
  // add interest accrual buffer to debt to repay
783
778
  // for now we do a conservative 120 seconds
@@ -795,7 +790,7 @@ class ClendClient {
795
790
  };
796
791
  }
797
792
  // caller will receive desiredNetWithdraw, the position will be adjusted accordingly
798
- async getNetWithdrawLeverageParams(clendGroup, clendAccount, collateralMint, debtMint, desiredNetWithdraw, withdrawAll) {
793
+ async getNetWithdrawLeverageParams(clendGroup, clendAccount, collateralMint, debtMint, desiredNetWithdraw, withdrawAll, slippageBps) {
799
794
  utils_1.logger.info("getNetWithdrawParams", {
800
795
  desiredNetWithdraw: desiredNetWithdraw.toString(),
801
796
  withdrawAll,
@@ -855,6 +850,10 @@ class ClendClient {
855
850
  utils_1.logger.info("WithdrawAll selected");
856
851
  collateralToWithdraw = collateralAmount;
857
852
  debtToRepay = (0, math_1.calculateLiabilityInterest)(debtBalance.liabilityShares, debtBankData.liabilityShareValue, debtBankData.borrowApy, debtBankData.lastUpdate.toNumber(), new Date().getTime() / 1000);
853
+ // add interest accrual buffer to debt to repay
854
+ // for now we do a conservative 120 seconds
855
+ const timeBufferSec = 120;
856
+ debtToRepay = (0, math_1.addInterestAccrualBuffer)(debtToRepay, debtBankData.borrowApy, timeBufferSec);
858
857
  utils_1.logger.info(`calculated debt to repay`, {
859
858
  debtToRepayWithInterest: debtToRepay.toString(),
860
859
  debtToRepayRaw: debtAmount.toString(),
@@ -862,32 +861,55 @@ class ClendClient {
862
861
  }
863
862
  else {
864
863
  utils_1.logger.info("Calculating partial deleverage for net withdrawal");
865
- // Convert desired net withdrawal to UI amount
864
+ // 1. Calculate estimated current debt accurately
865
+ const estimatedCurrentDebt = (0, math_1.calculateLiabilityInterest)(debtBalance.liabilityShares, debtBankData.liabilityShareValue, debtBankData.borrowApy, debtBankData.lastUpdate.toNumber(), Math.floor(Date.now() / 1000));
866
+ const estimatedCurrentDebtUi = (0, math_1.amountToUi)(estimatedCurrentDebt, debtDecimals);
867
+ const collateralAmountUI = (0, math_1.amountToUi)(collateralAmount, collateralDecimals);
868
+ const collateralValue = collateralAmountUI * collateralPrice;
869
+ const estimatedCurrentDebtValue = estimatedCurrentDebtUi * debtPrice;
870
+ // 2. Calculate ideal portion of debt to repay (baseDebtToRepay)
866
871
  const desiredNetWithdrawalUi = (0, math_1.amountToUi)(desiredNetWithdraw, collateralDecimals);
867
- // Calculate denominator for dC_ui formula
868
- const denominator = 1 - debtValue / collateralValue;
872
+ const denominator = 1 - estimatedCurrentDebtValue / collateralValue;
869
873
  if (denominator <= 0) {
870
874
  throw new Error("Invalid calculation state: denominator non-positive.");
871
875
  }
872
- // Calculate required collateral withdrawal
873
- const collateralToWithdrawUi = desiredNetWithdrawalUi / denominator;
874
- // Calculate required debt repayment
875
- // Handle potential division by zero if collateralAmountUI is 0 (shouldn't happen if value > 0)
876
- const debtToRepayUi = collateralAmountUI > 0
877
- ? (debtAmountUI / collateralAmountUI) * collateralToWithdrawUi
876
+ const idealCollateralToWithdrawUi = desiredNetWithdrawalUi / denominator;
877
+ const idealDebtToRepayUi = collateralAmountUI > 0
878
+ ? (estimatedCurrentDebtUi / collateralAmountUI) *
879
+ idealCollateralToWithdrawUi
878
880
  : 0;
879
- utils_1.logger.debug("Calculated UI amounts", {
880
- collateralToWithdrawUi,
881
- debtToRepayUi,
881
+ const baseDebtToRepay = (0, math_1.uiToAmount)(idealDebtToRepayUi, debtDecimals);
882
+ // 3. Calculate final debt target (including future buffer)
883
+ const timeBufferSec = 60; // Or pass as parameter
884
+ const finalDebtToRepay = (0, math_1.addInterestAccrualBuffer)(baseDebtToRepay, debtBankData.borrowApy, timeBufferSec);
885
+ const finalDebtToRepayUi = (0, math_1.amountToUi)(finalDebtToRepay, debtDecimals);
886
+ utils_1.logger.debug("Calculated final debt repay target", {
887
+ finalDebtToRepay: finalDebtToRepay.toString(),
882
888
  });
883
- // Convert back to native BN amounts
884
- collateralToWithdraw = (0, math_1.uiToAmount)(collateralToWithdrawUi, collateralDecimals);
885
- debtToRepay = (0, math_1.uiToAmount)(debtToRepayUi, debtDecimals);
889
+ // 4. Calculate collateral needed for swap, including slippage adjustment
890
+ const slippageFactor = new decimal_js_1.default(slippageBps).div(10000); // Assuming slippageBps is available
891
+ if (slippageFactor.gte(1)) {
892
+ throw new Error("Invalid slippage");
893
+ }
894
+ if (collateralPrice <= 0 || debtPrice <= 0) {
895
+ throw new Error("Invalid prices");
896
+ }
897
+ // Ideal collateral input for the swap (UI)
898
+ const idealCollateralForSwapUi = new decimal_js_1.default(finalDebtToRepayUi)
899
+ .mul(debtPrice)
900
+ .div(collateralPrice);
901
+ // Ideal collateral input for the swap (BN)
902
+ const idealCollateralForSwapBN = (0, math_1.uiToAmount)(idealCollateralForSwapUi.toNumber(), collateralDecimals);
903
+ // Max collateral input for the swap (BN), using the adjustment function
904
+ const collateralToSwapMax = (0, math_1.adjustAmountForSlippage)(idealCollateralForSwapBN, slippageBps);
905
+ utils_1.logger.debug("Calculated max collateral needed for swap", {
906
+ collateralToSwapMax: collateralToSwapMax.toString(),
907
+ });
908
+ // 5. Calculate final total collateral to withdraw
909
+ collateralToWithdraw = collateralToSwapMax.add(desiredNetWithdraw);
910
+ // Set debtToRepay to the final buffered amount (calculated in step 3)
911
+ debtToRepay = finalDebtToRepay;
886
912
  }
887
- // add interest accrual buffer to debt to repay
888
- // for now we do a conservative 120 seconds
889
- const timeBufferSec = 120;
890
- debtToRepay = (0, math_1.addInterestAccrualBuffer)(debtToRepay, debtBankData.borrowApy, timeBufferSec);
891
913
  utils_1.logger.debug("Final calculated amounts", {
892
914
  collateralToWithdraw: collateralToWithdraw.toString(),
893
915
  debtToRepay: debtToRepay.toString(),
@@ -900,17 +922,42 @@ class ClendClient {
900
922
  };
901
923
  }
902
924
  async adjustLeverage(clendGroup, clendAccount, collateralMint, debtMint, targetLeverage, slippageBps) {
903
- const params = await this.getAdjustLeverageParams(clendGroup, clendAccount, collateralMint, debtMint, targetLeverage);
904
- const { ixns, luts } = await this.getAdjustLeverageIxns(clendGroup, clendAccount, this.address(), params.debtBankData, params.collateralBankData, params.isIncrease, params.debtDeltaUi, slippageBps, 0);
925
+ const params = await this.getAdjustLeverageParams(clendGroup, clendAccount, collateralMint, debtMint, targetLeverage, slippageBps);
926
+ const { ixns, luts } = await this.getAdjustLeverageIxns(clendGroup, clendAccount, this.address(), params.debtBankData, params.collateralBankData, params.isIncrease, params.finalDebtDeltaUi, params.finalCollateralDeltaUi, slippageBps, 0);
905
927
  // Send transaction
906
928
  return this.send(ixns, [], luts);
907
929
  }
908
- async getAdjustLeverageParams(clendGroup, clendAccount, collateralMint, debtMint, targetLeverage) {
930
+ /**
931
+ * Calculates the required changes in debt and collateral to reach a target leverage.
932
+ * Adjusts the deltas for fees, slippage, and interest buffers as appropriate.
933
+ *
934
+ * @param clendGroup - The public key of the Clend group.
935
+ * @param clendAccount - The public key of the user's Clend account.
936
+ * @param collateralMint - The public key of the collateral token mint.
937
+ * @param debtMint - The public key of the debt token mint.
938
+ * @param targetLeverage - The desired final leverage ratio.
939
+ * @param slippageBps - The slippage tolerance in basis points for swap adjustments.
940
+ * @param futureInterestBufferSec - Estimated seconds of future interest to buffer for repay operations (default: 2s).
941
+ * @returns Promise<{
942
+ * finalCollateralDeltaUi: number; // Final change in collateral (UI units, adjusted for swap needs)
943
+ * finalDebtDeltaUi: number; // Final change in debt (UI units, adjusted for fee/slippage/buffer)
944
+ * isIncrease: boolean; // True if leverage is increasing (borrowing more)
945
+ * collateralBankData: Bank;
946
+ * debtBankData: Bank;
947
+ * }>
948
+ */
949
+ async getAdjustLeverageParams(clendGroup, clendAccount, collateralMint, debtMint, targetLeverage, slippageBps) {
950
+ utils_1.logger.info("getAdjustLeverageParams called", {
951
+ targetLeverage,
952
+ slippageBps,
953
+ });
909
954
  // Get bank data
910
955
  const collateralBank = (0, addresses_1.getBankPda)(clendGroup, collateralMint);
911
956
  const debtBank = (0, addresses_1.getBankPda)(clendGroup, debtMint);
912
957
  const collateralBankData = await this.getBank(collateralBank);
913
958
  const debtBankData = await this.getBank(debtBank);
959
+ const debtDecimals = debtBankData.mintDecimals;
960
+ const collateralDecimals = collateralBankData.mintDecimals;
914
961
  // Get account data to determine current positions
915
962
  const clendAccountData = await this.getClendAccount(clendAccount);
916
963
  if (!clendAccountData) {
@@ -927,35 +974,164 @@ class ClendClient {
927
974
  collateralBalance = balance;
928
975
  }
929
976
  }
930
- if (!debtBalance || !collateralBalance) {
931
- throw new Error("Could not find debt or collateral position in account");
977
+ if (!debtBalance) {
978
+ throw new Error("Could not find debt position in account");
979
+ }
980
+ if (!collateralBalance) {
981
+ throw new Error("Could not find collateral position in account");
982
+ }
983
+ // Ensure liabilityShares exists on the Balance object
984
+ if (debtBalance.liabilityShares === undefined ||
985
+ debtBalance.liabilityShares === null) {
986
+ throw new Error("Missing liabilityShares on debt Balance object, cannot estimate accrued interest accurately.");
932
987
  }
933
- // Convert to UI amounts for calculations
988
+ // --- Calculate current state accurately ---
934
989
  const collateralAmountUI = collateralBalance.assetBalanceUi;
935
- const debtAmountUI = debtBalance.liabilityBalanceUi;
936
- // Calculate current leverage and values
937
- const currentLeverage = (0, math_1.calculateWeightedLeverage)(collateralAmountUI, collateralBalance.price, 1, debtAmountUI, debtBalance.price, 1);
938
- const { collateralDelta, debtDelta, isIncrease } = (0, math_1.computeAdjustLeverageAmounts)(collateralAmountUI, debtAmountUI, collateralBalance.price, debtBalance.price, currentLeverage, targetLeverage, 1, 1);
939
- utils_1.logger.info("adjustLeverage params calculated", {
940
- collateralDelta,
941
- debtDelta,
942
- isIncrease,
990
+ const collateralPrice = collateralBalance.price;
991
+ const debtPrice = debtBalance.price;
992
+ // Estimate current debt including accrued interest
993
+ const estimatedCurrentDebt = (0, math_1.calculateLiabilityInterest)(
994
+ // Using user's function name
995
+ debtBalance.liabilityShares, debtBankData.liabilityShareValue, debtBankData.borrowApy, debtBankData.lastUpdate.toNumber(), Math.floor(Date.now() / 1000));
996
+ const estimatedCurrentDebtUi = (0, math_1.amountToUi)(estimatedCurrentDebt, debtDecimals);
997
+ utils_1.logger.debug("Estimated current state", {
943
998
  collateralAmountUI,
944
- debtAmountUI,
945
- collateralValueWeightedMaint: collateralBalance.assetWeightedMaintBalanceUi,
946
- debtValueWeightedMaint: debtBalance.liabilityWeightedMaintBalanceUi,
947
- currentLeverage,
948
- targetLeverage,
999
+ estimatedCurrentDebtUi,
1000
+ collateralPrice,
1001
+ debtPrice,
949
1002
  });
1003
+ // Calculate current leverage (using notional/unweighted for consistency with compute function)
1004
+ // Use estimatedCurrentDebtUi for accuracy
1005
+ const currentLeverage = (0, math_1.calculateWeightedLeverage)(collateralAmountUI, collateralPrice, 1, estimatedCurrentDebtUi, // Use estimated current debt
1006
+ debtPrice, 1);
1007
+ utils_1.logger.debug("Calculated current leverage", { currentLeverage });
1008
+ // Calculate the IDEAL deltas based on estimated current state
1009
+ const { collateralDelta: idealCollateralDeltaUi, debtDelta: idealDebtDeltaUi, isIncrease, } = (0, math_1.computeAdjustLeverageAmounts)(collateralAmountUI, estimatedCurrentDebtUi, // Use estimated current debt
1010
+ collateralPrice, debtPrice, currentLeverage, targetLeverage, 1, 1);
1011
+ utils_1.logger.debug("Ideal deltas calculated", {
1012
+ idealCollateralDeltaUi,
1013
+ idealDebtDeltaUi,
1014
+ isIncrease,
1015
+ });
1016
+ let finalDebtDeltaUi;
1017
+ let finalCollateralDeltaUi;
1018
+ // --- Apply Adjustments based on direction ---
1019
+ if (isIncrease) {
1020
+ utils_1.logger.info("Increasing leverage: Adjusting debt delta for fee and slippage.");
1021
+ finalCollateralDeltaUi = idealCollateralDeltaUi; // Collateral delta is the target gain from swap
1022
+ if (idealDebtDeltaUi <= 0) {
1023
+ utils_1.logger.warn("isIncrease is true but idealDebtDeltaUi is not positive. Setting final debt delta to 0.");
1024
+ finalDebtDeltaUi = 0;
1025
+ }
1026
+ else {
1027
+ // 1. Convert ideal UI delta to BN
1028
+ const idealAdditionalDebtAmount = (0, math_1.uiToAmount)(idealDebtDeltaUi, debtDecimals);
1029
+ // 2. Adjust for origination fee
1030
+ const originationFeeRate = debtBankData.config.interestRateConfig.protocolOriginationFee;
1031
+ const additionalDebtAfterFee = (0, math_1.adjustBorrowForOriginationFee)(idealAdditionalDebtAmount, originationFeeRate);
1032
+ // 3. Adjust for slippage (borrow MORE)
1033
+ const finalAdditionalDebt = (0, math_1.adjustAmountForSlippage)(
1034
+ // Use renamed function
1035
+ additionalDebtAfterFee, slippageBps);
1036
+ // 4. Convert final adjusted BN back to UI units for return
1037
+ finalDebtDeltaUi = (0, math_1.amountToUi)(finalAdditionalDebt, debtDecimals);
1038
+ utils_1.logger.debug("Debt delta adjustments applied (Increase)", {
1039
+ idealDebtDeltaUi,
1040
+ idealAdditionalDebtAmount: idealAdditionalDebtAmount.toString(),
1041
+ additionalDebtAfterFee: additionalDebtAfterFee.toString(),
1042
+ finalAdditionalDebt: finalAdditionalDebt.toString(),
1043
+ finalAdjustedDebtDeltaUi: finalDebtDeltaUi,
1044
+ });
1045
+ }
1046
+ }
1047
+ else {
1048
+ // Decreasing Leverage
1049
+ utils_1.logger.info("Decreasing leverage: Adjusting debt delta for future interest buffer and recalculating collateral delta for swap.");
1050
+ if (idealDebtDeltaUi <= 0) {
1051
+ utils_1.logger.warn("isIncrease is false but idealDebtDeltaUi is not positive. Setting final deltas to 0.");
1052
+ finalDebtDeltaUi = 0;
1053
+ finalCollateralDeltaUi = 0;
1054
+ }
1055
+ else {
1056
+ // 1. Convert ideal UI delta (amount to repay) to BN
1057
+ const baseDebtToRepay = (0, math_1.uiToAmount)(idealDebtDeltaUi, debtDecimals);
1058
+ const timeBufferSec = 60;
1059
+ // 2. Add future interest buffer using addInterestAccrualBuffer
1060
+ const finalDebtToRepayTargetBN = (0, math_1.addInterestAccrualBuffer)(
1061
+ // Using user's function name
1062
+ baseDebtToRepay, debtBankData.borrowApy, timeBufferSec);
1063
+ finalDebtDeltaUi = (0, math_1.amountToUi)(finalDebtToRepayTargetBN, debtDecimals); // This is the final debt change target
1064
+ utils_1.logger.debug("Debt delta adjustments applied (Decrease)", {
1065
+ idealDebtDeltaUi,
1066
+ baseDebtToRepay: baseDebtToRepay.toString(),
1067
+ finalDebtToRepayTargetBN: finalDebtToRepayTargetBN.toString(),
1068
+ finalAdjustedDebtDeltaUi: finalDebtDeltaUi,
1069
+ });
1070
+ // 3. Recalculate Collateral Delta needed for the swap (ExactOut)
1071
+ const slippageFactor = new decimal_js_1.default(slippageBps).div(10000);
1072
+ if (slippageFactor.gte(1)) {
1073
+ throw new Error("Slippage cannot be 100% or more.");
1074
+ }
1075
+ if (collateralPrice <= 0 || debtPrice <= 0) {
1076
+ throw new Error("Cannot calculate swap amounts with zero or negative prices.");
1077
+ }
1078
+ // Ideal collateral needed for swap (UI): TargetDebtOutput * (DebtPrice / CollateralPrice)
1079
+ const idealCollateralForSwapUi = new decimal_js_1.default(finalDebtDeltaUi) // Use the final buffered debt delta
1080
+ .mul(debtPrice)
1081
+ .div(collateralPrice);
1082
+ // Ideal collateral input for the swap (BN)
1083
+ const idealCollateralForSwapBN = (0, math_1.uiToAmount)(idealCollateralForSwapUi.toNumber(), collateralDecimals);
1084
+ // Max collateral needed for swap (BN), using the adjustment function
1085
+ const collateralToSwapMax = (0, math_1.adjustAmountForSlippage)(
1086
+ // Use renamed function
1087
+ idealCollateralForSwapBN, slippageBps);
1088
+ // This collateral amount is the change needed (it will be withdrawn)
1089
+ finalCollateralDeltaUi = (0, math_1.amountToUi)(collateralToSwapMax, collateralDecimals);
1090
+ utils_1.logger.debug("Collateral delta recalculated for swap (Decrease)", {
1091
+ finalDebtDeltaUi,
1092
+ idealCollateralForSwapUi: idealCollateralForSwapUi.toString(),
1093
+ idealCollateralForSwapBN: idealCollateralForSwapBN.toString(),
1094
+ collateralToSwapMax: collateralToSwapMax.toString(),
1095
+ finalCollateralDeltaUi, // This is the amount to withdraw (UI)
1096
+ });
1097
+ }
1098
+ }
1099
+ utils_1.logger.info("adjustLeverage params calculated and adjusted", {
1100
+ finalCollateralDeltaUi,
1101
+ finalDebtDeltaUi,
1102
+ isIncrease,
1103
+ // ... other logs ...
1104
+ });
1105
+ // Ensure deltas are not negative (should be handled by logic, but safety)
1106
+ finalCollateralDeltaUi = Math.max(0, finalCollateralDeltaUi);
1107
+ finalDebtDeltaUi = Math.max(0, finalDebtDeltaUi);
950
1108
  return {
951
- collateralDeltaUi: collateralDelta,
952
- debtDeltaUi: debtDelta,
1109
+ finalCollateralDeltaUi,
1110
+ finalDebtDeltaUi,
953
1111
  isIncrease,
954
1112
  collateralBankData,
955
1113
  debtBankData,
956
1114
  };
957
1115
  }
958
- async getAdjustLeverageIxns(clendGroup, clendAccount, user, debtBankData, collateralBankData, isIncrease, debtDeltaUi, slippageBps, additionalIxnCount) {
1116
+ /**
1117
+ * Builds the transaction instructions for adjusting leverage.
1118
+ * Uses the pre-calculated and adjusted delta values from getAdjustLeverageParams.
1119
+ *
1120
+ * @param clendGroup - The public key of the Clend group.
1121
+ * @param clendAccount - The public key of the user's Clend account.
1122
+ * @param user - The public key of the user initiating the transaction.
1123
+ * @param debtBankData - The Bank data for the debt asset.
1124
+ * @param collateralBankData - The Bank data for the collateral asset.
1125
+ * @param isIncrease - Boolean indicating if leverage is increasing.
1126
+ * @param finalDebtDeltaUi - The final calculated change in debt (UI units), adjusted for fees/slippage/buffers.
1127
+ * @param finalCollateralDeltaUi - The final calculated change in collateral (UI units), adjusted for swap needs.
1128
+ * @param slippageBps - The slippage tolerance in basis points for Jupiter swaps.
1129
+ * @param additionalIxnCount - Count of additional instructions (e.g., JIT) to offset flash loan index.
1130
+ * @returns Promise<{ ixns: web3.TransactionInstruction[]; luts: web3.PublicKey[]; }>
1131
+ */
1132
+ async getAdjustLeverageIxns(clendGroup, clendAccount, user, debtBankData, collateralBankData, isIncrease, finalDebtDeltaUi, // Use the final adjusted value from getAdjustLeverageParams
1133
+ finalCollateralDeltaUi, // Use the final adjusted value from getAdjustLeverageParams
1134
+ slippageBps, additionalIxnCount) {
959
1135
  const clendAccountData = await this.getClendAccount(clendAccount);
960
1136
  if (!clendAccountData) {
961
1137
  throw new Error(`Clend account not found: ${clendAccount.toString()}`);
@@ -983,15 +1159,17 @@ class ClendClient {
983
1159
  const instructions = [];
984
1160
  let swapLookupTables = [];
985
1161
  if (isIncrease) {
986
- utils_1.logger.info("increasing leverage");
987
- const additionalDebtAmount = (0, math_1.uiToAmount)(debtDeltaUi, debtBankData.mintDecimals);
988
- utils_1.logger.debug("additionalDebtAmount calculated", {
1162
+ utils_1.logger.info("Building instructions for increasing leverage");
1163
+ // Use the finalDebtDeltaUi passed in (already adjusted)
1164
+ const additionalDebtAmount = (0, math_1.uiToAmount)(finalDebtDeltaUi, debtBankData.mintDecimals);
1165
+ utils_1.logger.debug("additionalDebtAmount to borrow (final adjusted)", {
989
1166
  additionalDebtAmount: additionalDebtAmount.toString(),
990
1167
  });
991
- // Get Jupiter quote for swapping debt token to collateral token
1168
+ // Get Jupiter quote for swapping debt token to collateral token (ExactIn)
992
1169
  const swapMode = api_1.SwapMode.ExactIn;
993
- const swapQuote = await this.getJupiterQuote(debtBankData.mint, collateralBankData.mint, debtBankData.mintDecimals, collateralBankData.mintDecimals, new decimal_js_1.default(additionalDebtAmount.toString()), slippageBps, swapMode);
994
- utils_1.logger.debug("swapQuote calculated", {
1170
+ const swapQuote = await this.getJupiterQuote(debtBankData.mint, collateralBankData.mint, debtBankData.mintDecimals, collateralBankData.mintDecimals, new decimal_js_1.default(additionalDebtAmount.toString()), // Input is the final amount to borrow
1171
+ slippageBps, swapMode);
1172
+ utils_1.logger.debug("swapQuote calculated (Increase)", {
995
1173
  inAmount: swapQuote.quoteResponse.inAmount,
996
1174
  outAmount: swapQuote.quoteResponse.outAmount,
997
1175
  priceImpactPct: swapQuote.quoteResponse.priceImpactPct,
@@ -1003,57 +1181,63 @@ class ClendClient {
1003
1181
  outputMint: collateralBankData.mint,
1004
1182
  };
1005
1183
  const swapIxs = await this.getJupiterSwap(user, swapInputs, swapQuote);
1006
- // Borrow more debt
1007
- const borrowIx = await this.instructions.borrow(clendGroup, clendAccount, user, debtBankData.key, userDebtAta, debtTokenProgram, additionalDebtAmount, remainingAccounts);
1008
- // Calculate additional collateral from swap
1184
+ // Borrow the final adjusted debt amount
1185
+ const borrowIx = await this.instructions.borrow(clendGroup, clendAccount, user, debtBankData.key, userDebtAta, debtTokenProgram, additionalDebtAmount, // Use final adjusted amount
1186
+ remainingAccounts);
1187
+ // Calculate additional collateral expected from swap (based on quote)
1009
1188
  const additionalCollateralAmount = new anchor_1.BN(swapQuote.quoteResponse.outAmount);
1010
- utils_1.logger.debug("additionalCollateralAmount calculated", {
1189
+ utils_1.logger.debug("additionalCollateralAmount expected from swap", {
1011
1190
  additionalCollateralAmount: additionalCollateralAmount.toString(),
1012
1191
  });
1013
- // Deposit additional collateral
1014
- const depositIx = await this.instructions.deposit(clendGroup, clendAccount, user, collateralBankData.key, userCollateralAta, collateralTokenProgram, additionalCollateralAmount, remainingAccounts);
1192
+ // Deposit additional collateral received from swap
1193
+ const depositIx = await this.instructions.deposit(clendGroup, clendAccount, user, collateralBankData.key, userCollateralAta, collateralTokenProgram, additionalCollateralAmount, // Deposit what the swap provides
1194
+ remainingAccounts);
1015
1195
  instructions.push(borrowIx, ...swapIxs.swapIxs, depositIx);
1016
1196
  swapLookupTables = swapIxs.lookupTables;
1017
1197
  }
1018
1198
  else {
1019
- // Calculate amounts for decreasing leverage
1020
- const debtToReduceAmount = (0, math_1.uiToAmount)(debtDeltaUi, debtBankData.mintDecimals);
1021
- utils_1.logger.info("decreasing leverage", {
1022
- debtToReduceAmount: debtToReduceAmount.toString(),
1199
+ // Decreasing Leverage
1200
+ utils_1.logger.info("Building instructions for decreasing leverage");
1201
+ // Use the finalDebtDeltaUi passed in (already includes future buffer)
1202
+ const finalDebtToRepayBN = (0, math_1.uiToAmount)(finalDebtDeltaUi, debtBankData.mintDecimals);
1203
+ // Use the finalCollateralDeltaUi passed in (already includes slippage adjustment for swap)
1204
+ const finalCollateralToWithdrawBN = (0, math_1.uiToAmount)(finalCollateralDeltaUi, collateralBankData.mintDecimals);
1205
+ utils_1.logger.debug("Final amounts for decrease operation (Native)", {
1206
+ finalDebtToRepayBN: finalDebtToRepayBN.toString(),
1207
+ finalCollateralToWithdrawBN: finalCollateralToWithdrawBN.toString(),
1023
1208
  });
1024
- // Get Jupiter quote for swapping collateral token to debt token with ExactOut
1209
+ // Get Jupiter quote for swapping collateral token to debt token (ExactOut)
1210
+ // Target the final buffered debt repayment amount
1025
1211
  const swapMode = api_1.SwapMode.ExactOut;
1026
- const swapQuote = await this.getJupiterQuote(collateralBankData.mint, debtBankData.mint, collateralBankData.mintDecimals, debtBankData.mintDecimals, new decimal_js_1.default(debtToReduceAmount.toString()), slippageBps, swapMode);
1027
- utils_1.logger.debug("swapQuote calculated", {
1028
- inAmount: swapQuote.quoteResponse.inAmount,
1029
- outAmount: swapQuote.quoteResponse.outAmount,
1212
+ const swapQuote = await this.getJupiterQuote(collateralBankData.mint, debtBankData.mint, collateralBankData.mintDecimals, debtBankData.mintDecimals, new decimal_js_1.default(finalDebtToRepayBN.toString()), // Target output amount
1213
+ slippageBps, swapMode);
1214
+ const estimatedCollateralInput = swapQuote.quoteResponse.inAmount;
1215
+ utils_1.logger.debug("swapQuote calculated (Decrease)", {
1216
+ targetOutput: finalDebtToRepayBN.toString(),
1217
+ estimatedInput: estimatedCollateralInput,
1218
+ maxInputCalculated: finalCollateralToWithdrawBN.toString(), // Compare Jupiter estimate vs our max calc
1030
1219
  priceImpactPct: swapQuote.quoteResponse.priceImpactPct,
1031
1220
  });
1032
- // Calculate how much collateral we need to swap to repay the debt
1033
- const collateralToSwap = new anchor_1.BN(swapQuote.quoteResponse.inAmount);
1034
- utils_1.logger.debug("collateralToSwap calculated", {
1035
- collateralToSwap: collateralToSwap.toString(),
1036
- debtToReduceAmount: debtToReduceAmount.toString(),
1037
- });
1038
- // Get swap instructions
1039
1221
  const swapInputs = {
1040
- inputAmountLamports: new decimal_js_1.default(collateralToSwap.toString()),
1222
+ inputAmountLamports: new decimal_js_1.default(swapQuote.quoteResponse.inAmount.toString()),
1041
1223
  inputMint: collateralBankData.mint,
1042
1224
  outputMint: debtBankData.mint,
1043
1225
  };
1044
1226
  const swapIxs = await this.getJupiterSwap(user, swapInputs, swapQuote);
1045
- // Withdraw collateral
1046
- const withdrawIx = await this.instructions.withdraw(clendGroup, clendAccount, user, collateralBankData.key, userCollateralAta, collateralTokenProgram, collateralToSwap, false, remainingAccounts);
1047
- // Repay debt
1048
- const repayAmount = (0, math_1.uiToAmount)(debtDeltaUi, debtBankData.mintDecimals);
1049
- utils_1.logger.debug("repayAmount calculated", {
1050
- repayAmount: repayAmount.toString(),
1051
- });
1052
- const repayIx = await this.instructions.repay(clendGroup, clendAccount, user, debtBankData.key, userDebtAta, debtTokenProgram, repayAmount, false, remainingAccounts);
1227
+ // Withdraw the CALCULATED MAXIMUM collateral needed (includes swap input + buffer)
1228
+ const withdrawIx = await this.instructions.withdraw(clendGroup, clendAccount, user, collateralBankData.key, userCollateralAta, collateralTokenProgram, finalCollateralToWithdrawBN, // Use the final adjusted amount from params
1229
+ false, // Not withdrawing all
1230
+ remainingAccounts);
1231
+ // Repay the CALCULATED BUFFERED debt amount
1232
+ const repayIx = await this.instructions.repay(clendGroup, clendAccount, user, debtBankData.key, userDebtAta, debtTokenProgram, finalDebtToRepayBN, // Use the final adjusted amount from params
1233
+ false, // Not repaying all
1234
+ remainingAccounts);
1053
1235
  instructions.push(withdrawIx, ...swapIxs.swapIxs, repayIx);
1054
1236
  swapLookupTables = swapIxs.lookupTables;
1055
1237
  }
1056
- const cuIxns = 2;
1238
+ // --- Flash Loan Wrapping ---
1239
+ const cuIxns = 2; // Assuming 2 compute budget instructions are added later
1240
+ // Calculate end index based on actual instructions generated + potential JIT ixns + flash loan ixns
1057
1241
  const endIndex = new anchor_1.BN(cuIxns + instructions.length + 1 + additionalIxnCount);
1058
1242
  const { beginFlashLoanIx, endFlashLoanIx } = await this.instructions.createFlashLoanInstructions(clendAccount, user, endIndex, remainingAccounts);
1059
1243
  // Create a new array with the flash loan instructions wrapping the existing instructions
package/dist/rpc.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"rpc.js","sourceRoot":"","sources":["../src/rpc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rpc.js","sourceRoot":"","sources":["../src/rpc.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@carrot-protocol/clend-rpc",
3
- "version": "0.1.4-slippage-dev-cf7647d",
3
+ "version": "0.1.4-slippage-dev-7513a63",
4
4
  "description": "rpc client and libs for carrot lend",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",