@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/CHANGELOG.md +2965 -2956
- package/README.md +3 -3
- package/package.json +1 -1
- package/src/Portfolio.d.ts +88 -10
- package/src/Portfolio.js +1 -0
- package/src/Portfolio.js.map +1 -1
- package/src/utils/getAddressesFromElement.js +5 -3
- package/src/utils/getAddressesFromElement.js.map +1 -1
- package/src/utils/getAssetsFromElement.js +18 -5
- package/src/utils/getAssetsFromElement.js.map +1 -1
- package/src/utils/index.d.ts +1 -0
- package/src/utils/index.js +1 -0
- package/src/utils/index.js.map +1 -1
- package/src/utils/portfolioElementTradeToMultiple.d.ts +2 -0
- package/src/utils/portfolioElementTradeToMultiple.js +12 -0
- package/src/utils/portfolioElementTradeToMultiple.js.map +1 -0
- package/src/utils/sortPortfolioElement.d.ts +2 -1
- package/src/utils/sortPortfolioElement.js +10 -2
- package/src/utils/sortPortfolioElement.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
|
@@ -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
|
|
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
|
-
|
|
243
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
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;
|
|
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
|
|
10
|
-
.map((p) => p.address)
|
|
11
|
-
.filter((v) => v !==
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
23
|
+
}
|
|
24
|
+
case Portfolio_1.PortfolioElementType.leverage: {
|
|
22
25
|
return [];
|
|
23
|
-
|
|
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;
|
|
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"}
|
package/src/utils/index.d.ts
CHANGED
|
@@ -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';
|
package/src/utils/index.js
CHANGED
|
@@ -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);
|
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,+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,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":";;;AAAA,uDAAoD;AACpD,
|
|
1
|
+
{"version":3,"file":"sortPortfolioElement.js","sourceRoot":"","sources":["../../../../../packages/core/src/utils/sortPortfolioElement.ts"],"names":[],"mappings":"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"}
|