@haven-fi/solauto-sdk 1.0.590 → 1.0.591

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.
@@ -3,6 +3,7 @@ import { DCASettings, LendingPlatform, PositionState, SolautoPosition, SolautoSe
3
3
  import { Umi } from "@metaplex-foundation/umi";
4
4
  import { ContextUpdates } from "../utils";
5
5
  import { RebalanceAction } from "../types";
6
+ import { TokenInfo } from "../constants";
6
7
  export interface PositionCustomArgs {
7
8
  lendingPlatform: LendingPlatform;
8
9
  supplyMint?: PublicKey;
@@ -39,7 +40,9 @@ export declare abstract class SolautoPositionEx {
39
40
  settings(): SolautoSettingsParameters | undefined;
40
41
  dca(): DCASettings | undefined;
41
42
  supplyMint(): PublicKey;
43
+ supplyMintInfo(): TokenInfo;
42
44
  debtMint(): PublicKey;
45
+ debtMintInfo(): TokenInfo;
43
46
  boostToBps(): number;
44
47
  boostFromBps(): number;
45
48
  repayToBps(): number;
@@ -62,7 +65,7 @@ export declare abstract class SolautoPositionEx {
62
65
  protected canRefreshPositionState(): boolean;
63
66
  abstract refreshPositionState(): Promise<void>;
64
67
  utilizationRateBpsDrift(): Promise<number>;
65
- updateWithLatestPrices(supplyPrice?: number, debtPrice?: number): Promise<PositionState>;
68
+ updateWithLatestPrices(supplyPrice?: number, debtPrice?: number): Promise<void>;
66
69
  refetchPositionData(): Promise<void>;
67
70
  }
68
71
  export {};
@@ -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,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAC/C,OAAO,EAQL,cAAc,EASf,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAQ3C,MAAM,WAAW,kBAAkB;IACjC,eAAe,EAAE,eAAe,CAAC;IACjC,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,aAAa,CAAC,EAAE,SAAS,CAAC;CAC3B;AAED,UAAU,qBAAsB,SAAQ,OAAO,CAAC,eAAe,CAAC;IAC9D,KAAK,EAAE,aAAa,CAAC;CACtB;AAED,UAAU,cAAc;IACtB,GAAG,EAAE,GAAG,CAAC;IACT,SAAS,EAAE,SAAS,CAAC;IACrB,IAAI,EAAE,qBAAqB,CAAC;IAC5B,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAChC,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAED,8BAAsB,iBAAiB;IAC9B,GAAG,EAAG,GAAG,CAAC;IACV,SAAS,EAAG,SAAS,CAAC;IAC7B,SAAS,CAAC,KAAK,EAAG,qBAAqB,CAAC;IACxC,SAAS,CAAC,EAAE,CAAC,EAAE,SAAS,CAAa;IAC9B,aAAa,CAAC,EAAE,SAAS,CAAa;IAC7C,SAAS,CAAC,cAAc,CAAC,EAAE,cAAc,CAAC;IAE1C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiB;gBAEhC,IAAI,EAAE,cAAc;IAgBhC,QAAQ,CAAC,WAAW,IAAI,OAAO,CAAC,SAAS,CAAC;IAE1C,MAAM;IAIN,SAAS;IAMT,UAAU;IAIV,YAAY;IAOZ,IAAI,IAAI,qBAAqB;IAI7B,KAAK,IAAI,aAAa;IAItB,QAAQ,IAAI,yBAAyB,GAAG,SAAS;IAIjD,GAAG,IAAI,WAAW,GAAG,SAAS;IAI9B,UAAU,IAAI,SAAS;IAIvB,QAAQ,IAAI,SAAS;IAIrB,UAAU;IAOV,YAAY;IAIZ,UAAU;IAOV,YAAY;IAMZ,QAAQ;IAIR,WAAW;IAIX,WAAW;IAIX,SAAS;IAIT,SAAS;IAIT,OAAO;IAIP,6BAA6B;IAI7B,yBAAyB;IAIzB,QAAQ,CAAC,wBAAwB,IAAI,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9D,QAAQ,CAAC,0BAA0B,IAAI,MAAM;IAC7C,QAAQ,CAAC,wBAAwB,IAAI,MAAM;IAC3C,QAAQ,CAAC,sBAAsB,IAAI,MAAM;IAEzC,0BAA0B;IA0B1B,oBAAoB,CAAC,oBAAoB,SAAI,GAAG,eAAe,GAAG,SAAS;IAqB3E,kBAAkB,IAAI,OAAO;IAS7B,SAAS,CAAC,uBAAuB;IAWjC,QAAQ,CAAC,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IAExC,uBAAuB;IAiBvB,sBAAsB,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAUxF,mBAAmB;CAM1B"}
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,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAC/C,OAAO,EAQL,cAAc,EAUf,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,OAAO,EAAqC,SAAS,EAAE,MAAM,cAAc,CAAC;AAM5E,MAAM,WAAW,kBAAkB;IACjC,eAAe,EAAE,eAAe,CAAC;IACjC,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,aAAa,CAAC,EAAE,SAAS,CAAC;CAC3B;AAED,UAAU,qBAAsB,SAAQ,OAAO,CAAC,eAAe,CAAC;IAC9D,KAAK,EAAE,aAAa,CAAC;CACtB;AAED,UAAU,cAAc;IACtB,GAAG,EAAE,GAAG,CAAC;IACT,SAAS,EAAE,SAAS,CAAC;IACrB,IAAI,EAAE,qBAAqB,CAAC;IAC5B,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAChC,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAED,8BAAsB,iBAAiB;IAC9B,GAAG,EAAG,GAAG,CAAC;IACV,SAAS,EAAG,SAAS,CAAC;IAC7B,SAAS,CAAC,KAAK,EAAG,qBAAqB,CAAC;IACxC,SAAS,CAAC,EAAE,CAAC,EAAE,SAAS,CAAa;IAC9B,aAAa,CAAC,EAAE,SAAS,CAAa;IAC7C,SAAS,CAAC,cAAc,CAAC,EAAE,cAAc,CAAC;IAE1C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiB;gBAEhC,IAAI,EAAE,cAAc;IAgBhC,QAAQ,CAAC,WAAW,IAAI,OAAO,CAAC,SAAS,CAAC;IAE1C,MAAM;IAIN,SAAS;IAMT,UAAU;IAIV,YAAY;IAOZ,IAAI,IAAI,qBAAqB;IAI7B,KAAK,IAAI,aAAa;IAItB,QAAQ,IAAI,yBAAyB,GAAG,SAAS;IAIjD,GAAG,IAAI,WAAW,GAAG,SAAS;IAI9B,UAAU,IAAI,SAAS;IAIvB,cAAc,IAAI,SAAS;IAI3B,QAAQ,IAAI,SAAS;IAIrB,YAAY,IAAI,SAAS;IAIzB,UAAU;IAOV,YAAY;IAIZ,UAAU;IAOV,YAAY;IAMZ,QAAQ;IAIR,WAAW;IAIX,WAAW;IAIX,SAAS;IAIT,SAAS;IAIT,OAAO;IAIP,6BAA6B;IAI7B,yBAAyB;IAIzB,QAAQ,CAAC,wBAAwB,IAAI,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9D,QAAQ,CAAC,0BAA0B,IAAI,MAAM;IAC7C,QAAQ,CAAC,wBAAwB,IAAI,MAAM;IAC3C,QAAQ,CAAC,sBAAsB,IAAI,MAAM;IAEzC,0BAA0B;IA0B1B,oBAAoB,CAAC,oBAAoB,SAAI,GAAG,eAAe,GAAG,SAAS;IAqB3E,kBAAkB,IAAI,OAAO;IAS7B,SAAS,CAAC,uBAAuB;IAWjC,QAAQ,CAAC,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IAExC,uBAAuB;IAiBvB,sBAAsB,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM;IAQ/D,mBAAmB;CAM1B"}
@@ -51,9 +51,15 @@ class SolautoPositionEx {
51
51
  supplyMint() {
52
52
  return (0, umi_web3js_adapters_1.toWeb3JsPublicKey)(this.state().supply.mint);
53
53
  }
54
+ supplyMintInfo() {
55
+ return (0, utils_1.tokenInfo)(this.supplyMint());
56
+ }
54
57
  debtMint() {
55
58
  return (0, umi_web3js_adapters_1.toWeb3JsPublicKey)(this.state().debt.mint);
56
59
  }
60
+ debtMintInfo() {
61
+ return (0, utils_1.tokenInfo)(this.debtMint());
62
+ }
57
63
  boostToBps() {
58
64
  return Math.min(this.settings()?.boostToBps ?? 0, (0, utils_1.maxBoostToBps)(this.state().maxLtvBps, this.state().liqThresholdBps));
59
65
  }
@@ -142,9 +148,7 @@ class SolautoPositionEx {
142
148
  return newState.liqUtilizationRateBps - oldState.liqUtilizationRateBps;
143
149
  }
144
150
  async updateWithLatestPrices(supplyPrice, debtPrice) {
145
- const newState = await (0, utils_1.positionStateWithLatestPrices)(this.state(), supplyPrice, debtPrice);
146
- this._data.state = newState;
147
- return newState;
151
+ this._data.state = await (0, utils_1.positionStateWithLatestPrices)(this.state(), supplyPrice, debtPrice);
148
152
  }
149
153
  async refetchPositionData() {
150
154
  this._data = await (0, generated_1.fetchSolautoPosition)(this.umi, (0, umi_web3js_adapters_1.fromWeb3JsPublicKey)(this.publicKey));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@haven-fi/solauto-sdk",
3
- "version": "1.0.590",
3
+ "version": "1.0.591",
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",
@@ -25,10 +25,11 @@ import {
25
25
  safeGetPrice,
26
26
  solautoStrategyName,
27
27
  supplyLiquidityUsdDepositable,
28
+ tokenInfo,
28
29
  } from "../utils";
29
30
  import { RebalanceAction } from "../types";
30
31
  import { getDebtAdjustment } from "../services/rebalance";
31
- import { MIN_POSITION_STATE_FRESHNESS_SECS } from "../constants";
32
+ import { MIN_POSITION_STATE_FRESHNESS_SECS, TokenInfo } from "../constants";
32
33
  import {
33
34
  fromWeb3JsPublicKey,
34
35
  toWeb3JsPublicKey,
@@ -123,10 +124,18 @@ export abstract class SolautoPositionEx {
123
124
  return toWeb3JsPublicKey(this.state().supply.mint);
124
125
  }
125
126
 
127
+ supplyMintInfo(): TokenInfo {
128
+ return tokenInfo(this.supplyMint());
129
+ }
130
+
126
131
  debtMint(): PublicKey {
127
132
  return toWeb3JsPublicKey(this.state().debt.mint);
128
133
  }
129
134
 
135
+ debtMintInfo(): TokenInfo {
136
+ return tokenInfo(this.debtMint());
137
+ }
138
+
130
139
  boostToBps() {
131
140
  return Math.min(
132
141
  this.settings()?.boostToBps ?? 0,
@@ -274,14 +283,12 @@ export abstract class SolautoPositionEx {
274
283
  return newState.liqUtilizationRateBps - oldState.liqUtilizationRateBps;
275
284
  }
276
285
 
277
- async updateWithLatestPrices(supplyPrice?: number, debtPrice?: number): Promise<PositionState> {
278
- const newState = await positionStateWithLatestPrices(
286
+ async updateWithLatestPrices(supplyPrice?: number, debtPrice?: number) {
287
+ this._data.state = await positionStateWithLatestPrices(
279
288
  this.state(),
280
289
  supplyPrice,
281
290
  debtPrice
282
291
  );
283
- this._data.state = newState;
284
- return newState;
285
292
  }
286
293
 
287
294
  async refetchPositionData() {
@@ -73,7 +73,7 @@ export async function e2eTransactionTest(
73
73
  return {
74
74
  tx: client.protocolInteractionIx(
75
75
  solautoAction("Deposit", [
76
- toBaseUnit(supplyUsd / supplyPrice, tokenInfo(supplyMint).decimals),
76
+ toBaseUnit(supplyUsd / supplyPrice, client.pos.supplyMintInfo().decimals),
77
77
  ])
78
78
  ),
79
79
  };
@@ -86,7 +86,7 @@ export async function e2eTransactionTest(
86
86
  return {
87
87
  tx: client.protocolInteractionIx(
88
88
  solautoAction("Borrow", [
89
- toBaseUnit(debtUsd / debtPrice, tokenInfo(debtMint).decimals),
89
+ toBaseUnit(debtUsd / debtPrice, client.pos.debtMintInfo().decimals),
90
90
  ])
91
91
  ),
92
92
  };