@haven-fi/solauto-sdk 1.0.591 → 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/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/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
|
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%)
|