@haven-fi/solauto-sdk 1.0.624 → 1.0.625
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/{generalAccounts.d.ts → generalConstants.d.ts} +3 -1
- package/dist/constants/generalConstants.d.ts.map +1 -0
- package/dist/constants/{generalAccounts.js → generalConstants.js} +4 -1
- package/dist/constants/index.d.ts +6 -5
- package/dist/constants/index.d.ts.map +1 -1
- package/dist/constants/index.js +2 -1
- package/dist/constants/marginfiAccounts.d.ts +4 -1
- package/dist/constants/marginfiAccounts.d.ts.map +1 -1
- package/dist/constants/marginfiAccounts.js +7 -5
- package/dist/constants/solautoConstants.d.ts +0 -3
- package/dist/constants/solautoConstants.d.ts.map +1 -1
- package/dist/constants/solautoConstants.js +3 -8
- package/dist/services/flashLoans/flProviderAggregator.d.ts +3 -3
- package/dist/services/flashLoans/flProviderAggregator.d.ts.map +1 -1
- package/dist/services/flashLoans/flProviderAggregator.js +5 -5
- package/dist/services/flashLoans/flProviderBase.d.ts +4 -3
- package/dist/services/flashLoans/flProviderBase.d.ts.map +1 -1
- package/dist/services/flashLoans/flProviderBase.js +3 -2
- package/dist/services/flashLoans/marginfiFlProvider.d.ts +2 -2
- package/dist/services/flashLoans/marginfiFlProvider.d.ts.map +1 -1
- package/dist/services/flashLoans/marginfiFlProvider.js +2 -3
- package/dist/services/rebalance/rebalanceSwapManager.d.ts.map +1 -1
- package/dist/services/rebalance/rebalanceSwapManager.js +1 -1
- package/dist/services/rebalance/rebalanceTxBuilder.d.ts.map +1 -1
- package/dist/services/rebalance/rebalanceTxBuilder.js +4 -4
- package/dist/services/rebalance/rebalanceValues.d.ts.map +1 -1
- package/dist/services/rebalance/solautoFees.d.ts.map +1 -1
- package/dist/services/rebalance/solautoFees.js +4 -2
- package/dist/services/solauto/solautoClient.d.ts +4 -3
- package/dist/services/solauto/solautoClient.d.ts.map +1 -1
- package/dist/services/solauto/solautoClient.js +21 -24
- package/dist/services/solauto/solautoMarginfiClient.d.ts +3 -4
- package/dist/services/solauto/solautoMarginfiClient.d.ts.map +1 -1
- package/dist/services/solauto/solautoMarginfiClient.js +19 -20
- package/dist/services/solauto/txHandler.d.ts +4 -2
- package/dist/services/solauto/txHandler.d.ts.map +1 -1
- package/dist/services/solauto/txHandler.js +4 -6
- package/dist/services/swap/jupSwapManager.d.ts +1 -1
- package/dist/services/swap/jupSwapManager.d.ts.map +1 -1
- package/dist/services/swap/jupSwapManager.js +7 -10
- package/dist/services/transactions/transactionUtils.d.ts +2 -3
- package/dist/services/transactions/transactionUtils.d.ts.map +1 -1
- package/dist/services/transactions/transactionUtils.js +43 -46
- package/dist/services/transactions/transactionsManager.d.ts +2 -3
- package/dist/services/transactions/transactionsManager.d.ts.map +1 -1
- package/dist/services/transactions/transactionsManager.js +16 -20
- package/dist/solautoPosition/marginfiSolautoPositionEx.d.ts.map +1 -1
- package/dist/solautoPosition/marginfiSolautoPositionEx.js +1 -1
- package/dist/solautoPosition/solautoPositionEx.d.ts +1 -1
- package/dist/solautoPosition/solautoPositionEx.d.ts.map +1 -1
- package/dist/solautoPosition/solautoPositionEx.js +1 -1
- package/dist/solautoPosition/utils.d.ts +2 -2
- package/dist/solautoPosition/utils.d.ts.map +1 -1
- package/dist/solautoPosition/utils.js +2 -2
- package/dist/types/solauto.d.ts +1 -0
- package/dist/types/solauto.d.ts.map +1 -1
- package/dist/utils/generalUtils.d.ts +2 -0
- package/dist/utils/generalUtils.d.ts.map +1 -1
- package/dist/utils/generalUtils.js +9 -1
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -0
- package/dist/utils/jitoUtils.d.ts.map +1 -1
- package/dist/utils/jitoUtils.js +7 -8
- package/dist/utils/jupiterUtils.d.ts.map +1 -1
- package/dist/utils/marginfiUtils.d.ts +7 -3
- package/dist/utils/marginfiUtils.d.ts.map +1 -1
- package/dist/utils/marginfiUtils.js +50 -19
- package/dist/utils/numberUtils.d.ts.map +1 -1
- package/dist/utils/priceUtils.d.ts.map +1 -1
- package/dist/utils/priceUtils.js +13 -15
- package/dist/utils/solanaUtils.d.ts +3 -5
- package/dist/utils/solanaUtils.d.ts.map +1 -1
- package/dist/utils/solanaUtils.js +7 -15
- package/dist/utils/solautoUtils.d.ts +3 -3
- package/dist/utils/solautoUtils.d.ts.map +1 -1
- package/dist/utils/solautoUtils.js +5 -5
- package/dist/utils/stringUtils.d.ts.map +1 -1
- package/dist/utils/stringUtils.js +3 -3
- package/dist/utils/switchboardUtils.d.ts +1 -1
- package/dist/utils/switchboardUtils.d.ts.map +1 -1
- package/dist/utils/switchboardUtils.js +4 -4
- package/local/createISMAccounts.ts +29 -12
- package/local/createTokenAccounts.ts +12 -11
- package/local/logPositions.ts +5 -5
- package/local/shared.ts +16 -10
- package/local/txSandbox.ts +5 -5
- package/local/updateMarginfiLUT.ts +35 -41
- package/local/updateSolautoLUT.ts +11 -13
- package/package.json +1 -1
- package/src/constants/{generalAccounts.ts → generalConstants.ts} +6 -1
- package/src/constants/index.ts +6 -5
- package/src/constants/marginfiAccounts.ts +15 -6
- package/src/constants/solautoConstants.ts +2 -10
- package/src/services/flashLoans/flProviderAggregator.ts +9 -7
- package/src/services/flashLoans/flProviderBase.ts +5 -4
- package/src/services/flashLoans/marginfiFlProvider.ts +3 -4
- package/src/services/rebalance/rebalanceSwapManager.ts +1 -1
- package/src/services/rebalance/rebalanceTxBuilder.ts +5 -5
- package/src/services/rebalance/rebalanceValues.ts +1 -1
- package/src/services/rebalance/solautoFees.ts +3 -4
- package/src/services/solauto/solautoClient.ts +9 -15
- package/src/services/solauto/solautoMarginfiClient.ts +21 -23
- package/src/services/solauto/txHandler.ts +10 -9
- package/src/services/swap/jupSwapManager.ts +7 -6
- package/src/services/transactions/transactionUtils.ts +17 -18
- package/src/services/transactions/transactionsManager.ts +23 -22
- package/src/solautoPosition/marginfiSolautoPositionEx.ts +1 -2
- package/src/solautoPosition/solautoPositionEx.ts +5 -5
- package/src/solautoPosition/utils.ts +7 -7
- package/src/types/solauto.ts +2 -0
- package/src/utils/generalUtils.ts +9 -1
- package/src/utils/index.ts +1 -0
- package/src/utils/jitoUtils.ts +17 -14
- package/src/utils/jupiterUtils.ts +1 -1
- package/src/utils/marginfiUtils.ts +56 -14
- package/src/utils/numberUtils.ts +0 -1
- package/src/utils/priceUtils.ts +7 -5
- package/src/utils/solanaUtils.ts +24 -32
- package/src/utils/solautoUtils.ts +13 -13
- package/src/utils/stringUtils.ts +3 -3
- package/src/utils/switchboardUtils.ts +4 -4
- package/tests/transactions/shared.ts +9 -14
- package/tests/transactions/solautoMarginfi.ts +13 -3
- package/tests/unit/accounts.ts +14 -17
- package/tests/unit/lookupTables.ts +5 -5
- package/tests/unit/rebalanceCalculations.ts +17 -11
- package/README.md +0 -3
- package/dist/constants/generalAccounts.d.ts.map +0 -1
- package/src/constants/README.md +0 -7
@@ -1,10 +1,12 @@
|
|
1
|
+
import { PublicKey } from "@solana/web3.js";
|
2
|
+
import { NATIVE_MINT } from "@solana/spl-token";
|
1
3
|
import { Signer } from "@metaplex-foundation/umi";
|
2
4
|
import {
|
3
|
-
buildIronforgeApiUrl,
|
4
5
|
consoleLog,
|
5
6
|
fetchTokenPrices,
|
6
7
|
getClient,
|
7
8
|
LendingPlatform,
|
9
|
+
LOCAL_IRONFORGE_API_URL,
|
8
10
|
maxBoostToBps,
|
9
11
|
maxRepayToBps,
|
10
12
|
RebalanceTxBuilder,
|
@@ -17,8 +19,6 @@ import {
|
|
17
19
|
TransactionsManager,
|
18
20
|
USDC,
|
19
21
|
} from "../../src";
|
20
|
-
import { PublicKey } from "@solana/web3.js";
|
21
|
-
import { NATIVE_MINT } from "@solana/spl-token";
|
22
22
|
|
23
23
|
export async function e2eTransactionTest(
|
24
24
|
signer: Signer,
|
@@ -28,7 +28,7 @@ export async function e2eTransactionTest(
|
|
28
28
|
) {
|
29
29
|
const client = getClient(lendingPlatform, {
|
30
30
|
signer,
|
31
|
-
rpcUrl:
|
31
|
+
rpcUrl: LOCAL_IRONFORGE_API_URL,
|
32
32
|
programId: testProgram ? SOLAUTO_TEST_PROGRAM : SOLAUTO_PROD_PROGRAM,
|
33
33
|
});
|
34
34
|
|
@@ -72,7 +72,10 @@ export async function e2eTransactionTest(
|
|
72
72
|
return {
|
73
73
|
tx: client.protocolInteractionIx(
|
74
74
|
solautoAction("Deposit", [
|
75
|
-
toBaseUnit(
|
75
|
+
toBaseUnit(
|
76
|
+
supplyUsd / supplyPrice,
|
77
|
+
client.pos.supplyMintInfo().decimals
|
78
|
+
),
|
76
79
|
])
|
77
80
|
),
|
78
81
|
};
|
@@ -120,15 +123,7 @@ export async function e2eTransactionTest(
|
|
120
123
|
)
|
121
124
|
);
|
122
125
|
|
123
|
-
const txManager = new TransactionsManager(
|
124
|
-
client,
|
125
|
-
undefined,
|
126
|
-
"only-simulate",
|
127
|
-
undefined,
|
128
|
-
true,
|
129
|
-
undefined,
|
130
|
-
{ totalRetries: 5 }
|
131
|
-
);
|
126
|
+
const txManager = new TransactionsManager(client, undefined, "only-simulate");
|
132
127
|
const statuses = await txManager.clientSend(transactionItems);
|
133
128
|
|
134
129
|
consoleLog(statuses);
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { describe, it } from "mocha";
|
2
|
-
import { setupTest } from "../shared";
|
3
2
|
import { LendingPlatform } from "../../src";
|
3
|
+
import { setupTest } from "../shared";
|
4
4
|
import { e2eTransactionTest } from "./shared";
|
5
5
|
|
6
6
|
describe("Solauto Marginfi tests", async () => {
|
@@ -8,10 +8,20 @@ describe("Solauto Marginfi tests", async () => {
|
|
8
8
|
const testProgram = true;
|
9
9
|
|
10
10
|
it("open - deposit - borrow - rebalance to 0 - withdraw - close", async () => {
|
11
|
-
await e2eTransactionTest(
|
11
|
+
await e2eTransactionTest(
|
12
|
+
signer,
|
13
|
+
testProgram,
|
14
|
+
LendingPlatform.Marginfi,
|
15
|
+
false
|
16
|
+
);
|
12
17
|
});
|
13
18
|
|
14
19
|
it("open - deposit - borrow - fl rebalance to 0 - withdraw - close", async () => {
|
15
|
-
await e2eTransactionTest(
|
20
|
+
await e2eTransactionTest(
|
21
|
+
signer,
|
22
|
+
testProgram,
|
23
|
+
LendingPlatform.Marginfi,
|
24
|
+
true
|
25
|
+
);
|
16
26
|
});
|
17
27
|
});
|
package/tests/unit/accounts.ts
CHANGED
@@ -1,29 +1,25 @@
|
|
1
1
|
import { describe, it } from "mocha";
|
2
|
+
import { assert } from "chai";
|
3
|
+
import { PublicKey } from "@solana/web3.js";
|
4
|
+
import { publicKey } from "@metaplex-foundation/umi";
|
5
|
+
import { toWeb3JsPublicKey } from "@metaplex-foundation/umi-web3js-adapters";
|
2
6
|
import {
|
3
7
|
ALL_SUPPORTED_TOKENS,
|
4
8
|
TOKEN_INFO,
|
5
|
-
|
9
|
+
MARGINFI_ACCOUNTS,
|
10
|
+
SOLAUTO_FEES_WALLET,
|
11
|
+
SOLAUTO_MANAGER,
|
12
|
+
LOCAL_IRONFORGE_API_URL,
|
13
|
+
} from "../../src/constants";
|
6
14
|
import {
|
7
|
-
buildHeliusApiUrl,
|
8
15
|
getSolanaRpcConnection,
|
9
|
-
} from "../../src/utils/solanaUtils";
|
10
|
-
import { publicKey } from "@metaplex-foundation/umi";
|
11
|
-
import { assert } from "chai";
|
12
|
-
import {
|
13
16
|
getEmptyMarginfiAccountsByAuthority,
|
14
17
|
getTokenAccount,
|
15
18
|
} from "../../src/utils";
|
16
|
-
import {
|
17
|
-
MARGINFI_ACCOUNTS,
|
18
|
-
SOLAUTO_FEES_WALLET,
|
19
|
-
SOLAUTO_MANAGER,
|
20
|
-
} from "../../src/constants";
|
21
|
-
import { PublicKey } from "@solana/web3.js";
|
22
|
-
import { toWeb3JsPublicKey } from "@metaplex-foundation/umi-web3js-adapters";
|
23
19
|
|
24
20
|
async function hasTokenAccounts(wallet: PublicKey) {
|
25
21
|
let [_, umi] = getSolanaRpcConnection(
|
26
|
-
|
22
|
+
LOCAL_IRONFORGE_API_URL
|
27
23
|
);
|
28
24
|
|
29
25
|
const tokenAccounts = await umi.rpc.getAccounts(
|
@@ -50,18 +46,19 @@ describe("Assert Solauto fee token accounts are created", async () => {
|
|
50
46
|
|
51
47
|
it("ISM accounts for every supported Marginfi group", async () => {
|
52
48
|
let [_, umi] = getSolanaRpcConnection(
|
53
|
-
|
49
|
+
LOCAL_IRONFORGE_API_URL
|
54
50
|
);
|
55
51
|
|
56
52
|
const ismAccounts = await getEmptyMarginfiAccountsByAuthority(
|
57
53
|
umi,
|
58
|
-
SOLAUTO_MANAGER
|
54
|
+
SOLAUTO_MANAGER
|
59
55
|
);
|
60
56
|
const supportedMarginfiGroups = Object.keys(MARGINFI_ACCOUNTS).map(
|
61
57
|
(x) => new PublicKey(x)
|
62
58
|
);
|
63
59
|
const missingIsmAccounts = supportedMarginfiGroups.filter(
|
64
|
-
(group) =>
|
60
|
+
(group) =>
|
61
|
+
!ismAccounts.find((x) => group.equals(toWeb3JsPublicKey(x.group)))
|
65
62
|
);
|
66
63
|
|
67
64
|
console.log("Missing ISM accounts", missingIsmAccounts);
|
@@ -1,18 +1,18 @@
|
|
1
1
|
import { describe, it } from "mocha";
|
2
2
|
import { PublicKey } from "@solana/web3.js";
|
3
3
|
import {
|
4
|
+
LOCAL_IRONFORGE_API_URL,
|
4
5
|
MARGINFI_ACCOUNTS,
|
5
6
|
MARGINFI_ACCOUNTS_LOOKUP_TABLE,
|
6
|
-
|
7
|
+
SOLAUTO_MANAGER,
|
8
|
+
} from "../../src/constants";
|
7
9
|
import {
|
8
|
-
buildIronforgeApiUrl,
|
9
10
|
getEmptyMarginfiAccountsByAuthority,
|
10
11
|
getSolanaRpcConnection,
|
11
|
-
|
12
|
-
} from "../../src";
|
12
|
+
} from "../../src/utils";
|
13
13
|
|
14
14
|
const [conn, umi] = getSolanaRpcConnection(
|
15
|
-
|
15
|
+
LOCAL_IRONFORGE_API_URL
|
16
16
|
);
|
17
17
|
|
18
18
|
describe("Assert lookup tables up-to-date", async () => {
|
@@ -1,24 +1,30 @@
|
|
1
1
|
import { describe, it, before } from "mocha";
|
2
|
+
import { assert } from "chai";
|
2
3
|
import { PublicKey } from "@solana/web3.js";
|
3
4
|
import { NATIVE_MINT } from "@solana/spl-token";
|
4
|
-
import { assert } from "chai";
|
5
|
-
import { setupTest } from "../shared";
|
6
5
|
import { publicKey } from "@metaplex-foundation/umi";
|
6
|
+
import { setupTest } from "../shared";
|
7
7
|
import {
|
8
8
|
LendingPlatform,
|
9
9
|
SolautoSettingsParameters,
|
10
10
|
} from "../../src/generated";
|
11
|
-
import { fromBps, getLiqUtilzationRateBps } from "../../src/utils/numberUtils";
|
12
|
-
import { getClient } from "../../src/utils/solautoUtils";
|
13
|
-
import { USDC } from "../../src/constants/tokenConstants";
|
14
|
-
import { buildIronforgeApiUrl, fetchTokenPrices, safeGetPrice } from "../../src/utils";
|
15
11
|
import {
|
16
|
-
|
12
|
+
fromBps,
|
13
|
+
getLiqUtilzationRateBps,
|
14
|
+
getClient,
|
15
|
+
fetchTokenPrices,
|
16
|
+
safeGetPrice,
|
17
|
+
} from "../../src/utils";
|
18
|
+
import { LOCAL_IRONFORGE_API_URL, USDC } from "../../src/constants";
|
19
|
+
import {
|
17
20
|
getRebalanceValues,
|
18
|
-
MarginfiSolautoPositionEx,
|
19
21
|
SolautoClient,
|
20
|
-
|
21
|
-
|
22
|
+
SolautoFeesBps,
|
23
|
+
} from "../../src/services";
|
24
|
+
import {
|
25
|
+
createFakePositionState,
|
26
|
+
MarginfiSolautoPositionEx,
|
27
|
+
} from "../../src/solautoPosition";
|
22
28
|
|
23
29
|
const signer = setupTest(undefined, true);
|
24
30
|
|
@@ -58,7 +64,7 @@ async function getFakePosition(
|
|
58
64
|
): Promise<SolautoClient> {
|
59
65
|
const client = getClient(LendingPlatform.Marginfi, {
|
60
66
|
signer,
|
61
|
-
rpcUrl:
|
67
|
+
rpcUrl: LOCAL_IRONFORGE_API_URL,
|
62
68
|
});
|
63
69
|
await client.initialize({
|
64
70
|
positionId: 1,
|
package/README.md
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"generalAccounts.d.ts","sourceRoot":"","sources":["../../src/constants/generalAccounts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,eAAO,MAAM,YAAY,IAAI,CAAC;AAC9B,eAAO,MAAM,mBAAmB,WAAgE,CAAC;AACjG,eAAO,MAAM,eAAe,WAA+D,CAAC"}
|