@sonarwatch/portfolio-core 0.14.2 → 0.14.4

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,14 @@
2
2
 
3
3
  This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
4
4
 
5
+ ## [0.14.4](https://github.com/sonarwatch/portfolio/compare/core-0.14.3...core-0.14.4) (2024-10-17)
6
+
7
+
8
+
9
+ ## [0.14.3](https://github.com/sonarwatch/portfolio/compare/core-0.14.2...core-0.14.3) (2024-10-16)
10
+
11
+
12
+
5
13
  ## [0.14.2](https://github.com/sonarwatch/portfolio/compare/core-0.14.1...core-0.14.2) (2024-10-15)
6
14
 
7
15
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sonarwatch/portfolio-core",
3
- "version": "0.14.2",
3
+ "version": "0.14.4",
4
4
  "type": "commonjs",
5
5
  "types": "./src/index.d.ts",
6
6
  "dependencies": {
@@ -0,0 +1,2 @@
1
+ import { PortfolioElement } from '../Portfolio';
2
+ export declare function getAddressesFromElement(element: PortfolioElement): string[];
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getAddressesFromElement = void 0;
4
+ const Portfolio_1 = require("../Portfolio");
5
+ const getAssetsFromElement_1 = require("./getAssetsFromElement");
6
+ const getAddressesFromAssets_1 = require("./getAddressesFromAssets");
7
+ function getAddressesFromElement(element) {
8
+ if (element.type === Portfolio_1.PortfolioElementType.leverage) {
9
+ return element.data.positions
10
+ .map((p) => p.address)
11
+ .filter((v) => v !== null);
12
+ }
13
+ const assets = (0, getAssetsFromElement_1.getAssetsFromElement)(element);
14
+ return (0, getAddressesFromAssets_1.getAddressesFromAssets)(assets);
15
+ }
16
+ exports.getAddressesFromElement = getAddressesFromElement;
17
+ //# sourceMappingURL=getAddressesFromElement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getAddressesFromElement.js","sourceRoot":"","sources":["../../../../../packages/core/src/utils/getAddressesFromElement.ts"],"names":[],"mappings":";;;AAAA,4CAAsE;AACtE,iEAA8D;AAC9D,qEAAkE;AAElE,SAAgB,uBAAuB,CAAC,OAAyB;IAC/D,IAAI,OAAO,CAAC,IAAI,KAAK,gCAAoB,CAAC,QAAQ,EAAE,CAAC;QACnD,OAAO,OAAO,CAAC,IAAI,CAAC,SAAS;aAC1B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;aACrB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAa,CAAC;IAC3C,CAAC;IACD,MAAM,MAAM,GAAG,IAAA,2CAAoB,EAAC,OAAO,CAAC,CAAC;IAC7C,OAAO,IAAA,+CAAsB,EAAC,MAAM,CAAC,CAAC;AACxC,CAAC;AARD,0DAQC"}
@@ -7,6 +7,7 @@ export declare function getElementLendingValues(params: {
7
7
  suppliedLtvs?: number[];
8
8
  borrowedWeights?: number[];
9
9
  unsettledAssets?: PortfolioAsset[];
10
+ leveraged?: boolean;
10
11
  }): {
11
12
  borrowedValue: UsdValue;
12
13
  suppliedValue: UsdValue;
@@ -21,16 +21,23 @@ function getHealthRatio(suppliedAssets, borrowedAssets, suppliedLtvs, borrowedWe
21
21
  return (suppliesWeightedValue - borrowsWeightedValue) / suppliesWeightedValue;
22
22
  }
23
23
  function getElementLendingValues(params) {
24
- const { suppliedAssets, borrowedAssets, rewardAssets, suppliedLtvs, borrowedWeights, unsettledAssets, } = params;
24
+ const { suppliedAssets, borrowedAssets, rewardAssets, suppliedLtvs, borrowedWeights, unsettledAssets, leveraged, } = params;
25
25
  const unsettledValue = (0, getUsdValueSumStrict_1.getUsdValueSumStrict)((unsettledAssets === null || unsettledAssets === void 0 ? void 0 : unsettledAssets.map((p) => p.value)) || []);
26
26
  const rewardValue = rewardAssets.reduce((acc, asset) => acc !== null && asset.value !== null ? acc + asset.value : null, 0);
27
27
  const suppliedValue = suppliedAssets.reduce((acc, asset) => acc !== null && asset.value !== null ? acc + asset.value : null, 0);
28
28
  const borrowedValue = borrowedAssets.reduce((acc, asset) => acc !== null && asset.value !== null ? acc + asset.value : null, 0);
29
29
  const healthRatio = getHealthRatio(suppliedAssets, borrowedAssets, suppliedLtvs, borrowedWeights);
30
30
  // Total value
31
- let value = suppliedValue !== null && borrowedValue !== null
32
- ? suppliedValue - borrowedValue
33
- : null;
31
+ let value;
32
+ if (leveraged && suppliedValue) {
33
+ value = suppliedValue;
34
+ }
35
+ else {
36
+ value =
37
+ suppliedValue !== null && borrowedValue !== null
38
+ ? suppliedValue - borrowedValue
39
+ : null;
40
+ }
34
41
  if (rewardValue !== null && value !== null)
35
42
  value += rewardValue;
36
43
  if (unsettledValue !== null && value !== null)
@@ -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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"}
@@ -21,6 +21,7 @@ export * from './getAddressSystemFromString';
21
21
  export * from './getAddressSystemFromNetworkId';
22
22
  export * from './getAssetsFromElement';
23
23
  export * from './getAssetsFromElements';
24
+ export * from './getAddressesFromElement';
24
25
  export * from './getCollectiblesFromAssets';
25
26
  export * from './getUsdValueSum';
26
27
  export * from './getUsdValueSumStrict';
@@ -37,6 +37,7 @@ __exportStar(require("./getAddressSystemFromString"), exports);
37
37
  __exportStar(require("./getAddressSystemFromNetworkId"), exports);
38
38
  __exportStar(require("./getAssetsFromElement"), exports);
39
39
  __exportStar(require("./getAssetsFromElements"), exports);
40
+ __exportStar(require("./getAddressesFromElement"), exports);
40
41
  __exportStar(require("./getCollectiblesFromAssets"), exports);
41
42
  __exportStar(require("./getUsdValueSum"), exports);
42
43
  __exportStar(require("./getUsdValueSumStrict"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/core/src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuB;AACvB,oDAAkC;AAClC,kEAAgD;AAChD,sDAAoC;AACpC,iDAA+B;AAC/B,sDAAoC;AACpC,kDAAgC;AAChC,uDAAqC;AACrC,4DAA0C;AAC1C,+DAA6C;AAC7C,gDAA8B;AAC9B,oDAAkC;AAClC,qDAAmC;AACnC,+DAA6C;AAC7C,2DAAyC;AACzC,uDAAqC;AACrC,mDAAiC;AACjC,wDAAsC;AACtC,2DAAyC;AACzC,+DAA6C;AAC7C,kEAAgD;AAChD,yDAAuC;AACvC,0DAAwC;AACxC,8DAA4C;AAC5C,mDAAiC;AACjC,yDAAuC;AACvC,mEAAiD;AACjD,+CAA6B;AAC7B,yDAAuC;AACvC,0DAAwC;AACxC,4DAA0C;AAC1C,wDAAsC;AACtC,2DAAyC;AACzC,sDAAoC;AACpC,uDAAqC;AACrC,uDAAqC;AACrC,sDAAoC;AACpC,uDAAqC;AACrC,8DAA4C;AAC5C,8DAA4C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/core/src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuB;AACvB,oDAAkC;AAClC,kEAAgD;AAChD,sDAAoC;AACpC,iDAA+B;AAC/B,sDAAoC;AACpC,kDAAgC;AAChC,uDAAqC;AACrC,4DAA0C;AAC1C,+DAA6C;AAC7C,gDAA8B;AAC9B,oDAAkC;AAClC,qDAAmC;AACnC,+DAA6C;AAC7C,2DAAyC;AACzC,uDAAqC;AACrC,mDAAiC;AACjC,wDAAsC;AACtC,2DAAyC;AACzC,+DAA6C;AAC7C,kEAAgD;AAChD,yDAAuC;AACvC,0DAAwC;AACxC,4DAA0C;AAC1C,8DAA4C;AAC5C,mDAAiC;AACjC,yDAAuC;AACvC,mEAAiD;AACjD,+CAA6B;AAC7B,yDAAuC;AACvC,0DAAwC;AACxC,4DAA0C;AAC1C,wDAAsC;AACtC,2DAAyC;AACzC,sDAAoC;AACpC,uDAAqC;AACrC,uDAAqC;AACrC,sDAAoC;AACpC,uDAAqC;AACrC,8DAA4C;AAC5C,8DAA4C"}