@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.
@@ -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, new solautoFees_1.SolautoFeesBps(this.client.isReferred(), this.targetLiqUtilizationRateBps, this.client.pos.netWorthUsd()), flFee ?? 0, this.targetLiqUtilizationRateBps);
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,EAC7B,QAAQ,EAAE,MAAM,EAChB,2BAA2B,CAAC,EAAE,MAAM,GACnC,eAAe,CA2CjB"}
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.getSolautoFeesBps(rebalanceDirection).total,
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;IAG9B,iBAAiB,CAAC,kBAAkB,EAAE,kBAAkB;;;;;CAkDhE"}
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@haven-fi/solauto-sdk",
3
- "version": "1.0.591",
3
+ "version": "1.0.592",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "description": "Typescript SDK for the Solauto program on the Solana blockchain",
@@ -52,7 +52,7 @@ export class RebalanceTxBuilder {
52
52
  private getRebalanceValues(flFee?: number) {
53
53
  return getRebalanceValues(
54
54
  this.client.pos,
55
- new SolautoFeesBps(
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.getSolautoFeesBps(rebalanceDirection).total,
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
- public getSolautoFeesBps(rebalanceDirection: RebalanceDirection) {
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%)
@@ -38,7 +38,7 @@ function assertAccurateRebalance(
38
38
  ) {
39
39
  const { endResult } = getRebalanceValues(
40
40
  client.pos,
41
- new SolautoFeesBps(
41
+ SolautoFeesBps.create(
42
42
  false,
43
43
  targetLiqUtilizationRateBps,
44
44
  client.pos.netWorthUsd()