@sonarwatch/portfolio-core 0.14.105 → 0.14.106
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 +2908 -2904
- package/README.md +3 -3
- package/package.json +1 -1
- package/src/Portfolio.d.ts +23 -0
- package/src/Portfolio.js.map +1 -1
- package/src/utils/mergePortfolioElementMultiples.js +6 -1
- package/src/utils/mergePortfolioElementMultiples.js.map +1 -1
package/README.md
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
# @sonarwatch/portfolio-core
|
|
2
|
-
|
|
3
|
-
This library is @sonarwatch/portfolio-core
|
|
1
|
+
# @sonarwatch/portfolio-core
|
|
2
|
+
|
|
3
|
+
This library is @sonarwatch/portfolio-core
|
package/package.json
CHANGED
package/src/Portfolio.d.ts
CHANGED
|
@@ -56,6 +56,9 @@ export type PortfolioAssetCommon = {
|
|
|
56
56
|
attributes: PortfolioAssetAttributes;
|
|
57
57
|
name?: string;
|
|
58
58
|
imageUri?: string;
|
|
59
|
+
ref?: string;
|
|
60
|
+
sourceRefs?: SourceRef[];
|
|
61
|
+
link?: string;
|
|
59
62
|
};
|
|
60
63
|
/**
|
|
61
64
|
* Represents the data of a generic portfolio asset.
|
|
@@ -159,6 +162,14 @@ export type Service = {
|
|
|
159
162
|
platformId: string;
|
|
160
163
|
configs: ServiceConfig[];
|
|
161
164
|
};
|
|
165
|
+
export type SourceRefName = 'Pool' | 'Farm' | 'Market' | 'Vault' | 'Lending Market' | 'Strategy' | 'NFT Mint';
|
|
166
|
+
/**
|
|
167
|
+
* Represents references to on-chain accounts.
|
|
168
|
+
*/
|
|
169
|
+
export type SourceRef = {
|
|
170
|
+
address: string;
|
|
171
|
+
name: SourceRefName;
|
|
172
|
+
};
|
|
162
173
|
/**
|
|
163
174
|
* Represents the common properties of a portfolio element.
|
|
164
175
|
*/
|
|
@@ -178,6 +189,9 @@ export type PortfolioElementCommon = {
|
|
|
178
189
|
*/
|
|
179
190
|
export type PortfolioElementMultipleData = {
|
|
180
191
|
assets: PortfolioAsset[];
|
|
192
|
+
ref?: string;
|
|
193
|
+
sourceRefs?: SourceRef[];
|
|
194
|
+
link?: string;
|
|
181
195
|
};
|
|
182
196
|
/**
|
|
183
197
|
* Represents a multiple portfolio element.
|
|
@@ -197,6 +211,9 @@ export type PortfolioLiquidity = {
|
|
|
197
211
|
value: UsdValue;
|
|
198
212
|
yields: Yield[];
|
|
199
213
|
name?: string;
|
|
214
|
+
ref?: string;
|
|
215
|
+
sourceRefs?: SourceRef[];
|
|
216
|
+
link?: string;
|
|
200
217
|
};
|
|
201
218
|
/**
|
|
202
219
|
* Represents the data of a liquidity portfolio element.
|
|
@@ -234,6 +251,9 @@ export type LevPosition = {
|
|
|
234
251
|
export type PortfolioElementLeverageData = {
|
|
235
252
|
positions: LevPosition[];
|
|
236
253
|
value: UsdValue;
|
|
254
|
+
ref?: string;
|
|
255
|
+
sourceRefs?: SourceRef[];
|
|
256
|
+
link?: string;
|
|
237
257
|
};
|
|
238
258
|
/**
|
|
239
259
|
* Represents a leverage portfolio element.
|
|
@@ -308,6 +328,9 @@ export type PortfolioElementBorrowLendData = {
|
|
|
308
328
|
* undefined means the loan has no expiration.
|
|
309
329
|
*/
|
|
310
330
|
expireOn?: number;
|
|
331
|
+
ref?: string;
|
|
332
|
+
sourceRefs?: SourceRef[];
|
|
333
|
+
link?: string;
|
|
311
334
|
};
|
|
312
335
|
/**
|
|
313
336
|
* Represents a borrow lend portfolio element.
|
package/src/Portfolio.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Portfolio.js","sourceRoot":"","sources":["../../../../packages/core/src/Portfolio.ts"],"names":[],"mappings":";;;AAMA;;GAEG;AACU,QAAA,kBAAkB,GAAG;IAChC,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,aAAa;CAClB,CAAC;AA0CX;;GAEG;AACU,QAAA,oBAAoB,GAAG;IAClC,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,WAAW;IACtB,UAAU,EAAE,YAAY;IACxB,QAAQ,EAAE,UAAU;CACZ,CAAC;
|
|
1
|
+
{"version":3,"file":"Portfolio.js","sourceRoot":"","sources":["../../../../packages/core/src/Portfolio.ts"],"names":[],"mappings":";;;AAMA;;GAEG;AACU,QAAA,kBAAkB,GAAG;IAChC,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,aAAa;CAClB,CAAC;AA0CX;;GAEG;AACU,QAAA,oBAAoB,GAAG;IAClC,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,WAAW;IACtB,UAAU,EAAE,YAAY;IACxB,QAAQ,EAAE,UAAU;CACZ,CAAC;AA0NX,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,6BAAa,CAAA;IACb,+BAAe,CAAA;AACjB,CAAC,EAHW,YAAY,4BAAZ,YAAY,QAGvB"}
|
|
@@ -6,7 +6,7 @@ const sortPortfolioElement_1 = require("./sortPortfolioElement");
|
|
|
6
6
|
function mergePortfolioElementMultiples(elements) {
|
|
7
7
|
const elementsByTag = {};
|
|
8
8
|
elements.forEach((element) => {
|
|
9
|
-
const tag = `${element.networkId}_${element.platformId}_${element.type}_${element.label}`;
|
|
9
|
+
const tag = `${element.networkId}_${element.platformId}_${element.type}_${element.label}_${element.data.ref}_${element.data.link}`;
|
|
10
10
|
if (!elementsByTag[tag])
|
|
11
11
|
elementsByTag[tag] = [];
|
|
12
12
|
elementsByTag[tag].push(element);
|
|
@@ -25,6 +25,11 @@ function unsafeMergePortfolioElementMultiples(elements) {
|
|
|
25
25
|
value: (0, getUsdValueSum_1.getUsdValueSum)(elements.map((e) => e.value)),
|
|
26
26
|
data: {
|
|
27
27
|
assets: elements.map((e) => e.data.assets).flat(1),
|
|
28
|
+
/* eslint-disable @typescript-eslint/no-non-null-assertion */
|
|
29
|
+
ref: elements.at(0).data.ref,
|
|
30
|
+
sourceRefs: elements.at(0).data.sourceRefs,
|
|
31
|
+
link: elements.at(0).data.link,
|
|
32
|
+
/* eslint-enable @typescript-eslint/no-non-null-assertion */
|
|
28
33
|
},
|
|
29
34
|
};
|
|
30
35
|
return (0, sortPortfolioElement_1.sortElementMultiple)(element);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mergePortfolioElementMultiples.js","sourceRoot":"","sources":["../../../../../packages/core/src/utils/mergePortfolioElementMultiples.ts"],"names":[],"mappings":";;;AACA,qDAAkD;AAClD,iEAA6D;AAE7D,SAAgB,8BAA8B,CAC5C,QAAoC;IAEpC,MAAM,aAAa,GAA+C,EAAE,CAAC;IACrE,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC3B,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"mergePortfolioElementMultiples.js","sourceRoot":"","sources":["../../../../../packages/core/src/utils/mergePortfolioElementMultiples.ts"],"names":[],"mappings":";;;AACA,qDAAkD;AAClD,iEAA6D;AAE7D,SAAgB,8BAA8B,CAC5C,QAAoC;IAEpC,MAAM,aAAa,GAA+C,EAAE,CAAC;IACrE,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC3B,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACnI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC;YAAE,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;QACjD,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAChD,oCAAoC,CAAC,KAAK,CAAC,CAC5C,CAAC;AACJ,CAAC;AAZD,wEAYC;AAED,SAAS,oCAAoC,CAC3C,QAAoC;IAEpC,MAAM,OAAO,GAAG;QACd,6DAA6D;QAC7D,SAAS,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAE,CAAC,SAAS;QACpC,UAAU,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAE,CAAC,UAAU;QACtC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAE,CAAC,IAAI;QAC1B,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAE,CAAC,KAAK;QAC5B,4DAA4D;QAC5D,KAAK,EAAE,IAAA,+BAAc,EAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACnD,IAAI,EAAE;YACJ,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YAClD,6DAA6D;YAC7D,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,GAAG;YAC7B,UAAU,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,UAAU;YAC3C,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,IAAI;YAC/B,4DAA4D;SAC7D;KACF,CAAC;IACF,OAAO,IAAA,0CAAmB,EAAC,OAAO,CAAC,CAAC;AACtC,CAAC"}
|