@sonarwatch/portfolio-core 0.0.3
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 +13 -0
- package/README.md +11 -0
- package/package.json +17 -0
- package/src/Address.d.ts +7 -0
- package/src/Address.js +10 -0
- package/src/Address.js.map +1 -0
- package/src/Cache.d.ts +17 -0
- package/src/Cache.js +82 -0
- package/src/Cache.js.map +1 -0
- package/src/Client.d.ts +7 -0
- package/src/Client.js +3 -0
- package/src/Client.js.map +1 -0
- package/src/Context.d.ts +6 -0
- package/src/Context.js +3 -0
- package/src/Context.js.map +1 -0
- package/src/Fetcher.d.ts +10 -0
- package/src/Fetcher.js +10 -0
- package/src/Fetcher.js.map +1 -0
- package/src/Job.d.ts +6 -0
- package/src/Job.js +3 -0
- package/src/Job.js.map +1 -0
- package/src/Network.d.ts +37 -0
- package/src/Network.js +12 -0
- package/src/Network.js.map +1 -0
- package/src/Platform.d.ts +10 -0
- package/src/Platform.js +3 -0
- package/src/Platform.js.map +1 -0
- package/src/Portfolio.d.ts +116 -0
- package/src/Portfolio.js +15 -0
- package/src/Portfolio.js.map +1 -0
- package/src/Storage.d.ts +18 -0
- package/src/Storage.js +51 -0
- package/src/Storage.js.map +1 -0
- package/src/TokenList.d.ts +23 -0
- package/src/TokenList.js +4 -0
- package/src/TokenList.js.map +1 -0
- package/src/TokenPrice.d.ts +36 -0
- package/src/TokenPrice.js +70 -0
- package/src/TokenPrice.js.map +1 -0
- package/src/TokenPriceCache.d.ts +13 -0
- package/src/TokenPriceCache.js +125 -0
- package/src/TokenPriceCache.js.map +1 -0
- package/src/UsdValue.d.ts +1 -0
- package/src/UsdValue.js +3 -0
- package/src/UsdValue.js.map +1 -0
- package/src/Yield.d.ts +8 -0
- package/src/Yield.js +22 -0
- package/src/Yield.js.map +1 -0
- package/src/constants/addresses.d.ts +13 -0
- package/src/constants/addresses.js +17 -0
- package/src/constants/addresses.js.map +1 -0
- package/src/constants/index.d.ts +4 -0
- package/src/constants/index.js +10 -0
- package/src/constants/index.js.map +1 -0
- package/src/constants/networks.d.ts +8 -0
- package/src/constants/networks.js +119 -0
- package/src/constants/networks.js.map +1 -0
- package/src/constants/platforms.d.ts +5 -0
- package/src/constants/platforms.js +24 -0
- package/src/constants/platforms.js.map +1 -0
- package/src/errors/AdapterFetchError.d.ts +6 -0
- package/src/errors/AdapterFetchError.js +13 -0
- package/src/errors/AdapterFetchError.js.map +1 -0
- package/src/errors/AdapterFetchTimedOutError.d.ts +6 -0
- package/src/errors/AdapterFetchTimedOutError.js +13 -0
- package/src/errors/AdapterFetchTimedOutError.js.map +1 -0
- package/src/errors/AdapterRefreshError.d.ts +6 -0
- package/src/errors/AdapterRefreshError.js +13 -0
- package/src/errors/AdapterRefreshError.js.map +1 -0
- package/src/errors/AdapterRefreshTimedOutError.d.ts +6 -0
- package/src/errors/AdapterRefreshTimedOutError.js +13 -0
- package/src/errors/AdapterRefreshTimedOutError.js.map +1 -0
- package/src/errors/PortfolioError.d.ts +12 -0
- package/src/errors/PortfolioError.js +27 -0
- package/src/errors/PortfolioError.js.map +1 -0
- package/src/errors/index.d.ts +5 -0
- package/src/errors/index.js +9 -0
- package/src/errors/index.js.map +1 -0
- package/src/helpers.d.ts +1 -0
- package/src/helpers.js +8 -0
- package/src/helpers.js.map +1 -0
- package/src/index.d.ts +17 -0
- package/src/index.js +21 -0
- package/src/index.js.map +1 -0
- package/src/utils/addressValid.d.ts +11 -0
- package/src/utils/addressValid.js +76 -0
- package/src/utils/addressValid.js.map +1 -0
- package/src/utils/compareName.d.ts +1 -0
- package/src/utils/compareName.js +18 -0
- package/src/utils/compareName.js.map +1 -0
- package/src/utils/compareUsdValue.d.ts +2 -0
- package/src/utils/compareUsdValue.js +14 -0
- package/src/utils/compareUsdValue.js.map +1 -0
- package/src/utils/formatAddress.d.ts +6 -0
- package/src/utils/formatAddress.js +42 -0
- package/src/utils/formatAddress.js.map +1 -0
- package/src/utils/formatTokenAddress.d.ts +6 -0
- package/src/utils/formatTokenAddress.js +41 -0
- package/src/utils/formatTokenAddress.js.map +1 -0
- package/src/utils/formatTokenPrice.d.ts +2 -0
- package/src/utils/formatTokenPrice.js +13 -0
- package/src/utils/formatTokenPrice.js.map +1 -0
- package/src/utils/formatUniTokenInfo.d.ts +3 -0
- package/src/utils/formatUniTokenInfo.js +9 -0
- package/src/utils/formatUniTokenInfo.js.map +1 -0
- package/src/utils/getAssetsFromElement.d.ts +2 -0
- package/src/utils/getAssetsFromElement.js +23 -0
- package/src/utils/getAssetsFromElement.js.map +1 -0
- package/src/utils/getAssetsFromElements.d.ts +2 -0
- package/src/utils/getAssetsFromElements.js +9 -0
- package/src/utils/getAssetsFromElements.js.map +1 -0
- package/src/utils/getElementLendingValues.d.ts +8 -0
- package/src/utils/getElementLendingValues.js +33 -0
- package/src/utils/getElementLendingValues.js.map +1 -0
- package/src/utils/index.d.ts +13 -0
- package/src/utils/index.js +17 -0
- package/src/utils/index.js.map +1 -0
- package/src/utils/networkIdIncluded.d.ts +3 -0
- package/src/utils/networkIdIncluded.js +13 -0
- package/src/utils/networkIdIncluded.js.map +1 -0
- package/src/utils/sortPortfolioElement.d.ts +5 -0
- package/src/utils/sortPortfolioElement.js +46 -0
- package/src/utils/sortPortfolioElement.js.map +1 -0
- package/src/utils/sortPortfolioElements.d.ts +2 -0
- package/src/utils/sortPortfolioElements.js +12 -0
- package/src/utils/sortPortfolioElements.js.map +1 -0
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PortfolioError = void 0;
|
|
4
|
+
class PortfolioError extends Error {
|
|
5
|
+
constructor(message, source, sourceDetails, cause) {
|
|
6
|
+
super(message);
|
|
7
|
+
this.name = 'PorfolioError';
|
|
8
|
+
this.isPorfolioError = true;
|
|
9
|
+
this.source = source;
|
|
10
|
+
this.sourceDetails = sourceDetails;
|
|
11
|
+
this.cause = cause;
|
|
12
|
+
this.message = `${this.message}\n\nSource: ${this.getFullSource()}${this.cause ? `\n\nCaused By: ${this.cause.message}` : ''}\n`;
|
|
13
|
+
}
|
|
14
|
+
getCapitalizedSource() {
|
|
15
|
+
return this.source[0].toUpperCase() + this.source.slice(1);
|
|
16
|
+
}
|
|
17
|
+
getFullSource() {
|
|
18
|
+
const capitalizedSource = this.getCapitalizedSource();
|
|
19
|
+
const sourceDetails = this.sourceDetails ? ` > ${this.sourceDetails}` : '';
|
|
20
|
+
return capitalizedSource + sourceDetails;
|
|
21
|
+
}
|
|
22
|
+
toString() {
|
|
23
|
+
return `[${this.name}] ${this.message}`;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
exports.PortfolioError = PortfolioError;
|
|
27
|
+
//# sourceMappingURL=PortfolioError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PortfolioError.js","sourceRoot":"","sources":["../../../../../packages/core/src/errors/PortfolioError.ts"],"names":[],"mappings":";;;AAAA,MAAa,cAAe,SAAQ,KAAK;IAOvC,YACE,OAAe,EACf,MAA2B,EAC3B,aAAsB,EACtB,KAAa;QAEb,KAAK,CAAC,OAAO,CAAC,CAAC;QAZC,SAAI,GAAW,eAAe,CAAC;QACxC,oBAAe,GAAG,IAAI,CAAC;QAY9B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,GAAG,IAAI,CAAC,OAAO,eAAe,IAAI,CAAC,aAAa,EAAE,GAC/D,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,kBAAkB,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EACxD,IAAI,CAAC;IACP,CAAC;IAED,oBAAoB;QAClB,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,aAAa;QACX,MAAM,iBAAiB,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QACtD,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAE3E,OAAO,iBAAiB,GAAG,aAAa,CAAC;IAC3C,CAAC;IAEQ,QAAQ;QACf,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;IAC1C,CAAC;CACF;AApCD,wCAoCC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
tslib_1.__exportStar(require("./AdapterFetchError"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./AdapterFetchTimedOutError"), exports);
|
|
6
|
+
tslib_1.__exportStar(require("./AdapterRefreshError"), exports);
|
|
7
|
+
tslib_1.__exportStar(require("./AdapterRefreshTimedOutError"), exports);
|
|
8
|
+
tslib_1.__exportStar(require("./PortfolioError"), exports);
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/core/src/errors/index.ts"],"names":[],"mappings":";;;AAAA,8DAAoC;AACpC,sEAA4C;AAC5C,gEAAsC;AACtC,wEAA8C;AAC9C,2DAAiC"}
|
package/src/helpers.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function deepClone<T>(value: T): T;
|
package/src/helpers.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../packages/core/src/helpers.ts"],"names":[],"mappings":";;;AAAA,SAAgB,SAAS,CAAI,KAAQ;IACnC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAM,CAAC;AAChD,CAAC;AAFD,8BAEC"}
|
package/src/index.d.ts
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export * from './constants';
|
|
2
|
+
export * from './errors';
|
|
3
|
+
export * from './utils';
|
|
4
|
+
export * from './Address';
|
|
5
|
+
export * from './Context';
|
|
6
|
+
export * from './UsdValue';
|
|
7
|
+
export * from './Client';
|
|
8
|
+
export * from './Network';
|
|
9
|
+
export * from './Platform';
|
|
10
|
+
export * from './Portfolio';
|
|
11
|
+
export * from './TokenList';
|
|
12
|
+
export * from './TokenPrice';
|
|
13
|
+
export * from './TokenPriceCache';
|
|
14
|
+
export * from './Yield';
|
|
15
|
+
export * from './Job';
|
|
16
|
+
export * from './Fetcher';
|
|
17
|
+
export * from './Cache';
|
package/src/index.js
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
tslib_1.__exportStar(require("./constants"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./errors"), exports);
|
|
6
|
+
tslib_1.__exportStar(require("./utils"), exports);
|
|
7
|
+
tslib_1.__exportStar(require("./Address"), exports);
|
|
8
|
+
tslib_1.__exportStar(require("./Context"), exports);
|
|
9
|
+
tslib_1.__exportStar(require("./UsdValue"), exports);
|
|
10
|
+
tslib_1.__exportStar(require("./Client"), exports);
|
|
11
|
+
tslib_1.__exportStar(require("./Network"), exports);
|
|
12
|
+
tslib_1.__exportStar(require("./Platform"), exports);
|
|
13
|
+
tslib_1.__exportStar(require("./Portfolio"), exports);
|
|
14
|
+
tslib_1.__exportStar(require("./TokenList"), exports);
|
|
15
|
+
tslib_1.__exportStar(require("./TokenPrice"), exports);
|
|
16
|
+
tslib_1.__exportStar(require("./TokenPriceCache"), exports);
|
|
17
|
+
tslib_1.__exportStar(require("./Yield"), exports);
|
|
18
|
+
tslib_1.__exportStar(require("./Job"), exports);
|
|
19
|
+
tslib_1.__exportStar(require("./Fetcher"), exports);
|
|
20
|
+
tslib_1.__exportStar(require("./Cache"), exports);
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
package/src/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/core/src/index.ts"],"names":[],"mappings":";;;AAAA,sDAA4B;AAC5B,mDAAyB;AACzB,kDAAwB;AACxB,oDAA0B;AAC1B,oDAA0B;AAC1B,qDAA2B;AAC3B,mDAAyB;AACzB,oDAA0B;AAC1B,qDAA2B;AAC3B,sDAA4B;AAC5B,sDAA4B;AAC5B,uDAA6B;AAC7B,4DAAkC;AAClC,kDAAwB;AACxB,gDAAsB;AACtB,oDAA0B;AAC1B,kDAAwB"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { NetworkIdType } from '../Network';
|
|
2
|
+
export declare function isBitcoinAddress(address: string): boolean;
|
|
3
|
+
export declare function assertBitcoinAddress(address: string): void;
|
|
4
|
+
export declare function isEvmAddress(address: string): boolean;
|
|
5
|
+
export declare function assertEvmAddress(address: string): void;
|
|
6
|
+
export declare function isMoveAddress(address: string): boolean;
|
|
7
|
+
export declare function assertMoveAddress(address: string): void;
|
|
8
|
+
export declare function isSolanaAddress(address: string): boolean;
|
|
9
|
+
export declare function assertSolanaAddress(address: string): void;
|
|
10
|
+
export declare function isAddressValid(address: string, networkId: NetworkIdType): boolean;
|
|
11
|
+
export declare function assertAddressValid(address: string, networkId: NetworkIdType): void;
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.assertAddressValid = exports.isAddressValid = exports.assertSolanaAddress = exports.isSolanaAddress = exports.assertMoveAddress = exports.isMoveAddress = exports.assertEvmAddress = exports.isEvmAddress = exports.assertBitcoinAddress = exports.isBitcoinAddress = void 0;
|
|
4
|
+
const web3_js_1 = require("@solana/web3.js");
|
|
5
|
+
const bitcoin_address_validation_1 = require("bitcoin-address-validation");
|
|
6
|
+
const address_1 = require("@ethersproject/address");
|
|
7
|
+
const bytes_1 = require("@ethersproject/bytes");
|
|
8
|
+
const Address_1 = require("../Address");
|
|
9
|
+
const constants_1 = require("../constants");
|
|
10
|
+
function isBitcoinAddress(address) {
|
|
11
|
+
return (0, bitcoin_address_validation_1.validate)(address, bitcoin_address_validation_1.Network.mainnet);
|
|
12
|
+
}
|
|
13
|
+
exports.isBitcoinAddress = isBitcoinAddress;
|
|
14
|
+
function assertBitcoinAddress(address) {
|
|
15
|
+
if (!isBitcoinAddress(address))
|
|
16
|
+
throw new Error(`Bitcoin address is not valid: ${address}`);
|
|
17
|
+
}
|
|
18
|
+
exports.assertBitcoinAddress = assertBitcoinAddress;
|
|
19
|
+
function isEvmAddress(address) {
|
|
20
|
+
if (!address.startsWith('0x'))
|
|
21
|
+
return false;
|
|
22
|
+
return (0, address_1.isAddress)(address.toLocaleLowerCase());
|
|
23
|
+
}
|
|
24
|
+
exports.isEvmAddress = isEvmAddress;
|
|
25
|
+
function assertEvmAddress(address) {
|
|
26
|
+
if (!isEvmAddress(address))
|
|
27
|
+
throw new Error(`Evm address is not valid: ${address}`);
|
|
28
|
+
}
|
|
29
|
+
exports.assertEvmAddress = assertEvmAddress;
|
|
30
|
+
function isMoveAddress(address) {
|
|
31
|
+
return (0, bytes_1.isHexString)(address, 32);
|
|
32
|
+
}
|
|
33
|
+
exports.isMoveAddress = isMoveAddress;
|
|
34
|
+
function assertMoveAddress(address) {
|
|
35
|
+
if (!isMoveAddress(address))
|
|
36
|
+
throw new Error(`Move address is not valid: ${address}`);
|
|
37
|
+
}
|
|
38
|
+
exports.assertMoveAddress = assertMoveAddress;
|
|
39
|
+
function isSolanaAddress(address) {
|
|
40
|
+
if (address.length > 44)
|
|
41
|
+
return false;
|
|
42
|
+
try {
|
|
43
|
+
// eslint-disable-next-line no-new
|
|
44
|
+
new web3_js_1.PublicKey(address);
|
|
45
|
+
return true;
|
|
46
|
+
}
|
|
47
|
+
catch (error) {
|
|
48
|
+
return false;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
exports.isSolanaAddress = isSolanaAddress;
|
|
52
|
+
function assertSolanaAddress(address) {
|
|
53
|
+
if (!isSolanaAddress(address))
|
|
54
|
+
throw new Error(`Solana address is not valid: ${address}`);
|
|
55
|
+
}
|
|
56
|
+
exports.assertSolanaAddress = assertSolanaAddress;
|
|
57
|
+
const validators = {
|
|
58
|
+
[Address_1.AddressSystem.solana]: isSolanaAddress,
|
|
59
|
+
[Address_1.AddressSystem.evm]: isEvmAddress,
|
|
60
|
+
[Address_1.AddressSystem.bitcoin]: isBitcoinAddress,
|
|
61
|
+
[Address_1.AddressSystem.move]: isMoveAddress,
|
|
62
|
+
};
|
|
63
|
+
function isAddressValid(address, networkId) {
|
|
64
|
+
const network = constants_1.networks[networkId];
|
|
65
|
+
if (!network)
|
|
66
|
+
throw new Error(`NetworkId not supported: ${networkId}`);
|
|
67
|
+
const validator = validators[network.addressSystem];
|
|
68
|
+
return validator(address);
|
|
69
|
+
}
|
|
70
|
+
exports.isAddressValid = isAddressValid;
|
|
71
|
+
function assertAddressValid(address, networkId) {
|
|
72
|
+
if (!isAddressValid(address, networkId))
|
|
73
|
+
throw new Error(`Address is not valid: [${networkId}][${address}]`);
|
|
74
|
+
}
|
|
75
|
+
exports.assertAddressValid = assertAddressValid;
|
|
76
|
+
//# sourceMappingURL=addressValid.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"addressValid.js","sourceRoot":"","sources":["../../../../../packages/core/src/utils/addressValid.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAC5C,2EAA+D;AAC/D,oDAAmD;AACnD,gDAAmD;AAEnD,wCAA8D;AAC9D,4CAAwC;AAExC,SAAgB,gBAAgB,CAAC,OAAe;IAC9C,OAAO,IAAA,qCAAQ,EAAC,OAAO,EAAE,oCAAO,CAAC,OAAO,CAAC,CAAC;AAC5C,CAAC;AAFD,4CAEC;AACD,SAAgB,oBAAoB,CAAC,OAAe;IAClD,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,iCAAiC,OAAO,EAAE,CAAC,CAAC;AAChE,CAAC;AAHD,oDAGC;AAED,SAAgB,YAAY,CAAC,OAAe;IAC1C,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5C,OAAO,IAAA,mBAAS,EAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;AAChD,CAAC;AAHD,oCAGC;AACD,SAAgB,gBAAgB,CAAC,OAAe;IAC9C,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,6BAA6B,OAAO,EAAE,CAAC,CAAC;AAC5D,CAAC;AAHD,4CAGC;AAED,SAAgB,aAAa,CAAC,OAAe;IAC3C,OAAO,IAAA,mBAAW,EAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AAClC,CAAC;AAFD,sCAEC;AACD,SAAgB,iBAAiB,CAAC,OAAe;IAC/C,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,8BAA8B,OAAO,EAAE,CAAC,CAAC;AAC7D,CAAC;AAHD,8CAGC;AAED,SAAgB,eAAe,CAAC,OAAe;IAC7C,IAAI,OAAO,CAAC,MAAM,GAAG,EAAE;QAAE,OAAO,KAAK,CAAC;IACtC,IAAI;QACF,kCAAkC;QAClC,IAAI,mBAAS,CAAC,OAAO,CAAC,CAAC;QACvB,OAAO,IAAI,CAAC;KACb;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,KAAK,CAAC;KACd;AACH,CAAC;AATD,0CASC;AACD,SAAgB,mBAAmB,CAAC,OAAe;IACjD,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,gCAAgC,OAAO,EAAE,CAAC,CAAC;AAC/D,CAAC;AAHD,kDAGC;AAED,MAAM,UAAU,GAA4D;IAC1E,CAAC,uBAAa,CAAC,MAAM,CAAC,EAAE,eAAe;IACvC,CAAC,uBAAa,CAAC,GAAG,CAAC,EAAE,YAAY;IACjC,CAAC,uBAAa,CAAC,OAAO,CAAC,EAAE,gBAAgB;IACzC,CAAC,uBAAa,CAAC,IAAI,CAAC,EAAE,aAAa;CACpC,CAAC;AAEF,SAAgB,cAAc,CAC5B,OAAe,EACf,SAAwB;IAExB,MAAM,OAAO,GAAG,oBAAQ,CAAC,SAAS,CAAC,CAAC;IACpC,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,SAAS,EAAE,CAAC,CAAC;IAEvE,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACpD,OAAO,SAAS,CAAC,OAAO,CAAC,CAAC;AAC5B,CAAC;AATD,wCASC;AAED,SAAgB,kBAAkB,CAChC,OAAe,EACf,SAAwB;IAExB,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,SAAS,CAAC;QACrC,MAAM,IAAI,KAAK,CAAC,0BAA0B,SAAS,KAAK,OAAO,GAAG,CAAC,CAAC;AACxE,CAAC;AAND,gDAMC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function compareName(a: string | undefined, b: string | undefined): number;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.compareName = void 0;
|
|
4
|
+
function compareName(a, b) {
|
|
5
|
+
if (a === b)
|
|
6
|
+
return 0;
|
|
7
|
+
if (a === undefined)
|
|
8
|
+
return -1;
|
|
9
|
+
if (b === undefined)
|
|
10
|
+
return 1;
|
|
11
|
+
if (a < b)
|
|
12
|
+
return -1;
|
|
13
|
+
if (b > a)
|
|
14
|
+
return 1;
|
|
15
|
+
return 0;
|
|
16
|
+
}
|
|
17
|
+
exports.compareName = compareName;
|
|
18
|
+
//# sourceMappingURL=compareName.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compareName.js","sourceRoot":"","sources":["../../../../../packages/core/src/utils/compareName.ts"],"names":[],"mappings":";;;AAAA,SAAgB,WAAW,CACzB,CAAqB,EACrB,CAAqB;IAErB,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IACtB,IAAI,CAAC,KAAK,SAAS;QAAE,OAAO,CAAC,CAAC,CAAC;IAC/B,IAAI,CAAC,KAAK,SAAS;QAAE,OAAO,CAAC,CAAC;IAC9B,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,CAAC,CAAC,CAAC;IACrB,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,CAAC,CAAC;IACpB,OAAO,CAAC,CAAC;AACX,CAAC;AAVD,kCAUC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.compareUsdValue = void 0;
|
|
4
|
+
function compareUsdValue(a, b) {
|
|
5
|
+
if (a === b)
|
|
6
|
+
return 0;
|
|
7
|
+
if (a === null)
|
|
8
|
+
return -1;
|
|
9
|
+
if (b === null)
|
|
10
|
+
return 1;
|
|
11
|
+
return b - a;
|
|
12
|
+
}
|
|
13
|
+
exports.compareUsdValue = compareUsdValue;
|
|
14
|
+
//# sourceMappingURL=compareUsdValue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compareUsdValue.js","sourceRoot":"","sources":["../../../../../packages/core/src/utils/compareUsdValue.ts"],"names":[],"mappings":";;;AAEA,SAAgB,eAAe,CAAC,CAAW,EAAE,CAAW;IACtD,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IACtB,IAAI,CAAC,KAAK,IAAI;QAAE,OAAO,CAAC,CAAC,CAAC;IAC1B,IAAI,CAAC,KAAK,IAAI;QAAE,OAAO,CAAC,CAAC;IACzB,OAAO,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AALD,0CAKC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { NetworkIdType } from '../Network';
|
|
2
|
+
export declare function formatBitcoinAddress(address: string): string;
|
|
3
|
+
export declare function formatMoveAddress(address: string): string;
|
|
4
|
+
export declare function formatEvmAddress(address: string): string;
|
|
5
|
+
export declare function formatSolanaAddress(address: string): string;
|
|
6
|
+
export declare function formatAddress(address: string, networkId: NetworkIdType): string;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.formatAddress = exports.formatSolanaAddress = exports.formatEvmAddress = exports.formatMoveAddress = exports.formatBitcoinAddress = void 0;
|
|
4
|
+
const address_1 = require("@ethersproject/address");
|
|
5
|
+
const addressValid_1 = require("./addressValid");
|
|
6
|
+
const Address_1 = require("../Address");
|
|
7
|
+
const constants_1 = require("../constants");
|
|
8
|
+
function formatBitcoinAddress(address) {
|
|
9
|
+
(0, addressValid_1.assertBitcoinAddress)(address);
|
|
10
|
+
return address;
|
|
11
|
+
}
|
|
12
|
+
exports.formatBitcoinAddress = formatBitcoinAddress;
|
|
13
|
+
function formatMoveAddress(address) {
|
|
14
|
+
(0, addressValid_1.assertMoveAddress)(address);
|
|
15
|
+
return address.toLocaleLowerCase();
|
|
16
|
+
}
|
|
17
|
+
exports.formatMoveAddress = formatMoveAddress;
|
|
18
|
+
function formatEvmAddress(address) {
|
|
19
|
+
(0, addressValid_1.assertEvmAddress)(address);
|
|
20
|
+
return (0, address_1.getAddress)(address.toLocaleLowerCase());
|
|
21
|
+
}
|
|
22
|
+
exports.formatEvmAddress = formatEvmAddress;
|
|
23
|
+
function formatSolanaAddress(address) {
|
|
24
|
+
(0, addressValid_1.assertSolanaAddress)(address);
|
|
25
|
+
return address;
|
|
26
|
+
}
|
|
27
|
+
exports.formatSolanaAddress = formatSolanaAddress;
|
|
28
|
+
const formatters = {
|
|
29
|
+
[Address_1.AddressSystem.solana]: formatSolanaAddress,
|
|
30
|
+
[Address_1.AddressSystem.bitcoin]: formatBitcoinAddress,
|
|
31
|
+
[Address_1.AddressSystem.evm]: formatEvmAddress,
|
|
32
|
+
[Address_1.AddressSystem.move]: formatMoveAddress,
|
|
33
|
+
};
|
|
34
|
+
function formatAddress(address, networkId) {
|
|
35
|
+
const network = constants_1.networks[networkId];
|
|
36
|
+
if (!network)
|
|
37
|
+
throw new Error(`NetworkId not supported: ${networkId}`);
|
|
38
|
+
const formatter = formatters[network.addressSystem];
|
|
39
|
+
return formatter(address);
|
|
40
|
+
}
|
|
41
|
+
exports.formatAddress = formatAddress;
|
|
42
|
+
//# sourceMappingURL=formatAddress.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatAddress.js","sourceRoot":"","sources":["../../../../../packages/core/src/utils/formatAddress.ts"],"names":[],"mappings":";;;AAAA,oDAAoD;AACpD,iDAKwB;AAExB,wCAA8D;AAC9D,4CAAwC;AAExC,SAAgB,oBAAoB,CAAC,OAAe;IAClD,IAAA,mCAAoB,EAAC,OAAO,CAAC,CAAC;IAC9B,OAAO,OAAO,CAAC;AACjB,CAAC;AAHD,oDAGC;AAED,SAAgB,iBAAiB,CAAC,OAAe;IAC/C,IAAA,gCAAiB,EAAC,OAAO,CAAC,CAAC;IAC3B,OAAO,OAAO,CAAC,iBAAiB,EAAE,CAAC;AACrC,CAAC;AAHD,8CAGC;AAED,SAAgB,gBAAgB,CAAC,OAAe;IAC9C,IAAA,+BAAgB,EAAC,OAAO,CAAC,CAAC;IAC1B,OAAO,IAAA,oBAAU,EAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;AACjD,CAAC;AAHD,4CAGC;AAED,SAAgB,mBAAmB,CAAC,OAAe;IACjD,IAAA,kCAAmB,EAAC,OAAO,CAAC,CAAC;IAC7B,OAAO,OAAO,CAAC;AACjB,CAAC;AAHD,kDAGC;AAED,MAAM,UAAU,GAA2D;IACzE,CAAC,uBAAa,CAAC,MAAM,CAAC,EAAE,mBAAmB;IAC3C,CAAC,uBAAa,CAAC,OAAO,CAAC,EAAE,oBAAoB;IAC7C,CAAC,uBAAa,CAAC,GAAG,CAAC,EAAE,gBAAgB;IACrC,CAAC,uBAAa,CAAC,IAAI,CAAC,EAAE,iBAAiB;CACxC,CAAC;AAEF,SAAgB,aAAa,CAAC,OAAe,EAAE,SAAwB;IACrE,MAAM,OAAO,GAAG,oBAAQ,CAAC,SAAS,CAAC,CAAC;IACpC,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,SAAS,EAAE,CAAC,CAAC;IAEvE,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACpD,OAAO,SAAS,CAAC,OAAO,CAAC,CAAC;AAC5B,CAAC;AAND,sCAMC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { NetworkIdType } from '../Network';
|
|
2
|
+
export declare function formatBitcoinTokenAddress(address: string): string;
|
|
3
|
+
export declare function formatMoveTokenAddress(address: string): string;
|
|
4
|
+
export declare function formatEvmTokenAddress(address: string): string;
|
|
5
|
+
export declare function formatSolanaTokenAddress(address: string): string;
|
|
6
|
+
export declare function formatTokenAddress(address: string, networkId: NetworkIdType): string;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.formatTokenAddress = exports.formatSolanaTokenAddress = exports.formatEvmTokenAddress = exports.formatMoveTokenAddress = exports.formatBitcoinTokenAddress = void 0;
|
|
4
|
+
const address_1 = require("@ethersproject/address");
|
|
5
|
+
const addressValid_1 = require("./addressValid");
|
|
6
|
+
const Address_1 = require("../Address");
|
|
7
|
+
const constants_1 = require("../constants");
|
|
8
|
+
function formatBitcoinTokenAddress(address) {
|
|
9
|
+
(0, addressValid_1.assertBitcoinAddress)(address);
|
|
10
|
+
return address;
|
|
11
|
+
}
|
|
12
|
+
exports.formatBitcoinTokenAddress = formatBitcoinTokenAddress;
|
|
13
|
+
function formatMoveTokenAddress(address) {
|
|
14
|
+
return address;
|
|
15
|
+
}
|
|
16
|
+
exports.formatMoveTokenAddress = formatMoveTokenAddress;
|
|
17
|
+
function formatEvmTokenAddress(address) {
|
|
18
|
+
(0, addressValid_1.assertEvmAddress)(address);
|
|
19
|
+
return (0, address_1.getAddress)(address.toLocaleLowerCase());
|
|
20
|
+
}
|
|
21
|
+
exports.formatEvmTokenAddress = formatEvmTokenAddress;
|
|
22
|
+
function formatSolanaTokenAddress(address) {
|
|
23
|
+
(0, addressValid_1.assertSolanaAddress)(address);
|
|
24
|
+
return address;
|
|
25
|
+
}
|
|
26
|
+
exports.formatSolanaTokenAddress = formatSolanaTokenAddress;
|
|
27
|
+
const formatters = {
|
|
28
|
+
[Address_1.AddressSystem.solana]: formatSolanaTokenAddress,
|
|
29
|
+
[Address_1.AddressSystem.bitcoin]: formatBitcoinTokenAddress,
|
|
30
|
+
[Address_1.AddressSystem.evm]: formatEvmTokenAddress,
|
|
31
|
+
[Address_1.AddressSystem.move]: formatMoveTokenAddress,
|
|
32
|
+
};
|
|
33
|
+
function formatTokenAddress(address, networkId) {
|
|
34
|
+
const network = constants_1.networks[networkId];
|
|
35
|
+
if (!network)
|
|
36
|
+
throw new Error(`NetworkId not supported: ${networkId}`);
|
|
37
|
+
const formatter = formatters[network.addressSystem];
|
|
38
|
+
return formatter(address);
|
|
39
|
+
}
|
|
40
|
+
exports.formatTokenAddress = formatTokenAddress;
|
|
41
|
+
//# sourceMappingURL=formatTokenAddress.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatTokenAddress.js","sourceRoot":"","sources":["../../../../../packages/core/src/utils/formatTokenAddress.ts"],"names":[],"mappings":";;;AAAA,oDAAoD;AACpD,iDAIwB;AAExB,wCAA8D;AAC9D,4CAAwC;AAExC,SAAgB,yBAAyB,CAAC,OAAe;IACvD,IAAA,mCAAoB,EAAC,OAAO,CAAC,CAAC;IAC9B,OAAO,OAAO,CAAC;AACjB,CAAC;AAHD,8DAGC;AAED,SAAgB,sBAAsB,CAAC,OAAe;IACpD,OAAO,OAAO,CAAC;AACjB,CAAC;AAFD,wDAEC;AAED,SAAgB,qBAAqB,CAAC,OAAe;IACnD,IAAA,+BAAgB,EAAC,OAAO,CAAC,CAAC;IAC1B,OAAO,IAAA,oBAAU,EAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;AACjD,CAAC;AAHD,sDAGC;AAED,SAAgB,wBAAwB,CAAC,OAAe;IACtD,IAAA,kCAAmB,EAAC,OAAO,CAAC,CAAC;IAC7B,OAAO,OAAO,CAAC;AACjB,CAAC;AAHD,4DAGC;AAED,MAAM,UAAU,GAA2D;IACzE,CAAC,uBAAa,CAAC,MAAM,CAAC,EAAE,wBAAwB;IAChD,CAAC,uBAAa,CAAC,OAAO,CAAC,EAAE,yBAAyB;IAClD,CAAC,uBAAa,CAAC,GAAG,CAAC,EAAE,qBAAqB;IAC1C,CAAC,uBAAa,CAAC,IAAI,CAAC,EAAE,sBAAsB;CAC7C,CAAC;AAEF,SAAgB,kBAAkB,CAAC,OAAe,EAAE,SAAwB;IAC1E,MAAM,OAAO,GAAG,oBAAQ,CAAC,SAAS,CAAC,CAAC;IACpC,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,SAAS,EAAE,CAAC,CAAC;IAEvE,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACpD,OAAO,SAAS,CAAC,OAAO,CAAC,CAAC;AAC5B,CAAC;AAND,gDAMC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.formatTokenPrice = void 0;
|
|
4
|
+
const formatTokenAddress_1 = require("./formatTokenAddress");
|
|
5
|
+
function formatTokenPriceUnderlying(tpu) {
|
|
6
|
+
return Object.assign(Object.assign({}, tpu), { address: (0, formatTokenAddress_1.formatTokenAddress)(tpu.address, tpu.networkId) });
|
|
7
|
+
}
|
|
8
|
+
function formatTokenPrice(tokenPrice) {
|
|
9
|
+
var _a;
|
|
10
|
+
return Object.assign(Object.assign({}, tokenPrice), { address: (0, formatTokenAddress_1.formatTokenAddress)(tokenPrice.address, tokenPrice.networkId), underlyings: (_a = tokenPrice.underlyings) === null || _a === void 0 ? void 0 : _a.map((tpu) => formatTokenPriceUnderlying(tpu)) });
|
|
11
|
+
}
|
|
12
|
+
exports.formatTokenPrice = formatTokenPrice;
|
|
13
|
+
//# sourceMappingURL=formatTokenPrice.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatTokenPrice.js","sourceRoot":"","sources":["../../../../../packages/core/src/utils/formatTokenPrice.ts"],"names":[],"mappings":";;;AACA,6DAA0D;AAE1D,SAAS,0BAA0B,CACjC,GAAyB;IAEzB,uCACK,GAAG,KACN,OAAO,EAAE,IAAA,uCAAkB,EAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,SAAS,CAAC,IACvD;AACJ,CAAC;AAED,SAAgB,gBAAgB,CAAC,UAAsB;;IACrD,uCACK,UAAU,KACb,OAAO,EAAE,IAAA,uCAAkB,EAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC,EACrE,WAAW,EAAE,MAAA,UAAU,CAAC,WAAW,0CAAE,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAC/C,0BAA0B,CAAC,GAAG,CAAC,CAChC,IACD;AACJ,CAAC;AARD,4CAQC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.formatUniTokenInfo = void 0;
|
|
4
|
+
const formatTokenAddress_1 = require("./formatTokenAddress");
|
|
5
|
+
function formatUniTokenInfo(uToken, networkId) {
|
|
6
|
+
return Object.assign(Object.assign({}, uToken), { address: (0, formatTokenAddress_1.formatTokenAddress)(uToken.address, networkId) });
|
|
7
|
+
}
|
|
8
|
+
exports.formatUniTokenInfo = formatUniTokenInfo;
|
|
9
|
+
//# sourceMappingURL=formatUniTokenInfo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatUniTokenInfo.js","sourceRoot":"","sources":["../../../../../packages/core/src/utils/formatUniTokenInfo.ts"],"names":[],"mappings":";;;AAEA,6DAA0D;AAE1D,SAAgB,kBAAkB,CAChC,MAAoB,EACpB,SAAwB;IAExB,uCACK,MAAM,KACT,OAAO,EAAE,IAAA,uCAAkB,EAAC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,IACtD;AACJ,CAAC;AARD,gDAQC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getAssetsFromElement = void 0;
|
|
4
|
+
const Portfolio_1 = require("../Portfolio");
|
|
5
|
+
function getAssetsFromElement(element) {
|
|
6
|
+
switch (element.type) {
|
|
7
|
+
case Portfolio_1.PortfolioElementType.single:
|
|
8
|
+
return [element.data.asset];
|
|
9
|
+
case Portfolio_1.PortfolioElementType.multiple:
|
|
10
|
+
return [...element.data.assets];
|
|
11
|
+
case Portfolio_1.PortfolioElementType.liquidity:
|
|
12
|
+
return [
|
|
13
|
+
...element.data.liquidities.map((l) => l.assets).flat(1),
|
|
14
|
+
...element.data.liquidities.map((l) => l.rewardAssets).flat(1),
|
|
15
|
+
];
|
|
16
|
+
case Portfolio_1.PortfolioElementType.borrowlend:
|
|
17
|
+
return [...element.data.suppliedAssets];
|
|
18
|
+
default:
|
|
19
|
+
return [];
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
exports.getAssetsFromElement = getAssetsFromElement;
|
|
23
|
+
//# sourceMappingURL=getAssetsFromElement.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getAssetsFromElement.js","sourceRoot":"","sources":["../../../../../packages/core/src/utils/getAssetsFromElement.ts"],"names":[],"mappings":";;;AAAA,4CAIsB;AAEtB,SAAgB,oBAAoB,CAClC,OAAyB;IAEzB,QAAQ,OAAO,CAAC,IAAI,EAAE;QACpB,KAAK,gCAAoB,CAAC,MAAM;YAC9B,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9B,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,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC1C;YACE,OAAO,EAAE,CAAC;KACb;AACH,CAAC;AAlBD,oDAkBC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getAssetsFromElements = void 0;
|
|
4
|
+
const getAssetsFromElement_1 = require("./getAssetsFromElement");
|
|
5
|
+
function getAssetsFromElements(elements) {
|
|
6
|
+
return elements.map((element) => (0, getAssetsFromElement_1.getAssetsFromElement)(element)).flat(1);
|
|
7
|
+
}
|
|
8
|
+
exports.getAssetsFromElements = getAssetsFromElements;
|
|
9
|
+
//# sourceMappingURL=getAssetsFromElements.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getAssetsFromElements.js","sourceRoot":"","sources":["../../../../../packages/core/src/utils/getAssetsFromElements.ts"],"names":[],"mappings":";;;AACA,iEAA8D;AAE9D,SAAgB,qBAAqB,CACnC,QAA4B;IAE5B,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAA,2CAAoB,EAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC1E,CAAC;AAJD,sDAIC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { PortfolioAsset } from '../Portfolio';
|
|
2
|
+
import { UsdValue } from '../UsdValue';
|
|
3
|
+
export declare function getElementLendingValues(suppliedAssets: PortfolioAsset[], borrowedAssets: PortfolioAsset[], rewardAssets: PortfolioAsset[]): {
|
|
4
|
+
borrowedValue: UsdValue;
|
|
5
|
+
suppliedValue: UsdValue;
|
|
6
|
+
collateralRatio: number | null;
|
|
7
|
+
value: number | null;
|
|
8
|
+
};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getElementLendingValues = void 0;
|
|
4
|
+
function getCollateralRatio(suppliedValue, borrowedValue) {
|
|
5
|
+
let collateralRatio = null;
|
|
6
|
+
if (borrowedValue === 0) {
|
|
7
|
+
collateralRatio = -1;
|
|
8
|
+
}
|
|
9
|
+
else if (suppliedValue && borrowedValue) {
|
|
10
|
+
collateralRatio = suppliedValue / borrowedValue;
|
|
11
|
+
}
|
|
12
|
+
return collateralRatio;
|
|
13
|
+
}
|
|
14
|
+
function getElementLendingValues(suppliedAssets, borrowedAssets, rewardAssets) {
|
|
15
|
+
const rewardsValue = rewardAssets.reduce((acc, asset) => acc !== null && asset.value !== null ? acc + asset.value : null, 0);
|
|
16
|
+
const suppliedValue = suppliedAssets.reduce((acc, asset) => acc !== null && asset.value !== null ? acc + asset.value : null, 0);
|
|
17
|
+
const borrowedValue = borrowedAssets.reduce((acc, asset) => acc !== null && asset.value !== null ? acc + asset.value : null, 0);
|
|
18
|
+
const collateralRatio = getCollateralRatio(suppliedValue, borrowedValue);
|
|
19
|
+
// Total value
|
|
20
|
+
let value = suppliedValue !== null && borrowedValue !== null
|
|
21
|
+
? suppliedValue - borrowedValue
|
|
22
|
+
: null;
|
|
23
|
+
if (rewardsValue !== null && value !== null)
|
|
24
|
+
value += rewardsValue;
|
|
25
|
+
return {
|
|
26
|
+
borrowedValue,
|
|
27
|
+
suppliedValue,
|
|
28
|
+
collateralRatio,
|
|
29
|
+
value,
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
exports.getElementLendingValues = getElementLendingValues;
|
|
33
|
+
//# sourceMappingURL=getElementLendingValues.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getElementLendingValues.js","sourceRoot":"","sources":["../../../../../packages/core/src/utils/getElementLendingValues.ts"],"names":[],"mappings":";;;AAGA,SAAS,kBAAkB,CAAC,aAAuB,EAAE,aAAuB;IAC1E,IAAI,eAAe,GAAkB,IAAI,CAAC;IAC1C,IAAI,aAAa,KAAK,CAAC,EAAE;QACvB,eAAe,GAAG,CAAC,CAAC,CAAC;KACtB;SAAM,IAAI,aAAa,IAAI,aAAa,EAAE;QACzC,eAAe,GAAG,aAAa,GAAG,aAAa,CAAC;KACjD;IACD,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,SAAgB,uBAAuB,CACrC,cAAgC,EAChC,cAAgC,EAChC,YAA8B;IAE9B,MAAM,YAAY,GAAa,YAAY,CAAC,MAAM,CAChD,CAAC,GAAa,EAAE,KAAK,EAAE,EAAE,CACvB,GAAG,KAAK,IAAI,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EACjE,CAAC,CACF,CAAC;IACF,MAAM,aAAa,GAAa,cAAc,CAAC,MAAM,CACnD,CAAC,GAAa,EAAE,KAAK,EAAE,EAAE,CACvB,GAAG,KAAK,IAAI,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EACjE,CAAC,CACF,CAAC;IACF,MAAM,aAAa,GAAa,cAAc,CAAC,MAAM,CACnD,CAAC,GAAa,EAAE,KAAK,EAAE,EAAE,CACvB,GAAG,KAAK,IAAI,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EACjE,CAAC,CACF,CAAC;IACF,MAAM,eAAe,GAAkB,kBAAkB,CACvD,aAAa,EACb,aAAa,CACd,CAAC;IAEF,cAAc;IACd,IAAI,KAAK,GACP,aAAa,KAAK,IAAI,IAAI,aAAa,KAAK,IAAI;QAC9C,CAAC,CAAC,aAAa,GAAG,aAAa;QAC/B,CAAC,CAAC,IAAI,CAAC;IACX,IAAI,YAAY,KAAK,IAAI,IAAI,KAAK,KAAK,IAAI;QAAE,KAAK,IAAI,YAAY,CAAC;IAEnE,OAAO;QACL,aAAa;QACb,aAAa;QACb,eAAe;QACf,KAAK;KACN,CAAC;AACJ,CAAC;AAtCD,0DAsCC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export * from './networkIdIncluded';
|
|
2
|
+
export * from './addressValid';
|
|
3
|
+
export * from './formatAddress';
|
|
4
|
+
export * from './formatTokenAddress';
|
|
5
|
+
export * from './getElementLendingValues';
|
|
6
|
+
export * from './compareName';
|
|
7
|
+
export * from './compareUsdValue';
|
|
8
|
+
export * from './formatTokenPrice';
|
|
9
|
+
export * from './formatUniTokenInfo';
|
|
10
|
+
export * from './getAssetsFromElement';
|
|
11
|
+
export * from './getAssetsFromElements';
|
|
12
|
+
export * from './sortPortfolioElement';
|
|
13
|
+
export * from './sortPortfolioElements';
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
tslib_1.__exportStar(require("./networkIdIncluded"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./addressValid"), exports);
|
|
6
|
+
tslib_1.__exportStar(require("./formatAddress"), exports);
|
|
7
|
+
tslib_1.__exportStar(require("./formatTokenAddress"), exports);
|
|
8
|
+
tslib_1.__exportStar(require("./getElementLendingValues"), exports);
|
|
9
|
+
tslib_1.__exportStar(require("./compareName"), exports);
|
|
10
|
+
tslib_1.__exportStar(require("./compareUsdValue"), exports);
|
|
11
|
+
tslib_1.__exportStar(require("./formatTokenPrice"), exports);
|
|
12
|
+
tslib_1.__exportStar(require("./formatUniTokenInfo"), exports);
|
|
13
|
+
tslib_1.__exportStar(require("./getAssetsFromElement"), exports);
|
|
14
|
+
tslib_1.__exportStar(require("./getAssetsFromElements"), exports);
|
|
15
|
+
tslib_1.__exportStar(require("./sortPortfolioElement"), exports);
|
|
16
|
+
tslib_1.__exportStar(require("./sortPortfolioElements"), exports);
|
|
17
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/core/src/utils/index.ts"],"names":[],"mappings":";;;AAAA,8DAAoC;AACpC,yDAA+B;AAC/B,0DAAgC;AAChC,+DAAqC;AACrC,oEAA0C;AAC1C,wDAA8B;AAC9B,4DAAkC;AAClC,6DAAmC;AACnC,+DAAqC;AACrC,iEAAuC;AACvC,kEAAwC;AACxC,iEAAuC;AACvC,kEAAwC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.assertNetworkIdIncluded = exports.isNetworkIdIncluded = void 0;
|
|
4
|
+
function isNetworkIdIncluded(networkId, networkIds) {
|
|
5
|
+
return networkIds.includes(networkId);
|
|
6
|
+
}
|
|
7
|
+
exports.isNetworkIdIncluded = isNetworkIdIncluded;
|
|
8
|
+
function assertNetworkIdIncluded(networkId, networkIds) {
|
|
9
|
+
if (!isNetworkIdIncluded(networkId, networkIds))
|
|
10
|
+
throw new Error(`Network id is not included: ${networkId} [${networkIds.join(',')}]`);
|
|
11
|
+
}
|
|
12
|
+
exports.assertNetworkIdIncluded = assertNetworkIdIncluded;
|
|
13
|
+
//# sourceMappingURL=networkIdIncluded.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"networkIdIncluded.js","sourceRoot":"","sources":["../../../../../packages/core/src/utils/networkIdIncluded.ts"],"names":[],"mappings":";;;AAEA,SAAgB,mBAAmB,CACjC,SAAwB,EACxB,UAA2B;IAE3B,OAAO,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AACxC,CAAC;AALD,kDAKC;AAED,SAAgB,uBAAuB,CACrC,SAAwB,EACxB,UAA2B;IAE3B,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,UAAU,CAAC;QAC7C,MAAM,IAAI,KAAK,CAAC,+BAA+B,SAAS,KAAK,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAC1F,CAAC;AAND,0DAMC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { PortfolioElement, PortfolioElementBorrowLend, PortfolioElementLiquidity, PortfolioElementMultiple } from '../Portfolio';
|
|
2
|
+
export declare function sortPortfolioElement(element: PortfolioElement): PortfolioElement;
|
|
3
|
+
export declare function sortElementMultiple(element: PortfolioElementMultiple): PortfolioElementMultiple;
|
|
4
|
+
export declare function sortElementBorrowLend(element: PortfolioElementBorrowLend): PortfolioElementBorrowLend;
|
|
5
|
+
export declare function sortElementLiquidity(element: PortfolioElementLiquidity): PortfolioElementLiquidity;
|