@sonarwatch/portfolio-core 0.16.107 → 0.16.111

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,57 @@
2
2
 
3
3
  This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
4
4
 
5
+ ## [0.16.111](https://github.com/sonarwatch/portfolio/compare/core-0.16.110...core-0.16.111) (2026-01-14)
6
+
7
+
8
+ ### Features
9
+
10
+ * **plugins:** manifest order book ([55571b9](https://github.com/sonarwatch/portfolio/commit/55571b9041df5dedb404b1a0381e03ef84ea588c))
11
+
12
+
13
+
14
+ ## [0.16.110](https://github.com/sonarwatch/portfolio/compare/core-0.16.109...core-0.16.110) (2026-01-06)
15
+
16
+
17
+
18
+ ## [0.16.109](https://github.com/sonarwatch/portfolio/compare/core-0.16.108...core-0.16.109) (2026-01-06)
19
+
20
+
21
+
22
+ ## [0.16.108](https://github.com/sonarwatch/portfolio/compare/core-0.16.107...core-0.16.108) (2026-01-06)
23
+
24
+
25
+ ### Bug Fixes
26
+
27
+ * **core:** dont use isProtocoleSource in getPriceInfoFromSources ([108e944](https://github.com/sonarwatch/portfolio/commit/108e944794b4a2f12a0cea48af0ec77760642c2f))
28
+ * **core:** prioritize first source directly in getPriceFromSources ([578ff9d](https://github.com/sonarwatch/portfolio/commit/578ff9d319c24ec9abe8c5e85aab30c760c1ca37))
29
+ * **plugins:** field is now addToMissingToken ([ac0ae37](https://github.com/sonarwatch/portfolio/commit/ac0ae37871edc1298fecc649a532d8e277c23eec))
30
+
31
+
32
+ ### Features
33
+
34
+ * **core:** update TokenPrice comment for missing tokens ([1ba1265](https://github.com/sonarwatch/portfolio/commit/1ba126554aab4bbf6c4374612ce372e4d7b1e3d4))
35
+ * **plugins:** unify and prioritize token price sources with isProtocolSource flag ([3be53c7](https://github.com/sonarwatch/portfolio/commit/3be53c75943c837fc18da7cee05cd75f6502016a))
36
+
37
+
38
+
39
+ ## [0.16.108](https://github.com/sonarwatch/portfolio/compare/core-0.16.107...core-0.16.108) (2026-01-06)
40
+
41
+
42
+ ### Bug Fixes
43
+
44
+ * **core:** dont use isProtocoleSource in getPriceInfoFromSources ([108e944](https://github.com/sonarwatch/portfolio/commit/108e944794b4a2f12a0cea48af0ec77760642c2f))
45
+ * **core:** prioritize first source directly in getPriceFromSources ([578ff9d](https://github.com/sonarwatch/portfolio/commit/578ff9d319c24ec9abe8c5e85aab30c760c1ca37))
46
+ * **plugins:** field is now addToMissingToken ([ac0ae37](https://github.com/sonarwatch/portfolio/commit/ac0ae37871edc1298fecc649a532d8e277c23eec))
47
+
48
+
49
+ ### Features
50
+
51
+ * **core:** update TokenPrice comment for missing tokens ([1ba1265](https://github.com/sonarwatch/portfolio/commit/1ba126554aab4bbf6c4374612ce372e4d7b1e3d4))
52
+ * **plugins:** unify and prioritize token price sources with isProtocolSource flag ([3be53c7](https://github.com/sonarwatch/portfolio/commit/3be53c75943c837fc18da7cee05cd75f6502016a))
53
+
54
+
55
+
5
56
  ## [0.16.107](https://github.com/sonarwatch/portfolio/compare/core-0.16.106...core-0.16.107) (2026-01-05)
6
57
 
7
58
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sonarwatch/portfolio-core",
3
- "version": "0.16.107",
3
+ "version": "0.16.111",
4
4
  "type": "commonjs",
5
5
  "types": "./src/index.d.ts",
6
6
  "repository": {
@@ -18,6 +18,7 @@ export declare const coingeckoSourceId = "coingecko";
18
18
  export declare const jupiterSourceId = "jupiter-datapi";
19
19
  export declare const solvSourceId = "solv-tokens-pricing";
20
20
  export declare const flashSourceId = "flash-pools";
21
+ export declare const manifestSourceId = "manifest-pools";
21
22
  /**
22
23
  * List of source ids to prioritise when computing the token price.
23
24
  * The first id in the list has the highest priority.
@@ -48,6 +49,10 @@ export type TokenPriceSource = {
48
49
  timestamp: number;
49
50
  sourceRefs?: SourceRef[];
50
51
  link?: string;
52
+ /**
53
+ * Token will be added to the missing tokens list, and price will be sent to datapi
54
+ */
55
+ addToMissingToken?: boolean;
51
56
  };
52
57
  export type TokenPrice = {
53
58
  address: string;
@@ -70,6 +75,7 @@ export declare function pushTokenPriceSource(sources: TokenPriceSource[], source
70
75
  export declare function updateTokenPriceSources(sources: TokenPriceSource[]): TokenPriceSource[] | undefined;
71
76
  export declare function getTokenPriceUnderlyingFromTokenPrice(tokenPrice: TokenPrice, amountPerLp: number): TokenPriceUnderlying;
72
77
  export declare function getTokenPricesUnderlyingsFromTokensPrices(tokensPrices: TokenPrice[], amountsPerLp: number[]): TokenPriceUnderlying[];
78
+ export declare function getHighestPrioritisedSource(sources: TokenPriceSource[]): TokenPriceSource | undefined;
73
79
  /**
74
80
  * Get the price information from a list of sources.
75
81
  * The price is determined by prioritising sources present in the prioritisedSourceIds list
@@ -79,4 +85,5 @@ export declare function getTokenPricesUnderlyingsFromTokensPrices(tokensPrices:
79
85
  export declare function getPriceInfoFromSources(sources: TokenPriceSource[]): {
80
86
  price: number;
81
87
  priceChange24h?: number;
88
+ timestamp: number;
82
89
  };
package/src/TokenPrice.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getPriceInfoFromSources = exports.getTokenPricesUnderlyingsFromTokensPrices = exports.getTokenPriceUnderlyingFromTokenPrice = exports.updateTokenPriceSources = exports.pushTokenPriceSource = exports.tokenPriceFromSources = exports.tokenPriceSourceTtl = exports.prioritisedSourceIds = exports.flashSourceId = exports.solvSourceId = exports.jupiterSourceId = exports.coingeckoSourceId = exports.piggyBankSourceId = exports.xStakingSourceId = exports.sandglassSourceId = exports.usdcPlusSourceId = exports.rainSourceId = exports.xOrcaSourceId = exports.jupLendSourceId = exports.jitoSourceId = exports.fragmetricSourceId = exports.fragmetricApiSourceId = exports.exponentSourceId = exports.adrenaSourceId = exports.adrasteaSourceId = exports.hyloSourceId = void 0;
3
+ exports.getPriceInfoFromSources = exports.getHighestPrioritisedSource = exports.getTokenPricesUnderlyingsFromTokensPrices = exports.getTokenPriceUnderlyingFromTokenPrice = exports.updateTokenPriceSources = exports.pushTokenPriceSource = exports.tokenPriceFromSources = exports.tokenPriceSourceTtl = exports.prioritisedSourceIds = exports.manifestSourceId = exports.flashSourceId = exports.solvSourceId = exports.jupiterSourceId = exports.coingeckoSourceId = exports.piggyBankSourceId = exports.xStakingSourceId = exports.sandglassSourceId = exports.usdcPlusSourceId = exports.rainSourceId = exports.xOrcaSourceId = exports.jupLendSourceId = exports.jitoSourceId = exports.fragmetricSourceId = exports.fragmetricApiSourceId = exports.exponentSourceId = exports.adrenaSourceId = exports.adrasteaSourceId = exports.hyloSourceId = void 0;
4
4
  const helpers_1 = require("./helpers");
5
5
  const constants_1 = require("./constants");
6
6
  exports.hyloSourceId = 'hylo-tokens-pricing';
@@ -21,6 +21,7 @@ exports.coingeckoSourceId = 'coingecko';
21
21
  exports.jupiterSourceId = 'jupiter-datapi';
22
22
  exports.solvSourceId = 'solv-tokens-pricing';
23
23
  exports.flashSourceId = 'flash-pools';
24
+ exports.manifestSourceId = 'manifest-pools';
24
25
  /**
25
26
  * List of source ids to prioritise when computing the token price.
26
27
  * The first id in the list has the highest priority.
@@ -42,8 +43,9 @@ exports.prioritisedSourceIds = [
42
43
  exports.xStakingSourceId,
43
44
  exports.piggyBankSourceId,
44
45
  exports.flashSourceId,
45
- exports.jupiterSourceId,
46
46
  exports.solvSourceId,
47
+ exports.manifestSourceId,
48
+ exports.jupiterSourceId,
47
49
  // Always leave coingeckoSourceId at the end to use it as fallback
48
50
  exports.coingeckoSourceId,
49
51
  ];
@@ -69,7 +71,7 @@ function tokenPriceFromSources(sources) {
69
71
  return current;
70
72
  return prev;
71
73
  });
72
- const { price, priceChange24h } = getPriceInfoFromSources(updatedSources);
74
+ const { price, priceChange24h, timestamp } = getPriceInfoFromSources(updatedSources);
73
75
  return {
74
76
  address: displaySource.address,
75
77
  networkId: displaySource.networkId,
@@ -81,9 +83,9 @@ function tokenPriceFromSources(sources) {
81
83
  link: displaySource.link,
82
84
  decimals: displaySource.decimals,
83
85
  sourceRefs: displaySource.sourceRefs,
84
- price: price,
86
+ price,
85
87
  priceChange24h,
86
- timestamp: Date.now(),
88
+ timestamp,
87
89
  sources: updatedSources,
88
90
  };
89
91
  }
@@ -136,6 +138,29 @@ function getTokenPricesUnderlyingsFromTokensPrices(tokensPrices, amountsPerLp) {
136
138
  }));
137
139
  }
138
140
  exports.getTokenPricesUnderlyingsFromTokensPrices = getTokenPricesUnderlyingsFromTokensPrices;
141
+ function getWeightedPriceFromSources(sources) {
142
+ const [priceSum, weightSum] = sources.reduce(([cPriceSum, cWeightSum], source) => [
143
+ cPriceSum + source.price * source.weight,
144
+ cWeightSum + source.weight,
145
+ ], [0, 0]);
146
+ return weightSum === 0 ? 0 : priceSum / weightSum;
147
+ }
148
+ function getHighestPrioritisedSource(sources) {
149
+ for (const priorityId of exports.prioritisedSourceIds) {
150
+ const source = sources.find((s) => s.id === priorityId);
151
+ if (source)
152
+ return source;
153
+ }
154
+ return undefined;
155
+ }
156
+ exports.getHighestPrioritisedSource = getHighestPrioritisedSource;
157
+ function getOldestTimestamp(sources) {
158
+ if (sources.length === 0)
159
+ return Date.now();
160
+ return sources.reduce((oldest, source) => {
161
+ return source.timestamp < oldest ? source.timestamp : oldest;
162
+ }, Date.now());
163
+ }
139
164
  /**
140
165
  * Get the price information from a list of sources.
141
166
  * The price is determined by prioritising sources present in the prioritisedSourceIds list
@@ -143,44 +168,16 @@ exports.getTokenPricesUnderlyingsFromTokensPrices = getTokenPricesUnderlyingsFro
143
168
  * @sources : list of TokenPriceSources
144
169
  */
145
170
  function getPriceInfoFromSources(sources) {
146
- const prioritisedSources = [];
147
- let price;
148
- let priceChange24h;
149
- sources.forEach((s) => {
150
- if (exports.prioritisedSourceIds.includes(s.id)) {
151
- prioritisedSources.push(s);
152
- }
153
- // Get jupiter price change 24h if available
154
- if (s.id === exports.jupiterSourceId) {
155
- priceChange24h = s.priceChange24h;
156
- }
157
- });
158
- const [priceSum, weightSum] = sources.reduce(([cPriceSum, cWeightSum], source) => [
159
- cPriceSum + source.price * source.weight,
160
- cWeightSum + source.weight,
161
- ], [0, 0]);
162
- price = weightSum === 0 ? 0 : priceSum / weightSum;
163
- // If there is no high priority sources, return the weighted average of all sources price
164
- if (!prioritisedSources)
165
- return {
166
- price,
167
- priceChange24h,
168
- };
169
- // Else, find the highest priority source available and use its price
170
- let highestPrioritySource;
171
- let highestSourceIndex = Number.MAX_SAFE_INTEGER;
172
- for (const prioritySource of prioritisedSources) {
173
- const sourceIndex = exports.prioritisedSourceIds.indexOf(prioritySource.id);
174
- if (sourceIndex !== -1 && sourceIndex < highestSourceIndex) {
175
- highestPrioritySource = prioritySource;
176
- highestSourceIndex = sourceIndex;
177
- }
178
- }
179
- if (highestPrioritySource)
180
- price = highestPrioritySource.price;
171
+ const firstPrioritisedSource = getHighestPrioritisedSource(sources);
172
+ const jupiterSource = sources.find((s) => s.id === exports.jupiterSourceId);
181
173
  return {
182
- price,
183
- priceChange24h,
174
+ price: firstPrioritisedSource
175
+ ? firstPrioritisedSource.price
176
+ : getWeightedPriceFromSources(sources),
177
+ priceChange24h: jupiterSource ? jupiterSource.priceChange24h : undefined,
178
+ timestamp: firstPrioritisedSource
179
+ ? firstPrioritisedSource.timestamp
180
+ : getOldestTimestamp(sources),
184
181
  };
185
182
  }
186
183
  exports.getPriceInfoFromSources = getPriceInfoFromSources;
@@ -1 +1 @@
1
- {"version":3,"file":"TokenPrice.js","sourceRoot":"","sources":["../../../../packages/core/src/TokenPrice.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TokenPrice.js","sourceRoot":"","sources":["../../../../packages/core/src/TokenPrice.ts"],"names":[],"mappings":"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"}