@haven-fi/solauto-sdk 1.0.157 → 1.0.159

Sign up to get free protection for your applications and to get access to all the features.
@@ -1 +1 @@
1
- {"version":3,"file":"solautoMarginfiClient.d.ts","sourceRoot":"","sources":["../../src/clients/solautoMarginfiClient.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,MAAM,EACN,kBAAkB,EAMnB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,SAAS,EAA8B,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAM1D,OAAO,EACL,kBAAkB,EAElB,aAAa,EAEb,iBAAiB,EACjB,wBAAwB,EACxB,gCAAgC,EAKjC,MAAM,cAAc,CAAC;AAGtB,OAAO,EAEL,eAAe,EAUhB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAUnE,MAAM,WAAW,yBAA0B,SAAQ,iBAAiB;IAClE,eAAe,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IACrC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,aAAa,CAAC,EAAE,SAAS,CAAC;CAC3B;AAED,qBAAa,qBAAsB,SAAQ,aAAa;IACtD,OAAO,CAAC,WAAW,CAAkB;IAE9B,eAAe,EAAG,SAAS,CAAC;IAE5B,sBAAsB,EAAE,MAAM,CAAa;IAC3C,eAAe,EAAG,SAAS,GAAG,MAAM,CAAC;IACrC,iBAAiB,EAAG,SAAS,CAAC;IAC9B,aAAa,EAAG,SAAS,CAAC;IAE1B,sBAAsB,EAAG,qBAAqB,CAAC;IAC/C,oBAAoB,EAAG,qBAAqB,CAAC;IAE7C,iBAAiB,EAAG,SAAS,CAAC;IAC9B,eAAe,EAAG,SAAS,CAAC;IAG5B,iCAAiC,CAAC,EAAE,MAAM,CAAC;IAC3C,6BAA6B,EAAG,SAAS,CAAC;IAC1C,2BAA2B,CAAC,EAAE,eAAe,CAAC;IAE/C,UAAU,CAAC,IAAI,EAAE,yBAAyB;IAmE1C,8BAA8B;IA0CpC,eAAe,IAAI,SAAS;IAI5B,mBAAmB,IAAI,MAAM,EAAE;IAI/B,gBAAgB,IAAI,SAAS,EAAE;IAUzB,qBAAqB,IAAI,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;IA2BpE,yBAAyB,IAAI,kBAAkB;IAS/C,YAAY,CACV,aAAa,CAAC,EAAE,gCAAgC,EAChD,GAAG,CAAC,EAAE,kBAAkB,GACvB,kBAAkB;IAMrB,OAAO,CAAC,sBAAsB;IA+C9B,OAAO,IAAI,kBAAkB;IAc7B,mBAAmB,CAAC,IAAI,EAAE,iBAAiB,GAAG,kBAAkB;IAUhE,OAAO,CAAC,6BAA6B;IAmErC,OAAO,CAAC,oCAAoC;IA0D5C,SAAS,CACP,aAAa,EAAE,GAAG,GAAG,GAAG,EACxB,WAAW,EAAE,cAAc,EAC3B,aAAa,EAAE,wBAAwB,EACvC,WAAW,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,gBAAgB,EAC5B,2BAA2B,CAAC,EAAE,MAAM,EACpC,WAAW,CAAC,EAAE,MAAM,GACnB,kBAAkB;IAoErB,WAAW,CACT,gBAAgB,EAAE,gBAAgB,EAClC,uBAAuB,EAAE,SAAS,GACjC,kBAAkB;IA2BrB,UAAU,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,kBAAkB;IAoFlE,iCAAiC,IAAI,kBAAkB;IASjD,qBAAqB,IAAI,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;CAwClE"}
1
+ {"version":3,"file":"solautoMarginfiClient.d.ts","sourceRoot":"","sources":["../../src/clients/solautoMarginfiClient.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,MAAM,EACN,kBAAkB,EAMnB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,SAAS,EAA8B,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAM1D,OAAO,EACL,kBAAkB,EAElB,aAAa,EAEb,iBAAiB,EACjB,wBAAwB,EACxB,gCAAgC,EAKjC,MAAM,cAAc,CAAC;AAGtB,OAAO,EAEL,eAAe,EAUhB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAUnE,MAAM,WAAW,yBAA0B,SAAQ,iBAAiB;IAClE,eAAe,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IACrC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,aAAa,CAAC,EAAE,SAAS,CAAC;CAC3B;AAED,qBAAa,qBAAsB,SAAQ,aAAa;IACtD,OAAO,CAAC,WAAW,CAAkB;IAE9B,eAAe,EAAG,SAAS,CAAC;IAE5B,sBAAsB,EAAE,MAAM,CAAa;IAC3C,eAAe,EAAG,SAAS,GAAG,MAAM,CAAC;IACrC,iBAAiB,EAAG,SAAS,CAAC;IAC9B,aAAa,EAAG,SAAS,CAAC;IAE1B,sBAAsB,EAAG,qBAAqB,CAAC;IAC/C,oBAAoB,EAAG,qBAAqB,CAAC;IAE7C,iBAAiB,EAAG,SAAS,CAAC;IAC9B,eAAe,EAAG,SAAS,CAAC;IAG5B,iCAAiC,CAAC,EAAE,MAAM,CAAC;IAC3C,6BAA6B,EAAG,SAAS,CAAC;IAC1C,2BAA2B,CAAC,EAAE,eAAe,CAAC;IAE/C,UAAU,CAAC,IAAI,EAAE,yBAAyB;IA+D1C,8BAA8B;IA0CpC,eAAe,IAAI,SAAS;IAI5B,mBAAmB,IAAI,MAAM,EAAE;IAI/B,gBAAgB,IAAI,SAAS,EAAE;IAUzB,qBAAqB,IAAI,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;IA2BpE,yBAAyB,IAAI,kBAAkB;IAS/C,YAAY,CACV,aAAa,CAAC,EAAE,gCAAgC,EAChD,GAAG,CAAC,EAAE,kBAAkB,GACvB,kBAAkB;IAMrB,OAAO,CAAC,sBAAsB;IA+C9B,OAAO,IAAI,kBAAkB;IAc7B,mBAAmB,CAAC,IAAI,EAAE,iBAAiB,GAAG,kBAAkB;IAUhE,OAAO,CAAC,6BAA6B;IAmErC,OAAO,CAAC,oCAAoC;IA0D5C,SAAS,CACP,aAAa,EAAE,GAAG,GAAG,GAAG,EACxB,WAAW,EAAE,cAAc,EAC3B,aAAa,EAAE,wBAAwB,EACvC,WAAW,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,gBAAgB,EAC5B,2BAA2B,CAAC,EAAE,MAAM,EACpC,WAAW,CAAC,EAAE,MAAM,GACnB,kBAAkB;IAoErB,WAAW,CACT,gBAAgB,EAAE,gBAAgB,EAClC,uBAAuB,EAAE,SAAS,GACjC,kBAAkB;IA2BrB,UAAU,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,kBAAkB;IAoFlE,iCAAiC,IAAI,kBAAkB;IASjD,qBAAqB,IAAI,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;CAwClE"}
@@ -53,7 +53,7 @@ class SolautoMarginfiClient extends solautoClient_1.SolautoClient {
53
53
  this.supplyPriceOracle = new web3_js_1.PublicKey(this.marginfiSupplyAccounts.priceOracle);
54
54
  this.debtPriceOracle = new web3_js_1.PublicKey(this.marginfiDebtAccounts.priceOracle);
55
55
  if (!this.solautoPositionState) {
56
- const [maxLtv, liqThreshold] = await (0, marginfiUtils_1.getMaxLtvAndLiqThreshold)(this.umi, { mint: this.supplyMint }, { mint: this.debtMint });
56
+ const [maxLtv, liqThreshold] = (await this.maxLtvAndLiqThreshold());
57
57
  this.solautoPositionState = (0, utils_1.createFakePositionState)({ mint: this.supplyMint }, { mint: this.debtMint }, (0, numberUtils_1.toBps)(maxLtv), (0, numberUtils_1.toBps)(liqThreshold));
58
58
  }
59
59
  if (!this.initialized) {
@@ -336,7 +336,7 @@ class SolautoMarginfiClient extends solautoClient_1.SolautoClient {
336
336
  : undefined,
337
337
  rebalanceType,
338
338
  targetLiqUtilizationRateBps: targetLiqUtilizationRateBps ?? null,
339
- targetInAmountBaseUnit: targetLiqUtilizationRateBps
339
+ targetInAmountBaseUnit: targetLiqUtilizationRateBps && rebalanceStep === "A"
340
340
  ? swapDetails.amount
341
341
  : null,
342
342
  limitGapBps: limitGapBps ?? null,
@@ -217,7 +217,7 @@ class TransactionsManager {
217
217
  if (updateLookupTable &&
218
218
  updateLookupTable.updateLutTx.getInstructions().length > 0 &&
219
219
  updateLookupTable?.needsToBeIsolated) {
220
- await (0, generalUtils_1.retryWithExponentialBackoff)(async (attemptNum) => this.sendTransaction(updateLookupTable.updateLutTx, updateLutTxName, attemptNum, prioritySetting), 3, 150, this.errorsToThrow);
220
+ await (0, generalUtils_1.retryWithExponentialBackoff)(async (attemptNum) => await this.sendTransaction(updateLookupTable.updateLutTx, updateLutTxName, attemptNum, prioritySetting), 3, 150, this.errorsToThrow);
221
221
  }
222
222
  this.lookupTables.defaultLuts = client.defaultLookupTables();
223
223
  for (const item of items) {
@@ -317,7 +317,7 @@ class TransactionsManager {
317
317
  if (this.txHandler.localTest) {
318
318
  await this.debugAccounts(itemSet, tx);
319
319
  }
320
- this.sendTransaction(tx, itemSet.name(), attemptNum, prioritySetting);
320
+ await this.sendTransaction(tx, itemSet.name(), attemptNum, prioritySetting);
321
321
  }
322
322
  }, this.retries, this.retryDelay, this.errorsToThrow);
323
323
  }
@@ -1 +1 @@
1
- {"version":3,"file":"rebalanceUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/solauto/rebalanceUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EACL,WAAW,EACX,aAAa,EAEb,yBAAyB,EACzB,SAAS,EACV,MAAM,iBAAiB,CAAC;AAOzB,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAgJjD,MAAM,WAAW,eAAe;IAC9B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,SAAS,CAAC;CAC1B;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,aAAa,EACpB,QAAQ,EAAE,yBAAyB,GAAG,SAAS,EAC/C,GAAG,EAAE,WAAW,GAAG,SAAS,EAC5B,eAAe,EAAE,MAAM,EACvB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,2BAA2B,CAAC,EAAE,MAAM,EACpC,WAAW,CAAC,EAAE,MAAM,GACnB,eAAe,CAiEjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,SAAS,CAAC;CACjB;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,eAAe,EACvB,QAAQ,EAAE,aAAa,EACvB,cAAc,EAAE,MAAM,GACrB,gBAAgB,GAAG,SAAS,CAmE9B;AAED,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,eAAe,EACvB,2BAA2B,CAAC,EAAE,MAAM,EACpC,UAAU,CAAC,EAAE,MAAM,GAClB,cAAc,CAqChB"}
1
+ {"version":3,"file":"rebalanceUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/solauto/rebalanceUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EACL,WAAW,EACX,aAAa,EAEb,yBAAyB,EACzB,SAAS,EACV,MAAM,iBAAiB,CAAC;AAOzB,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AA8IjD,MAAM,WAAW,eAAe;IAC9B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,SAAS,CAAC;CAC1B;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,aAAa,EACpB,QAAQ,EAAE,yBAAyB,GAAG,SAAS,EAC/C,GAAG,EAAE,WAAW,GAAG,SAAS,EAC5B,eAAe,EAAE,MAAM,EACvB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,2BAA2B,CAAC,EAAE,MAAM,EACpC,WAAW,CAAC,EAAE,MAAM,GACnB,eAAe,CAiEjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,SAAS,CAAC;CACjB;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,eAAe,EACvB,QAAQ,EAAE,aAAa,EACvB,cAAc,EAAE,MAAM,GACrB,gBAAgB,GAAG,SAAS,CAoE9B;AAED,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,eAAe,EACvB,2BAA2B,CAAC,EAAE,MAAM,EACpC,UAAU,CAAC,EAAE,MAAM,GAClB,cAAc,CAsChB"}
@@ -111,11 +111,12 @@ function getRebalanceValues(state, settings, dca, currentUnixTime, supplyPrice,
111
111
  debtAdjustmentUsd,
112
112
  amountToDcaIn: amountToDcaIn ?? 0,
113
113
  amountUsdToDcaIn,
114
- dcaTokenType: dca?.tokenType
114
+ dcaTokenType: dca?.tokenType,
115
115
  };
116
116
  }
117
117
  function getFlashLoanDetails(client, values, jupQuote, priceImpactBps) {
118
- let supplyUsd = (0, numberUtils_1.fromBaseUnit)(client.solautoPositionState.supply.amountUsed.baseAmountUsdValue, generalAccounts_1.USD_DECIMALS) + (values.dcaTokenType === generated_1.TokenType.Supply ? values.amountUsdToDcaIn : 0);
118
+ let supplyUsd = (0, numberUtils_1.fromBaseUnit)(client.solautoPositionState.supply.amountUsed.baseAmountUsdValue, generalAccounts_1.USD_DECIMALS) +
119
+ (values.dcaTokenType === generated_1.TokenType.Supply ? values.amountUsdToDcaIn : 0);
119
120
  let debtUsd = (0, numberUtils_1.fromBaseUnit)(client.solautoPositionState.debt.amountUsed.baseAmountUsdValue, generalAccounts_1.USD_DECIMALS);
120
121
  const debtAdjustmentWithSlippage = Math.abs(values.debtAdjustmentUsd) +
121
122
  Math.abs(values.debtAdjustmentUsd) * (0, numberUtils_1.fromBps)(priceImpactBps);
@@ -141,7 +142,8 @@ function getFlashLoanDetails(client, values, jupQuote, priceImpactBps) {
141
142
  flashLoanToken = client.solautoPositionState.supply;
142
143
  flashLoanTokenPrice = (0, generalUtils_2.safeGetPrice)(client.supplyMint);
143
144
  }
144
- const exactAmountBaseUnit = jupQuote && jupQuote.swapMode === "ExactOut"
145
+ const exactAmountBaseUnit = jupQuote &&
146
+ (jupQuote.swapMode === "ExactOut" || jupQuote.swapMode === "ExactIn")
145
147
  ? BigInt(parseInt(jupQuote.inAmount))
146
148
  : undefined;
147
149
  return requiresFlashLoan
@@ -161,7 +163,8 @@ function getJupSwapRebalanceDetails(client, values, targetLiqUtilizationRateBps,
161
163
  const output = values.increasingLeverage
162
164
  ? client.solautoPositionState.supply
163
165
  : client.solautoPositionState.debt;
164
- const usdToSwap = Math.abs(values.debtAdjustmentUsd) + (values.dcaTokenType === generated_1.TokenType.Debt ? values.amountUsdToDcaIn : 0);
166
+ const usdToSwap = Math.abs(values.debtAdjustmentUsd) +
167
+ (values.dcaTokenType === generated_1.TokenType.Debt ? values.amountUsdToDcaIn : 0);
165
168
  const inputPrice = values.increasingLeverage
166
169
  ? (0, generalUtils_2.safeGetPrice)(client.debtMint)
167
170
  : (0, generalUtils_2.safeGetPrice)(client.supplyMint);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@haven-fi/solauto-sdk",
3
- "version": "1.0.157",
3
+ "version": "1.0.159",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "description": "Typescript SDK for the Solauto program on the Solana blockchain",
@@ -133,11 +133,7 @@ export class SolautoMarginfiClient extends SolautoClient {
133
133
  this.debtPriceOracle = new PublicKey(this.marginfiDebtAccounts.priceOracle);
134
134
 
135
135
  if (!this.solautoPositionState) {
136
- const [maxLtv, liqThreshold] = await getMaxLtvAndLiqThreshold(
137
- this.umi,
138
- { mint: this.supplyMint },
139
- { mint: this.debtMint }
140
- );
136
+ const [maxLtv, liqThreshold] = (await this.maxLtvAndLiqThreshold())!;
141
137
  this.solautoPositionState = createFakePositionState(
142
138
  { mint: this.supplyMint },
143
139
  { mint: this.debtMint },
@@ -521,7 +517,7 @@ export class SolautoMarginfiClient extends SolautoClient {
521
517
  : undefined,
522
518
  rebalanceType,
523
519
  targetLiqUtilizationRateBps: targetLiqUtilizationRateBps ?? null,
524
- targetInAmountBaseUnit: targetLiqUtilizationRateBps
520
+ targetInAmountBaseUnit: targetLiqUtilizationRateBps && rebalanceStep === "A"
525
521
  ? swapDetails.amount
526
522
  : null,
527
523
  limitGapBps: limitGapBps ?? null,
@@ -320,7 +320,7 @@ export class TransactionsManager {
320
320
  ) {
321
321
  await retryWithExponentialBackoff(
322
322
  async (attemptNum) =>
323
- this.sendTransaction(
323
+ await this.sendTransaction(
324
324
  updateLookupTable.updateLutTx,
325
325
  updateLutTxName,
326
326
  attemptNum,
@@ -472,7 +472,7 @@ export class TransactionsManager {
472
472
  if (this.txHandler.localTest) {
473
473
  await this.debugAccounts(itemSet, tx);
474
474
  }
475
- this.sendTransaction(
475
+ await this.sendTransaction(
476
476
  tx,
477
477
  itemSet.name(),
478
478
  attemptNum,
@@ -26,9 +26,7 @@ import {
26
26
  toBaseUnit,
27
27
  } from "../numberUtils";
28
28
  import { USD_DECIMALS } from "../../constants/generalAccounts";
29
- import {
30
- DEFAULT_LIMIT_GAP_BPS,
31
- } from "../../constants/solautoConstants";
29
+ import { DEFAULT_LIMIT_GAP_BPS } from "../../constants/solautoConstants";
32
30
 
33
31
  function getAdditionalAmountToDcaIn(dca: DCASettings): number {
34
32
  if (dca.dcaInBaseUnit === BigInt(0)) {
@@ -125,7 +123,7 @@ function getTargetRateAndDcaAmount(
125
123
  dca: DCASettings | undefined,
126
124
  currentUnixTime: number,
127
125
  targetLiqUtilizationRateBps?: number
128
- ): { targetRateBps: number; amountToDcaIn?: number; } {
126
+ ): { targetRateBps: number; amountToDcaIn?: number } {
129
127
  if (targetLiqUtilizationRateBps !== undefined) {
130
128
  return {
131
129
  targetRateBps: targetLiqUtilizationRateBps,
@@ -238,7 +236,7 @@ export function getRebalanceValues(
238
236
  debtAdjustmentUsd,
239
237
  amountToDcaIn: amountToDcaIn ?? 0,
240
238
  amountUsdToDcaIn,
241
- dcaTokenType: dca?.tokenType
239
+ dcaTokenType: dca?.tokenType,
242
240
  };
243
241
  }
244
242
 
@@ -253,10 +251,12 @@ export function getFlashLoanDetails(
253
251
  jupQuote: QuoteResponse,
254
252
  priceImpactBps: number
255
253
  ): FlashLoanDetails | undefined {
256
- let supplyUsd = fromBaseUnit(
257
- client.solautoPositionState!.supply.amountUsed.baseAmountUsdValue,
258
- USD_DECIMALS
259
- ) + (values.dcaTokenType === TokenType.Supply ? values.amountUsdToDcaIn : 0);
254
+ let supplyUsd =
255
+ fromBaseUnit(
256
+ client.solautoPositionState!.supply.amountUsed.baseAmountUsdValue,
257
+ USD_DECIMALS
258
+ ) +
259
+ (values.dcaTokenType === TokenType.Supply ? values.amountUsdToDcaIn : 0);
260
260
  let debtUsd = fromBaseUnit(
261
261
  client.solautoPositionState!.debt.amountUsed.baseAmountUsdValue,
262
262
  USD_DECIMALS
@@ -299,7 +299,8 @@ export function getFlashLoanDetails(
299
299
  }
300
300
 
301
301
  const exactAmountBaseUnit =
302
- jupQuote && jupQuote.swapMode === "ExactOut"
302
+ jupQuote &&
303
+ (jupQuote.swapMode === "ExactOut" || jupQuote.swapMode === "ExactIn")
303
304
  ? BigInt(parseInt(jupQuote.inAmount))
304
305
  : undefined;
305
306
 
@@ -308,9 +309,7 @@ export function getFlashLoanDetails(
308
309
  baseUnitAmount: exactAmountBaseUnit
309
310
  ? exactAmountBaseUnit +
310
311
  BigInt(
311
- Math.round(
312
- Number(exactAmountBaseUnit) * fromBps(priceImpactBps)
313
- )
312
+ Math.round(Number(exactAmountBaseUnit) * fromBps(priceImpactBps))
314
313
  )
315
314
  : toBaseUnit(
316
315
  debtAdjustmentWithSlippage / flashLoanTokenPrice,
@@ -335,7 +334,8 @@ export function getJupSwapRebalanceDetails(
335
334
  : client.solautoPositionState!.debt;
336
335
 
337
336
  const usdToSwap =
338
- Math.abs(values.debtAdjustmentUsd) + (values.dcaTokenType === TokenType.Debt ? values.amountUsdToDcaIn : 0);
337
+ Math.abs(values.debtAdjustmentUsd) +
338
+ (values.dcaTokenType === TokenType.Debt ? values.amountUsdToDcaIn : 0);
339
339
 
340
340
  const inputPrice = values.increasingLeverage
341
341
  ? safeGetPrice(client.debtMint)