@haven-fi/solauto-sdk 1.0.435 → 1.0.437
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.
@@ -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,kBAAkB,EAClB,yBAAyB,EACzB,SAAS,EACV,MAAM,iBAAiB,CAAC;AAOzB,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAajD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAoI9C,MAAM,WAAW,eAAe;IAC9B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,eAAe,EAAE,eAAe,CAAC;IACjC,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,OAAO,EAAE,MAAM,CAAC;CACjB;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,GACnC,eAAe,CAwDjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,SAAS,CAAC;IAChB,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,eAAe,EACvB,QAAQ,EAAE,aAAa,GACtB,gBAAgB,GAAG,SAAS,
|
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,kBAAkB,EAClB,yBAAyB,EACzB,SAAS,EACV,MAAM,iBAAiB,CAAC;AAOzB,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAajD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAoI9C,MAAM,WAAW,eAAe;IAC9B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,eAAe,EAAE,eAAe,CAAC;IACjC,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,OAAO,EAAE,MAAM,CAAC;CACjB;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,GACnC,eAAe,CAwDjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,SAAS,CAAC;IAChB,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,eAAe,EACvB,QAAQ,EAAE,aAAa,GACtB,gBAAgB,GAAG,SAAS,CAqF9B;AAED,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,eAAe,EACvB,2BAA2B,CAAC,EAAE,MAAM,EACpC,UAAU,CAAC,EAAE,MAAM,GAClB,cAAc,CA6ChB"}
|
@@ -128,12 +128,13 @@ function getFlashLoanDetails(client, values, jupQuote) {
|
|
128
128
|
(0, generalUtils_2.consoleLog)("Intermediary liq utilization rate:", tempLiqUtilizationRateBps, `$${supplyUsd}`, `$${debtUsd}`, "Max:", maxLiqUtilizationRateBps);
|
129
129
|
let flashLoanToken = undefined;
|
130
130
|
let flashLoanTokenPrice = 0;
|
131
|
-
const
|
131
|
+
const inAmount = BigInt(parseInt(jupQuote.inAmount));
|
132
|
+
const outAmount = BigInt(parseInt(jupQuote.outAmount));
|
132
133
|
const sufficientDebtLiquidity = debtAdjustmentUsdAbs * 1.1 <=
|
133
134
|
(0, numberUtils_1.fromBaseUnit)(client.solautoPositionState?.debt.amountCanBeUsed.baseAmountUsdValue ??
|
134
135
|
BigInt(0), generalAccounts_1.USD_DECIMALS);
|
135
|
-
|
136
|
-
|
136
|
+
const boosting = values.rebalanceDirection === generated_1.RebalanceDirection.Boost;
|
137
|
+
if (boosting || sufficientDebtLiquidity) {
|
137
138
|
flashLoanToken = client.solautoPositionState.debt;
|
138
139
|
flashLoanTokenPrice = (0, priceUtils_1.safeGetPrice)(client.debtMint);
|
139
140
|
}
|
@@ -144,11 +145,13 @@ function getFlashLoanDetails(client, values, jupQuote) {
|
|
144
145
|
if (jupQuote.swapMode !== "ExactOut" && jupQuote.swapMode !== "ExactIn") {
|
145
146
|
throw new Error("Token ledger swap not currently supported");
|
146
147
|
}
|
148
|
+
const useDebtLiquidity = (0, umi_web3js_adapters_1.toWeb3JsPublicKey)(flashLoanToken.mint).equals(client.debtMint);
|
149
|
+
const baseUnitAmount = boosting || (!boosting && !useDebtLiquidity) ? inAmount : outAmount;
|
147
150
|
return requiresFlashLoan
|
148
151
|
? {
|
149
152
|
baseUnitAmount,
|
150
153
|
mint: (0, umi_web3js_adapters_1.toWeb3JsPublicKey)(flashLoanToken.mint),
|
151
|
-
useDebtLiquidity
|
154
|
+
useDebtLiquidity,
|
152
155
|
}
|
153
156
|
: undefined;
|
154
157
|
}
|
@@ -168,7 +171,7 @@ function getJupSwapRebalanceDetails(client, values, targetLiqUtilizationRateBps,
|
|
168
171
|
// Add this small percentage to account for the APR on the debt between now and the transaction
|
169
172
|
0.0001))
|
170
173
|
: (0, numberUtils_1.toBaseUnit)(usdToSwap / (0, priceUtils_1.safeGetPrice)(output.mint), output.decimals);
|
171
|
-
const exactOut =
|
174
|
+
const exactOut = values.rebalanceDirection === generated_1.RebalanceDirection.Repay;
|
172
175
|
const exactIn = !exactOut;
|
173
176
|
const addPadding = targetLiqUtilizationRateBps === 0;
|
174
177
|
return {
|
package/package.json
CHANGED
@@ -295,7 +295,9 @@ export function getFlashLoanDetails(
|
|
295
295
|
let flashLoanToken: PositionTokenUsage | undefined = undefined;
|
296
296
|
let flashLoanTokenPrice = 0;
|
297
297
|
|
298
|
-
const
|
298
|
+
const inAmount = BigInt(parseInt(jupQuote.inAmount));
|
299
|
+
const outAmount = BigInt(parseInt(jupQuote.outAmount));
|
300
|
+
|
299
301
|
const sufficientDebtLiquidity =
|
300
302
|
debtAdjustmentUsdAbs * 1.1 <=
|
301
303
|
fromBaseUnit(
|
@@ -304,10 +306,8 @@ export function getFlashLoanDetails(
|
|
304
306
|
USD_DECIMALS
|
305
307
|
);
|
306
308
|
|
307
|
-
|
308
|
-
|
309
|
-
sufficientDebtLiquidity
|
310
|
-
) {
|
309
|
+
const boosting = values.rebalanceDirection === RebalanceDirection.Boost;
|
310
|
+
if (boosting || sufficientDebtLiquidity) {
|
311
311
|
flashLoanToken = client.solautoPositionState!.debt;
|
312
312
|
flashLoanTokenPrice = safeGetPrice(client.debtMint)!;
|
313
313
|
} else {
|
@@ -319,13 +319,17 @@ export function getFlashLoanDetails(
|
|
319
319
|
throw new Error("Token ledger swap not currently supported");
|
320
320
|
}
|
321
321
|
|
322
|
+
const useDebtLiquidity = toWeb3JsPublicKey(flashLoanToken.mint).equals(
|
323
|
+
client.debtMint
|
324
|
+
);
|
325
|
+
const baseUnitAmount =
|
326
|
+
boosting || (!boosting && !useDebtLiquidity) ? inAmount : outAmount;
|
327
|
+
|
322
328
|
return requiresFlashLoan
|
323
329
|
? {
|
324
330
|
baseUnitAmount,
|
325
331
|
mint: toWeb3JsPublicKey(flashLoanToken.mint),
|
326
|
-
useDebtLiquidity
|
327
|
-
client.debtMint
|
328
|
-
),
|
332
|
+
useDebtLiquidity,
|
329
333
|
}
|
330
334
|
: undefined;
|
331
335
|
}
|
@@ -365,8 +369,7 @@ export function getJupSwapRebalanceDetails(
|
|
365
369
|
)
|
366
370
|
: toBaseUnit(usdToSwap / safeGetPrice(output.mint)!, output.decimals);
|
367
371
|
|
368
|
-
const exactOut =
|
369
|
-
targetLiqUtilizationRateBps === 0 || values.repayingCloseToMaxLtv;
|
372
|
+
const exactOut = values.rebalanceDirection === RebalanceDirection.Repay;
|
370
373
|
const exactIn = !exactOut;
|
371
374
|
|
372
375
|
const addPadding = targetLiqUtilizationRateBps === 0;
|