@haven-fi/solauto-sdk 1.0.509 → 1.0.510
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,EAAgB,MAAM,iBAAiB,CAAC;AAa5E,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,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,eAAe;;;EAsDxB;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,CAgC9B;AAED,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,eAAe,EACvB,2BAA2B,CAAC,EAAE,MAAM,EACpC,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,cAAc,CAAC,
|
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,EAAgB,MAAM,iBAAiB,CAAC;AAa5E,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,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,eAAe;;;EAsDxB;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,CAgC9B;AAED,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,eAAe,EACvB,2BAA2B,CAAC,EAAE,MAAM,EACpC,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,cAAc,CAAC,CA6FzB"}
|
@@ -170,12 +170,10 @@ async function getJupSwapRebalanceDetails(client, values, targetLiqUtilizationRa
|
|
170
170
|
const usdToSwap = Math.abs(values.debtAdjustmentUsd) +
|
171
171
|
(values.dcaTokenType === generated_1.TokenType.Debt ? values.amountUsdToDcaIn : 0);
|
172
172
|
let inputAmount = (0, numberUtils_1.toBaseUnit)(usdToSwap / (0, priceUtils_1.safeGetPrice)(input.mint), input.decimals);
|
173
|
-
const outputAmount =
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
0.0001))
|
178
|
-
: (0, numberUtils_1.toBaseUnit)(usdToSwap / (0, priceUtils_1.safeGetPrice)(output.mint), output.decimals);
|
173
|
+
const outputAmount = output.amountUsed.baseUnit +
|
174
|
+
BigInt(Math.round(Number(output.amountUsed.baseUnit) *
|
175
|
+
// Add this small percentage to account for the APR on the debt between now and the transaction
|
176
|
+
0.0001));
|
179
177
|
const repaying = values.rebalanceDirection === generated_1.RebalanceDirection.Repay;
|
180
178
|
const { requiresFlashLoan, useDebtLiquidity } = rebalanceRequiresFlashLoan(client, values);
|
181
179
|
const flashLoanRepayFromDebt = repaying && requiresFlashLoan && useDebtLiquidity;
|
@@ -188,6 +186,8 @@ async function getJupSwapRebalanceDetails(client, values, targetLiqUtilizationRa
|
|
188
186
|
exactOut,
|
189
187
|
amount: exactOut ? outputAmount : inputAmount,
|
190
188
|
};
|
189
|
+
(0, generalUtils_2.consoleLog)(targetLiqUtilizationRateBps, rebalanceToZero);
|
190
|
+
(0, generalUtils_2.consoleLog)(jupSwapInput);
|
191
191
|
let jupQuote = undefined;
|
192
192
|
if (rebalanceToZero) {
|
193
193
|
try {
|
@@ -197,9 +197,11 @@ async function getJupSwapRebalanceDetails(client, values, targetLiqUtilizationRa
|
|
197
197
|
let priceImpact = 0;
|
198
198
|
jupSwapInput.exactIn = true;
|
199
199
|
jupSwapInput.exactOut = false;
|
200
|
-
jupSwapInput.amount =
|
200
|
+
jupSwapInput.amount =
|
201
|
+
inputAmount + BigInt(Math.round(Number(inputAmount) * 0.001));
|
201
202
|
do {
|
202
|
-
const res = await (0, priceUtils_1.getPriceImpact)(jupSwapInput.inputMint, jupSwapInput.outputMint, jupSwapInput.amount +
|
203
|
+
const res = await (0, priceUtils_1.getPriceImpact)(jupSwapInput.inputMint, jupSwapInput.outputMint, jupSwapInput.amount +
|
204
|
+
BigInt(Math.round(Number(jupSwapInput.amount) * priceImpact)), "ExactIn");
|
203
205
|
priceImpact = res.priceImpact;
|
204
206
|
jupQuote = res.quote;
|
205
207
|
jupSwapInput.amount =
|
package/package.json
CHANGED
@@ -363,16 +363,15 @@ export async function getJupSwapRebalanceDetails(
|
|
363
363
|
usdToSwap / safeGetPrice(input.mint)!,
|
364
364
|
input.decimals
|
365
365
|
);
|
366
|
-
const outputAmount =
|
367
|
-
|
368
|
-
|
369
|
-
|
370
|
-
|
371
|
-
|
372
|
-
|
373
|
-
)
|
366
|
+
const outputAmount =
|
367
|
+
output.amountUsed.baseUnit +
|
368
|
+
BigInt(
|
369
|
+
Math.round(
|
370
|
+
Number(output.amountUsed.baseUnit) *
|
371
|
+
// Add this small percentage to account for the APR on the debt between now and the transaction
|
372
|
+
0.0001
|
374
373
|
)
|
375
|
-
|
374
|
+
);
|
376
375
|
|
377
376
|
const repaying = values.rebalanceDirection === RebalanceDirection.Repay;
|
378
377
|
|
@@ -393,6 +392,8 @@ export async function getJupSwapRebalanceDetails(
|
|
393
392
|
exactOut,
|
394
393
|
amount: exactOut ? outputAmount : inputAmount,
|
395
394
|
};
|
395
|
+
consoleLog(targetLiqUtilizationRateBps, rebalanceToZero);
|
396
|
+
consoleLog(jupSwapInput);
|
396
397
|
|
397
398
|
let jupQuote: QuoteResponse | undefined = undefined;
|
398
399
|
if (rebalanceToZero) {
|
@@ -402,13 +403,15 @@ export async function getJupSwapRebalanceDetails(
|
|
402
403
|
let priceImpact: number = 0;
|
403
404
|
jupSwapInput.exactIn = true;
|
404
405
|
jupSwapInput.exactOut = false;
|
405
|
-
jupSwapInput.amount =
|
406
|
+
jupSwapInput.amount =
|
407
|
+
inputAmount + BigInt(Math.round(Number(inputAmount) * 0.001));
|
406
408
|
|
407
409
|
do {
|
408
410
|
const res = await getPriceImpact(
|
409
411
|
jupSwapInput.inputMint,
|
410
412
|
jupSwapInput.outputMint,
|
411
|
-
jupSwapInput.amount +
|
413
|
+
jupSwapInput.amount +
|
414
|
+
BigInt(Math.round(Number(jupSwapInput.amount) * priceImpact)),
|
412
415
|
"ExactIn"
|
413
416
|
);
|
414
417
|
priceImpact = res.priceImpact;
|