@haven-fi/solauto-sdk 1.0.603 → 1.0.604
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/services/solauto/solautoMarginfiClient.d.ts +1 -5
- package/dist/services/solauto/solautoMarginfiClient.d.ts.map +1 -1
- package/dist/services/solauto/solautoMarginfiClient.js +1 -1
- package/dist/services/transactions/transactionsManager.d.ts.map +1 -1
- package/dist/services/transactions/transactionsManager.js +5 -3
- package/local/updateMarginfiLUT.ts +1 -0
- package/package.json +1 -1
- package/src/services/solauto/solautoMarginfiClient.ts +2 -7
- package/src/services/transactions/transactionsManager.ts +6 -7
@@ -4,10 +4,6 @@ import { SolautoClient, SolautoClientArgs } from "./solautoClient";
|
|
4
4
|
import { MarginfiAssetAccounts } from "../../types/accounts";
|
5
5
|
import { DCASettingsInpArgs, LendingPlatform, RebalanceStep, SolautoActionArgs, SolautoSettingsParametersInpArgs } from "../../generated";
|
6
6
|
import { RebalanceDetails } from "../../types";
|
7
|
-
export interface SolautoMarginfiClientArgs extends SolautoClientArgs {
|
8
|
-
marginfiAccount?: PublicKey | Signer;
|
9
|
-
marginfiAccountSeedIdx?: bigint;
|
10
|
-
}
|
11
7
|
export declare class SolautoMarginfiClient extends SolautoClient {
|
12
8
|
lendingPlatform: LendingPlatform;
|
13
9
|
marginfiProgram: PublicKey;
|
@@ -18,7 +14,7 @@ export declare class SolautoMarginfiClient extends SolautoClient {
|
|
18
14
|
marginfiDebtAccounts: MarginfiAssetAccounts;
|
19
15
|
supplyPriceOracle: PublicKey;
|
20
16
|
debtPriceOracle: PublicKey;
|
21
|
-
initialize(args:
|
17
|
+
initialize(args: SolautoClientArgs): Promise<void>;
|
22
18
|
defaultLookupTables(): string[];
|
23
19
|
lutAccountsToAdd(): PublicKey[];
|
24
20
|
marginfiAccountInitialize(marginfiAccount: Signer): TransactionBuilder;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"solautoMarginfiClient.d.ts","sourceRoot":"","sources":["../../../src/services/solauto/solautoMarginfiClient.ts"],"names":[],"mappings":"AACA,OAAO,EACL,MAAM,EACN,kBAAkB,EAInB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,SAAS,EAA8B,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAK7D,OAAO,EACL,kBAAkB,EAClB,eAAe,EAGf,aAAa,EACb,iBAAiB,EAEjB,gCAAgC,EAOjC,MAAM,iBAAiB,CAAC;AAgBzB,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C,
|
1
|
+
{"version":3,"file":"solautoMarginfiClient.d.ts","sourceRoot":"","sources":["../../../src/services/solauto/solautoMarginfiClient.ts"],"names":[],"mappings":"AACA,OAAO,EACL,MAAM,EACN,kBAAkB,EAInB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,SAAS,EAA8B,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAK7D,OAAO,EACL,kBAAkB,EAClB,eAAe,EAGf,aAAa,EACb,iBAAiB,EAEjB,gCAAgC,EAOjC,MAAM,iBAAiB,CAAC;AAgBzB,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C,qBAAa,qBAAsB,SAAQ,aAAa;IAC/C,eAAe,kBAA4B;IAE3C,eAAe,EAAG,SAAS,CAAC;IAE5B,eAAe,EAAG,SAAS,GAAG,MAAM,CAAC;IACrC,iBAAiB,EAAG,SAAS,CAAC;IAC9B,aAAa,EAAG,SAAS,CAAC;IAE1B,sBAAsB,EAAG,qBAAqB,CAAC;IAC/C,oBAAoB,EAAG,qBAAqB,CAAC;IAE7C,iBAAiB,EAAG,SAAS,CAAC;IAC9B,eAAe,EAAG,SAAS,CAAC;IAE7B,UAAU,CAAC,IAAI,EAAE,iBAAiB;IAsExC,mBAAmB,IAAI,MAAM,EAAE;IAI/B,gBAAgB,IAAI,SAAS,EAAE;IAI/B,yBAAyB,CAAC,eAAe,EAAE,MAAM,GAAG,kBAAkB;IAStE,cAAc,CACZ,QAAQ,CAAC,EAAE,gCAAgC,EAC3C,GAAG,CAAC,EAAE,kBAAkB,GACvB,kBAAkB;IAMrB,OAAO,CAAC,sBAAsB;IA0C9B,eAAe,IAAI,kBAAkB;IAYrC,SAAS,IAAI,kBAAkB;IAc/B,qBAAqB,CAAC,IAAI,EAAE,iBAAiB,GAAG,kBAAkB;IAUlE,OAAO,CAAC,6BAA6B;IAmErC,OAAO,CAAC,oCAAoC;IA0D5C,WAAW,CACT,aAAa,EAAE,aAAa,EAC5B,IAAI,EAAE,gBAAgB,GACrB,kBAAkB;CAqGtB"}
|
@@ -21,7 +21,7 @@ class SolautoMarginfiClient extends solautoClient_1.SolautoClient {
|
|
21
21
|
this.marginfiGroup = await this.pos.lendingPool();
|
22
22
|
if (this.selfManaged) {
|
23
23
|
this.marginfiAccount =
|
24
|
-
args.
|
24
|
+
args.lpUserAccount ??
|
25
25
|
(0, umi_1.createSignerFromKeypair)(this.umi, this.umi.eddsa.generateKeypair());
|
26
26
|
}
|
27
27
|
else {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"transactionsManager.d.ts","sourceRoot":"","sources":["../../../src/services/transactions/transactionsManager.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,kBAAkB,EAEnB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAMzD,OAAO,EAEL,aAAa,EAEd,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,kBAAkB,EAElB,qBAAqB,EACrB,kBAAkB,EACnB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,oBAAoB,EAAa,MAAM,IAAI,CAAC;AAarD,qBAAa,wBAAyB,SAAQ,KAAK;gBACrC,OAAO,EAAE,MAAM;CAK5B;AAqCD,qBAAa,eAAe;IAOjB,OAAO,EAAE,CACd,UAAU,EAAE,MAAM,KACf,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC;IACxC,IAAI,CAAC,EAAE,MAAM;IATtB,oBAAoB,EAAG,MAAM,EAAE,CAAC;IAChC,EAAE,CAAC,EAAE,kBAAkB,CAAC;IACxB,WAAW,EAAE,OAAO,CAAS;IAC7B,SAAS,EAAE,MAAM,CAAK;gBAGb,OAAO,EAAE,CACd,UAAU,EAAE,MAAM,KACf,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC,EACxC,IAAI,CAAC,EAAE,MAAM,YAAA;IAGhB,UAAU;IAKV,OAAO,CAAC,UAAU,EAAE,MAAM;IAOhC,cAAc,IAAI,MAAM,EAAE;CAY3B;AAwGD,oBAAY,iBAAiB;IAC3B,OAAO,YAAY;IACnB,UAAU,eAAe;IACzB,MAAM,WAAW;IACjB,UAAU,eAAe;IACzB,MAAM,WAAW;CAClB;AAED,MAAM,MAAM,0BAA0B,GAAG;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,EAAE,CAAC;AAEJ,UAAU,WAAW;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,mBAAmB;IAU5B,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,cAAc,CAAC;IACvB,OAAO,CAAC,MAAM,CAAC;IACf,OAAO,CAAC,kBAAkB;IAC1B,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,aAAa,CAAC;IAdxB,OAAO,CAAC,QAAQ,CAAkC;IAClD,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,UAAU,CAAS;IAE3B,kBAAkB,SAAmB;gBAG3B,SAAS,EAAE,aAAa,GAAG,oBAAoB,EAC/C,cAAc,CAAC,GAAE,CAAC,QAAQ,EAAE,0BAA0B,KAAK,IAAI,aAAA,EAC/D,MAAM,CAAC,EAAE,kBAAkB,YAAA,EAC3B,kBAAkB,GAAE,kBAA2C,EAC/D,UAAU,GAAE,OAAe,EAC3B,aAAa,CAAC,EAAE,aAAa,YAAA,EACrC,WAAW,CAAC,EAAE,WAAW;YAab,uBAAuB;IA0CrC,OAAO,CAAC,YAAY;YA6CN,aAAa;IAoB3B,OAAO,CAAC,4BAA4B;IAgBpC,OAAO,CAAC,mBAAmB;YAoBb,SAAS;
|
1
|
+
{"version":3,"file":"transactionsManager.d.ts","sourceRoot":"","sources":["../../../src/services/transactions/transactionsManager.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,kBAAkB,EAEnB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAMzD,OAAO,EAEL,aAAa,EAEd,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,kBAAkB,EAElB,qBAAqB,EACrB,kBAAkB,EACnB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,oBAAoB,EAAa,MAAM,IAAI,CAAC;AAarD,qBAAa,wBAAyB,SAAQ,KAAK;gBACrC,OAAO,EAAE,MAAM;CAK5B;AAqCD,qBAAa,eAAe;IAOjB,OAAO,EAAE,CACd,UAAU,EAAE,MAAM,KACf,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC;IACxC,IAAI,CAAC,EAAE,MAAM;IATtB,oBAAoB,EAAG,MAAM,EAAE,CAAC;IAChC,EAAE,CAAC,EAAE,kBAAkB,CAAC;IACxB,WAAW,EAAE,OAAO,CAAS;IAC7B,SAAS,EAAE,MAAM,CAAK;gBAGb,OAAO,EAAE,CACd,UAAU,EAAE,MAAM,KACf,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC,EACxC,IAAI,CAAC,EAAE,MAAM,YAAA;IAGhB,UAAU;IAKV,OAAO,CAAC,UAAU,EAAE,MAAM;IAOhC,cAAc,IAAI,MAAM,EAAE;CAY3B;AAwGD,oBAAY,iBAAiB;IAC3B,OAAO,YAAY;IACnB,UAAU,eAAe;IACzB,MAAM,WAAW;IACjB,UAAU,eAAe;IACzB,MAAM,WAAW;CAClB;AAED,MAAM,MAAM,0BAA0B,GAAG;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,EAAE,CAAC;AAEJ,UAAU,WAAW;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,mBAAmB;IAU5B,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,cAAc,CAAC;IACvB,OAAO,CAAC,MAAM,CAAC;IACf,OAAO,CAAC,kBAAkB;IAC1B,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,aAAa,CAAC;IAdxB,OAAO,CAAC,QAAQ,CAAkC;IAClD,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,UAAU,CAAS;IAE3B,kBAAkB,SAAmB;gBAG3B,SAAS,EAAE,aAAa,GAAG,oBAAoB,EAC/C,cAAc,CAAC,GAAE,CAAC,QAAQ,EAAE,0BAA0B,KAAK,IAAI,aAAA,EAC/D,MAAM,CAAC,EAAE,kBAAkB,YAAA,EAC3B,kBAAkB,GAAE,kBAA2C,EAC/D,UAAU,GAAE,OAAe,EAC3B,aAAa,CAAC,EAAE,aAAa,YAAA,EACrC,WAAW,CAAC,EAAE,WAAW;YAab,uBAAuB;IA0CrC,OAAO,CAAC,YAAY;YA6CN,aAAa;IAoB3B,OAAO,CAAC,4BAA4B;IAgBpC,OAAO,CAAC,mBAAmB;YAoBb,SAAS;IAmBV,UAAU,CACrB,YAAY,EAAE,eAAe,EAAE,GAC9B,OAAO,CAAC,0BAA0B,CAAC;IA4GzB,IAAI,CACf,KAAK,EAAE,eAAe,EAAE,GACvB,OAAO,CAAC,0BAA0B,CAAC;YA8BxB,6BAA6B;YA4I7B,qBAAqB;YAgDrB,eAAe;YA0Df,eAAe;CA4D9B"}
|
@@ -32,7 +32,7 @@ class LookupTables {
|
|
32
32
|
this.cache = [];
|
33
33
|
}
|
34
34
|
async getLutInputs(additionalAddresses) {
|
35
|
-
const addresses = [...this.defaultLuts, ...additionalAddresses];
|
35
|
+
const addresses = [...this.defaultLuts, ...(additionalAddresses ?? [])];
|
36
36
|
const currentCacheAddresses = this.cache.map((x) => x.publicKey.toString());
|
37
37
|
const missingAddresses = addresses.filter((x) => !currentCacheAddresses.includes(x));
|
38
38
|
if (missingAddresses) {
|
@@ -265,7 +265,7 @@ class TransactionsManager {
|
|
265
265
|
});
|
266
266
|
}
|
267
267
|
async updateLut(tx, newLut) {
|
268
|
-
const lutInputs = await
|
268
|
+
const lutInputs = await this.lookupTables.getLutInputs();
|
269
269
|
const updateLutTxName = `${newLut ? "create" : "update"} lookup table`;
|
270
270
|
await (0, generalUtils_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
271
|
await this.txHandler.refetchReferralState();
|
@@ -293,7 +293,9 @@ class TransactionsManager {
|
|
293
293
|
return ix.keys.map((key) => key.pubkey.toString());
|
294
294
|
}) ?? []);
|
295
295
|
});
|
296
|
-
const swbOracle = allAccounts.find((x) => Object.values(switchboardConstants_1.SWITCHBOARD_PRICE_FEED_IDS)
|
296
|
+
const swbOracle = allAccounts.find((x) => Object.values(switchboardConstants_1.SWITCHBOARD_PRICE_FEED_IDS)
|
297
|
+
.map((x) => x.feedId)
|
298
|
+
.includes(x ?? ""));
|
297
299
|
if (swbOracle) {
|
298
300
|
const mint = new web3_js_1.PublicKey(Object.keys(switchboardConstants_1.SWITCHBOARD_PRICE_FEED_IDS).find((x) => switchboardConstants_1.SWITCHBOARD_PRICE_FEED_IDS[x].feedId === swbOracle));
|
299
301
|
const stale = (await (0, utils_1.getSwitchboardFeedData)(client.connection, [mint]))[0]
|
@@ -106,6 +106,7 @@ addBanks().then((x) => x);
|
|
106
106
|
|
107
107
|
addImfiAccounts().then((x) => x);
|
108
108
|
|
109
|
+
// TODO: get rid of these lookup tables
|
109
110
|
// EoEVYjz3MnsX6fKyxrwJkRhzMCHKjj6dvnjTCHoZLMc7
|
110
111
|
// AuoepJfrCrkQF2PeUAgpnnJybRoiff82cNdwXTqyjjvm
|
111
112
|
// Bno3JybASPc1jNBZ9rnrdKVvbhk6UNMvSsYvgtitq3zb
|
package/package.json
CHANGED
@@ -46,11 +46,6 @@ import {
|
|
46
46
|
import { hasFirstRebalance } from "../../utils/solautoUtils";
|
47
47
|
import { RebalanceDetails } from "../../types";
|
48
48
|
|
49
|
-
export interface SolautoMarginfiClientArgs extends SolautoClientArgs {
|
50
|
-
marginfiAccount?: PublicKey | Signer;
|
51
|
-
marginfiAccountSeedIdx?: bigint;
|
52
|
-
}
|
53
|
-
|
54
49
|
export class SolautoMarginfiClient extends SolautoClient {
|
55
50
|
public lendingPlatform = LendingPlatform.Marginfi;
|
56
51
|
|
@@ -66,14 +61,14 @@ export class SolautoMarginfiClient extends SolautoClient {
|
|
66
61
|
public supplyPriceOracle!: PublicKey;
|
67
62
|
public debtPriceOracle!: PublicKey;
|
68
63
|
|
69
|
-
async initialize(args:
|
64
|
+
async initialize(args: SolautoClientArgs) {
|
70
65
|
await super.initialize(args);
|
71
66
|
|
72
67
|
this.marginfiGroup = await this.pos.lendingPool();
|
73
68
|
|
74
69
|
if (this.selfManaged) {
|
75
70
|
this.marginfiAccount =
|
76
|
-
args.
|
71
|
+
args.lpUserAccount ??
|
77
72
|
createSignerFromKeypair(this.umi, this.umi.eddsa.generateKeypair());
|
78
73
|
} else {
|
79
74
|
if (this.pos.exists()) {
|
@@ -53,9 +53,9 @@ class LookupTables {
|
|
53
53
|
) {}
|
54
54
|
|
55
55
|
async getLutInputs(
|
56
|
-
additionalAddresses
|
56
|
+
additionalAddresses?: string[]
|
57
57
|
): Promise<AddressLookupTableInput[]> {
|
58
|
-
const addresses = [...this.defaultLuts, ...additionalAddresses];
|
58
|
+
const addresses = [...this.defaultLuts, ...(additionalAddresses ?? [])];
|
59
59
|
const currentCacheAddresses = this.cache.map((x) => x.publicKey.toString());
|
60
60
|
|
61
61
|
const missingAddresses = addresses.filter(
|
@@ -416,10 +416,7 @@ export class TransactionsManager {
|
|
416
416
|
}
|
417
417
|
|
418
418
|
private async updateLut(tx: TransactionBuilder, newLut: boolean) {
|
419
|
-
const lutInputs = await
|
420
|
-
this.txHandler.umi,
|
421
|
-
this.txHandler.defaultLookupTables()
|
422
|
-
);
|
419
|
+
const lutInputs = await this.lookupTables.getLutInputs();
|
423
420
|
const updateLutTxName = `${newLut ? "create" : "update"} lookup table`;
|
424
421
|
await retryWithExponentialBackoff(
|
425
422
|
async (attemptNum, prevError) =>
|
@@ -474,7 +471,9 @@ export class TransactionsManager {
|
|
474
471
|
});
|
475
472
|
|
476
473
|
const swbOracle = allAccounts.find((x) =>
|
477
|
-
Object.values(SWITCHBOARD_PRICE_FEED_IDS)
|
474
|
+
Object.values(SWITCHBOARD_PRICE_FEED_IDS)
|
475
|
+
.map((x) => x.feedId)
|
476
|
+
.includes(x ?? "")
|
478
477
|
);
|
479
478
|
if (swbOracle) {
|
480
479
|
const mint = new PublicKey(
|