@sonarwatch/portfolio-core 0.14.119 → 0.14.120

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/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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sonarwatch/portfolio-core",
3
- "version": "0.14.119",
3
+ "version": "0.14.120",
4
4
  "type": "commonjs",
5
5
  "types": "./src/index.d.ts",
6
6
  "dependencies": {
@@ -15,7 +15,7 @@ export type PortfolioAssetTypeType = (typeof PortfolioAssetType)[keyof typeof Po
15
15
  /**
16
16
  * Represents the label of a portfolio element.
17
17
  */
18
- export type PortfolioElementLabel = 'Wallet' | 'Staked' | 'LiquidityPool' | 'Farming' | 'Vault' | 'Lending' | 'Vesting' | 'Deposit' | 'Rewards' | 'Airdrop' | 'Margin' | 'Leverage';
18
+ export type PortfolioElementLabel = 'Wallet' | 'Staked' | 'LiquidityPool' | 'Farming' | 'Vault' | 'Lending' | 'Vesting' | 'Deposit' | 'Rewards' | 'Airdrop' | 'Margin' | 'LimitOrder' | 'DCA' | 'Leverage';
19
19
  export type PortfolioAssetAttributes = {
20
20
  /**
21
21
  * Represents the date (in ms) when the asset will be unlocked.
@@ -44,6 +44,7 @@ export declare const PortfolioElementType: {
44
44
  readonly liquidity: "liquidity";
45
45
  readonly borrowlend: "borrowlend";
46
46
  readonly leverage: "leverage";
47
+ readonly trade: "trade";
47
48
  };
48
49
  export type PortfolioElementTypeType = (typeof PortfolioElementType)[keyof typeof PortfolioElementType];
49
50
  /**
@@ -200,6 +201,44 @@ export type PortfolioElementMultiple = PortfolioElementCommon & {
200
201
  type: 'multiple';
201
202
  data: PortfolioElementMultipleData;
202
203
  };
204
+ /**
205
+ * Represents the data of a trade portfolio element.
206
+ */
207
+ export type PortfolioElementTradeData = {
208
+ assets: {
209
+ input: PortfolioAsset;
210
+ output: PortfolioAsset | null;
211
+ };
212
+ inputAddress: string;
213
+ outputAddress: string;
214
+ initialInputAmount: number;
215
+ withdrawnOutputAmount: number;
216
+ expectedOutputAmount?: number;
217
+ inputPrice: UsdValue;
218
+ outputPrice: UsdValue;
219
+ /**
220
+ * Filled percentage between 0 and 1.
221
+ */
222
+ filledPercentage: number;
223
+ /**
224
+ * Created at timestamp in ms
225
+ */
226
+ createdAt?: number;
227
+ /**
228
+ * Expire at timestamp in ms
229
+ */
230
+ expireAt?: number;
231
+ ref?: string;
232
+ sourceRefs?: SourceRef[];
233
+ link?: string;
234
+ };
235
+ /**
236
+ * Represents a trade portfolio element.
237
+ */
238
+ export type PortfolioElementTrade = PortfolioElementCommon & {
239
+ type: 'trade';
240
+ data: PortfolioElementTradeData;
241
+ };
203
242
  /**
204
243
  * Represents a liquidity.
205
244
  */
@@ -232,24 +271,63 @@ export declare enum LeverageSide {
232
271
  long = "long",
233
272
  short = "short"
234
273
  }
235
- export type LevPosition = {
274
+ export type IsoLevPosition = {
275
+ /**
276
+ * Address of the levareged asset if it exist
277
+ */
278
+ address?: string;
236
279
  name?: string;
237
280
  imageUri?: string;
238
- address?: string;
239
- size?: number;
240
- sizeValue: UsdValue;
241
281
  collateralValue: UsdValue;
242
- value: UsdValue;
243
- liquidationPrice: UsdValue;
282
+ side: LeverageSide;
283
+ entryPrice: UsdValue;
284
+ markPrice: UsdValue;
285
+ size: number;
286
+ sizeValue: UsdValue;
244
287
  pnlValue: UsdValue;
288
+ liquidationPrice: UsdValue;
245
289
  leverage?: number;
246
- side: LeverageSide;
290
+ tp?: {
291
+ gain: UsdValue;
292
+ price: UsdValue;
293
+ };
294
+ sl?: {
295
+ loss: UsdValue;
296
+ price: UsdValue;
297
+ };
298
+ value: UsdValue;
247
299
  };
300
+ export type CrossLevPosition = Omit<IsoLevPosition, 'collateralValue'>;
248
301
  /**
249
302
  * Represents the data of a leverage portfolio element.
250
303
  */
251
304
  export type PortfolioElementLeverageData = {
252
- positions: LevPosition[];
305
+ /**
306
+ * Isolated positions
307
+ */
308
+ isolated?: {
309
+ positions: IsoLevPosition[];
310
+ value: UsdValue;
311
+ };
312
+ /**
313
+ * Cross positions
314
+ */
315
+ cross?: {
316
+ /**
317
+ * Sum of positions sizeValue / cross value
318
+ */
319
+ leverage?: number;
320
+ /**
321
+ * If it reach 1, positions will be liquidated
322
+ */
323
+ collateralAssets?: PortfolioAsset[];
324
+ collateralValue: UsdValue;
325
+ positions: CrossLevPosition[];
326
+ value: UsdValue;
327
+ };
328
+ /**
329
+ * Total value (total equity)
330
+ */
253
331
  value: UsdValue;
254
332
  ref?: string;
255
333
  sourceRefs?: SourceRef[];
@@ -342,7 +420,7 @@ export type PortfolioElementBorrowLend = PortfolioElementCommon & {
342
420
  /**
343
421
  * Represents a portfolio element.
344
422
  */
345
- export type PortfolioElement = PortfolioElementMultiple | PortfolioElementLiquidity | PortfolioElementLeverage | PortfolioElementBorrowLend;
423
+ export type PortfolioElement = PortfolioElementMultiple | PortfolioElementLiquidity | PortfolioElementLeverage | PortfolioElementBorrowLend | PortfolioElementTrade;
346
424
  /**
347
425
  * Represents the result of a fetcher.
348
426
  */
package/src/Portfolio.js CHANGED
@@ -17,6 +17,7 @@ exports.PortfolioElementType = {
17
17
  liquidity: 'liquidity',
18
18
  borrowlend: 'borrowlend',
19
19
  leverage: 'leverage',
20
+ trade: 'trade',
20
21
  };
21
22
  var LeverageSide;
22
23
  (function (LeverageSide) {
@@ -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;AA0NX,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":";;;AAMA;;GAEG;AACU,QAAA,kBAAkB,GAAG;IAChC,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,aAAa;CAClB,CAAC;AA4CX;;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;AAkQX,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,6BAAa,CAAA;IACb,+BAAe,CAAA;AACjB,CAAC,EAHW,YAAY,4BAAZ,YAAY,QAGvB"}
@@ -5,10 +5,12 @@ const Portfolio_1 = require("../Portfolio");
5
5
  const getAssetsFromElement_1 = require("./getAssetsFromElement");
6
6
  const getAddressesFromAssets_1 = require("./getAddressesFromAssets");
7
7
  function getAddressesFromElement(element, tokenOnly = true) {
8
+ var _a, _b;
8
9
  if (element.type === Portfolio_1.PortfolioElementType.leverage) {
9
- return element.data.positions
10
- .map((p) => p.address)
11
- .filter((v) => v !== null);
10
+ return [
11
+ ...(((_a = element.data.isolated) === null || _a === void 0 ? void 0 : _a.positions.map((p) => p.address).filter((v) => v !== undefined)) || []),
12
+ ...(((_b = element.data.cross) === null || _b === void 0 ? void 0 : _b.positions.map((p) => p.address).filter((v) => v !== undefined)) || []),
13
+ ];
12
14
  }
13
15
  const assets = (0, getAssetsFromElement_1.getAssetsFromElement)(element);
14
16
  return (0, getAddressesFromAssets_1.getAddressesFromAssets)(assets, tokenOnly);
@@ -1 +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,CACrC,OAAyB,EACzB,SAAS,GAAG,IAAI;IAEhB,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,EAAE,SAAS,CAAC,CAAC;AACnD,CAAC;AAXD,0DAWC"}
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,CACrC,OAAyB,EACzB,SAAS,GAAG,IAAI;;IAEhB,IAAI,OAAO,CAAC,IAAI,KAAK,gCAAoB,CAAC,QAAQ,EAAE,CAAC;QACnD,OAAO;YACL,GAAI,CAAC,CAAA,MAAA,OAAO,CAAC,IAAI,CAAC,QAAQ,0CAAE,SAAS,CAClC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,KAAI,EAAE,CAAc;YACrD,GAAI,CAAC,CAAA,MAAA,OAAO,CAAC,IAAI,CAAC,KAAK,0CAAE,SAAS,CAC/B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,KAAI,EAAE,CAAc;SACtD,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,IAAA,2CAAoB,EAAC,OAAO,CAAC,CAAC;IAC7C,OAAO,IAAA,+CAAsB,EAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AACnD,CAAC;AAhBD,0DAgBC"}
@@ -5,23 +5,34 @@ const Portfolio_1 = require("../Portfolio");
5
5
  function getLongAssetsFromElement(element) {
6
6
  var _a;
7
7
  switch (element.type) {
8
- case Portfolio_1.PortfolioElementType.multiple:
8
+ case Portfolio_1.PortfolioElementType.multiple: {
9
9
  return [...element.data.assets];
10
- case Portfolio_1.PortfolioElementType.liquidity:
10
+ }
11
+ case Portfolio_1.PortfolioElementType.liquidity: {
11
12
  return [
12
13
  ...element.data.liquidities.map((l) => l.assets).flat(1),
13
14
  ...element.data.liquidities.map((l) => l.rewardAssets).flat(1),
14
15
  ];
15
- case Portfolio_1.PortfolioElementType.borrowlend:
16
+ }
17
+ case Portfolio_1.PortfolioElementType.borrowlend: {
16
18
  return [
17
19
  ...element.data.suppliedAssets,
18
20
  ...element.data.rewardAssets,
19
21
  ...(((_a = element.data.unsettled) === null || _a === void 0 ? void 0 : _a.assets) || []),
20
22
  ];
21
- case Portfolio_1.PortfolioElementType.leverage:
23
+ }
24
+ case Portfolio_1.PortfolioElementType.leverage: {
22
25
  return [];
23
- default:
26
+ }
27
+ case Portfolio_1.PortfolioElementType.trade: {
28
+ const assets = [element.data.assets.input];
29
+ if (element.data.assets.output)
30
+ assets.push(element.data.assets.output);
31
+ return assets;
32
+ }
33
+ default: {
24
34
  return [];
35
+ }
25
36
  }
26
37
  }
27
38
  exports.getLongAssetsFromElement = getLongAssetsFromElement;
@@ -35,6 +46,8 @@ function getShortAssetsFromElement(element) {
35
46
  return [...element.data.borrowedAssets];
36
47
  case Portfolio_1.PortfolioElementType.leverage:
37
48
  return [];
49
+ case Portfolio_1.PortfolioElementType.trade:
50
+ return [];
38
51
  default:
39
52
  return [];
40
53
  }
@@ -1 +1 @@
1
- {"version":3,"file":"getAssetsFromElement.js","sourceRoot":"","sources":["../../../../../packages/core/src/utils/getAssetsFromElement.ts"],"names":[],"mappings":";;;AAAA,4CAIsB;AAEtB,SAAgB,wBAAwB,CACtC,OAAyB;;IAEzB,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;QACrB,KAAK,gCAAoB,CAAC,QAAQ;YAChC,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClC,KAAK,gCAAoB,CAAC,SAAS;YACjC,OAAO;gBACL,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;gBACxD,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;aAC/D,CAAC;QACJ,KAAK,gCAAoB,CAAC,UAAU;YAClC,OAAO;gBACL,GAAG,OAAO,CAAC,IAAI,CAAC,cAAc;gBAC9B,GAAG,OAAO,CAAC,IAAI,CAAC,YAAY;gBAC5B,GAAG,CAAC,CAAA,MAAA,OAAO,CAAC,IAAI,CAAC,SAAS,0CAAE,MAAM,KAAI,EAAE,CAAC;aAC1C,CAAC;QACJ,KAAK,gCAAoB,CAAC,QAAQ;YAChC,OAAO,EAAE,CAAC;QACZ;YACE,OAAO,EAAE,CAAC;IACd,CAAC;AACH,CAAC;AAtBD,4DAsBC;AAED,SAAgB,yBAAyB,CACvC,OAAyB;IAEzB,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;QACrB,KAAK,gCAAoB,CAAC,QAAQ;YAChC,OAAO,EAAE,CAAC;QACZ,KAAK,gCAAoB,CAAC,SAAS;YACjC,OAAO,EAAE,CAAC;QACZ,KAAK,gCAAoB,CAAC,UAAU;YAClC,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC1C,KAAK,gCAAoB,CAAC,QAAQ;YAChC,OAAO,EAAE,CAAC;QACZ;YACE,OAAO,EAAE,CAAC;IACd,CAAC;AACH,CAAC;AAfD,8DAeC;AAED,SAAgB,oBAAoB,CAClC,OAAyB;IAEzB,OAAO;QACL,GAAG,wBAAwB,CAAC,OAAO,CAAC;QACpC,GAAG,yBAAyB,CAAC,OAAO,CAAC;KACtC,CAAC;AACJ,CAAC;AAPD,oDAOC"}
1
+ {"version":3,"file":"getAssetsFromElement.js","sourceRoot":"","sources":["../../../../../packages/core/src/utils/getAssetsFromElement.ts"],"names":[],"mappings":";;;AAAA,4CAIsB;AAEtB,SAAgB,wBAAwB,CACtC,OAAyB;;IAEzB,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;QACrB,KAAK,gCAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC;YACnC,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClC,CAAC;QAED,KAAK,gCAAoB,CAAC,SAAS,CAAC,CAAC,CAAC;YACpC,OAAO;gBACL,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;gBACxD,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;aAC/D,CAAC;QACJ,CAAC;QAED,KAAK,gCAAoB,CAAC,UAAU,CAAC,CAAC,CAAC;YACrC,OAAO;gBACL,GAAG,OAAO,CAAC,IAAI,CAAC,cAAc;gBAC9B,GAAG,OAAO,CAAC,IAAI,CAAC,YAAY;gBAC5B,GAAG,CAAC,CAAA,MAAA,OAAO,CAAC,IAAI,CAAC,SAAS,0CAAE,MAAM,KAAI,EAAE,CAAC;aAC1C,CAAC;QACJ,CAAC;QAED,KAAK,gCAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC;YACnC,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,KAAK,gCAAoB,CAAC,KAAK,CAAC,CAAC,CAAC;YAChC,MAAM,MAAM,GAAqB,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC7D,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM;gBAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACxE,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,OAAO,CAAC,CAAC,CAAC;YACR,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;AACH,CAAC;AArCD,4DAqCC;AAED,SAAgB,yBAAyB,CACvC,OAAyB;IAEzB,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;QACrB,KAAK,gCAAoB,CAAC,QAAQ;YAChC,OAAO,EAAE,CAAC;QACZ,KAAK,gCAAoB,CAAC,SAAS;YACjC,OAAO,EAAE,CAAC;QACZ,KAAK,gCAAoB,CAAC,UAAU;YAClC,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC1C,KAAK,gCAAoB,CAAC,QAAQ;YAChC,OAAO,EAAE,CAAC;QACZ,KAAK,gCAAoB,CAAC,KAAK;YAC7B,OAAO,EAAE,CAAC;QACZ;YACE,OAAO,EAAE,CAAC;IACd,CAAC;AACH,CAAC;AAjBD,8DAiBC;AAED,SAAgB,oBAAoB,CAClC,OAAyB;IAEzB,OAAO;QACL,GAAG,wBAAwB,CAAC,OAAO,CAAC;QACpC,GAAG,yBAAyB,CAAC,OAAO,CAAC;KACtC,CAAC;AACJ,CAAC;AAPD,oDAOC"}
@@ -28,6 +28,7 @@ export * from './getCollectiblesFromAssets';
28
28
  export * from './getUsdValueSum';
29
29
  export * from './getUsdValueSumStrict';
30
30
  export * from './mergePortfolioElementMultiples';
31
+ export * from './portfolioElementTradeToMultiple';
31
32
  export * from './sortAssets';
32
33
  export * from './sortPortfolioElement';
33
34
  export * from './sortPortfolioElements';
@@ -44,6 +44,7 @@ __exportStar(require("./getCollectiblesFromAssets"), exports);
44
44
  __exportStar(require("./getUsdValueSum"), exports);
45
45
  __exportStar(require("./getUsdValueSumStrict"), exports);
46
46
  __exportStar(require("./mergePortfolioElementMultiples"), exports);
47
+ __exportStar(require("./portfolioElementTradeToMultiple"), exports);
47
48
  __exportStar(require("./sortAssets"), exports);
48
49
  __exportStar(require("./sortPortfolioElement"), exports);
49
50
  __exportStar(require("./sortPortfolioElements"), 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,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,+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,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"}
@@ -0,0 +1,2 @@
1
+ import { PortfolioElementMultiple, PortfolioElementTrade } from '../Portfolio';
2
+ export declare function portfolioElementTradeToMultiple(element: PortfolioElementTrade): PortfolioElementMultiple;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.portfolioElementTradeToMultiple = void 0;
4
+ const Portfolio_1 = require("../Portfolio");
5
+ function portfolioElementTradeToMultiple(element) {
6
+ const assets = [element.data.assets.input];
7
+ if (element.data.assets.output)
8
+ assets.push(element.data.assets.output);
9
+ return Object.assign(Object.assign({}, element), { type: Portfolio_1.PortfolioElementType.multiple, data: Object.assign(Object.assign({}, element.data), { assets }) });
10
+ }
11
+ exports.portfolioElementTradeToMultiple = portfolioElementTradeToMultiple;
12
+ //# sourceMappingURL=portfolioElementTradeToMultiple.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"portfolioElementTradeToMultiple.js","sourceRoot":"","sources":["../../../../../packages/core/src/utils/portfolioElementTradeToMultiple.ts"],"names":[],"mappings":";;;AAAA,4CAIsB;AAEtB,SAAgB,+BAA+B,CAC7C,OAA8B;IAE9B,MAAM,MAAM,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3C,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM;QAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACxE,uCACK,OAAO,KACV,IAAI,EAAE,gCAAoB,CAAC,QAAQ,EACnC,IAAI,kCACC,OAAO,CAAC,IAAI,KACf,MAAM,OAER;AACJ,CAAC;AAbD,0EAaC"}
@@ -1,7 +1,8 @@
1
- import { PortfolioElement, PortfolioElementBorrowLend, PortfolioElementLeverage, PortfolioElementLiquidity, PortfolioElementMultiple, PortfolioLiquidity } from '../Portfolio';
1
+ import { PortfolioElement, PortfolioElementBorrowLend, PortfolioElementLeverage, PortfolioElementLiquidity, PortfolioElementMultiple, PortfolioElementTrade, PortfolioLiquidity } from '../Portfolio';
2
2
  export declare function sortPortfolioElement(element: PortfolioElement): PortfolioElement;
3
3
  export declare function sortElementMultiple(element: PortfolioElementMultiple): PortfolioElementMultiple;
4
4
  export declare function sortElementBorrowLend(element: PortfolioElementBorrowLend): PortfolioElementBorrowLend;
5
5
  export declare function sortElementLiquidity(element: PortfolioElementLiquidity): PortfolioElementLiquidity;
6
6
  export declare function sortPortfolioLiquidity(portfolioLiquidity: PortfolioLiquidity): PortfolioLiquidity;
7
7
  export declare function sortElementLeverage(element: PortfolioElementLeverage): PortfolioElementLeverage;
8
+ export declare function sortElementTrade(element: PortfolioElementTrade): PortfolioElementTrade;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.sortElementLeverage = exports.sortPortfolioLiquidity = exports.sortElementLiquidity = exports.sortElementBorrowLend = exports.sortElementMultiple = exports.sortPortfolioElement = void 0;
3
+ exports.sortElementTrade = exports.sortElementLeverage = exports.sortPortfolioLiquidity = exports.sortElementLiquidity = exports.sortElementBorrowLend = exports.sortElementMultiple = exports.sortPortfolioElement = void 0;
4
4
  const compareUsdValue_1 = require("./compareUsdValue");
5
5
  const Portfolio_1 = require("../Portfolio");
6
6
  const sortAssets_1 = require("./sortAssets");
@@ -14,6 +14,8 @@ function sortPortfolioElement(element) {
14
14
  return sortElementLiquidity(element);
15
15
  case Portfolio_1.PortfolioElementType.leverage:
16
16
  return sortElementLeverage(element);
17
+ case Portfolio_1.PortfolioElementType.trade:
18
+ return sortElementTrade(element);
17
19
  default:
18
20
  return element;
19
21
  }
@@ -55,9 +57,15 @@ function sortPortfolioLiquidity(portfolioLiquidity) {
55
57
  }
56
58
  exports.sortPortfolioLiquidity = sortPortfolioLiquidity;
57
59
  function sortElementLeverage(element) {
60
+ var _a, _b;
58
61
  const sortedElement = Object.assign({}, element);
59
- sortedElement.data.positions.sort((a, b) => (0, compareUsdValue_1.compareUsdValue)(a.value, b.value));
62
+ (_a = sortedElement.data.isolated) === null || _a === void 0 ? void 0 : _a.positions.sort((a, b) => (0, compareUsdValue_1.compareUsdValue)(a.value, b.value));
63
+ (_b = sortedElement.data.cross) === null || _b === void 0 ? void 0 : _b.positions.sort((a, b) => (0, compareUsdValue_1.compareUsdValue)(a.value, b.value));
60
64
  return sortedElement;
61
65
  }
62
66
  exports.sortElementLeverage = sortElementLeverage;
67
+ function sortElementTrade(element) {
68
+ return element;
69
+ }
70
+ exports.sortElementTrade = sortElementTrade;
63
71
  //# sourceMappingURL=sortPortfolioElement.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sortPortfolioElement.js","sourceRoot":"","sources":["../../../../../packages/core/src/utils/sortPortfolioElement.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sortPortfolioElement.js","sourceRoot":"","sources":["../../../../../packages/core/src/utils/sortPortfolioElement.ts"],"names":[],"mappings":"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"}