@sonarwatch/portfolio-core 0.16.73 → 0.16.75

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/CHANGELOG.md CHANGED
@@ -2,6 +2,24 @@
2
2
 
3
3
  This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
4
4
 
5
+ ## [0.16.75](https://github.com/sonarwatch/portfolio/compare/core-0.16.74...core-0.16.75) (2025-10-14)
6
+
7
+
8
+ ### Features
9
+
10
+ * add optional LP token fields to PortfolioLiquidity type ([4a31ef7](https://github.com/sonarwatch/portfolio/commit/4a31ef7532a9999431243f0fe6561f3cba999550))
11
+
12
+
13
+
14
+ ## [0.16.74](https://github.com/sonarwatch/portfolio/compare/core-0.16.73...core-0.16.74) (2025-10-08)
15
+
16
+
17
+ ### Bug Fixes
18
+
19
+ * **plugins:** borrowlend value to 0 if negative ([f2b34f4](https://github.com/sonarwatch/portfolio/commit/f2b34f45576ca93761cf97ef8c168ad1c445689b))
20
+
21
+
22
+
5
23
  ## [0.16.73](https://github.com/sonarwatch/portfolio/compare/core-0.16.72...core-0.16.73) (2025-10-02)
6
24
 
7
25
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sonarwatch/portfolio-core",
3
- "version": "0.16.73",
3
+ "version": "0.16.75",
4
4
  "type": "commonjs",
5
5
  "types": "./src/index.d.ts",
6
6
  "repository": {
@@ -228,6 +228,13 @@ export type PortfolioElementTrade = PortfolioElementCommon & {
228
228
  type: 'trade';
229
229
  data: PortfolioElementTradeData;
230
230
  };
231
+ /**
232
+ * Represents the LP of a liquidity.
233
+ */
234
+ export type LiquidityLp = {
235
+ mint: string;
236
+ amount: number;
237
+ };
231
238
  /**
232
239
  * Represents a liquidity.
233
240
  */
@@ -237,6 +244,7 @@ export type PortfolioLiquidity = {
237
244
  rewardAssets: PortfolioAsset[];
238
245
  rewardAssetsValue: UsdValue;
239
246
  value: UsdValue;
247
+ lp?: LiquidityLp;
240
248
  yields: Yield[];
241
249
  name?: string;
242
250
  contract?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"Portfolio.js","sourceRoot":"","sources":["../../../../packages/core/src/Portfolio.ts"],"names":[],"mappings":";;;AAIA;;GAEG;AACU,QAAA,kBAAkB,GAAG;IAChC,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,aAAa;CAClB,CAAC;AAsDX;;GAEG;AACU,QAAA,oBAAoB,GAAG;IAClC,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,WAAW;IACtB,UAAU,EAAE,YAAY;IACxB,QAAQ,EAAE,UAAU;IACpB,KAAK,EAAE,OAAO;CACN,CAAC;AA0PX,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,6BAAa,CAAA;IACb,+BAAe,CAAA;AACjB,CAAC,EAHW,YAAY,4BAAZ,YAAY,QAGvB"}
1
+ {"version":3,"file":"Portfolio.js","sourceRoot":"","sources":["../../../../packages/core/src/Portfolio.ts"],"names":[],"mappings":";;;AAIA;;GAEG;AACU,QAAA,kBAAkB,GAAG;IAChC,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,aAAa;CAClB,CAAC;AAsDX;;GAEG;AACU,QAAA,oBAAoB,GAAG;IAClC,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,WAAW;IACtB,UAAU,EAAE,YAAY;IACxB,QAAQ,EAAE,UAAU;IACpB,KAAK,EAAE,OAAO;CACN,CAAC;AAmQX,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,6BAAa,CAAA;IACb,+BAAe,CAAA;AACjB,CAAC,EAHW,YAAY,4BAAZ,YAAY,QAGvB"}
@@ -19,7 +19,10 @@ function getHealthRatio(suppliedAssets, borrowedAssets, suppliedLtvs, borrowedWe
19
19
  const borrowsWeightedValue = borrowedAssets.reduce((acc, asset, index) => acc !== null && asset.value !== null
20
20
  ? acc + asset.value * fBorrowedWeights[index]
21
21
  : 0, 0);
22
- return (suppliesWeightedValue - borrowsWeightedValue) / suppliesWeightedValue;
22
+ const healthRatio = (suppliesWeightedValue - borrowsWeightedValue) / suppliesWeightedValue;
23
+ return !Number.isNaN(healthRatio) && Number.isFinite(healthRatio)
24
+ ? healthRatio
25
+ : null;
23
26
  }
24
27
  function getElementLendingValues(params) {
25
28
  const { suppliedAssets, borrowedAssets, rewardAssets, suppliedLtvs, borrowedWeights, unsettledAssets, } = params;
@@ -30,7 +33,7 @@ function getElementLendingValues(params) {
30
33
  const healthRatio = getHealthRatio(suppliedAssets, borrowedAssets, suppliedLtvs, borrowedWeights);
31
34
  // Total value
32
35
  let value = suppliedValue !== null && borrowedValue !== null
33
- ? suppliedValue - borrowedValue
36
+ ? Math.max(suppliedValue - borrowedValue, 0)
34
37
  : null;
35
38
  if (rewardValue !== null && value !== null)
36
39
  value += rewardValue;
@@ -1 +1 @@
1
- {"version":3,"file":"getElementLendingValues.js","sourceRoot":"","sources":["../../../../../packages/core/src/utils/getElementLendingValues.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getElementLendingValues.js","sourceRoot":"","sources":["../../../../../packages/core/src/utils/getElementLendingValues.ts"],"names":[],"mappings":"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"}