@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.
- package/dist/utils/jupiterUtils.d.ts.map +1 -1
- package/dist/utils/jupiterUtils.js +0 -1
- package/dist/utils/solanaUtils.d.ts +1 -0
- package/dist/utils/solanaUtils.d.ts.map +1 -1
- package/dist/utils/solanaUtils.js +13 -0
- package/package.json +2 -2
- package/src/utils/jupiterUtils.ts +0 -1
- package/src/utils/solanaUtils.ts +19 -0
- package/tests/transactions/solautoMarginfi.ts +12 -26
@@ -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,
|
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;
|
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.
|
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": "
|
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",
|
package/src/utils/solanaUtils.ts
CHANGED
@@ -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
|
-
|
36
|
+
getQnComputeUnitPriceEstimate,
|
37
37
|
getSolautoManagedPositions,
|
38
38
|
retryWithExponentialBackoff,
|
39
39
|
} from "../../src/utils";
|
40
40
|
import { PriorityFeeSetting } from "../../src/types";
|
41
|
-
import { buildIronforgeApiUrl
|
42
|
-
import {
|
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 =
|
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
|
-
//
|
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[] = [];
|