@haven-fi/solauto-sdk 1.0.630 → 1.0.632
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/rebalanceSwapManager.d.ts.map +1 -1
- package/dist/services/rebalance/rebalanceSwapManager.js +3 -3
- package/dist/services/rebalance/rebalanceTxBuilder.js +1 -1
- package/dist/solautoPosition/marginfiSolautoPositionEx.d.ts.map +1 -1
- package/dist/solautoPosition/marginfiSolautoPositionEx.js +1 -5
- package/dist/solautoPosition/solautoPositionEx.d.ts +2 -2
- package/dist/solautoPosition/solautoPositionEx.d.ts.map +1 -1
- package/dist/solautoPosition/solautoPositionEx.js +6 -3
- package/package.json +1 -1
- package/src/services/rebalance/rebalanceSwapManager.ts +3 -5
- package/src/services/rebalance/rebalanceTxBuilder.ts +1 -1
- package/src/solautoPosition/marginfiSolautoPositionEx.ts +2 -6
- package/src/solautoPosition/solautoPositionEx.ts +8 -4
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"rebalanceSwapManager.d.ts","sourceRoot":"","sources":["../../../src/services/rebalance/rebalanceSwapManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAkB,UAAU,EAAa,MAAM,SAAS,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAWpD,qBAAa,oBAAoB;IAQ7B,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,cAAc,CAAC;IACvB,OAAO,CAAC,2BAA2B,CAAC;IAV/B,UAAU,EAAG,UAAU,CAAC;IACxB,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IAE/B,OAAO,CAAC,cAAc,CAAkB;gBAG9B,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,eAAe,EACvB,cAAc,CAAC,EAAE,qBAAqB,YAAA,EACtC,2BAA2B,CAAC,EAAE,MAAM,YAAA;IAK9C,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,kCAAkC;
|
1
|
+
{"version":3,"file":"rebalanceSwapManager.d.ts","sourceRoot":"","sources":["../../../src/services/rebalance/rebalanceSwapManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAkB,UAAU,EAAa,MAAM,SAAS,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAWpD,qBAAa,oBAAoB;IAQ7B,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,cAAc,CAAC;IACvB,OAAO,CAAC,2BAA2B,CAAC;IAV/B,UAAU,EAAG,UAAU,CAAC;IACxB,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IAE/B,OAAO,CAAC,cAAc,CAAkB;gBAG9B,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,eAAe,EACvB,cAAc,CAAC,EAAE,qBAAqB,YAAA,EACtC,2BAA2B,CAAC,EAAE,MAAM,YAAA;IAK9C,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,kCAAkC;YA2B5B,mBAAmB;IAoCjC,OAAO,CAAC,WAAW;IAoBnB,OAAO,CAAC,mBAAmB;IAIrB,aAAa,CAAC,UAAU,EAAE,MAAM;IA+EhC,aAAa;;;;;;CAWpB"}
|
@@ -23,9 +23,9 @@ class RebalanceSwapManager {
|
|
23
23
|
let supplyUsd = this.client.pos.supplyUsd();
|
24
24
|
// TODO: add token balance change
|
25
25
|
let debtUsd = this.client.pos.debtUsd();
|
26
|
-
const outputToken =
|
27
|
-
? this.client.pos.
|
28
|
-
: this.client.pos.
|
26
|
+
const outputToken = this.isBoost()
|
27
|
+
? this.client.pos.supplyMint
|
28
|
+
: this.client.pos.debtMint;
|
29
29
|
const swapOutputUsd = swapOutputAmount
|
30
30
|
? (0, utils_1.fromBaseUnit)(swapOutputAmount, (0, utils_1.tokenInfo)(outputToken).decimals) *
|
31
31
|
((0, utils_1.safeGetPrice)(outputToken) ?? 0)
|
@@ -141,7 +141,7 @@ class RebalanceTxBuilder {
|
|
141
141
|
return false;
|
142
142
|
}
|
143
143
|
// Rebalance ix will already refresh internally if position is self managed
|
144
|
-
const utilizationRateDiff = Math.abs(await this.client.pos.utilizationRateBpsDrift());
|
144
|
+
const utilizationRateDiff = Math.abs(await this.client.pos.utilizationRateBpsDrift(this.priceType));
|
145
145
|
(0, utils_1.consoleLog)("Liq utilization rate diff:", utilizationRateDiff);
|
146
146
|
if (utilizationRateDiff >= 10) {
|
147
147
|
(0, utils_1.consoleLog)("Refreshing before rebalance");
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"marginfiSolautoPositionEx.d.ts","sourceRoot":"","sources":["../../src/solautoPosition/marginfiSolautoPositionEx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EACL,IAAI,EAIL,MAAM,iBAAiB,CAAC;AAYzB,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE1D,qBAAa,yBAA0B,SAAQ,iBAAiB;IAC9D,eAAe,kBAA4B;IAE3C,OAAO,CAAC,mBAAmB,CAAgC;IAC3D,OAAO,CAAC,UAAU,CAAqB;IACvC,OAAO,CAAC,QAAQ,CAAqB;IAExB,WAAW,IAAI,OAAO,CAAC,SAAS,CAAC;IAyBxC,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;IAgB3B,YAAY,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IASpC,wBAAwB,IAAI,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAa3D,IAAI,wBAAwB,IAAI,MAAM,CAKrC;IAEK,oBAAoB,CAAC,SAAS,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;
|
1
|
+
{"version":3,"file":"marginfiSolautoPositionEx.d.ts","sourceRoot":"","sources":["../../src/solautoPosition/marginfiSolautoPositionEx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EACL,IAAI,EAIL,MAAM,iBAAiB,CAAC;AAYzB,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE1D,qBAAa,yBAA0B,SAAQ,iBAAiB;IAC9D,eAAe,kBAA4B;IAE3C,OAAO,CAAC,mBAAmB,CAAgC;IAC3D,OAAO,CAAC,UAAU,CAAqB;IACvC,OAAO,CAAC,QAAQ,CAAqB;IAExB,WAAW,IAAI,OAAO,CAAC,SAAS,CAAC;IAyBxC,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;IAgB3B,YAAY,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IASpC,wBAAwB,IAAI,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAa3D,IAAI,wBAAwB,IAAI,MAAM,CAKrC;IAEK,oBAAoB,CAAC,SAAS,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;CAuBjE"}
|
@@ -66,11 +66,7 @@ class MarginfiSolautoPositionEx extends solautoPositionEx_1.SolautoPositionEx {
|
|
66
66
|
return;
|
67
67
|
}
|
68
68
|
const useDesignatedMint = !this._data.position || !this._data.selfManaged;
|
69
|
-
const resp = await (0, utils_1.getMarginfiAccountPositionState)(this.umi, { pk: this.lpUserAccount }, await this.lendingPool(), useDesignatedMint
|
70
|
-
? { mint: (0, umi_web3js_adapters_1.toWeb3JsPublicKey)(this.state.supply.mint) }
|
71
|
-
: undefined, useDesignatedMint
|
72
|
-
? { mint: (0, umi_web3js_adapters_1.toWeb3JsPublicKey)(this.state.debt.mint) }
|
73
|
-
: undefined, this.lpEnv, this.contextUpdates, priceType);
|
69
|
+
const resp = await (0, utils_1.getMarginfiAccountPositionState)(this.umi, { pk: this.lpUserAccount }, await this.lendingPool(), useDesignatedMint ? { mint: this.supplyMint } : undefined, useDesignatedMint ? { mint: this.debtMint } : undefined, this.lpEnv, this.contextUpdates, priceType);
|
74
70
|
if (resp) {
|
75
71
|
this.supplyBank = resp.supplyBank;
|
76
72
|
this.debtBank = resp.debtBank;
|
@@ -76,12 +76,12 @@ export declare abstract class SolautoPositionEx {
|
|
76
76
|
eligibleForRefresh(): boolean;
|
77
77
|
protected canRefreshPositionState(): boolean;
|
78
78
|
abstract refreshPositionState(priceType?: PriceType): Promise<void>;
|
79
|
-
utilizationRateBpsDrift(): Promise<number>;
|
79
|
+
utilizationRateBpsDrift(priceType?: PriceType): Promise<number>;
|
80
80
|
updateSupply(newSupplyUsd: number, supplyPrice?: number): void;
|
81
81
|
updateDebt(newDebtUsd: number, debtPrice?: number): void;
|
82
82
|
updateNetWorth(supplyPrice?: number): void;
|
83
83
|
updateLiqUtilizationRate(priceType?: PriceType): void;
|
84
|
-
updateWithLatestPrices(data
|
84
|
+
updateWithLatestPrices(data?: {
|
85
85
|
priceType?: PriceType;
|
86
86
|
supplyPrice?: number;
|
87
87
|
debtPrice?: number;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"solautoPositionEx.d.ts","sourceRoot":"","sources":["../../src/solautoPosition/solautoPositionEx.ts"],"names":[],"mappings":"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
|
1
|
+
{"version":3,"file":"solautoPositionEx.d.ts","sourceRoot":"","sources":["../../src/solautoPosition/solautoPositionEx.ts"],"names":[],"mappings":"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"}
|
@@ -178,9 +178,9 @@ class SolautoPositionEx {
|
|
178
178
|
}
|
179
179
|
return true;
|
180
180
|
}
|
181
|
-
async utilizationRateBpsDrift() {
|
182
|
-
const supplyPrice = (0, utils_1.safeGetPrice)(this.
|
183
|
-
const debtPrice = (0, utils_1.safeGetPrice)(this.
|
181
|
+
async utilizationRateBpsDrift(priceType) {
|
182
|
+
const supplyPrice = (0, utils_1.safeGetPrice)(this.supplyMint, priceType) ?? 0;
|
183
|
+
const debtPrice = (0, utils_1.safeGetPrice)(this.debtMint, priceType) ?? 0;
|
184
184
|
const oldState = await (0, utils_1.positionStateWithLatestPrices)(this.firstState, supplyPrice, debtPrice);
|
185
185
|
const newState = await (0, utils_1.positionStateWithLatestPrices)(this.state, supplyPrice, debtPrice);
|
186
186
|
return newState.liqUtilizationRateBps - oldState.liqUtilizationRateBps;
|
@@ -205,6 +205,9 @@ class SolautoPositionEx {
|
|
205
205
|
this._data.state.liqUtilizationRateBps = (0, utils_1.getLiqUtilzationRateBps)(this.supplyUsd(priceType), this.debtUsd(priceType), this.state.liqThresholdBps);
|
206
206
|
}
|
207
207
|
async updateWithLatestPrices(data) {
|
208
|
+
if (!data) {
|
209
|
+
data = {};
|
210
|
+
}
|
208
211
|
if (!data.supplyPrice || !data.debtPrice) {
|
209
212
|
[data.supplyPrice, data.debtPrice] = await (0, utils_1.fetchTokenPrices)([this.supplyMint, this.debtMint], data.priceType);
|
210
213
|
}
|
package/package.json
CHANGED
@@ -43,11 +43,9 @@ export class RebalanceSwapManager {
|
|
43
43
|
// TODO: add token balance change
|
44
44
|
let debtUsd = this.client.pos.debtUsd();
|
45
45
|
|
46
|
-
const outputToken =
|
47
|
-
this.
|
48
|
-
|
49
|
-
: this.client.pos.state.debt.mint
|
50
|
-
);
|
46
|
+
const outputToken = this.isBoost()
|
47
|
+
? this.client.pos.supplyMint
|
48
|
+
: this.client.pos.debtMint;
|
51
49
|
const swapOutputUsd = swapOutputAmount
|
52
50
|
? fromBaseUnit(swapOutputAmount, tokenInfo(outputToken).decimals) *
|
53
51
|
(safeGetPrice(outputToken) ?? 0)
|
@@ -259,7 +259,7 @@ export class RebalanceTxBuilder {
|
|
259
259
|
// Rebalance ix will already refresh internally if position is self managed
|
260
260
|
|
261
261
|
const utilizationRateDiff = Math.abs(
|
262
|
-
await this.client.pos.utilizationRateBpsDrift()
|
262
|
+
await this.client.pos.utilizationRateBpsDrift(this.priceType)
|
263
263
|
);
|
264
264
|
consoleLog("Liq utilization rate diff:", utilizationRateDiff);
|
265
265
|
|
@@ -106,12 +106,8 @@ export class MarginfiSolautoPositionEx extends SolautoPositionEx {
|
|
106
106
|
this.umi,
|
107
107
|
{ pk: this.lpUserAccount },
|
108
108
|
await this.lendingPool(),
|
109
|
-
useDesignatedMint
|
110
|
-
|
111
|
-
: undefined,
|
112
|
-
useDesignatedMint
|
113
|
-
? { mint: toWeb3JsPublicKey(this.state.debt.mint) }
|
114
|
-
: undefined,
|
109
|
+
useDesignatedMint ? { mint: this.supplyMint } : undefined,
|
110
|
+
useDesignatedMint ? { mint: this.debtMint } : undefined,
|
115
111
|
this.lpEnv,
|
116
112
|
this.contextUpdates,
|
117
113
|
priceType
|
@@ -322,9 +322,9 @@ export abstract class SolautoPositionEx {
|
|
322
322
|
|
323
323
|
abstract refreshPositionState(priceType?: PriceType): Promise<void>;
|
324
324
|
|
325
|
-
async utilizationRateBpsDrift() {
|
326
|
-
const supplyPrice = safeGetPrice(this.
|
327
|
-
const debtPrice = safeGetPrice(this.
|
325
|
+
async utilizationRateBpsDrift(priceType?: PriceType) {
|
326
|
+
const supplyPrice = safeGetPrice(this.supplyMint, priceType) ?? 0;
|
327
|
+
const debtPrice = safeGetPrice(this.debtMint, priceType) ?? 0;
|
328
328
|
const oldState = await positionStateWithLatestPrices(
|
329
329
|
this.firstState,
|
330
330
|
supplyPrice,
|
@@ -375,11 +375,15 @@ export abstract class SolautoPositionEx {
|
|
375
375
|
);
|
376
376
|
}
|
377
377
|
|
378
|
-
async updateWithLatestPrices(data
|
378
|
+
async updateWithLatestPrices(data?: {
|
379
379
|
priceType?: PriceType;
|
380
380
|
supplyPrice?: number;
|
381
381
|
debtPrice?: number;
|
382
382
|
}) {
|
383
|
+
if (!data) {
|
384
|
+
data = {};
|
385
|
+
}
|
386
|
+
|
383
387
|
if (!data.supplyPrice || !data.debtPrice) {
|
384
388
|
[data.supplyPrice, data.debtPrice] = await fetchTokenPrices(
|
385
389
|
[this.supplyMint, this.debtMint],
|