@haven-fi/solauto-sdk 1.0.488 → 1.0.490

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,CAqH7B;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"}
@@ -79,7 +79,6 @@ async function getJupSwapTransaction(signer, swapDetails, attemptNum) {
79
79
  quoteResponse.inAmount = Math.round(parseInt(quoteResponse.inAmount) + parseInt(quoteResponse.inAmount) * inc).toString();
80
80
  (0, generalUtils_1.consoleLog)("Increased inAmount:", quoteResponse.inAmount);
81
81
  }
82
- (0, generalUtils_1.consoleLog)(instructions);
83
82
  return {
84
83
  jupQuote: quoteResponse,
85
84
  priceImpactBps: finalPriceImpactBps,
@@ -14,6 +14,7 @@ export declare function splTokenTransferUmiIx(signer: Signer, fromTa: PublicKey,
14
14
  export declare function getAddressLookupInputs(umi: Umi, lookupTableAddresses: string[]): Promise<AddressLookupTableInput[]>;
15
15
  export declare function addTxOptimizations(signer: Signer, transaction: TransactionBuilder, computeUnitPrice?: number, computeUnitLimit?: number): TransactionBuilder;
16
16
  export declare function assembleFinalTransaction(signer: Signer, transaction: TransactionBuilder, computeUnitPrice?: number, computeUnitLimit?: number): TransactionBuilder;
17
+ export declare function getQnComputeUnitPriceEstimate(umi: Umi, programId: PublicKey, blockheight?: number): Promise<any>;
17
18
  export declare function getComputeUnitPriceEstimate(umi: Umi, tx: TransactionBuilder, prioritySetting: PriorityFeeSetting, useAccounts?: boolean): Promise<number | undefined>;
18
19
  export declare function sendSingleOptimizedTransaction(umi: Umi, connection: Connection, tx: TransactionBuilder, txType?: TransactionRunType, prioritySetting?: PriorityFeeSetting, onAwaitingSign?: () => void): Promise<Uint8Array | undefined>;
19
20
  //# sourceMappingURL=solanaUtils.d.ts.map
@@ -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;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"}
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;AAKlE,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,6BAA6B,CACjD,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,SAAS,EACpB,WAAW,GAAE,MAAW,GACvB,OAAO,CAAC,GAAG,CAAC,CAYd;AAED,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"}
@@ -16,6 +16,7 @@ exports.splTokenTransferUmiIx = splTokenTransferUmiIx;
16
16
  exports.getAddressLookupInputs = getAddressLookupInputs;
17
17
  exports.addTxOptimizations = addTxOptimizations;
18
18
  exports.assembleFinalTransaction = assembleFinalTransaction;
19
+ exports.getQnComputeUnitPriceEstimate = getQnComputeUnitPriceEstimate;
19
20
  exports.getComputeUnitPriceEstimate = getComputeUnitPriceEstimate;
20
21
  exports.sendSingleOptimizedTransaction = sendSingleOptimizedTransaction;
21
22
  const bs58_1 = __importDefault(require("bs58"));
@@ -30,6 +31,7 @@ const marginfi_sdk_1 = require("../marginfi-sdk");
30
31
  const types_1 = require("../types");
31
32
  const solauto_1 = require("./solauto");
32
33
  const constants_1 = require("../constants");
34
+ const axios_1 = __importDefault(require("axios"));
33
35
  function buildHeliusApiUrl(heliusApiKey) {
34
36
  return `https://mainnet.helius-rpc.com/?api-key=${heliusApiKey}`;
35
37
  }
@@ -150,6 +152,17 @@ async function simulateTransaction(umi, connection, transaction) {
150
152
  }
151
153
  return simulationResult;
152
154
  }
155
+ async function getQnComputeUnitPriceEstimate(umi, programId, blockheight = 50) {
156
+ return (await axios_1.default.post(umi.rpc.getEndpoint(), {
157
+ method: "qn_estimatePriorityFees",
158
+ jsonrpc: "2.0",
159
+ id: 1,
160
+ params: {
161
+ last_n_blocks: blockheight,
162
+ account: programId.toString(),
163
+ },
164
+ })).data;
165
+ }
153
166
  async function getComputeUnitPriceEstimate(umi, tx, prioritySetting, useAccounts) {
154
167
  const web3Transaction = (0, umi_web3js_adapters_1.toWeb3JsTransaction)((await tx.setLatestBlockhash(umi, { commitment: "finalized" })).build(umi));
155
168
  const accountKeys = tx
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@haven-fi/solauto-sdk",
3
- "version": "1.0.488",
3
+ "version": "1.0.490",
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",
@@ -14,7 +14,7 @@
14
14
  },
15
15
  "dependencies": {
16
16
  "@coral-xyz/anchor": "^0.30.1",
17
- "@jup-ag/api": "^6.0.24",
17
+ "@jup-ag/api": "=6.0.24",
18
18
  "@metaplex-foundation/umi": "^0.9.1",
19
19
  "@metaplex-foundation/umi-bundle-defaults": "^0.9.1",
20
20
  "@metaplex-foundation/umi-signer-wallet-adapters": "^0.9.1",
@@ -147,7 +147,6 @@ export async function getJupSwapTransaction(
147
147
  consoleLog("Increased inAmount:", quoteResponse.inAmount);
148
148
  }
149
149
 
150
- consoleLog(instructions);
151
150
  return {
152
151
  jupQuote: quoteResponse,
153
152
  priceImpactBps: finalPriceImpactBps,
@@ -45,6 +45,7 @@ import {
45
45
  import { PriorityFeeSetting, TransactionRunType } from "../types";
46
46
  import { createDynamicSolautoProgram } from "./solauto";
47
47
  import { SOLAUTO_PROD_PROGRAM } from "../constants";
48
+ import axios from "axios";
48
49
 
49
50
  export function buildHeliusApiUrl(heliusApiKey: string) {
50
51
  return `https://mainnet.helius-rpc.com/?api-key=${heliusApiKey}`;
@@ -286,6 +287,24 @@ async function simulateTransaction(
286
287
  return simulationResult;
287
288
  }
288
289
 
290
+ export async function getQnComputeUnitPriceEstimate(
291
+ umi: Umi,
292
+ programId: PublicKey,
293
+ blockheight: number = 50
294
+ ): Promise<any> {
295
+ return (
296
+ await axios.post(umi.rpc.getEndpoint(), {
297
+ method: "qn_estimatePriorityFees",
298
+ jsonrpc: "2.0",
299
+ id: 1,
300
+ params: {
301
+ last_n_blocks: blockheight,
302
+ account: programId.toString(),
303
+ },
304
+ })
305
+ ).data;
306
+ }
307
+
289
308
  export async function getComputeUnitPriceEstimate(
290
309
  umi: Umi,
291
310
  tx: TransactionBuilder,
@@ -33,22 +33,13 @@ import {
33
33
  } from "../../src/constants";
34
34
  import {
35
35
  buildHeliusApiUrl,
36
- getMarginfiAccountPositionState,
36
+ getQnComputeUnitPriceEstimate,
37
37
  getSolautoManagedPositions,
38
38
  retryWithExponentialBackoff,
39
39
  } from "../../src/utils";
40
40
  import { PriorityFeeSetting } from "../../src/types";
41
- import { buildIronforgeApiUrl, fetchSolautoPosition, fetchTokenPrices } from "../../dist";
42
- import { safeFetchBank } from "../../src/marginfi-sdk";
43
-
44
- export function getFlooredTimestampByMinute(
45
- unixSeconds: number,
46
- intervalInMinutes: number = 1
47
- ): number {
48
- const unixTime = Math.floor(new Date(unixSeconds * 1000).getTime() / 1000);
49
- const interval = intervalInMinutes * 60;
50
- return Math.floor(unixTime / interval) * interval;
51
- }
41
+ import { buildIronforgeApiUrl } from "../../dist";
42
+ import { JUPITER_PROGRAM_ID } from "../../src/jupiter-sdk";
52
43
 
53
44
  describe("Solauto Marginfi tests", async () => {
54
45
  // const signer = setupTest();
@@ -56,7 +47,7 @@ describe("Solauto Marginfi tests", async () => {
56
47
 
57
48
  const payForTransactions = true;
58
49
  const testProgram = false;
59
- const positionId = 1;
50
+ const positionId = 2;
60
51
 
61
52
  it("open - deposit - borrow - rebalance to 0 - withdraw - close", async () => {
62
53
  const client = new SolautoMarginfiClient(
@@ -82,21 +73,16 @@ describe("Solauto Marginfi tests", async () => {
82
73
  // debtMint: new PublicKey(USDC),
83
74
  });
84
75
 
85
- // console.log(await client.getFreshPositionStat\e());
86
-
87
- // const debtBank = await safeFetchBank(
88
- // client.umi,
89
- // publicKey(MARGINFI_ACCOUNTS[DEFAULT_MARGINFI_GROUP][USDC].bank)
90
- // );
91
- // const state = await getMarginfiAccountPositionState(client.umi, {
92
- // pk: new PublicKey("85YaXXB1uyDMLYf4ob6jfV1kr29muVNm7mpmM8qjbVq6"),
93
- // });
94
- // console.log(state);
95
- // console.log(maxBoostToBps(state.maxLtvBps, state.liqThresholdBps));
96
76
  // console.log(
97
- // getMaxLiqUtilizationRateBps(state.maxLtvBps, state.liqThresholdBps, 0)
77
+ // JSON.stringify(
78
+ // await getQnComputeUnitPriceEstimate(
79
+ // client.umi,
80
+ // new PublicKey(JUPITER_PROGRAM_ID)
81
+ // ),
82
+ // null,
83
+ // 2
84
+ // )
98
85
  // );
99
- // console.log(getLiqUtilzationRateBps(18.78, 7.47, state.liqThresholdBps));
100
86
  // return;
101
87
 
102
88
  const transactionItems: TransactionItem[] = [];