@haven-fi/solauto-sdk 1.0.485 → 1.0.486

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;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,CA2G7B;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,CAoH7B;AAED,wBAAsB,eAAe,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,SAAS,CAAC,EAAE,OAAO;;GA0B5E"}
@@ -39,7 +39,11 @@ async function getJupSwapTransaction(signer, swapDetails, attemptNum) {
39
39
  ? "ExactIn"
40
40
  : undefined,
41
41
  slippageBps: memecoinSwap ? 500 : 200,
42
- maxAccounts: !swapDetails.exactOut ? (useLowAccounts ? 15 : 40) : undefined,
42
+ maxAccounts: !swapDetails.exactOut
43
+ ? useLowAccounts
44
+ ? 15
45
+ : 40
46
+ : undefined,
43
47
  }), 4, 200);
44
48
  const priceImpactBps = Math.round((0, numberUtils_1.toBps)(parseFloat(quoteResponse.priceImpactPct))) + 1;
45
49
  const finalPriceSlippageBps = Math.round(Math.max(50, quoteResponse.slippageBps, priceImpactBps) *
@@ -47,15 +51,21 @@ async function getJupSwapTransaction(signer, swapDetails, attemptNum) {
47
51
  quoteResponse.slippageBps = finalPriceSlippageBps;
48
52
  (0, generalUtils_1.consoleLog)(quoteResponse);
49
53
  (0, generalUtils_1.consoleLog)("Getting jup instructions...");
50
- const instructions = await (0, generalUtils_1.retryWithExponentialBackoff)(async () => await jupApi.swapInstructionsPost({
51
- swapRequest: {
52
- userPublicKey: signer.publicKey.toString(),
53
- quoteResponse,
54
- wrapAndUnwrapSol: false,
55
- useTokenLedger: !swapDetails.exactOut && !swapDetails.exactIn,
56
- destinationTokenAccount: (0, accountUtils_1.getTokenAccount)(swapDetails.destinationWallet, swapDetails.outputMint).toString(),
57
- },
58
- }), 4, 200);
54
+ const instructions = await (0, generalUtils_1.retryWithExponentialBackoff)(async () => {
55
+ const res = await jupApi.swapInstructionsPost({
56
+ swapRequest: {
57
+ userPublicKey: signer.publicKey.toString(),
58
+ quoteResponse,
59
+ wrapAndUnwrapSol: false,
60
+ useTokenLedger: !swapDetails.exactOut && !swapDetails.exactIn,
61
+ destinationTokenAccount: (0, accountUtils_1.getTokenAccount)(swapDetails.destinationWallet, swapDetails.outputMint).toString(),
62
+ },
63
+ });
64
+ if (!res) {
65
+ throw new Error("No instructions retrieved");
66
+ }
67
+ return res;
68
+ }, 4, 200);
59
69
  if (!instructions.swapInstruction) {
60
70
  throw new Error("No swap instruction was returned by Jupiter");
61
71
  }
@@ -1 +1 @@
1
- {"version":3,"file":"solanaUtils.d.ts","sourceRoot":"","sources":["../../src/utils/solanaUtils.ts"],"names":[],"mappings":"AACA,OAAO,EACL,uBAAuB,EACvB,MAAM,EACN,kBAAkB,EAClB,GAAG,EACH,kBAAkB,EAGnB,MAAM,0BAA0B,CAAC;AAOlC,OAAO,EAIL,UAAU,EACV,SAAS,EAKT,sBAAsB,EAEvB,MAAM,iBAAiB,CAAC;AAgBzB,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAIlE,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,MAAM,UAErD;AAED,wBAAgB,oBAAoB,CAAC,eAAe,EAAE,MAAM,UAE3D;AAED,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,EACd,SAAS,GAAE,SAAgC,GAC1C,CAAC,UAAU,EAAE,GAAG,CAAC,CAQnB;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,EACd,EAAE,EAAE,sBAAsB,GACzB,kBAAkB,CAMpB;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,MAAM,GACtB,kBAAkB,CAOpB;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,kBAAkB,CAOpB;AAED,wBAAgB,iCAAiC,CAC/C,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,SAAS,GACd,kBAAkB,CAUpB;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,SAAS,EACtB,QAAQ,EAAE,MAAM,GACf,kBAAkB,CASpB;AAED,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,SAAS,EACvB,SAAS,EAAE,SAAS,GACnB,kBAAkB,CAKpB;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,SAAS,EACf,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,GACb,kBAAkB,CAKpB;AAED,wBAAsB,sBAAsB,CAC1C,GAAG,EAAE,GAAG,EACR,oBAAoB,EAAE,MAAM,EAAE,GAC7B,OAAO,CAAC,uBAAuB,EAAE,CAAC,CAmBpC;AAED,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,kBAAkB,EAC/B,gBAAgB,CAAC,EAAE,MAAM,EACzB,gBAAgB,CAAC,EAAE,MAAM,sBAa1B;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,kBAAkB,EAC/B,gBAAgB,CAAC,EAAE,MAAM,EACzB,gBAAgB,CAAC,EAAE,MAAM,sBA2D1B;AAuBD,wBAAsB,2BAA2B,CAC/C,GAAG,EAAE,GAAG,EACR,EAAE,EAAE,kBAAkB,EACtB,eAAe,EAAE,kBAAkB,EACnC,WAAW,CAAC,EAAE,OAAO,GACpB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAwC7B;AAiDD,wBAAsB,8BAA8B,CAClD,GAAG,EAAE,GAAG,EACR,UAAU,EAAE,UAAU,EACtB,EAAE,EAAE,kBAAkB,EACtB,MAAM,CAAC,EAAE,kBAAkB,EAC3B,eAAe,GAAE,kBAA2C,EAC5D,cAAc,CAAC,EAAE,MAAM,IAAI,GAC1B,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAmEjC"}
1
+ {"version":3,"file":"solanaUtils.d.ts","sourceRoot":"","sources":["../../src/utils/solanaUtils.ts"],"names":[],"mappings":"AACA,OAAO,EACL,uBAAuB,EACvB,MAAM,EACN,kBAAkB,EAClB,GAAG,EACH,kBAAkB,EAGnB,MAAM,0BAA0B,CAAC;AAOlC,OAAO,EAIL,UAAU,EACV,SAAS,EAKT,sBAAsB,EAEvB,MAAM,iBAAiB,CAAC;AAgBzB,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAIlE,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,MAAM,UAErD;AAED,wBAAgB,oBAAoB,CAAC,eAAe,EAAE,MAAM,UAE3D;AAED,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,EACd,SAAS,GAAE,SAAgC,GAC1C,CAAC,UAAU,EAAE,GAAG,CAAC,CAQnB;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,EACd,EAAE,EAAE,sBAAsB,GACzB,kBAAkB,CAMpB;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,MAAM,GACtB,kBAAkB,CAOpB;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,kBAAkB,CAOpB;AAED,wBAAgB,iCAAiC,CAC/C,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,SAAS,GACd,kBAAkB,CAUpB;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,SAAS,EACtB,QAAQ,EAAE,MAAM,GACf,kBAAkB,CASpB;AAED,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,SAAS,EACvB,SAAS,EAAE,SAAS,GACnB,kBAAkB,CAKpB;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,SAAS,EACf,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,GACb,kBAAkB,CAKpB;AAED,wBAAsB,sBAAsB,CAC1C,GAAG,EAAE,GAAG,EACR,oBAAoB,EAAE,MAAM,EAAE,GAC7B,OAAO,CAAC,uBAAuB,EAAE,CAAC,CAmBpC;AAED,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,kBAAkB,EAC/B,gBAAgB,CAAC,EAAE,MAAM,EACzB,gBAAgB,CAAC,EAAE,MAAM,sBAa1B;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,kBAAkB,EAC/B,gBAAgB,CAAC,EAAE,MAAM,EACzB,gBAAgB,CAAC,EAAE,MAAM,sBA2D1B;AAuBD,wBAAsB,2BAA2B,CAC/C,GAAG,EAAE,GAAG,EACR,EAAE,EAAE,kBAAkB,EACtB,eAAe,EAAE,kBAAkB,EACnC,WAAW,CAAC,EAAE,OAAO,GACpB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAwC7B;AA+CD,wBAAsB,8BAA8B,CAClD,GAAG,EAAE,GAAG,EACR,UAAU,EAAE,UAAU,EACtB,EAAE,EAAE,kBAAkB,EACtB,MAAM,CAAC,EAAE,kBAAkB,EAC3B,eAAe,GAAE,kBAA2C,EAC5D,cAAc,CAAC,EAAE,MAAM,IAAI,GAC1B,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAmEjC"}
@@ -196,9 +196,7 @@ async function spamSendTransactionUntilConfirmed(connection, transaction, blockh
196
196
  transactionSignature = txSignature;
197
197
  (0, generalUtils_1.consoleLog)(`Transaction sent`);
198
198
  }
199
- catch (error) {
200
- (0, generalUtils_1.consoleLog)("Error sending transaction:", error);
201
- }
199
+ catch (e) { }
202
200
  };
203
201
  await sendTx();
204
202
  const sendIntervalId = setInterval(async () => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@haven-fi/solauto-sdk",
3
- "version": "1.0.485",
3
+ "version": "1.0.486",
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",
@@ -82,7 +82,11 @@ export async function getJupSwapTransaction(
82
82
  ? "ExactIn"
83
83
  : undefined,
84
84
  slippageBps: memecoinSwap ? 500 : 200,
85
- maxAccounts: !swapDetails.exactOut ? (useLowAccounts ? 15 : 40) : undefined,
85
+ maxAccounts: !swapDetails.exactOut
86
+ ? useLowAccounts
87
+ ? 15
88
+ : 40
89
+ : undefined,
86
90
  }),
87
91
  4,
88
92
  200
@@ -99,8 +103,8 @@ export async function getJupSwapTransaction(
99
103
 
100
104
  consoleLog("Getting jup instructions...");
101
105
  const instructions = await retryWithExponentialBackoff(
102
- async () =>
103
- await jupApi.swapInstructionsPost({
106
+ async () => {
107
+ const res = await jupApi.swapInstructionsPost({
104
108
  swapRequest: {
105
109
  userPublicKey: signer.publicKey.toString(),
106
110
  quoteResponse,
@@ -111,7 +115,12 @@ export async function getJupSwapTransaction(
111
115
  swapDetails.outputMint
112
116
  ).toString(),
113
117
  },
114
- }),
118
+ });
119
+ if (!res) {
120
+ throw new Error("No instructions retrieved");
121
+ }
122
+ return res;
123
+ },
115
124
  4,
116
125
  200
117
126
  );
@@ -300,14 +300,25 @@ export async function getComputeUnitPriceEstimate(
300
300
  .getInstructions()
301
301
  .flatMap((x) => x.keys.flatMap((x) => x.pubkey.toString()));
302
302
 
303
- let feeEstimate: number | undefined;
303
+ let feeEstimate: number | undefined;
304
+ try {
305
+ const resp = await umi.rpc.call("getPriorityFeeEstimate", [
306
+ {
307
+ transaction: !useAccounts
308
+ ? bs58.encode(web3Transaction.serialize())
309
+ : undefined,
310
+ accountKeys: useAccounts ? accountKeys : undefined,
311
+ options: {
312
+ priorityLevel: prioritySetting.toString(),
313
+ },
314
+ },
315
+ ]);
316
+ feeEstimate = Math.round((resp as any).priorityFeeEstimate as number);
317
+ } catch (e) {
304
318
  try {
305
319
  const resp = await umi.rpc.call("getPriorityFeeEstimate", [
306
320
  {
307
- transaction: !useAccounts
308
- ? bs58.encode(web3Transaction.serialize())
309
- : undefined,
310
- accountKeys: useAccounts ? accountKeys : undefined,
321
+ accountKeys,
311
322
  options: {
312
323
  priorityLevel: prioritySetting.toString(),
313
324
  },
@@ -315,20 +326,9 @@ export async function getComputeUnitPriceEstimate(
315
326
  ]);
316
327
  feeEstimate = Math.round((resp as any).priorityFeeEstimate as number);
317
328
  } catch (e) {
318
- try {
319
- const resp = await umi.rpc.call("getPriorityFeeEstimate", [
320
- {
321
- accountKeys,
322
- options: {
323
- priorityLevel: prioritySetting.toString(),
324
- },
325
- },
326
- ]);
327
- feeEstimate = Math.round((resp as any).priorityFeeEstimate as number);
328
- } catch (e) {
329
- // console.error(e);
330
- }
329
+ // console.error(e);
331
330
  }
331
+ }
332
332
 
333
333
  return feeEstimate;
334
334
  }
@@ -349,9 +349,7 @@ async function spamSendTransactionUntilConfirmed(
349
349
  );
350
350
  transactionSignature = txSignature;
351
351
  consoleLog(`Transaction sent`);
352
- } catch (error) {
353
- consoleLog("Error sending transaction:", error);
354
- }
352
+ } catch (e) {}
355
353
  };
356
354
 
357
355
  await sendTx();
@@ -56,7 +56,7 @@ describe("Solauto Marginfi tests", async () => {
56
56
 
57
57
  const payForTransactions = true;
58
58
  const testProgram = false;
59
- const positionId = 1;
59
+ const positionId = 2;
60
60
 
61
61
  it("open - deposit - borrow - rebalance to 0 - withdraw - close", async () => {
62
62
  const client = new SolautoMarginfiClient(
@@ -72,7 +72,7 @@ describe("Solauto Marginfi tests", async () => {
72
72
  await client.initialize({
73
73
  signer,
74
74
  positionId,
75
- authority: new PublicKey("9j53Z6bejUaAxJCEC64BbxozLPuvsuAFsr6iqWKKDvaw"),
75
+ authority: new PublicKey("7yk7HcAJfwNao3NSbYiPNtJvCPTxsgkzuJmyMLyP297E"),
76
76
  // new: true,
77
77
  // marginfiAccount: new PublicKey(
78
78
  // ""