@haven-fi/solauto-sdk 1.0.439 → 1.0.441
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/transactions/transactionUtils.js +1 -1
- package/dist/utils/jupiterUtils.js +1 -1
- package/dist/utils/solauto/rebalanceUtils.d.ts +1 -1
- package/dist/utils/solauto/rebalanceUtils.d.ts.map +1 -1
- package/dist/utils/solauto/rebalanceUtils.js +4 -3
- package/package.json +1 -1
- package/src/transactions/transactionUtils.ts +1 -1
- package/src/utils/jupiterUtils.ts +2 -2
- package/src/utils/solauto/rebalanceUtils.ts +3 -3
@@ -375,7 +375,7 @@ async function buildSolautoRebalanceTransaction(client, targetLiqUtilizationRate
|
|
375
375
|
client.log("Rebalance values: ", values);
|
376
376
|
const swapDetails = (0, rebalanceUtils_1.getJupSwapRebalanceDetails)(client, values, targetLiqUtilizationRateBps, attemptNum);
|
377
377
|
const { jupQuote, lookupTableAddresses, setupInstructions, tokenLedgerIx, swapIx, } = await (0, jupiterUtils_1.getJupSwapTransaction)(client.signer, swapDetails, attemptNum);
|
378
|
-
const flashLoan = (0, rebalanceUtils_1.getFlashLoanDetails)(client, values,
|
378
|
+
const flashLoan = (0, rebalanceUtils_1.getFlashLoanDetails)(client, values, jupQuote);
|
379
379
|
let tx = (0, umi_1.transactionBuilder)();
|
380
380
|
if (await requiresRefreshBeforeRebalance(client)) {
|
381
381
|
tx = tx.add(client.refresh());
|
@@ -60,7 +60,7 @@ async function getJupSwapTransaction(signer, swapDetails, attemptNum) {
|
|
60
60
|
(0, generalUtils_1.consoleLog)("Increased price impact bps:", finalPriceImpactBps);
|
61
61
|
if (swapDetails.addPadding) {
|
62
62
|
(0, generalUtils_1.consoleLog)("Raw inAmount:", quoteResponse.inAmount);
|
63
|
-
const inc = Math.max((0, numberUtils_1.fromBps)(finalPriceImpactBps), (0, numberUtils_1.fromBps)(finalPriceSlippageBps)
|
63
|
+
const inc = Math.max((0, numberUtils_1.fromBps)(finalPriceImpactBps) * 1.1, (0, numberUtils_1.fromBps)(finalPriceSlippageBps) * 0.1);
|
64
64
|
(0, generalUtils_1.consoleLog)("Inc:", inc);
|
65
65
|
quoteResponse.inAmount = Math.round(parseInt(quoteResponse.inAmount) + parseInt(quoteResponse.inAmount) * inc).toString();
|
66
66
|
(0, generalUtils_1.consoleLog)("Increased inAmount:", quoteResponse.inAmount);
|
@@ -24,6 +24,6 @@ export interface FlashLoanDetails {
|
|
24
24
|
mint: PublicKey;
|
25
25
|
useDebtLiquidity: boolean;
|
26
26
|
}
|
27
|
-
export declare function getFlashLoanDetails(client: SolautoClient, values: RebalanceValues,
|
27
|
+
export declare function getFlashLoanDetails(client: SolautoClient, values: RebalanceValues, jupQuote: QuoteResponse): FlashLoanDetails | undefined;
|
28
28
|
export declare function getJupSwapRebalanceDetails(client: SolautoClient, values: RebalanceValues, targetLiqUtilizationRateBps?: number, attemptNum?: number): JupSwapDetails;
|
29
29
|
//# sourceMappingURL=rebalanceUtils.d.ts.map
|
@@ -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,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,
|
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,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,CAmC9B;AAED,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,eAAe,EACvB,2BAA2B,CAAC,EAAE,MAAM,EACpC,UAAU,CAAC,EAAE,MAAM,GAClB,cAAc,CAyDhB"}
|
@@ -132,7 +132,7 @@ function rebalanceRequiresFlashLoan(client, values) {
|
|
132
132
|
BigInt(0), generalAccounts_1.USD_DECIMALS);
|
133
133
|
return { requiresFlashLoan, useDebtLiquidity };
|
134
134
|
}
|
135
|
-
function getFlashLoanDetails(client, values,
|
135
|
+
function getFlashLoanDetails(client, values, jupQuote) {
|
136
136
|
const { requiresFlashLoan, useDebtLiquidity } = rebalanceRequiresFlashLoan(client, values);
|
137
137
|
let flashLoanToken = undefined;
|
138
138
|
let flashLoanTokenPrice = 0;
|
@@ -182,14 +182,15 @@ function getJupSwapRebalanceDetails(client, values, targetLiqUtilizationRateBps,
|
|
182
182
|
values.repayingCloseToMaxLtv ||
|
183
183
|
flashLoanRepayFromDebt;
|
184
184
|
const exactIn = !exactOut;
|
185
|
-
const addPadding = targetLiqUtilizationRateBps === 0;
|
185
|
+
// const addPadding = targetLiqUtilizationRateBps === 0;
|
186
|
+
const addPadding = exactOut;
|
186
187
|
return {
|
187
188
|
inputMint: (0, umi_web3js_adapters_1.toWeb3JsPublicKey)(input.mint),
|
188
189
|
outputMint: (0, umi_web3js_adapters_1.toWeb3JsPublicKey)(output.mint),
|
189
190
|
destinationWallet: flashLoanRepayFromDebt
|
190
191
|
? (0, umi_web3js_adapters_1.toWeb3JsPublicKey)(client.signer.publicKey)
|
191
192
|
: client.solautoPosition,
|
192
|
-
slippageIncFactor: 0.
|
193
|
+
slippageIncFactor: 0.2 + (attemptNum ?? 0) * 0.25,
|
193
194
|
amount: exactOut ? outputAmount : inputAmount,
|
194
195
|
exactIn: exactIn,
|
195
196
|
exactOut: exactOut,
|
package/package.json
CHANGED
@@ -703,7 +703,7 @@ export async function buildSolautoRebalanceTransaction(
|
|
703
703
|
tokenLedgerIx,
|
704
704
|
swapIx,
|
705
705
|
} = await getJupSwapTransaction(client.signer, swapDetails, attemptNum);
|
706
|
-
const flashLoan = getFlashLoanDetails(client, values,
|
706
|
+
const flashLoan = getFlashLoanDetails(client, values, jupQuote);
|
707
707
|
|
708
708
|
let tx = transactionBuilder();
|
709
709
|
|
@@ -118,8 +118,8 @@ export async function getJupSwapTransaction(
|
|
118
118
|
if (swapDetails.addPadding) {
|
119
119
|
consoleLog("Raw inAmount:", quoteResponse.inAmount);
|
120
120
|
const inc = Math.max(
|
121
|
-
fromBps(finalPriceImpactBps),
|
122
|
-
fromBps(finalPriceSlippageBps)
|
121
|
+
fromBps(finalPriceImpactBps) * 1.1,
|
122
|
+
fromBps(finalPriceSlippageBps) * 0.1
|
123
123
|
);
|
124
124
|
consoleLog("Inc:", inc);
|
125
125
|
quoteResponse.inAmount = Math.round(
|
@@ -304,7 +304,6 @@ export interface FlashLoanDetails {
|
|
304
304
|
export function getFlashLoanDetails(
|
305
305
|
client: SolautoClient,
|
306
306
|
values: RebalanceValues,
|
307
|
-
swapDetails: JupSwapDetails,
|
308
307
|
jupQuote: QuoteResponse
|
309
308
|
): FlashLoanDetails | undefined {
|
310
309
|
const { requiresFlashLoan, useDebtLiquidity } = rebalanceRequiresFlashLoan(
|
@@ -390,7 +389,8 @@ export function getJupSwapRebalanceDetails(
|
|
390
389
|
flashLoanRepayFromDebt;
|
391
390
|
const exactIn = !exactOut;
|
392
391
|
|
393
|
-
const addPadding = targetLiqUtilizationRateBps === 0;
|
392
|
+
// const addPadding = targetLiqUtilizationRateBps === 0;
|
393
|
+
const addPadding = exactOut;
|
394
394
|
|
395
395
|
return {
|
396
396
|
inputMint: toWeb3JsPublicKey(input.mint),
|
@@ -398,7 +398,7 @@ export function getJupSwapRebalanceDetails(
|
|
398
398
|
destinationWallet: flashLoanRepayFromDebt
|
399
399
|
? toWeb3JsPublicKey(client.signer.publicKey)
|
400
400
|
: client.solautoPosition,
|
401
|
-
slippageIncFactor: 0.
|
401
|
+
slippageIncFactor: 0.2 + (attemptNum ?? 0) * 0.25,
|
402
402
|
amount: exactOut ? outputAmount : inputAmount,
|
403
403
|
exactIn: exactIn,
|
404
404
|
exactOut: exactOut,
|