@haven-fi/solauto-sdk 1.0.637 → 1.0.639
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/solautoPosition/marginfiSolautoPositionEx.js +1 -1
- package/dist/solautoPosition/solautoPositionEx.d.ts +1 -6
- package/dist/solautoPosition/solautoPositionEx.d.ts.map +1 -1
- package/dist/solautoPosition/solautoPositionEx.js +3 -17
- package/package.json +1 -1
- package/src/services/rebalance/rebalanceTxBuilder.ts +1 -1
- package/src/solautoPosition/marginfiSolautoPositionEx.ts +1 -1
- package/src/solautoPosition/solautoPositionEx.ts +7 -31
@@ -21,7 +21,7 @@ class RebalanceTxBuilder {
|
|
21
21
|
this.client.pos.eligibleForRebalance()));
|
22
22
|
}
|
23
23
|
getRebalanceValues(flFee) {
|
24
|
-
return (0, rebalanceValues_1.getRebalanceValues)(this.client.pos, this.priceType, this.targetLiqUtilizationRateBps, solautoFees_1.SolautoFeesBps.create(this.client.isReferred(), this.targetLiqUtilizationRateBps, this.client.pos.netWorthUsd), flFee ?? 0);
|
24
|
+
return (0, rebalanceValues_1.getRebalanceValues)(this.client.pos, this.priceType, this.targetLiqUtilizationRateBps, solautoFees_1.SolautoFeesBps.create(this.client.isReferred(), this.targetLiqUtilizationRateBps, this.client.pos.netWorthUsd(this.priceType)), flFee ?? 0);
|
25
25
|
}
|
26
26
|
getFlLiquiditySource(supplyLiquidityAvailable, debtLiquidityAvailable) {
|
27
27
|
const debtAdjustmentUsd = Math.abs(this.values.debtAdjustmentUsd);
|
@@ -59,7 +59,7 @@ class MarginfiSolautoPositionEx extends solautoPositionEx_1.SolautoPositionEx {
|
|
59
59
|
return [maxLtvBps, liqThresholdBps];
|
60
60
|
}
|
61
61
|
get supplyLiquidityAvailable() {
|
62
|
-
return (0, utils_1.fromBaseUnit)((0, utils_1.getBankLiquidityAvailableBaseUnit)(this.supplyBank, false), this.
|
62
|
+
return (0, utils_1.fromBaseUnit)((0, utils_1.getBankLiquidityAvailableBaseUnit)(this.supplyBank, false), this.supplyMintInfo.decimals);
|
63
63
|
}
|
64
64
|
async refreshPositionState(priceType) {
|
65
65
|
if (!this.canRefreshPositionState()) {
|
@@ -60,7 +60,7 @@ export declare abstract class SolautoPositionEx {
|
|
60
60
|
get repayFromBps(): number;
|
61
61
|
get maxRepayFromBps(): number;
|
62
62
|
get netWorth(): number;
|
63
|
-
|
63
|
+
netWorthUsd(priceType?: PriceType): number;
|
64
64
|
get totalSupply(): number;
|
65
65
|
supplyUsd(priceType?: PriceType): number;
|
66
66
|
protected supplyPrice(priceType?: PriceType): number | undefined;
|
@@ -87,11 +87,6 @@ export declare abstract class SolautoPositionEx {
|
|
87
87
|
updateDebtPrice(price: number): void;
|
88
88
|
updateNetWorth(supplyPrice?: number): void;
|
89
89
|
updateLiqUtilizationRate(supplyUsd?: number, debtUsd?: number, priceType?: PriceType): void;
|
90
|
-
updateWithLatestPrices(data?: {
|
91
|
-
priceType?: PriceType;
|
92
|
-
supplyPrice?: number;
|
93
|
-
debtPrice?: number;
|
94
|
-
}): Promise<void>;
|
95
90
|
simulateRebalance(unixTime: number, supplyPrice: number, debtPrice: number, targetLiqUtilizationRateBps?: number): undefined;
|
96
91
|
refetchPositionData(): Promise<void>;
|
97
92
|
}
|
@@ -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,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAK/C,OAAO,EACL,WAAW,EAEX,eAAe,EACf,aAAa,EACb,SAAS,EACT,eAAe,EACf,yBAAyB,EAC1B,MAAM,cAAc,CAAC;AACtB,OAAO,EAQL,cAAc,EAiBf,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAMvD,OAAO,EAAqC,SAAS,EAAE,MAAM,cAAc,CAAC;AAE5E,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;IAC1B,KAAK,CAAC,EAAE,UAAU,CAAC;CACpB;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;IACjB,SAAS,CAAC,cAAc,CAAC,EAAE,cAAc,CAAC;IAEnC,SAAS,EAAG,SAAS,CAAC;IACtB,eAAe,EAAG,eAAe,CAAC;IACzC,SAAS,CAAC,KAAK,EAAG,qBAAqB,CAAC;IACxC,SAAS,CAAC,EAAE,CAAC,EAAE,SAAS,CAAa;IACrC,SAAS,CAAC,KAAK,EAAG,UAAU,CAAC;IACtB,aAAa,CAAC,EAAE,SAAS,CAAa;IAE7C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiB;IAC5C,SAAS,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAChC,SAAS,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;gBAElB,IAAI,EAAE,cAAc;IAiBhC,QAAQ,CAAC,WAAW,IAAI,OAAO,CAAC,SAAS,CAAC;IAE1C,IAAI,MAAM,YAET;IAED,IAAI,SAAS,cAIZ;IAED,IAAI,UAAU,uBAEb;IAED,IAAI,YAAY,oDAEf;IAED,IAAI,YAAY,WAEf;IAED,qBAAqB,CAAC,SAAS,CAAC,EAAE,SAAS,GAAG,MAAM;IAQpD,SAAS,KAAK,IAAI,IAAI,qBAAqB,CAE1C;IAED,IAAI,KAAK,IAAI,aAAa,CAEzB;IAED,IAAI,QAAQ,IAAI,yBAAyB,GAAG,SAAS,CAEpD;IAED,cAAc,CAAC,QAAQ,EAAE,yBAAyB;IAIlD,IAAI,GAAG,IAAI,WAAW,GAAG,SAAS,CAEjC;IAED,SAAS,CAAC,GAAG,EAAE,WAAW;IAI1B,IAAI,UAAU,IAAI,SAAS,CAE1B;IAED,IAAI,cAAc,IAAI,SAAS,CAE9B;IAED,IAAI,QAAQ,IAAI,SAAS,CAExB;IAED,IAAI,YAAY,IAAI,SAAS,CAE5B;IAED,IAAI,UAAU,WAEb;IAED,IAAI,aAAa,WAEhB;IAED,IAAI,YAAY,WAEf;IAED,IAAI,UAAU,WAEb;IAED,IAAI,aAAa,WAEhB;IAED,IAAI,YAAY,WAEf;IAED,IAAI,eAAe,WAElB;IAED,IAAI,QAAQ,WAEX;IAED,
|
1
|
+
{"version":3,"file":"solautoPositionEx.d.ts","sourceRoot":"","sources":["../../src/solautoPosition/solautoPositionEx.ts"],"names":[],"mappings":"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"}
|
@@ -98,8 +98,8 @@ class SolautoPositionEx {
|
|
98
98
|
get netWorth() {
|
99
99
|
return (0, utils_1.calcNetWorth)(this.state);
|
100
100
|
}
|
101
|
-
|
102
|
-
return (
|
101
|
+
netWorthUsd(priceType) {
|
102
|
+
return this.supplyUsd(priceType) - this.debtUsd(priceType);
|
103
103
|
}
|
104
104
|
get totalSupply() {
|
105
105
|
return (0, utils_1.calcTotalSupply)(this.state);
|
@@ -216,23 +216,9 @@ class SolautoPositionEx {
|
|
216
216
|
updateLiqUtilizationRate(supplyUsd, debtUsd, priceType) {
|
217
217
|
this._data.state.liqUtilizationRateBps = (0, utils_1.getLiqUtilzationRateBps)(supplyUsd ?? this.supplyUsd(priceType), debtUsd ?? this.debtUsd(priceType), this.state.liqThresholdBps);
|
218
218
|
}
|
219
|
-
async updateWithLatestPrices(data) {
|
220
|
-
if (!data) {
|
221
|
-
data = {};
|
222
|
-
}
|
223
|
-
if (!data.supplyPrice || !data.debtPrice) {
|
224
|
-
[data.supplyPrice, data.debtPrice] = await (0, utils_1.fetchTokenPrices)([this.supplyMint, this.debtMint], data.priceType);
|
225
|
-
}
|
226
|
-
const supplyUsd = this.totalSupply * data.supplyPrice;
|
227
|
-
const debtUsd = this.totalDebt * data.debtPrice;
|
228
|
-
this.updateSupply(supplyUsd, data.supplyPrice);
|
229
|
-
this.updateDebt(debtUsd, data.debtPrice);
|
230
|
-
this.updateNetWorth(data.supplyPrice);
|
231
|
-
this.updateLiqUtilizationRate(this.totalSupply * data.supplyPrice, this.totalDebt * data.debtPrice);
|
232
|
-
}
|
233
219
|
simulateRebalance(unixTime, supplyPrice, debtPrice, targetLiqUtilizationRateBps) {
|
234
220
|
this._data.state.lastRefreshed = BigInt(unixTime);
|
235
|
-
const rebalance = (0, rebalance_1.getRebalanceValues)(this, generated_1.PriceType.Realtime, targetLiqUtilizationRateBps, rebalance_1.SolautoFeesBps.create(true, targetLiqUtilizationRateBps, this.netWorthUsd));
|
221
|
+
const rebalance = (0, rebalance_1.getRebalanceValues)(this, generated_1.PriceType.Realtime, targetLiqUtilizationRateBps, rebalance_1.SolautoFeesBps.create(true, targetLiqUtilizationRateBps, this.netWorthUsd()));
|
236
222
|
if (!rebalance) {
|
237
223
|
return undefined;
|
238
224
|
}
|
package/package.json
CHANGED
@@ -92,7 +92,7 @@ export class MarginfiSolautoPositionEx extends SolautoPositionEx {
|
|
92
92
|
get supplyLiquidityAvailable(): number {
|
93
93
|
return fromBaseUnit(
|
94
94
|
getBankLiquidityAvailableBaseUnit(this.supplyBank, false),
|
95
|
-
this.
|
95
|
+
this.supplyMintInfo.decimals
|
96
96
|
);
|
97
97
|
}
|
98
98
|
|
@@ -204,8 +204,8 @@ export abstract class SolautoPositionEx {
|
|
204
204
|
return calcNetWorth(this.state);
|
205
205
|
}
|
206
206
|
|
207
|
-
|
208
|
-
return
|
207
|
+
netWorthUsd(priceType?: PriceType) {
|
208
|
+
return this.supplyUsd(priceType) - this.debtUsd(priceType);
|
209
209
|
}
|
210
210
|
|
211
211
|
get totalSupply() {
|
@@ -398,34 +398,6 @@ export abstract class SolautoPositionEx {
|
|
398
398
|
);
|
399
399
|
}
|
400
400
|
|
401
|
-
async updateWithLatestPrices(data?: {
|
402
|
-
priceType?: PriceType;
|
403
|
-
supplyPrice?: number;
|
404
|
-
debtPrice?: number;
|
405
|
-
}) {
|
406
|
-
if (!data) {
|
407
|
-
data = {};
|
408
|
-
}
|
409
|
-
|
410
|
-
if (!data.supplyPrice || !data.debtPrice) {
|
411
|
-
[data.supplyPrice, data.debtPrice] = await fetchTokenPrices(
|
412
|
-
[this.supplyMint, this.debtMint],
|
413
|
-
data.priceType
|
414
|
-
);
|
415
|
-
}
|
416
|
-
|
417
|
-
const supplyUsd = this.totalSupply * data.supplyPrice;
|
418
|
-
const debtUsd = this.totalDebt * data.debtPrice;
|
419
|
-
|
420
|
-
this.updateSupply(supplyUsd, data.supplyPrice);
|
421
|
-
this.updateDebt(debtUsd, data.debtPrice);
|
422
|
-
this.updateNetWorth(data.supplyPrice);
|
423
|
-
this.updateLiqUtilizationRate(
|
424
|
-
this.totalSupply * data.supplyPrice,
|
425
|
-
this.totalDebt * data.debtPrice
|
426
|
-
);
|
427
|
-
}
|
428
|
-
|
429
401
|
simulateRebalance(
|
430
402
|
unixTime: number,
|
431
403
|
supplyPrice: number,
|
@@ -437,7 +409,11 @@ export abstract class SolautoPositionEx {
|
|
437
409
|
this,
|
438
410
|
PriceType.Realtime,
|
439
411
|
targetLiqUtilizationRateBps,
|
440
|
-
SolautoFeesBps.create(
|
412
|
+
SolautoFeesBps.create(
|
413
|
+
true,
|
414
|
+
targetLiqUtilizationRateBps,
|
415
|
+
this.netWorthUsd()
|
416
|
+
)
|
441
417
|
);
|
442
418
|
if (!rebalance) {
|
443
419
|
return undefined;
|