@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.
- package/dist/solautoPosition/solautoPositionEx.d.ts +4 -1
- package/dist/solautoPosition/solautoPositionEx.d.ts.map +1 -1
- package/dist/solautoPosition/solautoPositionEx.js +7 -3
- package/package.json +1 -1
- package/src/solautoPosition/solautoPositionEx.ts +12 -5
- package/tests/transactions/shared.ts +2 -2
@@ -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<
|
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,
|
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
|
-
|
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
@@ -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)
|
278
|
-
|
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,
|
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,
|
89
|
+
toBaseUnit(debtUsd / debtPrice, client.pos.debtMintInfo().decimals),
|
90
90
|
])
|
91
91
|
),
|
92
92
|
};
|