@haven-fi/solauto-sdk 1.0.521 → 1.0.523

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":"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;AAWrB,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,SAAS,CAAC;IACrB,UAAU,EAAE,SAAS,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,cAAe,SAAQ,YAAY;IAClD,iBAAiB,EAAE,SAAS,CAAC;IAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,aAAa,CAAC;CAC1B;AAgBD,wBAAsB,WAAW,CAAC,WAAW,EAAE,YAAY,0BAkC1D;AAED,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,CAmF7B;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;AAUrB,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,SAAS,CAAC;IACrB,UAAU,EAAE,SAAS,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,cAAe,SAAQ,YAAY;IAClD,iBAAiB,EAAE,SAAS,CAAC;IAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,aAAa,CAAC;CAC1B;AAgBD,wBAAsB,WAAW,CAAC,WAAW,EAAE,YAAY,0BAwB1D;AAED,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,CAmF7B;AAED,wBAAsB,eAAe,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,SAAS,CAAC,EAAE,OAAO;;GA0B5E"}
@@ -10,7 +10,6 @@ const numberUtils_1 = require("./numberUtils");
10
10
  const api_1 = require("@jup-ag/api");
11
11
  const accountUtils_1 = require("./accountUtils");
12
12
  const generalUtils_1 = require("./generalUtils");
13
- const constants_1 = require("../constants");
14
13
  const jupApi = (0, api_1.createJupiterApiClient)();
15
14
  function createTransactionInstruction(instruction) {
16
15
  return new web3_js_1.TransactionInstruction({
@@ -26,10 +25,6 @@ function createTransactionInstruction(instruction) {
26
25
  async function getJupQuote(swapDetails) {
27
26
  const memecoinSwap = (0, generalUtils_1.tokenInfo)(swapDetails.inputMint).isMeme ||
28
27
  (0, generalUtils_1.tokenInfo)(swapDetails.outputMint).isMeme;
29
- const tokensWithLowAccounts = [constants_1.PYTH, constants_1.INF];
30
- // TEMP REVERT ME
31
- const useLowAccounts = tokensWithLowAccounts.find((x) => swapDetails.inputMint.equals(new web3_js_1.PublicKey(x))) ||
32
- tokensWithLowAccounts.find((x) => swapDetails.outputMint.equals(new web3_js_1.PublicKey(x)));
33
28
  return await (0, generalUtils_1.retryWithExponentialBackoff)(async () => await jupApi.quoteGet({
34
29
  amount: Number(swapDetails.amount),
35
30
  inputMint: swapDetails.inputMint.toString(),
@@ -41,7 +36,7 @@ async function getJupQuote(swapDetails) {
41
36
  : undefined,
42
37
  slippageBps: memecoinSwap ? 500 : 200,
43
38
  maxAccounts: !swapDetails.exactOut
44
- ? useLowAccounts ? 15 : 30
39
+ ? 15
45
40
  : undefined,
46
41
  }), 2, 200);
47
42
  }
@@ -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;AAc5E,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;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,CA4EjB;AAED,MAAM,WAAW,qBAAqB;IACpC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,eAAe,EACvB,UAAU,CAAC,EAAE,MAAM,GAClB,qBAAqB,GAAG,SAAS,CA0EnC;AAED,MAAM,WAAW,gBAAiB,SAAQ,qBAAqB;IAC7D,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,SAAS,CAAC;CACjB;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,aAAa,EACrB,cAAc,EAAE,qBAAqB,EACrC,MAAM,EAAE,eAAe,EACvB,QAAQ,EAAE,aAAa,GACtB,gBAAgB,GAAG,SAAS,CA2B9B;AAED,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,eAAe,EACvB,cAAc,CAAC,EAAE,qBAAqB,EACtC,2BAA2B,CAAC,EAAE,MAAM,EACpC,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,cAAc,CAAC,CA0FzB"}
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;AAc5E,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;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,CA4EjB;AAED,MAAM,WAAW,qBAAqB;IACpC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,eAAe,EACvB,UAAU,CAAC,EAAE,MAAM,GAClB,qBAAqB,GAAG,SAAS,CA0EnC;AAED,MAAM,WAAW,gBAAiB,SAAQ,qBAAqB;IAC7D,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,SAAS,CAAC;CACjB;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,aAAa,EACrB,cAAc,EAAE,qBAAqB,EACrC,MAAM,EAAE,eAAe,EACvB,QAAQ,EAAE,aAAa,GACtB,gBAAgB,GAAG,SAAS,CA2B9B;AAED,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,eAAe,EACvB,cAAc,CAAC,EAAE,qBAAqB,EACtC,2BAA2B,CAAC,EAAE,MAAM,EACpC,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,cAAc,CAAC,CAqEzB"}
@@ -219,26 +219,12 @@ async function getJupSwapRebalanceDetails(client, values, flRequirements, target
219
219
  (0, generalUtils_2.consoleLog)(jupSwapInput);
220
220
  let jupQuote = undefined;
221
221
  if (rebalanceToZero) {
222
- try {
223
- jupQuote = await (0, jupiterUtils_1.getJupQuote)(jupSwapInput);
224
- }
225
- catch {
226
- let priceImpact = 0;
227
- jupSwapInput.exactIn = true;
228
- jupSwapInput.exactOut = false;
222
+ do {
229
223
  jupSwapInput.amount =
230
- inputAmount + BigInt(Math.round(Number(inputAmount) * 0.001));
231
- do {
232
- const res = await (0, priceUtils_1.getPriceImpact)(jupSwapInput.inputMint, jupSwapInput.outputMint, jupSwapInput.amount +
233
- BigInt(Math.round(Number(jupSwapInput.amount) * priceImpact)), "ExactIn");
234
- priceImpact = res.priceImpact;
235
- jupQuote = res.quote;
236
- jupSwapInput.amount =
237
- BigInt(parseInt(res.quote.inAmount)) +
238
- BigInt(Math.round(Number(jupSwapInput.amount) * 0.001));
239
- } while (parseInt(jupQuote.outAmount) < outputAmount &&
240
- priceImpact > 0.001);
241
- }
224
+ jupSwapInput.amount +
225
+ BigInt(Math.round(Number(jupSwapInput.amount) * 0.01));
226
+ jupQuote = await (0, jupiterUtils_1.getJupQuote)(jupSwapInput);
227
+ } while (parseInt(jupQuote.outAmount) < outputAmount);
242
228
  }
243
229
  const addPadding = exactOut;
244
230
  return {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@haven-fi/solauto-sdk",
3
- "version": "1.0.521",
3
+ "version": "1.0.523",
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",
@@ -17,7 +17,6 @@ import {
17
17
  retryWithExponentialBackoff,
18
18
  tokenInfo,
19
19
  } from "./generalUtils";
20
- import { INF, PYTH } from "../constants";
21
20
 
22
21
  const jupApi = createJupiterApiClient();
23
22
 
@@ -55,16 +54,6 @@ export async function getJupQuote(swapDetails: JupSwapInput) {
55
54
  tokenInfo(swapDetails.inputMint).isMeme ||
56
55
  tokenInfo(swapDetails.outputMint).isMeme;
57
56
 
58
- const tokensWithLowAccounts = [PYTH, INF];
59
- // TEMP REVERT ME
60
- const useLowAccounts =
61
- tokensWithLowAccounts.find((x) =>
62
- swapDetails.inputMint.equals(new PublicKey(x))
63
- ) ||
64
- tokensWithLowAccounts.find((x) =>
65
- swapDetails.outputMint.equals(new PublicKey(x))
66
- );
67
-
68
57
  return await retryWithExponentialBackoff(
69
58
  async () =>
70
59
  await jupApi.quoteGet({
@@ -78,7 +67,7 @@ export async function getJupQuote(swapDetails: JupSwapInput) {
78
67
  : undefined,
79
68
  slippageBps: memecoinSwap ? 500 : 200,
80
69
  maxAccounts: !swapDetails.exactOut
81
- ? useLowAccounts ? 15 : 30
70
+ ? 15
82
71
  : undefined,
83
72
  }),
84
73
  2,
@@ -439,33 +439,12 @@ export async function getJupSwapRebalanceDetails(
439
439
 
440
440
  let jupQuote: QuoteResponse | undefined = undefined;
441
441
  if (rebalanceToZero) {
442
- try {
443
- jupQuote = await getJupQuote(jupSwapInput);
444
- } catch {
445
- let priceImpact: number = 0;
446
- jupSwapInput.exactIn = true;
447
- jupSwapInput.exactOut = false;
442
+ do {
448
443
  jupSwapInput.amount =
449
- inputAmount + BigInt(Math.round(Number(inputAmount) * 0.001));
450
-
451
- do {
452
- const res = await getPriceImpact(
453
- jupSwapInput.inputMint,
454
- jupSwapInput.outputMint,
455
- jupSwapInput.amount +
456
- BigInt(Math.round(Number(jupSwapInput.amount) * priceImpact)),
457
- "ExactIn"
458
- );
459
- priceImpact = res.priceImpact;
460
- jupQuote = res.quote;
461
- jupSwapInput.amount =
462
- BigInt(parseInt(res.quote.inAmount)) +
463
- BigInt(Math.round(Number(jupSwapInput.amount) * 0.001));
464
- } while (
465
- parseInt(jupQuote.outAmount) < outputAmount &&
466
- priceImpact > 0.001
467
- );
468
- }
444
+ jupSwapInput.amount +
445
+ BigInt(Math.round(Number(jupSwapInput.amount) * 0.01));
446
+ jupQuote = await getJupQuote(jupSwapInput);
447
+ } while (parseInt(jupQuote.outAmount) < outputAmount);
469
448
  }
470
449
 
471
450
  const addPadding = exactOut;