@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
@@ -5,16 +5,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
6
|
exports.TransactionsManager = exports.TransactionStatus = exports.TransactionItem = exports.TransactionTooLargeError = void 0;
|
7
7
|
const bs58_1 = __importDefault(require("bs58"));
|
8
|
+
const web3_js_1 = require("@solana/web3.js");
|
8
9
|
const umi_1 = require("@metaplex-foundation/umi");
|
9
|
-
const solanaUtils_1 = require("../../utils/solanaUtils");
|
10
|
-
const generalUtils_1 = require("../../utils/generalUtils");
|
11
|
-
const transactionUtils_1 = require("./transactionUtils");
|
12
10
|
const types_1 = require("../../types");
|
13
|
-
const web3_js_1 = require("@solana/web3.js");
|
14
|
-
const switchboardConstants_1 = require("../../constants/switchboardConstants");
|
15
|
-
const utils_1 = require("../../utils");
|
16
|
-
const jitoUtils_1 = require("../../utils/jitoUtils");
|
17
11
|
const constants_1 = require("../../constants");
|
12
|
+
const utils_1 = require("../../utils");
|
13
|
+
const transactionUtils_1 = require("./transactionUtils");
|
18
14
|
const CHORES_TX_NAME = "account chores";
|
19
15
|
const MAX_SUPPORTED_ACCOUNT_LOCKS = 64;
|
20
16
|
class TransactionTooLargeError extends Error {
|
@@ -36,7 +32,7 @@ class LookupTables {
|
|
36
32
|
const currentCacheAddresses = this.cache.map((x) => x.publicKey.toString());
|
37
33
|
const missingAddresses = addresses.filter((x) => !currentCacheAddresses.includes(x));
|
38
34
|
if (missingAddresses) {
|
39
|
-
const additionalInputs = await (0,
|
35
|
+
const additionalInputs = await (0, utils_1.getAddressLookupInputs)(this.umi, missingAddresses);
|
40
36
|
this.cache.push(...additionalInputs);
|
41
37
|
}
|
42
38
|
return this.cache;
|
@@ -95,7 +91,7 @@ class TransactionSet {
|
|
95
91
|
return false;
|
96
92
|
}
|
97
93
|
const singleTx = await this.getSingleTransaction();
|
98
|
-
const tx = (0,
|
94
|
+
const tx = (0, utils_1.addTxOptimizations)(this.txHandler.umi.identity, singleTx, 1, 1)
|
99
95
|
.add(item.tx)
|
100
96
|
.setAddressLookupTables(await this.lookupTables.getLutInputs([
|
101
97
|
...this.lutAddresses(),
|
@@ -152,7 +148,7 @@ var TransactionStatus;
|
|
152
148
|
TransactionStatus["Failed"] = "Failed";
|
153
149
|
})(TransactionStatus || (exports.TransactionStatus = TransactionStatus = {}));
|
154
150
|
class TransactionsManager {
|
155
|
-
constructor(txHandler, statusCallback, txType, priorityFeeSetting = types_1.PriorityFeeSetting.Min, atomically =
|
151
|
+
constructor(txHandler, statusCallback, txType, priorityFeeSetting = types_1.PriorityFeeSetting.Min, atomically = true, errorsToThrow, retryConfig) {
|
156
152
|
this.txHandler = txHandler;
|
157
153
|
this.statusCallback = statusCallback;
|
158
154
|
this.txType = txType;
|
@@ -163,7 +159,7 @@ class TransactionsManager {
|
|
163
159
|
this.updateOracleTxName = "update oracle";
|
164
160
|
this.lookupTables = new LookupTables(this.txHandler.defaultLookupTables(), this.txHandler.umi);
|
165
161
|
this.signableRetries =
|
166
|
-
retryConfig?.signableRetries ?? retryConfig?.totalRetries ??
|
162
|
+
retryConfig?.signableRetries ?? retryConfig?.totalRetries ?? 4;
|
167
163
|
this.totalRetries =
|
168
164
|
retryConfig?.totalRetries ?? retryConfig?.signableRetries ?? 4;
|
169
165
|
this.retryDelay = retryConfig?.retryDelay ?? 150;
|
@@ -267,7 +263,7 @@ class TransactionsManager {
|
|
267
263
|
async updateLut(tx, newLut) {
|
268
264
|
const lutInputs = await this.lookupTables.getLutInputs();
|
269
265
|
const updateLutTxName = `${newLut ? "create" : "update"} lookup table`;
|
270
|
-
await (0,
|
266
|
+
await (0, utils_1.retryWithExponentialBackoff)(async (attemptNum, prevError) => await this.sendTransaction(tx.setAddressLookupTables(lutInputs), updateLutTxName, attemptNum, this.getUpdatedPriorityFeeSetting(prevError, attemptNum), "skip-simulation"), this.signableRetries, 150, this.errorsToThrow);
|
271
267
|
await this.txHandler.refetchReferralState();
|
272
268
|
}
|
273
269
|
async clientSend(transactions) {
|
@@ -293,11 +289,11 @@ class TransactionsManager {
|
|
293
289
|
return ix.keys.map((key) => key.pubkey.toString());
|
294
290
|
}) ?? []);
|
295
291
|
});
|
296
|
-
const swbOracle = allAccounts.find((x) => Object.values(
|
292
|
+
const swbOracle = allAccounts.find((x) => Object.values(constants_1.SWITCHBOARD_PRICE_FEED_IDS)
|
297
293
|
.map((x) => x.feedId)
|
298
294
|
.includes(x ?? ""));
|
299
295
|
if (swbOracle) {
|
300
|
-
const mint = new web3_js_1.PublicKey(Object.keys(
|
296
|
+
const mint = new web3_js_1.PublicKey(Object.keys(constants_1.SWITCHBOARD_PRICE_FEED_IDS).find((x) => constants_1.SWITCHBOARD_PRICE_FEED_IDS[x].feedId === swbOracle));
|
301
297
|
const stale = (await (0, utils_1.getSwitchboardFeedData)(client.connection, [mint]))[0]
|
302
298
|
.stale;
|
303
299
|
if (stale) {
|
@@ -337,7 +333,7 @@ class TransactionsManager {
|
|
337
333
|
async send(items) {
|
338
334
|
this.statuses = [];
|
339
335
|
this.lookupTables.reset();
|
340
|
-
const itemSets = await (0,
|
336
|
+
const itemSets = await (0, utils_1.retryWithExponentialBackoff)(async () => {
|
341
337
|
for (const item of items) {
|
342
338
|
if (!item.initialized) {
|
343
339
|
await item.initialize();
|
@@ -363,7 +359,7 @@ class TransactionsManager {
|
|
363
359
|
async processTransactionsAtomically(itemSets) {
|
364
360
|
let num = 0;
|
365
361
|
let transactions = [];
|
366
|
-
await (0,
|
362
|
+
await (0, utils_1.retryWithExponentialBackoff)(async (attemptNum, prevError) => {
|
367
363
|
if (prevError &&
|
368
364
|
this.statuses.filter((x) => x.simulationSuccessful).length >
|
369
365
|
this.signableRetries) {
|
@@ -395,7 +391,7 @@ class TransactionsManager {
|
|
395
391
|
let txSigs;
|
396
392
|
let error;
|
397
393
|
try {
|
398
|
-
txSigs = await (0,
|
394
|
+
txSigs = await (0, utils_1.sendJitoBundledTransactions)(this.txHandler.umi, this.txHandler.connection, this.txHandler.signer, this.txHandler.otherSigners, transactions, this.txType, this.getUpdatedPriorityFeeSetting(prevError, attemptNum), () => this.updateStatusForSets(itemSets, TransactionStatus.Processing, attemptNum, undefined, true));
|
399
395
|
}
|
400
396
|
catch (e) {
|
401
397
|
error = e;
|
@@ -424,7 +420,7 @@ class TransactionsManager {
|
|
424
420
|
}
|
425
421
|
async processTransactionSet(itemSets, currentIndex) {
|
426
422
|
let itemSet = itemSets[currentIndex];
|
427
|
-
await (0,
|
423
|
+
await (0, utils_1.retryWithExponentialBackoff)(async (attemptNum, prevError) => {
|
428
424
|
if (prevError &&
|
429
425
|
this.statuses.filter((x) => x.simulationSuccessful).length >
|
430
426
|
this.signableRetries) {
|
@@ -465,7 +461,7 @@ class TransactionsManager {
|
|
465
461
|
const newItemSetNames = newItemSets.map((x) => x.name());
|
466
462
|
if (newItemSetNames.length === 1 &&
|
467
463
|
newItemSetNames[0] === this.updateOracleTxName) {
|
468
|
-
(0,
|
464
|
+
(0, utils_1.consoleLog)("Skipping unnecessary oracle update");
|
469
465
|
return undefined;
|
470
466
|
}
|
471
467
|
if (currentIndex !== undefined && newItemSets.length > 1) {
|
@@ -482,7 +478,7 @@ class TransactionsManager {
|
|
482
478
|
async sendTransaction(tx, txName, attemptNum, priorityFeeSetting, txType) {
|
483
479
|
this.updateStatus(txName, TransactionStatus.Processing, attemptNum);
|
484
480
|
try {
|
485
|
-
const txSig = await (0,
|
481
|
+
const txSig = await (0, utils_1.sendSingleOptimizedTransaction)(this.txHandler.umi, this.txHandler.connection, tx, txType ?? this.txType, priorityFeeSetting, () => this.updateStatus(txName, TransactionStatus.Processing, attemptNum, undefined, true));
|
486
482
|
this.updateStatus(txName, TransactionStatus.Successful, attemptNum, txSig ? bs58_1.default.encode(txSig) : undefined);
|
487
483
|
}
|
488
484
|
catch (e) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"marginfiSolautoPositionEx.d.ts","sourceRoot":"","sources":["../../src/solautoPosition/marginfiSolautoPositionEx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;
|
1
|
+
{"version":3,"file":"marginfiSolautoPositionEx.d.ts","sourceRoot":"","sources":["../../src/solautoPosition/marginfiSolautoPositionEx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAiB5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,qBAAa,yBAA0B,SAAQ,iBAAiB;IAC9D,OAAO,CAAC,mBAAmB,CAAgC;IAC3D,OAAO,CAAC,UAAU,CAAqB;IACvC,OAAO,CAAC,QAAQ,CAAqB;IAExB,WAAW,IAAI,OAAO,CAAC,SAAS,CAAC;IAyBxC,wBAAwB,IAAI,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAwB3D,wBAAwB,IAAI,MAAM;IAO5B,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;CAyB5C"}
|
@@ -2,12 +2,12 @@
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.MarginfiSolautoPositionEx = void 0;
|
4
4
|
const web3_js_1 = require("@solana/web3.js");
|
5
|
-
const solautoPositionEx_1 = require("./solautoPositionEx");
|
6
5
|
const marginfi_sdk_1 = require("../marginfi-sdk");
|
7
6
|
const umi_1 = require("@metaplex-foundation/umi");
|
8
7
|
const umi_web3js_adapters_1 = require("@metaplex-foundation/umi-web3js-adapters");
|
9
8
|
const utils_1 = require("../utils");
|
10
9
|
const constants_1 = require("../constants");
|
10
|
+
const solautoPositionEx_1 = require("./solautoPositionEx");
|
11
11
|
class MarginfiSolautoPositionEx extends solautoPositionEx_1.SolautoPositionEx {
|
12
12
|
constructor() {
|
13
13
|
super(...arguments);
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { PublicKey } from "@solana/web3.js";
|
2
|
-
import { DCASettings, LendingPlatform, PositionState, SolautoPosition, SolautoSettingsParameters } from "../generated";
|
3
2
|
import { Umi } from "@metaplex-foundation/umi";
|
3
|
+
import { DCASettings, LendingPlatform, PositionState, SolautoPosition, SolautoSettingsParameters } from "../generated";
|
4
4
|
import { ContextUpdates } from "../utils";
|
5
5
|
import { RebalanceAction } from "../types";
|
6
6
|
import { TokenInfo } from "../constants";
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"solautoPositionEx.d.ts","sourceRoot":"","sources":["../../src/solautoPosition/solautoPositionEx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EACL,WAAW,EAEX,eAAe,EACf,aAAa,EACb,eAAe,EACf,yBAAyB,EAC1B,MAAM,cAAc,CAAC;AACtB,OAAO,
|
1
|
+
{"version":3,"file":"solautoPositionEx.d.ts","sourceRoot":"","sources":["../../src/solautoPosition/solautoPositionEx.ts"],"names":[],"mappings":"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"}
|
@@ -1,11 +1,11 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.SolautoPositionEx = void 0;
|
4
|
+
const umi_web3js_adapters_1 = require("@metaplex-foundation/umi-web3js-adapters");
|
4
5
|
const generated_1 = require("../generated");
|
5
6
|
const utils_1 = require("../utils");
|
6
7
|
const rebalance_1 = require("../services/rebalance");
|
7
8
|
const constants_1 = require("../constants");
|
8
|
-
const umi_web3js_adapters_1 = require("@metaplex-foundation/umi-web3js-adapters");
|
9
9
|
class SolautoPositionEx {
|
10
10
|
constructor(args) {
|
11
11
|
this.lp = undefined;
|
@@ -1,8 +1,8 @@
|
|
1
|
+
import { PublicKey } from "@solana/web3.js";
|
1
2
|
import { Umi } from "@metaplex-foundation/umi";
|
2
3
|
import { PositionState, SolautoSettingsParameters, SolautoSettingsParametersInpArgs } from "../generated";
|
3
|
-
import { PublicKey } from "@solana/web3.js";
|
4
|
-
import { PositionCustomArgs, SolautoPositionEx } from "./solautoPositionEx";
|
5
4
|
import { ContextUpdates } from "../utils";
|
5
|
+
import { PositionCustomArgs, SolautoPositionEx } from "./solautoPositionEx";
|
6
6
|
export declare function createSolautoSettings(settings: SolautoSettingsParametersInpArgs): SolautoSettingsParameters;
|
7
7
|
export declare function getPositionExBulk(umi: Umi, publicKeys: PublicKey[]): Promise<SolautoPositionEx[]>;
|
8
8
|
export declare function getOrCreatePositionEx(umi: Umi, publicKey: PublicKey, customArgs?: PositionCustomArgs, contextUpdates?: ContextUpdates): Promise<SolautoPositionEx>;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/solautoPosition/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC;
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/solautoPosition/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAK/C,OAAO,EAEL,aAAa,EAGb,yBAAyB,EACzB,gCAAgC,EACjC,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,cAAc,EAQf,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAG5E,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,gCAAgC,GACzC,yBAAyB,CAQ3B;AAED,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,GAAG,EACR,UAAU,EAAE,SAAS,EAAE,GACtB,OAAO,CAAC,iBAAiB,EAAE,CAAC,CA4B9B;AAED,wBAAsB,qBAAqB,CACzC,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,SAAS,EACpB,UAAU,CAAC,EAAE,kBAAkB,EAC/B,cAAc,CAAC,EAAE,cAAc,GAC9B,OAAO,CAAC,iBAAiB,CAAC,CAgC5B;AAED,UAAU,UAAU;IAClB,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,UAAU,EAChB,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,MAAM,GACtB,aAAa,CAgEf"}
|
@@ -4,11 +4,11 @@ exports.createSolautoSettings = createSolautoSettings;
|
|
4
4
|
exports.getPositionExBulk = getPositionExBulk;
|
5
5
|
exports.getOrCreatePositionEx = getOrCreatePositionEx;
|
6
6
|
exports.createFakePositionState = createFakePositionState;
|
7
|
-
const generated_1 = require("../generated");
|
8
7
|
const web3_js_1 = require("@solana/web3.js");
|
9
8
|
const umi_web3js_adapters_1 = require("@metaplex-foundation/umi-web3js-adapters");
|
10
|
-
const
|
9
|
+
const generated_1 = require("../generated");
|
11
10
|
const utils_1 = require("../utils");
|
11
|
+
const marginfiSolautoPositionEx_1 = require("./marginfiSolautoPositionEx");
|
12
12
|
function createSolautoSettings(settings) {
|
13
13
|
return {
|
14
14
|
boostGap: settings.boostGap,
|
package/dist/types/solauto.d.ts
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"solauto.d.ts","sourceRoot":"","sources":["../../src/types/solauto.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EACL,eAAe,EACf,YAAY,EACZ,oBAAoB,EACpB,SAAS,EACV,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,WAAW,sBAAsB;IACrC,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,SAAS,EAAE,SAAS,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,YAAY,CAAC;IAC3B,eAAe,EAAE,eAAe,CAAC;IACjC,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,oBAAY,kBAAkB;IAC5B,IAAI,SAAS;IACb,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,OAAO,WAAW;IAClB,IAAI,SAAS;IACb,QAAQ,aAAa;CACtB;AAED,eAAO,MAAM,wBAAwB,EAEhC,kBAAkB,EAAE,CAAC;AAE1B,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,OAAO,GAAG,KAAK,CAAC;AAExD,MAAM,MAAM,kBAAkB,GAAG,iBAAiB,GAAG,eAAe,GAAG,QAAQ,CAAC;AAEhF,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,kBAAkB,CAAC;IACvB,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC,eAAe,EAAE,SAAS,CAAC;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAiB,SAAQ,qBAAqB;IAC7D,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,SAAS,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,eAAe,CAAC;IACxB,aAAa,EAAE,oBAAoB,CAAC;IACpC,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,SAAS,EAAE,aAAa,CAAC;IACzB,2BAA2B,CAAC,EAAE,MAAM,CAAC;CACtC"}
|
1
|
+
{"version":3,"file":"solauto.d.ts","sourceRoot":"","sources":["../../src/types/solauto.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EACL,eAAe,EACf,YAAY,EACZ,oBAAoB,EACpB,SAAS,EACV,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,WAAW,sBAAsB;IACrC,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,SAAS,EAAE,SAAS,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,YAAY,CAAC;IAC3B,eAAe,EAAE,eAAe,CAAC;IACjC,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,oBAAY,kBAAkB;IAC5B,IAAI,SAAS;IACb,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,OAAO,WAAW;IAClB,IAAI,SAAS;IACb,QAAQ,aAAa;CACtB;AAED,eAAO,MAAM,wBAAwB,EAEhC,kBAAkB,EAAE,CAAC;AAE1B,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,OAAO,GAAG,KAAK,CAAC;AAExD,MAAM,MAAM,kBAAkB,GAAG,iBAAiB,GAAG,eAAe,GAAG,QAAQ,CAAC;AAEhF,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,kBAAkB,CAAC;IACvB,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC,eAAe,EAAE,SAAS,CAAC;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAiB,SAAQ,qBAAqB;IAC7D,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,SAAS,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,eAAe,CAAC;IACxB,aAAa,EAAE,oBAAoB,CAAC;IACpC,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,SAAS,EAAE,aAAa,CAAC;IACzB,2BAA2B,CAAC,EAAE,MAAM,CAAC;CACtC;AAED,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,SAAS,CAAC"}
|
@@ -1,6 +1,8 @@
|
|
1
1
|
import { PublicKey } from "@solana/web3.js";
|
2
2
|
import { MaybeRpcAccount, Umi } from "@metaplex-foundation/umi";
|
3
3
|
import { TokenInfo } from "../constants";
|
4
|
+
export declare function buildHeliusApiUrl(heliusApiKey: string): string;
|
5
|
+
export declare function buildIronforgeApiUrl(ironforgeApiKey: string): string;
|
4
6
|
export declare function consoleLog(...args: any[]): void;
|
5
7
|
export declare function tokenInfo(mint?: PublicKey): TokenInfo;
|
6
8
|
export declare function findMintByTicker(ticker: string): PublicKey;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"generalUtils.d.ts","sourceRoot":"","sources":["../../src/utils/generalUtils.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"generalUtils.d.ts","sourceRoot":"","sources":["../../src/utils/generalUtils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAa,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EAAc,SAAS,EAAE,MAAM,cAAc,CAAC;AAErD,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,MAAM,UAErD;AAED,wBAAgB,oBAAoB,CAAC,eAAe,EAAE,MAAM,UAE3D;AAED,wBAAgB,UAAU,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAI/C;AAED,wBAAgB,SAAS,CAAC,IAAI,CAAC,EAAE,SAAS,GAAG,SAAS,CAErD;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAW1D;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,yBAQ/C;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,CAAC,EAAE,EAAE,CAMlE;AAED,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CAO1C;AAED,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAED,wBAAsB,uBAAuB,CAC3C,GAAG,EAAE,GAAG,EACR,EAAE,EAAE,SAAS,GACZ,OAAO,CAAC,OAAO,CAAC,CAKlB;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAEnE;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAU1E;AAED,wBAAgB,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAS1D;AAED,MAAM,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,KAAK,CAAC,CAAC;AAEjE,wBAAgB,2BAA2B,CAAC,CAAC,EAC3C,EAAE,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,EACvD,OAAO,GAAE,MAAU,EACnB,KAAK,GAAE,MAAY,EACnB,aAAa,CAAC,EAAE,aAAa,GAC5B,OAAO,CAAC,CAAC,CAAC,CA8BZ;AAED,wBAAgB,WAAW,CAAC,CAAC,SAAS,MAAM,EAC1C,OAAO,EAAE,CAAC,EACV,KAAK,EAAE,MAAM,GACZ,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,SAAS,CAUxB;AAED,wBAAsB,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,gBAuBzE"}
|
@@ -3,6 +3,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
4
|
};
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
+
exports.buildHeliusApiUrl = buildHeliusApiUrl;
|
7
|
+
exports.buildIronforgeApiUrl = buildIronforgeApiUrl;
|
6
8
|
exports.consoleLog = consoleLog;
|
7
9
|
exports.tokenInfo = tokenInfo;
|
8
10
|
exports.findMintByTicker = findMintByTicker;
|
@@ -18,10 +20,16 @@ exports.zip = zip;
|
|
18
20
|
exports.retryWithExponentialBackoff = retryWithExponentialBackoff;
|
19
21
|
exports.toEnumValue = toEnumValue;
|
20
22
|
exports.customRpcCall = customRpcCall;
|
23
|
+
const axios_1 = __importDefault(require("axios"));
|
21
24
|
const web3_js_1 = require("@solana/web3.js");
|
22
25
|
const umi_1 = require("@metaplex-foundation/umi");
|
23
26
|
const constants_1 = require("../constants");
|
24
|
-
|
27
|
+
function buildHeliusApiUrl(heliusApiKey) {
|
28
|
+
return `https://mainnet.helius-rpc.com/?api-key=${heliusApiKey}`;
|
29
|
+
}
|
30
|
+
function buildIronforgeApiUrl(ironforgeApiKey) {
|
31
|
+
return `https://rpc.ironforge.network/mainnet?apiKey=${ironforgeApiKey}`;
|
32
|
+
}
|
25
33
|
function consoleLog(...args) {
|
26
34
|
if (globalThis.SHOW_LOGS) {
|
27
35
|
console.log(...args);
|
package/dist/utils/index.d.ts
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC"}
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC"}
|
package/dist/utils/index.js
CHANGED
@@ -16,6 +16,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
17
17
|
__exportStar(require("./accountUtils"), exports);
|
18
18
|
__exportStar(require("./generalUtils"), exports);
|
19
|
+
__exportStar(require("./jitoUtils"), exports);
|
19
20
|
__exportStar(require("./jupiterUtils"), exports);
|
20
21
|
__exportStar(require("./marginfiUtils"), exports);
|
21
22
|
__exportStar(require("./numberUtils"), exports);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"jitoUtils.d.ts","sourceRoot":"","sources":["../../src/utils/jitoUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,SAAS,EAIV,MAAM,iBAAiB,CAAC;
|
1
|
+
{"version":3,"file":"jitoUtils.d.ts","sourceRoot":"","sources":["../../src/utils/jitoUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,SAAS,EAIV,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,MAAM,EACN,kBAAkB,EAClB,GAAG,EAEH,kBAAkB,EACnB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAelE,wBAAgB,mBAAmB,IAAI,SAAS,CAG/C;AAuND,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,kBAAkB;;;;IAkB7D;AAED,wBAAsB,2BAA2B,CAC/C,GAAG,EAAE,GAAG,EACR,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EAAE,EACtB,GAAG,EAAE,kBAAkB,EAAE,EACzB,MAAM,CAAC,EAAE,kBAAkB,EAC3B,kBAAkB,GAAE,kBAA2C,EAC/D,cAAc,CAAC,EAAE,MAAM,IAAI,GAC1B,OAAO,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,CA+F/B"}
|
package/dist/utils/jitoUtils.js
CHANGED
@@ -8,16 +8,15 @@ exports.getRequiredSigners = getRequiredSigners;
|
|
8
8
|
exports.sendJitoBundledTransactions = sendJitoBundledTransactions;
|
9
9
|
const web3_js_1 = require("@solana/web3.js");
|
10
10
|
const umi_web3js_adapters_1 = require("@metaplex-foundation/umi-web3js-adapters");
|
11
|
-
const
|
11
|
+
const constants_1 = require("../constants");
|
12
|
+
const types_1 = require("../types");
|
13
|
+
const types_2 = require("../types");
|
12
14
|
const solanaUtils_1 = require("./solanaUtils");
|
13
15
|
const generalUtils_1 = require("./generalUtils");
|
14
|
-
const types_1 = require("../types");
|
15
16
|
const bs58_1 = __importDefault(require("bs58"));
|
16
|
-
const transactions_1 = require("../types/transactions");
|
17
|
-
const bytes_1 = require("@coral-xyz/anchor/dist/cjs/utils/bytes");
|
18
17
|
function getRandomTipAccount() {
|
19
|
-
const randomInt = Math.floor(Math.random() *
|
20
|
-
return new web3_js_1.PublicKey(
|
18
|
+
const randomInt = Math.floor(Math.random() * constants_1.JITO_TIP_ACCOUNTS.length);
|
19
|
+
return new web3_js_1.PublicKey(constants_1.JITO_TIP_ACCOUNTS[randomInt]);
|
21
20
|
}
|
22
21
|
function getTipInstruction(signer, tipLamports) {
|
23
22
|
return (0, solanaUtils_1.systemTransferUmiIx)(signer, getRandomTipAccount(), BigInt(tipLamports));
|
@@ -70,7 +69,7 @@ async function simulateJitoBundle(umi, txs) {
|
|
70
69
|
if (txFailure) {
|
71
70
|
const info = parseJitoErrorMessage(txFailure[1]);
|
72
71
|
if (info) {
|
73
|
-
throw new
|
72
|
+
throw new types_2.BundleSimulationError(`Failed to simulate transaction: TX: ${failedTxIdx}, IX: ${info.instructionIndex}, Error: ${info.errorCode}`, 400, {
|
74
73
|
transactionIdx: failedTxIdx,
|
75
74
|
instructionIdx: info.instructionIndex,
|
76
75
|
errorCode: info.errorCode,
|
@@ -184,7 +183,7 @@ function getRequiredSigners(message) {
|
|
184
183
|
async function sendJitoBundledTransactions(umi, connection, userSigner, otherSigners, txs, txType, priorityFeeSetting = types_1.PriorityFeeSetting.Min, onAwaitingSign) {
|
185
184
|
if (txs.length === 1) {
|
186
185
|
const resp = await (0, solanaUtils_1.sendSingleOptimizedTransaction)(umi, connection, txs[0], txType, priorityFeeSetting, onAwaitingSign);
|
187
|
-
return resp ? [
|
186
|
+
return resp ? [bs58_1.default.encode(resp)] : undefined;
|
188
187
|
}
|
189
188
|
(0, generalUtils_1.consoleLog)("Sending Jito bundle...");
|
190
189
|
(0, generalUtils_1.consoleLog)("Transactions: ", txs.length);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"jupiterUtils.d.ts","sourceRoot":"","sources":["../../src/utils/jupiterUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;
|
1
|
+
{"version":3,"file":"jupiterUtils.d.ts","sourceRoot":"","sources":["../../src/utils/jupiterUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG1C,wBAAgB,eAAe,CAC7B,WAAW,EAAE,WAAW,GACvB,sBAAsB,CAUxB;AAED,wBAAsB,eAAe,CAAC,KAAK,EAAE,SAAS,EAAE;;GA4BvD"}
|
@@ -1,9 +1,13 @@
|
|
1
1
|
import { PublicKey } from "@solana/web3.js";
|
2
|
-
import { Umi } from "@metaplex-foundation/umi";
|
3
|
-
import {
|
4
|
-
import { MarginfiAssetAccounts } from "../types/accounts";
|
2
|
+
import { Program, Umi } from "@metaplex-foundation/umi";
|
3
|
+
import { ProgramEnv, MarginfiAssetAccounts } from "../types";
|
5
4
|
import { PositionState } from "../generated";
|
5
|
+
import { Bank, MarginfiAccount } from "../marginfi-sdk";
|
6
6
|
import { ContextUpdates } from "./solautoUtils";
|
7
|
+
export declare function getMarginfiProgram(env: ProgramEnv): PublicKey;
|
8
|
+
export declare function isMarginfiProgram(programId: PublicKey): boolean;
|
9
|
+
export declare function createDynamicMarginfiProgram(env?: ProgramEnv): Program;
|
10
|
+
export declare function umiWithMarginfiProgram(umi: Umi, marginfiEnv?: ProgramEnv): Umi;
|
7
11
|
interface AllMarginfiAssetAccounts extends MarginfiAssetAccounts {
|
8
12
|
mint: PublicKey;
|
9
13
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"marginfiUtils.d.ts","sourceRoot":"","sources":["../../src/utils/marginfiUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAa,GAAG,EAAE,MAAM,0BAA0B,CAAC;
|
1
|
+
{"version":3,"file":"marginfiUtils.d.ts","sourceRoot":"","sources":["../../src/utils/marginfiUtils.ts"],"names":[],"mappings":"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"}
|
@@ -1,5 +1,9 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.getMarginfiProgram = getMarginfiProgram;
|
4
|
+
exports.isMarginfiProgram = isMarginfiProgram;
|
5
|
+
exports.createDynamicMarginfiProgram = createDynamicMarginfiProgram;
|
6
|
+
exports.umiWithMarginfiProgram = umiWithMarginfiProgram;
|
3
7
|
exports.findMarginfiAccounts = findMarginfiAccounts;
|
4
8
|
exports.calcMarginfiMaxLtvAndLiqThresholdBps = calcMarginfiMaxLtvAndLiqThresholdBps;
|
5
9
|
exports.getMarginfiMaxLtvAndLiqThresholdBps = getMarginfiMaxLtvAndLiqThresholdBps;
|
@@ -13,17 +17,44 @@ exports.marginfiAccountEmpty = marginfiAccountEmpty;
|
|
13
17
|
const web3_js_1 = require("@solana/web3.js");
|
14
18
|
const umi_1 = require("@metaplex-foundation/umi");
|
15
19
|
const umi_web3js_adapters_1 = require("@metaplex-foundation/umi-web3js-adapters");
|
20
|
+
const constants_1 = require("../constants");
|
16
21
|
const marginfi_sdk_1 = require("../marginfi-sdk");
|
22
|
+
const priceUtils_1 = require("./priceUtils");
|
17
23
|
const generalUtils_1 = require("./generalUtils");
|
18
24
|
const numberUtils_1 = require("./numberUtils");
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
25
|
+
function getMarginfiProgram(env) {
|
26
|
+
return env === "Prod" ? constants_1.MARGINFI_PROD_PROGRAM : constants_1.MARGINFI_STAGING_PROGRAM;
|
27
|
+
}
|
28
|
+
function isMarginfiProgram(programId) {
|
29
|
+
return (programId.equals(constants_1.MARGINFI_PROD_PROGRAM) ||
|
30
|
+
programId.equals(constants_1.MARGINFI_STAGING_PROGRAM));
|
31
|
+
}
|
32
|
+
function createDynamicMarginfiProgram(env) {
|
33
|
+
return {
|
34
|
+
name: "marginfi",
|
35
|
+
publicKey: (0, umi_1.publicKey)(getMarginfiProgram(env ?? "Prod")),
|
36
|
+
getErrorFromCode(code, cause) {
|
37
|
+
return (0, marginfi_sdk_1.getMarginfiErrorFromCode)(code, this, cause);
|
38
|
+
},
|
39
|
+
getErrorFromName(name, cause) {
|
40
|
+
return (0, marginfi_sdk_1.getMarginfiErrorFromName)(name, this, cause);
|
41
|
+
},
|
42
|
+
isOnCluster() {
|
43
|
+
return true;
|
44
|
+
},
|
45
|
+
};
|
46
|
+
}
|
47
|
+
function umiWithMarginfiProgram(umi, marginfiEnv) {
|
48
|
+
return umi.use({
|
49
|
+
install(umi) {
|
50
|
+
umi.programs.add(createDynamicMarginfiProgram(marginfiEnv ?? "Prod"), false);
|
51
|
+
},
|
52
|
+
});
|
53
|
+
}
|
23
54
|
function findMarginfiAccounts(bank) {
|
24
|
-
for (const group in
|
25
|
-
for (const key in
|
26
|
-
const account =
|
55
|
+
for (const group in constants_1.MARGINFI_ACCOUNTS) {
|
56
|
+
for (const key in constants_1.MARGINFI_ACCOUNTS[group]) {
|
57
|
+
const account = constants_1.MARGINFI_ACCOUNTS[group][key];
|
27
58
|
if (account.bank.toString().toLowerCase() === bank.toString().toLowerCase()) {
|
28
59
|
return { ...account, mint: new web3_js_1.PublicKey(key) };
|
29
60
|
}
|
@@ -51,11 +82,11 @@ async function getMarginfiMaxLtvAndLiqThresholdBps(umi, marginfiGroup, supply, d
|
|
51
82
|
return [0, 0];
|
52
83
|
}
|
53
84
|
if (!supply.bank || supply.bank === null) {
|
54
|
-
supply.bank = await (0, marginfi_sdk_1.safeFetchBank)(umi, (0, umi_1.publicKey)(
|
85
|
+
supply.bank = await (0, marginfi_sdk_1.safeFetchBank)(umi, (0, umi_1.publicKey)(constants_1.MARGINFI_ACCOUNTS[marginfiGroup.toString()][supply.mint.toString()].bank), { commitment: "confirmed" });
|
55
86
|
}
|
56
87
|
if ((!debt.bank || debt.bank === null) &&
|
57
88
|
!debt.mint.equals(web3_js_1.PublicKey.default)) {
|
58
|
-
debt.bank = await (0, marginfi_sdk_1.safeFetchBank)(umi, (0, umi_1.publicKey)(
|
89
|
+
debt.bank = await (0, marginfi_sdk_1.safeFetchBank)(umi, (0, umi_1.publicKey)(constants_1.MARGINFI_ACCOUNTS[marginfiGroup.toString()][debt.mint.toString()].bank), { commitment: "confirmed" });
|
59
90
|
}
|
60
91
|
if (!supplyPrice) {
|
61
92
|
const [price] = await (0, priceUtils_1.fetchTokenPrices)([
|
@@ -69,7 +100,7 @@ async function getMarginfiMaxLtvAndLiqThresholdBps(umi, marginfiGroup, supply, d
|
|
69
100
|
return calcMarginfiMaxLtvAndLiqThresholdBps(supply.bank, debt.bank, supplyPrice);
|
70
101
|
}
|
71
102
|
async function getEmptyMarginfiAccountsByAuthority(umi, authority) {
|
72
|
-
const marginfiAccounts = await umi.rpc.getProgramAccounts(
|
103
|
+
const marginfiAccounts = await umi.rpc.getProgramAccounts(umi.programs.get("marginfi").publicKey, {
|
73
104
|
commitment: "confirmed",
|
74
105
|
filters: [
|
75
106
|
{
|
@@ -95,7 +126,7 @@ async function getEmptyMarginfiAccountsByAuthority(umi, authority) {
|
|
95
126
|
.filter((x) => marginfiAccountEmpty(x));
|
96
127
|
}
|
97
128
|
async function getAllMarginfiAccountsByAuthority(umi, authority, group, compatibleWithSolauto) {
|
98
|
-
const marginfiAccounts = await umi.rpc.getProgramAccounts(
|
129
|
+
const marginfiAccounts = await umi.rpc.getProgramAccounts(umi.programs.get("marginfi").publicKey, {
|
99
130
|
commitment: "confirmed",
|
100
131
|
dataSlice: {
|
101
132
|
offset: 0,
|
@@ -177,16 +208,16 @@ async function getTokenUsage(bank, isAsset, shares, amountUsedAdjustment) {
|
|
177
208
|
baseUnit: BigInt(Math.round(amountUsed)),
|
178
209
|
baseAmountUsdValue: bank
|
179
210
|
? (0, numberUtils_1.toBaseUnit)((0, numberUtils_1.fromBaseUnit)(BigInt(Math.round(amountUsed)), bank.mintDecimals) *
|
180
|
-
marketPrice,
|
211
|
+
marketPrice, constants_1.USD_DECIMALS)
|
181
212
|
: BigInt(0),
|
182
213
|
},
|
183
214
|
amountCanBeUsed: {
|
184
215
|
baseUnit: amountCanBeUsed,
|
185
216
|
baseAmountUsdValue: bank
|
186
|
-
? (0, numberUtils_1.toBaseUnit)((0, numberUtils_1.fromBaseUnit)(amountCanBeUsed, bank.mintDecimals) * marketPrice,
|
217
|
+
? (0, numberUtils_1.toBaseUnit)((0, numberUtils_1.fromBaseUnit)(amountCanBeUsed, bank.mintDecimals) * marketPrice, constants_1.USD_DECIMALS)
|
187
218
|
: BigInt(0),
|
188
219
|
},
|
189
|
-
baseAmountMarketPriceUsd: (0, numberUtils_1.toBaseUnit)(marketPrice,
|
220
|
+
baseAmountMarketPriceUsd: (0, numberUtils_1.toBaseUnit)(marketPrice, constants_1.USD_DECIMALS),
|
190
221
|
borrowFeeBps: isAsset ? 0 : (0, numberUtils_1.toBps)(originationFee),
|
191
222
|
padding1: [],
|
192
223
|
padding2: [],
|
@@ -197,7 +228,7 @@ async function getBank(umi, data, marginfiGroup) {
|
|
197
228
|
return data?.banksCache && data.mint && marginfiGroup
|
198
229
|
? data.banksCache[marginfiGroup.toString()][data?.mint?.toString()]
|
199
230
|
: data?.mint && data?.mint !== web3_js_1.PublicKey.default
|
200
|
-
? await (0, marginfi_sdk_1.safeFetchBank)(umi, (0, umi_1.publicKey)(
|
231
|
+
? await (0, marginfi_sdk_1.safeFetchBank)(umi, (0, umi_1.publicKey)(constants_1.MARGINFI_ACCOUNTS[marginfiGroup?.toString() ?? ""][data?.mint.toString()].bank), { commitment: "confirmed" })
|
201
232
|
: null;
|
202
233
|
}
|
203
234
|
async function getMarginfiAccountPositionState(umi, lpUserAccount, marginfiGroup, supply, debt, contextUpdates) {
|
@@ -275,22 +306,22 @@ async function getMarginfiAccountPositionState(umi, lpUserAccount, marginfiGroup
|
|
275
306
|
debtUsage = await getTokenUsage(debtBank, false, 0, contextUpdates?.debtAdjustment);
|
276
307
|
}
|
277
308
|
const supplyPrice = (0, priceUtils_1.safeGetPrice)(supply.mint);
|
278
|
-
let [maxLtvBps, liqThresholdBps] = await getMarginfiMaxLtvAndLiqThresholdBps(umi, marginfiGroup ?? new web3_js_1.PublicKey(
|
309
|
+
let [maxLtvBps, liqThresholdBps] = await getMarginfiMaxLtvAndLiqThresholdBps(umi, marginfiGroup ?? new web3_js_1.PublicKey(constants_1.DEFAULT_MARGINFI_GROUP), {
|
279
310
|
mint: (0, umi_web3js_adapters_1.toWeb3JsPublicKey)(supplyBank.mint),
|
280
311
|
bank: supplyBank,
|
281
312
|
}, {
|
282
313
|
mint: debtBank ? (0, umi_web3js_adapters_1.toWeb3JsPublicKey)(debtBank.mint) : web3_js_1.PublicKey.default,
|
283
314
|
bank: debtBank,
|
284
315
|
}, supplyPrice);
|
285
|
-
const supplyUsd = (0, numberUtils_1.fromBaseUnit)(supplyUsage.amountUsed.baseAmountUsdValue,
|
286
|
-
const debtUsd = (0, numberUtils_1.fromBaseUnit)(debtUsage?.amountUsed?.baseAmountUsdValue ?? BigInt(0),
|
316
|
+
const supplyUsd = (0, numberUtils_1.fromBaseUnit)(supplyUsage.amountUsed.baseAmountUsdValue, constants_1.USD_DECIMALS);
|
317
|
+
const debtUsd = (0, numberUtils_1.fromBaseUnit)(debtUsage?.amountUsed?.baseAmountUsdValue ?? BigInt(0), constants_1.USD_DECIMALS);
|
287
318
|
return {
|
288
319
|
supplyBank,
|
289
320
|
debtBank,
|
290
321
|
state: {
|
291
322
|
liqUtilizationRateBps: (0, numberUtils_1.getLiqUtilzationRateBps)(supplyUsd, debtUsd, liqThresholdBps),
|
292
323
|
netWorth: {
|
293
|
-
baseAmountUsdValue: (0, numberUtils_1.toBaseUnit)(supplyUsd - debtUsd,
|
324
|
+
baseAmountUsdValue: (0, numberUtils_1.toBaseUnit)(supplyUsd - debtUsd, constants_1.USD_DECIMALS),
|
294
325
|
baseUnit: (0, numberUtils_1.toBaseUnit)((supplyUsd - debtUsd) / supplyPrice, supplyUsage.decimals),
|
295
326
|
},
|
296
327
|
supply: supplyUsage,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"numberUtils.d.ts","sourceRoot":"","sources":["../../src/utils/numberUtils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;
|
1
|
+
{"version":3,"file":"numberUtils.d.ts","sourceRoot":"","sources":["../../src/utils/numberUtils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,wBAAgB,eAAe,CAAC,KAAK,CAAC,EAAE,aAAa,UAEpD;AAED,wBAAgB,aAAa,CAAC,KAAK,CAAC,EAAE,aAAa,UAIlD;AAED,wBAAgB,WAAW,CAAC,KAAK,CAAC,EAAE,aAAa,UAIhD;AAED,wBAAgB,YAAY,CAAC,KAAK,CAAC,EAAE,aAAa,UAKjD;AAED,wBAAgB,eAAe,CAAC,KAAK,CAAC,EAAE,aAAa,UAKpD;AAED,wBAAgB,aAAa,CAAC,KAAK,CAAC,EAAE,aAAa,UAKlD;AAED,wBAAgB,sBAAsB,CAAC,KAAK,CAAC,EAAE,aAAa,UAK3D;AAED,wBAAgB,yBAAyB,CAAC,KAAK,CAAC,EAAE,aAAa,UAI9D;AAED,wBAAgB,0BAA0B,CAAC,KAAK,CAAC,EAAE,aAAa,UAK/D;AAED,wBAAgB,6BAA6B,CAAC,KAAK,CAAC,EAAE,aAAa,UAIlE;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,UAEjD;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,UAE/C;AAED,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,eAAe,EAAE,MAAM,GACtB,MAAM,CAMR;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAKlE;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAKpE;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE7C;AAED,KAAK,WAAW,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,CAAC;AAC9C,wBAAgB,KAAK,CACnB,KAAK,EAAE,MAAM,EACb,WAAW,GAAE,WAAqB,GACjC,MAAM,CAOR;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAqBrD;AAED,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAejE;AAED,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,MAAM,EACvB,gBAAgB,EAAE,MAAM,GACvB,MAAM,CAKR;AAED,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,UAKzE;AAED,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,UAKvE;AAED,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,UAKvE"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"priceUtils.d.ts","sourceRoot":"","sources":["../../src/utils/priceUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,SAAS,IAAI,YAAY,EAAE,MAAM,0BAA0B,CAAC;
|
1
|
+
{"version":3,"file":"priceUtils.d.ts","sourceRoot":"","sources":["../../src/utils/priceUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,SAAS,IAAI,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAgBrE,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAyC5E;AAED,wBAAsB,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,qBAwCrD;AAkBD,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,SAAS,EAAE,GACjB,OAAO,CAAC,MAAM,EAAE,CAAC,CAsDnB;AAED,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,SAAS,EAAE,qBAYzD;AAED,wBAAgB,YAAY,CAC1B,IAAI,EAAE,SAAS,GAAG,YAAY,GAAG,MAAM,GAAG,SAAS,GAClD,MAAM,GAAG,SAAS,CAKpB"}
|