@haven-fi/solauto-sdk 1.0.590 → 1.0.592
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/rebalance/rebalanceTxBuilder.js +1 -1
- package/dist/services/rebalance/rebalanceValues.d.ts +1 -1
- package/dist/services/rebalance/rebalanceValues.d.ts.map +1 -1
- package/dist/services/rebalance/rebalanceValues.js +3 -1
- package/dist/services/rebalance/solautoFees.d.ts +1 -0
- package/dist/services/rebalance/solautoFees.d.ts.map +1 -1
- package/dist/services/rebalance/solautoFees.js +3 -0
- 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/services/rebalance/rebalanceTxBuilder.ts +1 -1
- package/src/services/rebalance/rebalanceValues.ts +4 -2
- package/src/services/rebalance/solautoFees.ts +13 -1
- package/src/solautoPosition/solautoPositionEx.ts +12 -5
- package/tests/transactions/shared.ts +2 -2
- package/tests/unit/rebalanceCalculations.ts +1 -1
@@ -20,7 +20,7 @@ class RebalanceTxBuilder {
|
|
20
20
|
this.client.pos.eligibleForRebalance()));
|
21
21
|
}
|
22
22
|
getRebalanceValues(flFee) {
|
23
|
-
return (0, rebalanceValues_1.getRebalanceValues)(this.client.pos,
|
23
|
+
return (0, rebalanceValues_1.getRebalanceValues)(this.client.pos, solautoFees_1.SolautoFeesBps.create(this.client.isReferred(), this.targetLiqUtilizationRateBps, this.client.pos.netWorthUsd()), flFee ?? 0, this.targetLiqUtilizationRateBps);
|
24
24
|
}
|
25
25
|
getFlLiquiditySource(supplyLiquidityAvailable, debtLiquidityAvailable) {
|
26
26
|
const debtAdjustmentUsd = Math.abs(this.values.debtAdjustmentUsd);
|
@@ -26,6 +26,6 @@ export interface RebalanceValues extends DebtAdjustment {
|
|
26
26
|
tokenBalanceChange?: TokenBalanceChange;
|
27
27
|
repayingCloseToMaxLtv: boolean;
|
28
28
|
}
|
29
|
-
export declare function getRebalanceValues(solautoPosition: SolautoPositionEx, solautoFeeBps: SolautoFeesBps, flFeeBps: number, targetLiqUtilizationRateBps?: number): RebalanceValues;
|
29
|
+
export declare function getRebalanceValues(solautoPosition: SolautoPositionEx, solautoFeeBps: SolautoFeesBps | undefined, flFeeBps: number, targetLiqUtilizationRateBps?: number): RebalanceValues;
|
30
30
|
export {};
|
31
31
|
//# sourceMappingURL=rebalanceValues.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"rebalanceValues.d.ts","sourceRoot":"","sources":["../../../src/services/rebalance/rebalanceValues.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAEnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAO1D,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,SAAS,EAAE,cAAc,CAAC;IAC1B,iCAAiC,EAAE,MAAM,CAAC;CAC3C;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,yBAAyB;IACjC,MAAM,EAAE,cAAc,CAAC;IACvB,iCAAiC,EAAE,MAAM,CAAC;CAC3C;AAED,wBAAgB,sBAAsB,CACpC,iBAAiB,EAAE,MAAM,EACzB,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE,gBAAgB,EACtB,YAAY,EAAE,MAAM,GACnB,yBAAyB,CA6B3B;AAED,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,MAAM,EACpB,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE,gBAAgB,EACtB,2BAA2B,EAAE,MAAM,GAClC,cAAc,CA+BhB;AAqED,MAAM,WAAW,eAAgB,SAAQ,cAAc;IACrD,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,qBAAqB,EAAE,OAAO,CAAC;CAChC;AAED,wBAAgB,kBAAkB,CAChC,eAAe,EAAE,iBAAiB,EAClC,aAAa,EAAE,cAAc,
|
1
|
+
{"version":3,"file":"rebalanceValues.d.ts","sourceRoot":"","sources":["../../../src/services/rebalance/rebalanceValues.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAEnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAO1D,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,SAAS,EAAE,cAAc,CAAC;IAC1B,iCAAiC,EAAE,MAAM,CAAC;CAC3C;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,yBAAyB;IACjC,MAAM,EAAE,cAAc,CAAC;IACvB,iCAAiC,EAAE,MAAM,CAAC;CAC3C;AAED,wBAAgB,sBAAsB,CACpC,iBAAiB,EAAE,MAAM,EACzB,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE,gBAAgB,EACtB,YAAY,EAAE,MAAM,GACnB,yBAAyB,CA6B3B;AAED,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,MAAM,EACpB,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE,gBAAgB,EACtB,2BAA2B,EAAE,MAAM,GAClC,cAAc,CA+BhB;AAqED,MAAM,WAAW,eAAgB,SAAQ,cAAc;IACrD,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,qBAAqB,EAAE,OAAO,CAAC;CAChC;AAED,wBAAgB,kBAAkB,CAChC,eAAe,EAAE,iBAAiB,EAClC,aAAa,EAAE,cAAc,GAAG,SAAS,EACzC,QAAQ,EAAE,MAAM,EAChB,2BAA2B,CAAC,EAAE,MAAM,GACnC,eAAe,CA6CjB"}
|
@@ -101,7 +101,9 @@ function getRebalanceValues(solautoPosition, solautoFeeBps, flFeeBps, targetLiqU
|
|
101
101
|
const rebalanceDirection = getRebalanceDirection(solautoPosition, targetRate);
|
102
102
|
const position = getAdjustedPositionValues(solautoPosition, tokenBalanceChange);
|
103
103
|
const fees = {
|
104
|
-
solauto: solautoFeeBps
|
104
|
+
solauto: solautoFeeBps
|
105
|
+
? solautoFeeBps.getSolautoFeesBps(rebalanceDirection).total
|
106
|
+
: 0,
|
105
107
|
lpBorrow: solautoPosition.state().debt.borrowFeeBps,
|
106
108
|
flashLoan: flFeeBps,
|
107
109
|
};
|
@@ -4,6 +4,7 @@ export declare class SolautoFeesBps {
|
|
4
4
|
private targetLiqUtilizationRateBps;
|
5
5
|
private positionNetWorthUsd;
|
6
6
|
constructor(isReferred: boolean, targetLiqUtilizationRateBps: number | undefined, positionNetWorthUsd: number);
|
7
|
+
static create(isReferred: boolean, targetLiqUtilizationRateBps: number | undefined, netWorthUsd: number): SolautoFeesBps;
|
7
8
|
getSolautoFeesBps(rebalanceDirection: RebalanceDirection): {
|
8
9
|
solauto: number;
|
9
10
|
referrer: number;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"solautoFees.d.ts","sourceRoot":"","sources":["../../../src/services/rebalance/solautoFees.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,qBAAa,cAAc;IAEvB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,2BAA2B;IACnC,OAAO,CAAC,mBAAmB;gBAFnB,UAAU,EAAE,OAAO,EACnB,2BAA2B,EAAE,MAAM,GAAG,SAAS,EAC/C,mBAAmB,EAAE,MAAM;
|
1
|
+
{"version":3,"file":"solautoFees.d.ts","sourceRoot":"","sources":["../../../src/services/rebalance/solautoFees.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,qBAAa,cAAc;IAEvB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,2BAA2B;IACnC,OAAO,CAAC,mBAAmB;gBAFnB,UAAU,EAAE,OAAO,EACnB,2BAA2B,EAAE,MAAM,GAAG,SAAS,EAC/C,mBAAmB,EAAE,MAAM;IAGrC,MAAM,CAAC,MAAM,CACX,UAAU,EAAE,OAAO,EACnB,2BAA2B,EAAE,MAAM,GAAG,SAAS,EAC/C,WAAW,EAAE,MAAM;IASrB,iBAAiB,CAAC,kBAAkB,EAAE,kBAAkB;;;;;CAkDzD"}
|
@@ -9,6 +9,9 @@ class SolautoFeesBps {
|
|
9
9
|
this.targetLiqUtilizationRateBps = targetLiqUtilizationRateBps;
|
10
10
|
this.positionNetWorthUsd = positionNetWorthUsd;
|
11
11
|
}
|
12
|
+
static create(isReferred, targetLiqUtilizationRateBps, netWorthUsd) {
|
13
|
+
return new SolautoFeesBps(isReferred, targetLiqUtilizationRateBps, netWorthUsd);
|
14
|
+
}
|
12
15
|
getSolautoFeesBps(rebalanceDirection) {
|
13
16
|
const minSize = 10000; // Minimum position size
|
14
17
|
const maxSize = 250000; // Maximum position size
|
@@ -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
@@ -52,7 +52,7 @@ export class RebalanceTxBuilder {
|
|
52
52
|
private getRebalanceValues(flFee?: number) {
|
53
53
|
return getRebalanceValues(
|
54
54
|
this.client.pos,
|
55
|
-
|
55
|
+
SolautoFeesBps.create(
|
56
56
|
this.client.isReferred(),
|
57
57
|
this.targetLiqUtilizationRateBps,
|
58
58
|
this.client.pos.netWorthUsd()
|
@@ -183,7 +183,7 @@ export interface RebalanceValues extends DebtAdjustment {
|
|
183
183
|
|
184
184
|
export function getRebalanceValues(
|
185
185
|
solautoPosition: SolautoPositionEx,
|
186
|
-
solautoFeeBps: SolautoFeesBps,
|
186
|
+
solautoFeeBps: SolautoFeesBps | undefined,
|
187
187
|
flFeeBps: number,
|
188
188
|
targetLiqUtilizationRateBps?: number
|
189
189
|
): RebalanceValues {
|
@@ -203,7 +203,9 @@ export function getRebalanceValues(
|
|
203
203
|
);
|
204
204
|
|
205
205
|
const fees: RebalanceFeesBps = {
|
206
|
-
solauto: solautoFeeBps
|
206
|
+
solauto: solautoFeeBps
|
207
|
+
? solautoFeeBps.getSolautoFeesBps(rebalanceDirection).total
|
208
|
+
: 0,
|
207
209
|
lpBorrow: solautoPosition.state().debt.borrowFeeBps,
|
208
210
|
flashLoan: flFeeBps,
|
209
211
|
};
|
@@ -8,7 +8,19 @@ export class SolautoFeesBps {
|
|
8
8
|
private positionNetWorthUsd: number
|
9
9
|
) {}
|
10
10
|
|
11
|
-
|
11
|
+
static create(
|
12
|
+
isReferred: boolean,
|
13
|
+
targetLiqUtilizationRateBps: number | undefined,
|
14
|
+
netWorthUsd: number
|
15
|
+
) {
|
16
|
+
return new SolautoFeesBps(
|
17
|
+
isReferred,
|
18
|
+
targetLiqUtilizationRateBps,
|
19
|
+
netWorthUsd
|
20
|
+
);
|
21
|
+
}
|
22
|
+
|
23
|
+
getSolautoFeesBps(rebalanceDirection: RebalanceDirection) {
|
12
24
|
const minSize = 10_000; // Minimum position size
|
13
25
|
const maxSize = 250_000; // Maximum position size
|
14
26
|
const maxFeeBps = 50; // Fee in basis points for minSize (0.5%)
|
@@ -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
|
};
|