@haven-fi/solauto-sdk 1.0.500 → 1.0.502

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":"transactionUtils.d.ts","sourceRoot":"","sources":["../../src/transactions/transactionUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,kBAAkB,EAClB,GAAG,EAGJ,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,SAAS,EAA8B,MAAM,iBAAiB,CAAC;AAoBxE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAOzD,OAAO,EAIL,eAAe,EAChB,MAAM,iCAAiC,CAAC;AA0BzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAOlD,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AA6LjD,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,aAAa,EACrB,EAAE,EAAE,kBAAkB,EACtB,sBAAsB,EAAE,MAAM,EAAE,GAC/B,OAAO,CAAC,kBAAkB,CAAC,CAoH7B;AA2LD,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,aAAa,EACrB,EAAE,EAAE,kBAAkB,GACrB,OAAO,CAAC,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC,CA0BnD;AAED,wBAAsB,8BAA8B,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,eAAe,oBAqDlG;AAED,wBAAsB,gCAAgC,CACpD,MAAM,EAAE,aAAa,EACrB,2BAA2B,CAAC,EAAE,MAAM,EACpC,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC,CAqI5C;AAED,wBAAsB,gCAAgC,CACpD,eAAe,EAAE,oBAAoB,EACrC,YAAY,EAAE,SAAS,EACvB,eAAe,EAAE,SAAS,GACzB,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC,CAsC5C;AAED,wBAAgB,YAAY,CAC1B,GAAG,EAAE,GAAG,EACR,GAAG,EAAE,kBAAkB,EAAE,EACzB,KAAK,EAAE,KAAK,EACZ,oBAAoB,CAAC,EAAE,OAAO;;;;EAoG/B"}
1
+ {"version":3,"file":"transactionUtils.d.ts","sourceRoot":"","sources":["../../src/transactions/transactionUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,kBAAkB,EAClB,GAAG,EAGJ,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,SAAS,EAA8B,MAAM,iBAAiB,CAAC;AAoBxE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAOzD,OAAO,EAIL,eAAe,EAChB,MAAM,iCAAiC,CAAC;AA0BzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAOlD,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AA6LjD,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,aAAa,EACrB,EAAE,EAAE,kBAAkB,EACtB,sBAAsB,EAAE,MAAM,EAAE,GAC/B,OAAO,CAAC,kBAAkB,CAAC,CAoH7B;AA2LD,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,aAAa,EACrB,EAAE,EAAE,kBAAkB,GACrB,OAAO,CAAC,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC,CA0BnD;AAED,wBAAsB,8BAA8B,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,eAAe,oBAqDlG;AAED,wBAAsB,gCAAgC,CACpD,MAAM,EAAE,aAAa,EACrB,2BAA2B,CAAC,EAAE,MAAM,EACpC,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC,CAsI5C;AAED,wBAAsB,gCAAgC,CACpD,eAAe,EAAE,oBAAoB,EACrC,YAAY,EAAE,SAAS,EACvB,eAAe,EAAE,SAAS,GACzB,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC,CAsC5C;AAED,wBAAgB,YAAY,CAC1B,GAAG,EAAE,GAAG,EACR,GAAG,EAAE,kBAAkB,EAAE,EACzB,KAAK,EAAE,KAAK,EACZ,oBAAoB,CAAC,EAAE,OAAO;;;;EAoG/B"}
@@ -1 +1 @@
1
- {"version":3,"file":"jupiterUtils.d.ts","sourceRoot":"","sources":["../../src/utils/jupiterUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,kBAAkB,EAEnB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,SAAS,EAA0B,MAAM,iBAAiB,CAAC;AAGpE,OAAO,EAGL,aAAa,EACd,MAAM,aAAa,CAAC;AAOrB,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,SAAS,CAAC;IACrB,UAAU,EAAE,SAAS,CAAC;IACtB,iBAAiB,EAAE,SAAS,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAgBD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,aAAa,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,iBAAiB,EAAE,kBAAkB,CAAC;IACtC,aAAa,EAAE,kBAAkB,CAAC;IAClC,MAAM,EAAE,kBAAkB,CAAC;CAC5B;AAED,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,cAAc,EAC3B,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,kBAAkB,CAAC,CAoH7B;AAED,wBAAsB,eAAe,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,SAAS,CAAC,EAAE,OAAO;;GA0B5E"}
1
+ {"version":3,"file":"jupiterUtils.d.ts","sourceRoot":"","sources":["../../src/utils/jupiterUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,kBAAkB,EAEnB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,SAAS,EAA0B,MAAM,iBAAiB,CAAC;AAGpE,OAAO,EAGL,aAAa,EACd,MAAM,aAAa,CAAC;AAOrB,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,SAAS,CAAC;IACrB,UAAU,EAAE,SAAS,CAAC;IACtB,iBAAiB,EAAE,SAAS,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAgBD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,aAAa,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,iBAAiB,EAAE,kBAAkB,CAAC;IACtC,aAAa,EAAE,kBAAkB,CAAC;IAClC,MAAM,EAAE,kBAAkB,CAAC;CAC5B;AAED,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,cAAc,EAC3B,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,kBAAkB,CAAC,CA8H7B;AAED,wBAAsB,eAAe,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,SAAS,CAAC,EAAE,OAAO;;GA0B5E"}
@@ -29,22 +29,33 @@ async function getJupSwapTransaction(signer, swapDetails, attemptNum) {
29
29
  // TEMP REVERT ME
30
30
  const useLowAccounts = tokensWithLowAccounts.find((x) => swapDetails.inputMint.equals(new web3_js_1.PublicKey(x))) ||
31
31
  tokensWithLowAccounts.find((x) => swapDetails.outputMint.equals(new web3_js_1.PublicKey(x)));
32
- const quoteResponse = await (0, generalUtils_1.retryWithExponentialBackoff)(async () => await jupApi.quoteGet({
33
- amount: Number(swapDetails.amount),
34
- inputMint: swapDetails.inputMint.toString(),
35
- outputMint: swapDetails.outputMint.toString(),
36
- swapMode: swapDetails.exactOut
37
- ? "ExactOut"
38
- : swapDetails.exactIn
39
- ? "ExactIn"
32
+ let quoteResponse;
33
+ try {
34
+ quoteResponse = await (0, generalUtils_1.retryWithExponentialBackoff)(async () => await jupApi.quoteGet({
35
+ amount: Number(swapDetails.amount),
36
+ inputMint: swapDetails.inputMint.toString(),
37
+ outputMint: swapDetails.outputMint.toString(),
38
+ swapMode: swapDetails.exactOut
39
+ ? "ExactOut"
40
+ : swapDetails.exactIn
41
+ ? "ExactIn"
42
+ : undefined,
43
+ slippageBps: memecoinSwap ? 500 : 200,
44
+ maxAccounts: !swapDetails.exactOut
45
+ ? useLowAccounts
46
+ ? 15
47
+ : 40
40
48
  : undefined,
41
- slippageBps: memecoinSwap ? 500 : 200,
42
- maxAccounts: !swapDetails.exactOut
43
- ? useLowAccounts
44
- ? 15
45
- : 40
46
- : undefined,
47
- }), 4, 200);
49
+ }), 4, 200);
50
+ }
51
+ catch (e) {
52
+ if (swapDetails.exactOut) {
53
+ // Failed to find exact out route, try exact in
54
+ swapDetails.exactIn = true;
55
+ return await getJupSwapTransaction(signer, swapDetails, attemptNum);
56
+ }
57
+ throw e;
58
+ }
48
59
  const priceImpactBps = Math.round((0, numberUtils_1.toBps)(parseFloat(quoteResponse.priceImpactPct))) + 1;
49
60
  const finalPriceSlippageBps = Math.round(Math.max(50, quoteResponse.slippageBps, priceImpactBps) *
50
61
  (1 + (swapDetails.slippageIncFactor ?? 0)));
@@ -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;AAcjD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AA4I9C,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;IAChB,aAAa,EAAE,MAAM,CAAC;CACvB;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,CA6EjB;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,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,eAAe,EACvB,2BAA2B,CAAC,EAAE,MAAM,EACpC,UAAU,CAAC,EAAE,MAAM,GAClB,cAAc,CA4EhB"}
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;AAcjD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AA4I9C,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;IAChB,aAAa,EAAE,MAAM,CAAC;CACvB;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,CA6EjB;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,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,eAAe,EACvB,2BAA2B,CAAC,EAAE,MAAM,EACpC,UAAU,CAAC,EAAE,MAAM,GAClB,cAAc,CA2DhB"}
@@ -183,20 +183,6 @@ function getJupSwapRebalanceDetails(client, values, targetLiqUtilizationRateBps,
183
183
  const usdToSwap = Math.abs(values.debtAdjustmentUsd) +
184
184
  (values.dcaTokenType === generated_1.TokenType.Debt ? values.amountUsdToDcaIn : 0);
185
185
  let inputAmount = (0, numberUtils_1.toBaseUnit)(usdToSwap / (0, priceUtils_1.safeGetPrice)(input.mint), input.decimals);
186
- // const highLiquidity =
187
- // fromBaseUnit(
188
- // client.solautoPositionState?.netWorth.baseAmountUsdValue ?? BigInt(0),
189
- // USD_DECIMALS
190
- // ) > 10_000;
191
- // const usingMajor =
192
- // tokenInfo(client.supplyMint).isMajor || tokenInfo(client.debtMint).isMajor;
193
- const inputPadding = targetLiqUtilizationRateBps === 0
194
- // && !usingMajor && highLiquidity
195
- ? 0.05
196
- : 0;
197
- if (inputPadding) {
198
- inputAmount += BigInt(Math.round(Number(inputAmount) * inputPadding));
199
- }
200
186
  const outputAmount = targetLiqUtilizationRateBps === 0
201
187
  ? output.amountUsed.baseUnit +
202
188
  BigInt(Math.round(Number(output.amountUsed.baseUnit) *
@@ -206,10 +192,8 @@ function getJupSwapRebalanceDetails(client, values, targetLiqUtilizationRateBps,
206
192
  const repaying = values.rebalanceDirection === generated_1.RebalanceDirection.Repay;
207
193
  const { requiresFlashLoan, useDebtLiquidity } = rebalanceRequiresFlashLoan(client, values);
208
194
  const flashLoanRepayFromDebt = repaying && requiresFlashLoan && useDebtLiquidity;
209
- const exactOut =
210
- // (targetLiqUtilizationRateBps === 0 && !highLiquidity && usingMajor) ||
211
- // values.repayingCloseToMaxLtv ||
212
- flashLoanRepayFromDebt;
195
+ const exactOut = targetLiqUtilizationRateBps === 0 ||
196
+ flashLoanRepayFromDebt;
213
197
  const exactIn = !exactOut;
214
198
  const addPadding = exactOut;
215
199
  return {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@haven-fi/solauto-sdk",
3
- "version": "1.0.500",
3
+ "version": "1.0.502",
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",
@@ -705,6 +705,7 @@ export async function buildSolautoRebalanceTransaction(
705
705
  tokenLedgerIx,
706
706
  swapIx,
707
707
  } = await getJupSwapTransaction(client.signer, swapDetails, attemptNum);
708
+
708
709
  const flashLoan = getFlashLoanDetails(client, values, jupQuote);
709
710
 
710
711
  let tx = transactionBuilder();
@@ -70,27 +70,37 @@ export async function getJupSwapTransaction(
70
70
  swapDetails.outputMint.equals(new PublicKey(x))
71
71
  );
72
72
 
73
- const quoteResponse = await retryWithExponentialBackoff(
74
- async () =>
75
- await jupApi.quoteGet({
76
- amount: Number(swapDetails.amount),
77
- inputMint: swapDetails.inputMint.toString(),
78
- outputMint: swapDetails.outputMint.toString(),
79
- swapMode: swapDetails.exactOut
80
- ? "ExactOut"
81
- : swapDetails.exactIn
82
- ? "ExactIn"
73
+ let quoteResponse: QuoteResponse;
74
+ try {
75
+ quoteResponse = await retryWithExponentialBackoff(
76
+ async () =>
77
+ await jupApi.quoteGet({
78
+ amount: Number(swapDetails.amount),
79
+ inputMint: swapDetails.inputMint.toString(),
80
+ outputMint: swapDetails.outputMint.toString(),
81
+ swapMode: swapDetails.exactOut
82
+ ? "ExactOut"
83
+ : swapDetails.exactIn
84
+ ? "ExactIn"
85
+ : undefined,
86
+ slippageBps: memecoinSwap ? 500 : 200,
87
+ maxAccounts: !swapDetails.exactOut
88
+ ? useLowAccounts
89
+ ? 15
90
+ : 40
83
91
  : undefined,
84
- slippageBps: memecoinSwap ? 500 : 200,
85
- maxAccounts: !swapDetails.exactOut
86
- ? useLowAccounts
87
- ? 15
88
- : 40
89
- : undefined,
90
- }),
91
- 4,
92
- 200
93
- );
92
+ }),
93
+ 4,
94
+ 200
95
+ );
96
+ } catch (e) {
97
+ if (swapDetails.exactOut) {
98
+ // Failed to find exact out route, try exact in
99
+ swapDetails.exactIn = true;
100
+ return await getJupSwapTransaction(signer, swapDetails, attemptNum);
101
+ }
102
+ throw e;
103
+ }
94
104
 
95
105
  const priceImpactBps =
96
106
  Math.round(toBps(parseFloat(quoteResponse.priceImpactPct))) + 1;
@@ -394,22 +394,6 @@ export function getJupSwapRebalanceDetails(
394
394
  input.decimals
395
395
  );
396
396
 
397
- // const highLiquidity =
398
- // fromBaseUnit(
399
- // client.solautoPositionState?.netWorth.baseAmountUsdValue ?? BigInt(0),
400
- // USD_DECIMALS
401
- // ) > 10_000;
402
- // const usingMajor =
403
- // tokenInfo(client.supplyMint).isMajor || tokenInfo(client.debtMint).isMajor;
404
- const inputPadding =
405
- targetLiqUtilizationRateBps === 0
406
- // && !usingMajor && highLiquidity
407
- ? 0.05
408
- : 0;
409
- if (inputPadding) {
410
- inputAmount += BigInt(Math.round(Number(inputAmount) * inputPadding));
411
- }
412
-
413
397
  const outputAmount =
414
398
  targetLiqUtilizationRateBps === 0
415
399
  ? output.amountUsed.baseUnit +
@@ -432,8 +416,7 @@ export function getJupSwapRebalanceDetails(
432
416
  repaying && requiresFlashLoan && useDebtLiquidity;
433
417
 
434
418
  const exactOut =
435
- // (targetLiqUtilizationRateBps === 0 && !highLiquidity && usingMajor) ||
436
- // values.repayingCloseToMaxLtv ||
419
+ targetLiqUtilizationRateBps === 0 ||
437
420
  flashLoanRepayFromDebt;
438
421
  const exactIn = !exactOut;
439
422
 
@@ -3,6 +3,7 @@ import { none, publicKey, some } from "@metaplex-foundation/umi";
3
3
  import { setupTest } from "../shared";
4
4
  import { SolautoMarginfiClient } from "../../src/clients/solautoMarginfiClient";
5
5
  import {
6
+ PositionType,
6
7
  safeFetchSolautoPosition,
7
8
  solautoAction,
8
9
  SolautoSettingsParametersInpArgs,
@@ -33,8 +34,10 @@ import {
33
34
  } from "../../src/constants";
34
35
  import {
35
36
  buildHeliusApiUrl,
37
+ getAllPositionsByAuthority,
36
38
  getQnComputeUnitPriceEstimate,
37
39
  getSolautoManagedPositions,
40
+ getSolautoPositionAccount,
38
41
  retryWithExponentialBackoff,
39
42
  } from "../../src/utils";
40
43
  import { PriorityFeeSetting } from "../../src/types";
@@ -63,7 +66,7 @@ describe("Solauto Marginfi tests", async () => {
63
66
  await client.initialize({
64
67
  signer,
65
68
  positionId,
66
- authority: new PublicKey("9j53Z6bejUaAxJCEC64BbxozLPuvsuAFsr6iqWKKDvaw"),
69
+ authority: new PublicKey("7F6v4HWZsyFP6yVFq92HQWygUgoYm5khUX8pXWGLoqUN"),
67
70
  // new: true,
68
71
  // marginfiAccount: new PublicKey(
69
72
  // ""
@@ -152,48 +155,48 @@ describe("Solauto Marginfi tests", async () => {
152
155
  // )
153
156
  // );
154
157
 
158
+ transactionItems.push(
159
+ new TransactionItem(
160
+ async (attemptNum) =>
161
+ await buildSolautoRebalanceTransaction(client, 2000, attemptNum),
162
+ "rebalance"
163
+ )
164
+ );
165
+
166
+ // transactionItems.push(
167
+ // new TransactionItem(
168
+ // async () => ({ tx: client.refresh() }),
169
+ // "refresh"
170
+ // )
171
+ // );
172
+
155
173
  // transactionItems.push(
156
174
  // new TransactionItem(
157
175
  // async (attemptNum) =>
158
- // await buildSolautoRebalanceTransaction(client, undefined, attemptNum),
176
+ // await buildSolautoRebalanceTransaction(client, 0, attemptNum),
159
177
  // "rebalance"
160
178
  // )
161
179
  // );
162
180
 
163
181
  // transactionItems.push(
164
182
  // new TransactionItem(
165
- // async () => ({ tx: client.refresh() }),
166
- // "refresh"
183
+ // async () => ({
184
+ // tx: client.protocolInteraction(
185
+ // solautoAction("Withdraw", [{ __kind: "All" }])
186
+ // ),
187
+ // }),
188
+ // "withdraw"
167
189
  // )
168
190
  // );
169
191
 
170
- transactionItems.push(
171
- new TransactionItem(
172
- async (attemptNum) =>
173
- await buildSolautoRebalanceTransaction(client, 0, attemptNum),
174
- "rebalance"
175
- )
176
- );
177
-
178
- transactionItems.push(
179
- new TransactionItem(
180
- async () => ({
181
- tx: client.protocolInteraction(
182
- solautoAction("Withdraw", [{ __kind: "All" }])
183
- ),
184
- }),
185
- "withdraw"
186
- )
187
- );
188
-
189
- transactionItems.push(
190
- new TransactionItem(
191
- async () => ({
192
- tx: client.closePositionIx(),
193
- }),
194
- "close position"
195
- )
196
- );
192
+ // transactionItems.push(
193
+ // new TransactionItem(
194
+ // async () => ({
195
+ // tx: client.closePositionIx(),
196
+ // }),
197
+ // "close position"
198
+ // )
199
+ // );
197
200
 
198
201
  const statuses = await new TransactionsManager(
199
202
  client,