@sonarwatch/portfolio-core 0.15.11 → 0.15.12
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 +4 -0
- package/package.json +1 -1
- package/src/utils/TokenPriceMap.d.ts +9 -0
- package/src/utils/TokenPriceMap.js +21 -0
- package/src/utils/TokenPriceMap.js.map +1 -0
- package/src/utils/applyPricesToElements.d.ts +4 -0
- package/src/utils/applyPricesToElements.js +26 -0
- package/src/utils/applyPricesToElements.js.map +1 -0
- package/src/utils/index.d.ts +2 -0
- package/src/utils/index.js +2 -0
- package/src/utils/index.js.map +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
|
|
4
4
|
|
|
5
|
+
## [0.15.12](https://github.com/sonarwatch/portfolio/compare/core-0.15.11...core-0.15.12) (2025-06-03)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
5
9
|
## [0.15.11](https://github.com/sonarwatch/portfolio/compare/core-0.15.10...core-0.15.11) (2025-06-02)
|
|
6
10
|
|
|
7
11
|
|
package/package.json
CHANGED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { NetworkIdType } from '../Network';
|
|
2
|
+
import { TokenPrice } from '../TokenPrice';
|
|
3
|
+
export declare class TokenPriceMap extends Map<string, TokenPrice> {
|
|
4
|
+
readonly networkId: NetworkIdType;
|
|
5
|
+
constructor(networkId: NetworkIdType, initialEntries?: [string, TokenPrice][]);
|
|
6
|
+
private formatKey;
|
|
7
|
+
get(address: string): TokenPrice | undefined;
|
|
8
|
+
has(address: string): boolean;
|
|
9
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TokenPriceMap = void 0;
|
|
4
|
+
const formatTokenAddress_1 = require("./formatTokenAddress");
|
|
5
|
+
class TokenPriceMap extends Map {
|
|
6
|
+
constructor(networkId, initialEntries) {
|
|
7
|
+
super(initialEntries);
|
|
8
|
+
this.networkId = networkId;
|
|
9
|
+
}
|
|
10
|
+
formatKey(key) {
|
|
11
|
+
return (0, formatTokenAddress_1.formatTokenAddress)(key, this.networkId);
|
|
12
|
+
}
|
|
13
|
+
get(address) {
|
|
14
|
+
return super.get(this.formatKey(address));
|
|
15
|
+
}
|
|
16
|
+
has(address) {
|
|
17
|
+
return super.has(this.formatKey(address));
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
exports.TokenPriceMap = TokenPriceMap;
|
|
21
|
+
//# sourceMappingURL=TokenPriceMap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TokenPriceMap.js","sourceRoot":"","sources":["../../../../../packages/core/src/utils/TokenPriceMap.ts"],"names":[],"mappings":";;;AAEA,6DAA0D;AAE1D,MAAa,aAAc,SAAQ,GAAuB;IAGxD,YACE,SAAwB,EACxB,cAAuC;QAEvC,KAAK,CAAC,cAAc,CAAC,CAAC;QACtB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAEO,SAAS,CAAC,GAAW;QAC3B,OAAO,IAAA,uCAAkB,EAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACjD,CAAC;IAEQ,GAAG,CAAC,OAAe;QAC1B,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5C,CAAC;IAEQ,GAAG,CAAC,OAAe;QAC1B,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5C,CAAC;CACF;AAtBD,sCAsBC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { PortfolioElement } from '../Portfolio';
|
|
2
|
+
import { TokenPriceMap } from './TokenPriceMap';
|
|
3
|
+
export declare const applyPricesToElements: (elements: PortfolioElement[], tokenPrices: TokenPriceMap) => PortfolioElement[];
|
|
4
|
+
export declare const applyPricesToElement: (element: PortfolioElement, tokenPrices: TokenPriceMap) => PortfolioElement;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.applyPricesToElement = exports.applyPricesToElements = void 0;
|
|
4
|
+
const Portfolio_1 = require("../Portfolio");
|
|
5
|
+
const applyPricesToElements = (elements, tokenPrices) => {
|
|
6
|
+
if (!tokenPrices || !Object.keys(tokenPrices).length)
|
|
7
|
+
return elements;
|
|
8
|
+
return elements.map((element) => (0, exports.applyPricesToElement)(element, tokenPrices));
|
|
9
|
+
};
|
|
10
|
+
exports.applyPricesToElements = applyPricesToElements;
|
|
11
|
+
const applyPricesToElement = (element, tokenPrices) => {
|
|
12
|
+
if (element.type === Portfolio_1.PortfolioElementType.multiple) {
|
|
13
|
+
return Object.assign(Object.assign({}, element), { data: Object.assign(Object.assign({}, element.data), { assets: element.data.assets.map((asset) => {
|
|
14
|
+
if (asset.type === Portfolio_1.PortfolioAssetType.token) {
|
|
15
|
+
const tokenPrice = tokenPrices.get(asset.data.address);
|
|
16
|
+
if (!tokenPrice)
|
|
17
|
+
return asset;
|
|
18
|
+
return Object.assign(Object.assign({}, asset), { data: Object.assign(Object.assign({}, asset.data), { price: tokenPrice.price }), value: tokenPrice.price * asset.data.amount });
|
|
19
|
+
}
|
|
20
|
+
return asset;
|
|
21
|
+
}), value: element.data.assets.reduce((acc, asset) => acc + (asset.value || 0), 0) }) });
|
|
22
|
+
}
|
|
23
|
+
return element;
|
|
24
|
+
};
|
|
25
|
+
exports.applyPricesToElement = applyPricesToElement;
|
|
26
|
+
//# sourceMappingURL=applyPricesToElements.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"applyPricesToElements.js","sourceRoot":"","sources":["../../../../../packages/core/src/utils/applyPricesToElements.ts"],"names":[],"mappings":";;;AAAA,4CAKsB;AAGf,MAAM,qBAAqB,GAAG,CACnC,QAA4B,EAC5B,WAA0B,EACN,EAAE;IACtB,IAAI,CAAC,WAAW,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM;QAAE,OAAO,QAAQ,CAAC;IACtE,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAA,4BAAoB,EAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC;AAC/E,CAAC,CAAC;AANW,QAAA,qBAAqB,yBAMhC;AAEK,MAAM,oBAAoB,GAAG,CAClC,OAAyB,EACzB,WAA0B,EACR,EAAE;IACpB,IAAI,OAAO,CAAC,IAAI,KAAK,gCAAoB,CAAC,QAAQ,EAAE,CAAC;QACnD,OAAO,gCACF,OAAO,KACV,IAAI,kCACC,OAAO,CAAC,IAAI,KACf,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;oBACxC,IAAI,KAAK,CAAC,IAAI,KAAK,8BAAkB,CAAC,KAAK,EAAE,CAAC;wBAC5C,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;wBACvD,IAAI,CAAC,UAAU;4BAAE,OAAO,KAAK,CAAC;wBAE9B,uCACK,KAAK,KACR,IAAI,kCACC,KAAK,CAAC,IAAI,KACb,KAAK,EAAE,UAAU,CAAC,KAAK,KAEzB,KAAK,EAAE,UAAU,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,IAC3C;oBACJ,CAAC;oBACD,OAAO,KAAK,CAAC;gBACf,CAAC,CAAC,EACF,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAC/B,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC,EACxC,CAAC,CACF,MAEwB,CAAC;IAChC,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAlCW,QAAA,oBAAoB,wBAkC/B"}
|
package/src/utils/index.d.ts
CHANGED
package/src/utils/index.js
CHANGED
|
@@ -61,4 +61,6 @@ __exportStar(require("./healthRatioToHealthFactor"), exports);
|
|
|
61
61
|
__exportStar(require("./promiseTimeout"), exports);
|
|
62
62
|
__exportStar(require("./isPortfolioElement"), exports);
|
|
63
63
|
__exportStar(require("./getIsVerifiedFromAsset"), exports);
|
|
64
|
+
__exportStar(require("./TokenPriceMap"), exports);
|
|
65
|
+
__exportStar(require("./applyPricesToElements"), exports);
|
|
64
66
|
//# sourceMappingURL=index.js.map
|
package/src/utils/index.js.map
CHANGED
|
@@ -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,mDAAiC;AACjC,wDAAsC;AACtC,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,oEAAkD;AAClD,+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;AAC5C,mDAAiC;AACjC,uDAAqC;AACrC,2DAAyC"}
|
|
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,mDAAiC;AACjC,wDAAsC;AACtC,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,oEAAkD;AAClD,+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;AAC5C,mDAAiC;AACjC,uDAAqC;AACrC,2DAAyC;AACzC,kDAAgC;AAChC,0DAAwC"}
|