@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.
@@ -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: SolautoMarginfiClientArgs): Promise<void>;
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,MAAM,WAAW,yBAA0B,SAAQ,iBAAiB;IAClE,eAAe,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IACrC,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,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,yBAAyB;IAsEhD,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"}
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.marginfiAccount ??
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;IAsBV,UAAU,CACrB,YAAY,EAAE,eAAe,EAAE,GAC9B,OAAO,CAAC,0BAA0B,CAAC;IA0GzB,IAAI,CACf,KAAK,EAAE,eAAe,EAAE,GACvB,OAAO,CAAC,0BAA0B,CAAC;YA8BxB,6BAA6B;YA4I7B,qBAAqB;YAgDrB,eAAe;YA0Df,eAAe;CA4D9B"}
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 (0, solanaUtils_1.getAddressLookupInputs)(this.txHandler.umi, this.txHandler.defaultLookupTables());
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).map(x => x.feedId).includes(x ?? ""));
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@haven-fi/solauto-sdk",
3
- "version": "1.0.603",
3
+ "version": "1.0.604",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "description": "Typescript SDK for the Solauto program on the Solana blockchain",
@@ -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: SolautoMarginfiClientArgs) {
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.marginfiAccount ??
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: string[]
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 getAddressLookupInputs(
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).map(x => x.feedId).includes(x ?? "")
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(