@haven-fi/solauto-sdk 1.0.464 → 1.0.466
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/constants/solautoConstants.d.ts +1 -0
- package/dist/constants/solautoConstants.d.ts.map +1 -1
- package/dist/constants/solautoConstants.js +10 -1
- package/dist/transactions/transactionUtils.d.ts.map +1 -1
- package/dist/transactions/transactionUtils.js +0 -10
- package/dist/utils/jupiterUtils.js +1 -1
- package/dist/utils/solauto/rebalanceUtils.d.ts.map +1 -1
- package/dist/utils/solauto/rebalanceUtils.js +3 -4
- package/package.json +1 -1
- package/src/constants/solautoConstants.ts +11 -1
- package/src/transactions/transactionUtils.ts +0 -15
- package/src/utils/jupiterUtils.ts +1 -1
- package/src/utils/solauto/rebalanceUtils.ts +12 -5
@@ -15,4 +15,5 @@ export declare const PRICES: {
|
|
15
15
|
export declare const SOLAUTO_LUT = "9D4xwZwDf46n9ft5gQxZzq3rBbdRXsXojKQLZbBdskPY";
|
16
16
|
export declare const STANDARD_LUT_ACCOUNTS: string[];
|
17
17
|
export declare const JITO_BLOCK_ENGINE = "https://mainnet.block-engine.jito.wtf";
|
18
|
+
export declare const BROKEN_TOKENS: string[];
|
18
19
|
//# sourceMappingURL=solautoConstants.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"solautoConstants.d.ts","sourceRoot":"","sources":["../../src/constants/solautoConstants.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,SAAS,EACV,MAAM,iBAAiB,CAAC;
|
1
|
+
{"version":3,"file":"solautoConstants.d.ts","sourceRoot":"","sources":["../../src/constants/solautoConstants.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,SAAS,EACV,MAAM,iBAAiB,CAAC;AASzB,eAAO,MAAM,oBAAoB,WAEhC,CAAC;AACF,eAAO,MAAM,oBAAoB,WAEhC,CAAC;AAIF,eAAO,MAAM,YAAY,QAAQ,CAAC;AAElC,eAAO,MAAM,iCAAiC,IAAI,CAAC;AACnD,eAAO,MAAM,iBAAiB,KAAK,CAAC;AACpC,eAAO,MAAM,iBAAiB,KAAK,CAAC;AACpC,eAAO,MAAM,0BAA0B,OAAO,CAAC;AAE/C,eAAO,MAAM,MAAM,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;CAAO,CAAC;AAE7E,eAAO,MAAM,WAAW,iDAAiD,CAAC;AAC1E,eAAO,MAAM,qBAAqB,UAYR,CAAC;AAE3B,eAAO,MAAM,iBAAiB,0CAA0C,CAAC;AAEzE,eAAO,MAAM,aAAa,UAOzB,CAAA"}
|
@@ -1,10 +1,11 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.JITO_BLOCK_ENGINE = exports.STANDARD_LUT_ACCOUNTS = exports.SOLAUTO_LUT = exports.PRICES = exports.MIN_USD_SUPPORTED_POSITION = exports.MIN_BOOST_GAP_BPS = exports.MIN_REPAY_GAP_BPS = exports.MIN_POSITION_STATE_FRESHNESS_SECS = exports.BASIS_POINTS = exports.SOLAUTO_TEST_PROGRAM = exports.SOLAUTO_PROD_PROGRAM = void 0;
|
3
|
+
exports.BROKEN_TOKENS = exports.JITO_BLOCK_ENGINE = exports.STANDARD_LUT_ACCOUNTS = exports.SOLAUTO_LUT = exports.PRICES = exports.MIN_USD_SUPPORTED_POSITION = exports.MIN_BOOST_GAP_BPS = exports.MIN_REPAY_GAP_BPS = exports.MIN_POSITION_STATE_FRESHNESS_SECS = exports.BASIS_POINTS = exports.SOLAUTO_TEST_PROGRAM = exports.SOLAUTO_PROD_PROGRAM = void 0;
|
4
4
|
const web3_js_1 = require("@solana/web3.js");
|
5
5
|
const spl_token_1 = require("@solana/spl-token");
|
6
6
|
const generalAccounts_1 = require("./generalAccounts");
|
7
7
|
const jupiter_sdk_1 = require("../jupiter-sdk");
|
8
|
+
const tokenConstants_1 = require("./tokenConstants");
|
8
9
|
exports.SOLAUTO_PROD_PROGRAM = new web3_js_1.PublicKey("AutoyKBRaHSBHy9RsmXCZMy6nNFAg5FYijrvZyQcNLV");
|
9
10
|
exports.SOLAUTO_TEST_PROGRAM = new web3_js_1.PublicKey("TesTjfQ6TbXv96Tv6fqr95XTZ1LYPxtkafmShN9PjBp");
|
10
11
|
globalThis.LOCAL_TEST = false;
|
@@ -29,3 +30,11 @@ exports.STANDARD_LUT_ACCOUNTS = [
|
|
29
30
|
jupiter_sdk_1.JUPITER_PROGRAM_ID,
|
30
31
|
].map((x) => x.toString());
|
31
32
|
exports.JITO_BLOCK_ENGINE = "https://mainnet.block-engine.jito.wtf";
|
33
|
+
exports.BROKEN_TOKENS = [
|
34
|
+
tokenConstants_1.JUP,
|
35
|
+
tokenConstants_1.JLP,
|
36
|
+
tokenConstants_1.WETH,
|
37
|
+
tokenConstants_1.HNT,
|
38
|
+
tokenConstants_1.JTO,
|
39
|
+
tokenConstants_1.PYTH
|
40
|
+
];
|
@@ -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;
|
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;;;;EAiG/B"}
|
@@ -330,16 +330,6 @@ async function getTransactionChores(client, tx) {
|
|
330
330
|
return [choresBefore, choresAfter];
|
331
331
|
}
|
332
332
|
async function requiresRefreshBeforeRebalance(client, values) {
|
333
|
-
// REMOVE ME
|
334
|
-
const state = client.solautoPositionState;
|
335
|
-
const settings = client.solautoPositionSettings();
|
336
|
-
if ((0, umi_web3js_adapters_1.toWeb3JsPublicKey)(state.supply.mint).equals(new web3_js_1.PublicKey(constants_1.JUP)) &&
|
337
|
-
(0, umi_web3js_adapters_1.toWeb3JsPublicKey)(state.debt.mint).equals(new web3_js_1.PublicKey(constants_1.USDC)) &&
|
338
|
-
settings &&
|
339
|
-
settings.boostToBps ===
|
340
|
-
(0, numberUtils_1.maxBoostToBps)(state.maxLtvBps, state.liqThresholdBps) && values.targetRateBps === 6500) {
|
341
|
-
return true;
|
342
|
-
}
|
343
333
|
const neverRefreshedBefore = client.solautoPositionData &&
|
344
334
|
client.solautoPositionData.state.supply.amountCanBeUsed.baseUnit ===
|
345
335
|
BigInt(0) &&
|
@@ -85,7 +85,7 @@ async function getJupPriceData(mints, extraInfo) {
|
|
85
85
|
if (!result ||
|
86
86
|
result === null ||
|
87
87
|
(typeof result === "object" &&
|
88
|
-
Boolean(Object.values(
|
88
|
+
Boolean(Object.values(result).filter((x) => x === null).length))) {
|
89
89
|
throw new Error("Failed to get token prices using Jupiter");
|
90
90
|
}
|
91
91
|
return result;
|
@@ -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;
|
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,CA4EjB;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"}
|
@@ -87,10 +87,9 @@ function getRebalanceValues(state, settings, dca, currentUnixTime, supplyPrice,
|
|
87
87
|
let { targetRateBps, amountToDcaIn } = getTargetRateAndDcaAmount(state, settings, dca, currentUnixTime, targetLiqUtilizationRateBps);
|
88
88
|
// REVERT ME AND GET TO THE ROOT OF THIS ISSUE
|
89
89
|
const supplyMint = (0, umi_web3js_adapters_1.toWeb3JsPublicKey)(state.supply.mint);
|
90
|
-
if ((supplyMint.
|
91
|
-
|
92
|
-
|
93
|
-
(0, umi_web3js_adapters_1.toWeb3JsPublicKey)(state.debt.mint).equals(new web3_js_1.PublicKey(constants_1.USDC)) &&
|
90
|
+
if (constants_1.BROKEN_TOKENS.includes(supplyMint.toString()) &&
|
91
|
+
((0, umi_web3js_adapters_1.toWeb3JsPublicKey)(state.debt.mint).equals(new web3_js_1.PublicKey(constants_1.USDC)) ||
|
92
|
+
(0, umi_web3js_adapters_1.toWeb3JsPublicKey)(state.debt.mint).equals(new web3_js_1.PublicKey(constants_1.USDT))) &&
|
94
93
|
settings &&
|
95
94
|
settings.boostToBps ===
|
96
95
|
(0, numberUtils_1.maxBoostToBps)(state.maxLtvBps, state.liqThresholdBps) &&
|
package/package.json
CHANGED
@@ -11,6 +11,7 @@ import {
|
|
11
11
|
} from "@solana/spl-token";
|
12
12
|
import { SOLAUTO_MANAGER } from "./generalAccounts";
|
13
13
|
import { JUPITER_PROGRAM_ID } from "../jupiter-sdk";
|
14
|
+
import { HNT, JLP, JTO, JUP, PYTH, WETH } from "./tokenConstants";
|
14
15
|
|
15
16
|
export const SOLAUTO_PROD_PROGRAM = new PublicKey(
|
16
17
|
"AutoyKBRaHSBHy9RsmXCZMy6nNFAg5FYijrvZyQcNLV"
|
@@ -45,4 +46,13 @@ export const STANDARD_LUT_ACCOUNTS = [
|
|
45
46
|
JUPITER_PROGRAM_ID,
|
46
47
|
].map((x) => x.toString());
|
47
48
|
|
48
|
-
export const JITO_BLOCK_ENGINE = "https://mainnet.block-engine.jito.wtf";
|
49
|
+
export const JITO_BLOCK_ENGINE = "https://mainnet.block-engine.jito.wtf";
|
50
|
+
|
51
|
+
export const BROKEN_TOKENS = [
|
52
|
+
JUP,
|
53
|
+
JLP,
|
54
|
+
WETH,
|
55
|
+
HNT,
|
56
|
+
JTO,
|
57
|
+
PYTH
|
58
|
+
]
|
@@ -19,7 +19,6 @@ import {
|
|
19
19
|
RebalanceDirection,
|
20
20
|
SolautoAction,
|
21
21
|
SolautoRebalanceType,
|
22
|
-
SolautoSettingsParameters,
|
23
22
|
TokenType,
|
24
23
|
convertReferralFees,
|
25
24
|
createSolautoProgram,
|
@@ -51,7 +50,6 @@ import {
|
|
51
50
|
import { SolautoMarginfiClient } from "../clients/solautoMarginfiClient";
|
52
51
|
import {
|
53
52
|
getMaxLiqUtilizationRateBps,
|
54
|
-
maxBoostToBps,
|
55
53
|
uint8ArrayToBigInt,
|
56
54
|
} from "../utils/numberUtils";
|
57
55
|
import {
|
@@ -603,19 +601,6 @@ export async function getTransactionChores(
|
|
603
601
|
}
|
604
602
|
|
605
603
|
export async function requiresRefreshBeforeRebalance(client: SolautoClient, values: RebalanceValues) {
|
606
|
-
// REMOVE ME
|
607
|
-
const state = client.solautoPositionState!;
|
608
|
-
const settings = client.solautoPositionSettings();
|
609
|
-
if (
|
610
|
-
toWeb3JsPublicKey(state.supply.mint).equals(new PublicKey(JUP)) &&
|
611
|
-
toWeb3JsPublicKey(state.debt.mint).equals(new PublicKey(USDC)) &&
|
612
|
-
settings &&
|
613
|
-
settings.boostToBps ===
|
614
|
-
maxBoostToBps(state.maxLtvBps, state.liqThresholdBps) && values.targetRateBps === 6500
|
615
|
-
) {
|
616
|
-
return true;
|
617
|
-
}
|
618
|
-
|
619
604
|
const neverRefreshedBefore =
|
620
605
|
client.solautoPositionData &&
|
621
606
|
client.solautoPositionData.state.supply.amountCanBeUsed.baseUnit ===
|
@@ -168,7 +168,7 @@ export async function getJupPriceData(mints: PublicKey[], extraInfo?: boolean) {
|
|
168
168
|
!result ||
|
169
169
|
result === null ||
|
170
170
|
(typeof result === "object" &&
|
171
|
-
Boolean(Object.values(
|
171
|
+
Boolean(Object.values(result).filter((x) => x === null).length))
|
172
172
|
) {
|
173
173
|
throw new Error("Failed to get token prices using Jupiter");
|
174
174
|
}
|
@@ -31,7 +31,15 @@ import {
|
|
31
31
|
import { USD_DECIMALS } from "../../constants/generalAccounts";
|
32
32
|
import { RebalanceAction } from "../../types";
|
33
33
|
import { safeGetPrice } from "../priceUtils";
|
34
|
-
import {
|
34
|
+
import {
|
35
|
+
BONK,
|
36
|
+
BROKEN_TOKENS,
|
37
|
+
JUP,
|
38
|
+
TOKEN_INFO,
|
39
|
+
USDC,
|
40
|
+
USDT,
|
41
|
+
WETH,
|
42
|
+
} from "../../constants";
|
35
43
|
|
36
44
|
function getAdditionalAmountToDcaIn(dca: DCASettings): number {
|
37
45
|
if (dca.dcaInBaseUnit === BigInt(0)) {
|
@@ -193,10 +201,9 @@ export function getRebalanceValues(
|
|
193
201
|
// REVERT ME AND GET TO THE ROOT OF THIS ISSUE
|
194
202
|
const supplyMint = toWeb3JsPublicKey(state.supply.mint);
|
195
203
|
if (
|
196
|
-
(supplyMint.
|
197
|
-
|
198
|
-
|
199
|
-
toWeb3JsPublicKey(state.debt.mint).equals(new PublicKey(USDC)) &&
|
204
|
+
BROKEN_TOKENS.includes(supplyMint.toString()) &&
|
205
|
+
(toWeb3JsPublicKey(state.debt.mint).equals(new PublicKey(USDC)) ||
|
206
|
+
toWeb3JsPublicKey(state.debt.mint).equals(new PublicKey(USDT))) &&
|
200
207
|
settings &&
|
201
208
|
settings.boostToBps ===
|
202
209
|
maxBoostToBps(state.maxLtvBps, state.liqThresholdBps) &&
|