@haven-fi/solauto-sdk 1.0.43 → 1.0.45
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/clients/solautoClient.d.ts.map +1 -1
- package/dist/clients/solautoClient.js +1 -2
- package/dist/clients/solautoMarginfiClient.js +1 -1
- package/dist/constants/solautoConstants.d.ts +1 -0
- package/dist/constants/solautoConstants.d.ts.map +1 -1
- package/dist/constants/solautoConstants.js +2 -1
- package/dist/utils/solauto/generalUtils.js +1 -1
- package/local/createSolautoManagerAccount.ts +47 -0
- package/local/updateMarginfiLUT.ts +3 -3
- package/local/updateSolautoLUT.ts +14 -7
- package/package.json +1 -1
- package/src/clients/solautoClient.ts +2 -3
- package/src/clients/solautoMarginfiClient.ts +1 -1
- package/src/constants/solautoConstants.ts +2 -0
- package/src/utils/solauto/generalUtils.ts +1 -1
- package/tests/unit/lookupTables.ts +0 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"solautoClient.d.ts","sourceRoot":"","sources":["../../src/clients/solautoClient.ts"],"names":[],"mappings":"AAAA,OAAO,gCAAgC,CAAC;AACxC,OAAO,EAEL,UAAU,EACV,SAAS,EACV,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,MAAM,EACN,kBAAkB,EAClB,GAAG,EAQJ,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,aAAa,EAEd,MAAM,iDAAiD,CAAC;AACzD,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,eAAe,EACf,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,wBAAwB,EACxB,yBAAyB,EACzB,gCAAgC,EAChC,sBAAsB,EASvB,MAAM,cAAc,CAAC;AAOtB,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAMvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAInE,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAEpE,MAAM,WAAW,iBAAiB;IAChC,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,aAAa,CAAC;IAEvB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,QAAQ,CAAC,EAAE,SAAS,CAAC;IAErB,oBAAoB,CAAC,EAAE,SAAS,CAAC;IACjC,mBAAmB,CAAC,EAAE,SAAS,CAAC;CACjC;AAED,8BAAsB,aAAa;IAyCxB,SAAS,CAAC;IAxCZ,GAAG,EAAG,GAAG,CAAC;IACV,UAAU,EAAG,UAAU,CAAC;IACxB,eAAe,EAAG,eAAe,CAAC;IAElC,SAAS,EAAG,SAAS,CAAC;IACtB,MAAM,EAAG,MAAM,CAAC;IAEhB,UAAU,EAAG,MAAM,CAAC;IACpB,WAAW,EAAG,OAAO,CAAC;IACtB,eAAe,EAAG,SAAS,CAAC;IAC5B,mBAAmB,EAAG,eAAe,GAAG,IAAI,CAAC;IAC7C,oBAAoB,EAAG,aAAa,GAAG,SAAS,CAAC;IAEjD,UAAU,EAAG,SAAS,CAAC;IACvB,gBAAgB,EAAG,SAAS,CAAC;IAC7B,cAAc,EAAG,SAAS,CAAC;IAE3B,QAAQ,EAAG,SAAS,CAAC;IACrB,cAAc,EAAG,SAAS,CAAC;IAC3B,YAAY,EAAG,SAAS,CAAC;IAEzB,sBAAsB,EAAG,SAAS,CAAC;IACnC,0BAA0B,EAAG,aAAa,GAAG,IAAI,CAAC;IAClD,6BAA6B,EAAG,SAAS,CAAC;IAC1C,uBAAuB,EAAG,SAAS,CAAC;IAEpC,eAAe,CAAC,EAAE,SAAS,CAAC;IAC5B,mBAAmB,CAAC,EAAE,SAAS,CAAC;IAChC,kBAAkB,CAAC,EAAE,SAAS,CAAC;IAE/B,iBAAiB,EAAG,SAAS,CAAC;IAC9B,mBAAmB,EAAG,SAAS,CAAC;IAEhC,mBAAmB,CAAC,EAAE,SAAS,CAAC;IAChC,mBAAmB,EAAG,SAAS,EAAE,CAAC;IAElC,mBAAmB,EAAE,mBAAmB,CAA6B;gBAG1E,YAAY,EAAE,MAAM,EACb,SAAS,CAAC,qBAAS;IAWtB,UAAU,CAAC,IAAI,EAAE,iBAAiB,EAAE,eAAe,EAAE,eAAe;IAmH1E,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAMnB,wBAAwB;IAoB9B,mBAAmB,IAAI,MAAM,EAAE;
|
|
1
|
+
{"version":3,"file":"solautoClient.d.ts","sourceRoot":"","sources":["../../src/clients/solautoClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -77,7 +77,7 @@ class SolautoMarginfiClient extends solautoClient_1.SolautoClient {
|
|
|
77
77
|
return [
|
|
78
78
|
...super.lutAccountsToAdd(),
|
|
79
79
|
this.marginfiAccountPk,
|
|
80
|
-
this.intermediaryMarginfiAccountPk,
|
|
80
|
+
...(this.signer.publicKey.toString() === this.authority.toString() ? [this.intermediaryMarginfiAccountPk] : []),
|
|
81
81
|
];
|
|
82
82
|
}
|
|
83
83
|
marginfiAccountInitialize() {
|
|
@@ -8,6 +8,7 @@ export declare const PRICES: {
|
|
|
8
8
|
time: number;
|
|
9
9
|
};
|
|
10
10
|
};
|
|
11
|
+
export declare const SOLAUTO_LUT = "9D4xwZwDf46n9ft5gQxZzq3rBbdRXsXojKQLZbBdskPY";
|
|
11
12
|
export declare const JUPITER_PROGRAM_ID = "JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4";
|
|
12
13
|
export declare const STANDARD_LUT_ACCOUNTS: string[];
|
|
13
14
|
//# sourceMappingURL=solautoConstants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"solautoConstants.d.ts","sourceRoot":"","sources":["../../src/constants/solautoConstants.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,yBAAyB,OAAO,CAAC;AAC9C,eAAO,MAAM,qBAAqB,OAAO,CAAC;AAC1C,eAAO,MAAM,iCAAiC,IAAI,CAAC;AACnD,eAAO,MAAM,iBAAiB,MAAM,CAAC;AAQrC,eAAO,MAAM,MAAM,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;KAAE,CAAA;CAAO,CAAC;AAE9E,eAAO,MAAM,kBAAkB,gDAAgD,CAAC;AAEhF,eAAO,MAAM,qBAAqB,UAWjC,CAAC"}
|
|
1
|
+
{"version":3,"file":"solautoConstants.d.ts","sourceRoot":"","sources":["../../src/constants/solautoConstants.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,yBAAyB,OAAO,CAAC;AAC9C,eAAO,MAAM,qBAAqB,OAAO,CAAC;AAC1C,eAAO,MAAM,iCAAiC,IAAI,CAAC;AACnD,eAAO,MAAM,iBAAiB,MAAM,CAAC;AAQrC,eAAO,MAAM,MAAM,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;KAAE,CAAA;CAAO,CAAC;AAE9E,eAAO,MAAM,WAAW,iDAAiD,CAAC;AAE1E,eAAO,MAAM,kBAAkB,gDAAgD,CAAC;AAEhF,eAAO,MAAM,qBAAqB,UAWjC,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.STANDARD_LUT_ACCOUNTS = exports.JUPITER_PROGRAM_ID = exports.PRICES = exports.MAX_REPAY_GAP_BPS = exports.MIN_POSITION_STATE_FRESHNESS_SECS = exports.DEFAULT_LIMIT_GAP_BPS = exports.DEFAULT_RISK_AVERSION_BPS = void 0;
|
|
3
|
+
exports.STANDARD_LUT_ACCOUNTS = exports.JUPITER_PROGRAM_ID = exports.SOLAUTO_LUT = exports.PRICES = exports.MAX_REPAY_GAP_BPS = exports.MIN_POSITION_STATE_FRESHNESS_SECS = exports.DEFAULT_LIMIT_GAP_BPS = exports.DEFAULT_RISK_AVERSION_BPS = void 0;
|
|
4
4
|
const web3_js_1 = require("@solana/web3.js");
|
|
5
5
|
const spl_token_1 = require("@solana/spl-token");
|
|
6
6
|
// import { JitoRpcConnection } from "jito-ts";
|
|
@@ -16,6 +16,7 @@ exports.MAX_REPAY_GAP_BPS = 100;
|
|
|
16
16
|
// "finalized"
|
|
17
17
|
// );
|
|
18
18
|
exports.PRICES = {};
|
|
19
|
+
exports.SOLAUTO_LUT = "9D4xwZwDf46n9ft5gQxZzq3rBbdRXsXojKQLZbBdskPY";
|
|
19
20
|
exports.JUPITER_PROGRAM_ID = "JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4";
|
|
20
21
|
exports.STANDARD_LUT_ACCOUNTS = [
|
|
21
22
|
web3_js_1.PublicKey.default.toString(),
|
|
@@ -210,7 +210,7 @@ exports.getAllPositionsByAuthority = getAllPositionsByAuthority;
|
|
|
210
210
|
async function positionStateWithLatestPrices(umi, state, protocolAccount, lendingPlatform) {
|
|
211
211
|
if ((0, generalUtils_1.currentUnixSeconds)() - Number(state.lastUpdated) > 60 * 60 * 24 * 7) {
|
|
212
212
|
if (lendingPlatform === generated_1.LendingPlatform.Marginfi) {
|
|
213
|
-
return await (0, marginfiUtils_1.getMarginfiAccountPositionState)(umi, (0, umi_web3js_adapters_1.toWeb3JsPublicKey)(state.supply.mint), (0, umi_web3js_adapters_1.toWeb3JsPublicKey)(state.debt.mint)
|
|
213
|
+
return await (0, marginfiUtils_1.getMarginfiAccountPositionState)(umi, protocolAccount, (0, umi_web3js_adapters_1.toWeb3JsPublicKey)(state.supply.mint), (0, umi_web3js_adapters_1.toWeb3JsPublicKey)(state.debt.mint));
|
|
214
214
|
}
|
|
215
215
|
else {
|
|
216
216
|
throw new Error("Lending platorm not yet supported");
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import {
|
|
2
|
+
createSignerFromKeypair,
|
|
3
|
+
publicKey,
|
|
4
|
+
signerIdentity,
|
|
5
|
+
transactionBuilder,
|
|
6
|
+
} from "@metaplex-foundation/umi";
|
|
7
|
+
import {
|
|
8
|
+
getSolanaRpcConnection,
|
|
9
|
+
sendSingleOptimizedTransaction,
|
|
10
|
+
} from "../src/utils/solanaUtils";
|
|
11
|
+
import { marginfiAccountInitialize } from "../src/marginfi-sdk";
|
|
12
|
+
import { DEFAULT_MARGINFI_GROUP } from "../src/constants";
|
|
13
|
+
import { getSecretKey } from "./shared";
|
|
14
|
+
import { updateSolautoLut } from "./updateSolautoLUT";
|
|
15
|
+
|
|
16
|
+
async function create() {
|
|
17
|
+
let [connection, umi] = getSolanaRpcConnection(process.env.HELIUS_API_KEY!);
|
|
18
|
+
|
|
19
|
+
const secretKey = getSecretKey("solauto-manager");
|
|
20
|
+
const signerKeypair = umi.eddsa.createKeypairFromSecretKey(secretKey);
|
|
21
|
+
const signer = createSignerFromKeypair(umi, signerKeypair);
|
|
22
|
+
|
|
23
|
+
umi = umi.use(signerIdentity(signer));
|
|
24
|
+
|
|
25
|
+
const marginfiAccount = createSignerFromKeypair(
|
|
26
|
+
umi,
|
|
27
|
+
umi.eddsa.generateKeypair()
|
|
28
|
+
);
|
|
29
|
+
console.log(marginfiAccount.publicKey);
|
|
30
|
+
|
|
31
|
+
const tx = marginfiAccountInitialize(umi, {
|
|
32
|
+
marginfiAccount,
|
|
33
|
+
marginfiGroup: publicKey(DEFAULT_MARGINFI_GROUP),
|
|
34
|
+
authority: signer,
|
|
35
|
+
feePayer: signer,
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
await sendSingleOptimizedTransaction(
|
|
39
|
+
umi,
|
|
40
|
+
connection,
|
|
41
|
+
transactionBuilder().add(tx)
|
|
42
|
+
);
|
|
43
|
+
|
|
44
|
+
await updateSolautoLut([marginfiAccount.publicKey.toString()]);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
create();
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { PublicKey } from "@solana/web3.js";
|
|
2
|
-
import { MARGINFI_ACCOUNTS_LOOKUP_TABLE } from "../constants/marginfiAccounts";
|
|
2
|
+
import { MARGINFI_ACCOUNTS_LOOKUP_TABLE } from "../src/constants/marginfiAccounts";
|
|
3
3
|
import {
|
|
4
4
|
MARGINFI_ACCOUNTS,
|
|
5
5
|
DEFAULT_MARGINFI_GROUP,
|
|
6
|
-
} from "../constants/marginfiAccounts";
|
|
7
|
-
import { MARGINFI_PROGRAM_ID } from "../marginfi-sdk";
|
|
6
|
+
} from "../src/constants/marginfiAccounts";
|
|
7
|
+
import { MARGINFI_PROGRAM_ID } from "../src/marginfi-sdk";
|
|
8
8
|
import { updateLookupTable } from "./shared";
|
|
9
9
|
|
|
10
10
|
const LOOKUP_TABLE_ADDRESS = new PublicKey(MARGINFI_ACCOUNTS_LOOKUP_TABLE);
|
|
@@ -3,13 +3,20 @@ import { getTokenAccounts } from "../src/utils/accountUtils";
|
|
|
3
3
|
import { SOLAUTO_MANAGER } from "../src/constants/generalAccounts";
|
|
4
4
|
import { ALL_SUPPORTED_TOKENS } from "../src/constants/tokenConstants";
|
|
5
5
|
import { updateLookupTable } from "./shared";
|
|
6
|
-
import { STANDARD_LUT_ACCOUNTS } from "../src/constants/solautoConstants";
|
|
6
|
+
import { SOLAUTO_LUT, STANDARD_LUT_ACCOUNTS } from "../src/constants/solautoConstants";
|
|
7
7
|
|
|
8
|
+
const LOOKUP_TABLE_ADDRESS = new PublicKey(SOLAUTO_LUT);
|
|
8
9
|
const solautoManagerTokenAccounts = getTokenAccounts(SOLAUTO_MANAGER, ALL_SUPPORTED_TOKENS.map((x) => new PublicKey(x)));
|
|
9
10
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
)
|
|
11
|
+
export async function updateSolautoLut(additionalAccounts?: string[]) {
|
|
12
|
+
return updateLookupTable(
|
|
13
|
+
[
|
|
14
|
+
...STANDARD_LUT_ACCOUNTS,
|
|
15
|
+
...solautoManagerTokenAccounts.map((x) => x.toString()),
|
|
16
|
+
...(additionalAccounts ?? [])
|
|
17
|
+
],
|
|
18
|
+
LOOKUP_TABLE_ADDRESS
|
|
19
|
+
);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
updateSolautoLut();
|
package/package.json
CHANGED
|
@@ -56,7 +56,7 @@ import {
|
|
|
56
56
|
} from "../utils/solanaUtils";
|
|
57
57
|
import { FlashLoanDetails } from "../utils/solauto/rebalanceUtils";
|
|
58
58
|
import { NATIVE_MINT } from "@solana/spl-token";
|
|
59
|
-
import { MIN_POSITION_STATE_FRESHNESS_SECS } from "../constants/solautoConstants";
|
|
59
|
+
import { MIN_POSITION_STATE_FRESHNESS_SECS, SOLAUTO_LUT } from "../constants/solautoConstants";
|
|
60
60
|
import { currentUnixSeconds } from "../utils/generalUtils";
|
|
61
61
|
import { LivePositionUpdates } from "../utils/solauto/generalUtils";
|
|
62
62
|
|
|
@@ -267,8 +267,7 @@ export abstract class SolautoClient {
|
|
|
267
267
|
}
|
|
268
268
|
|
|
269
269
|
defaultLookupTables(): string[] {
|
|
270
|
-
|
|
271
|
-
return [];
|
|
270
|
+
return [SOLAUTO_LUT];
|
|
272
271
|
}
|
|
273
272
|
|
|
274
273
|
lutAccountsToAdd(): PublicKey[] {
|
|
@@ -170,7 +170,7 @@ export class SolautoMarginfiClient extends SolautoClient {
|
|
|
170
170
|
return [
|
|
171
171
|
...super.lutAccountsToAdd(),
|
|
172
172
|
this.marginfiAccountPk,
|
|
173
|
-
this.intermediaryMarginfiAccountPk,
|
|
173
|
+
...(this.signer.publicKey.toString() === this.authority.toString() ? [this.intermediaryMarginfiAccountPk] : []),
|
|
174
174
|
];
|
|
175
175
|
}
|
|
176
176
|
|
|
@@ -26,6 +26,8 @@ export const MAX_REPAY_GAP_BPS = 100;
|
|
|
26
26
|
|
|
27
27
|
export const PRICES: { [key: string]: { price: number; time: number; } } = {};
|
|
28
28
|
|
|
29
|
+
export const SOLAUTO_LUT = "9D4xwZwDf46n9ft5gQxZzq3rBbdRXsXojKQLZbBdskPY";
|
|
30
|
+
|
|
29
31
|
export const JUPITER_PROGRAM_ID = "JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4";
|
|
30
32
|
|
|
31
33
|
export const STANDARD_LUT_ACCOUNTS = [
|
|
@@ -326,9 +326,9 @@ export async function positionStateWithLatestPrices(
|
|
|
326
326
|
if (lendingPlatform === LendingPlatform.Marginfi) {
|
|
327
327
|
return await getMarginfiAccountPositionState(
|
|
328
328
|
umi,
|
|
329
|
+
protocolAccount,
|
|
329
330
|
toWeb3JsPublicKey(state.supply.mint),
|
|
330
331
|
toWeb3JsPublicKey(state.debt.mint),
|
|
331
|
-
protocolAccount
|
|
332
332
|
);
|
|
333
333
|
} else {
|
|
334
334
|
throw new Error("Lending platorm not yet supported");
|