dequanto 0.1.29 → 0.1.32
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/data/chainlink/feeds.json +3700 -1639
- package/data/tokens/arbitrum.json +1 -1
- package/data/tokens/coinmarketcap/tokens.json +1 -0
- package/data/tokens/uni.json +1 -0
- package/lib/cjs/chains/PlatformFactory.js +1 -1
- package/lib/cjs/chains/PlatformFactory.js.map +1 -1
- package/lib/cjs/clients/Web3ClientFactory.js +37 -31
- package/lib/cjs/clients/Web3ClientFactory.js.map +1 -1
- package/lib/cjs/contracts/deploy/Deployments.js +4 -1
- package/lib/cjs/contracts/deploy/Deployments.js.map +1 -1
- package/lib/cjs/contracts/deploy/storage/DeploymentsStorage.js +2 -1
- package/lib/cjs/contracts/deploy/storage/DeploymentsStorage.js.map +1 -1
- package/lib/cjs/explorer/BlockchainExplorer.js +10 -4
- package/lib/cjs/explorer/BlockchainExplorer.js.map +1 -1
- package/lib/cjs/tokens/TokenDataProvider.js +4 -4
- package/lib/cjs/tokens/TokenDataProvider.js.map +1 -1
- package/lib/cjs/tokens/TokenExchanges/AmmV2ExchangeBase.js +3 -3
- package/lib/cjs/tokens/TokenExchanges/AmmV2ExchangeBase.js.map +1 -1
- package/lib/cjs/tokens/TokenExchanges/AmmV2PriceQuote.js +31 -2
- package/lib/cjs/tokens/TokenExchanges/AmmV2PriceQuote.js.map +1 -1
- package/lib/cjs/tokens/TokenOracles/SpotPriceAggregator/SpotPriceAggregator.js +46 -0
- package/lib/cjs/tokens/TokenOracles/SpotPriceAggregator/SpotPriceAggregator.js.map +1 -0
- package/lib/cjs/tokens/TokenOracles/amm/AmmV2Oracle.js +1 -1
- package/lib/cjs/tokens/TokenOracles/chainlink/ChainlinkFeedProvider.js +9 -2
- package/lib/cjs/tokens/TokenOracles/chainlink/ChainlinkFeedProvider.js.map +1 -1
- package/lib/cjs/tokens/TokenOracles/chainlink/ChainlinkOracle.js.map +1 -1
- package/lib/cjs/tokens/TokenPriceService.js +29 -33
- package/lib/cjs/tokens/TokenPriceService.js.map +1 -1
- package/lib/cjs/tokens/TokenPriceServiceProvider.js +13 -23
- package/lib/cjs/tokens/TokenPriceServiceProvider.js.map +1 -1
- package/lib/cjs/tokens/TokenProviders/TPCoinmarketcap.js +8 -0
- package/lib/cjs/tokens/TokenProviders/TPCoinmarketcap.js.map +1 -1
- package/lib/cjs/tokens/TokenProviders/TPUniswap.js +79 -3
- package/lib/cjs/tokens/TokenProviders/TPUniswap.js.map +1 -1
- package/lib/cjs/tokens/TokensServiceFactory.js +8 -33
- package/lib/cjs/tokens/TokensServiceFactory.js.map +1 -1
- package/lib/cjs/utils/$bigfloat.js.map +1 -1
- package/lib/cjs/utils/$dependency.js +9 -0
- package/lib/cjs/utils/$dependency.js.map +1 -1
- package/lib/cjs/utils/$number.js +1 -1
- package/lib/cjs/utils/$number.js.map +1 -1
- package/lib/cjs/utils/$path.js +11 -2
- package/lib/cjs/utils/$path.js.map +1 -1
- package/lib/esm/chains/PlatformFactory.js.map +1 -1
- package/lib/esm/chains/PlatformFactory.mjs +1 -1
- package/lib/esm/clients/Web3ClientFactory.js.map +1 -1
- package/lib/esm/clients/Web3ClientFactory.mjs +38 -32
- package/lib/esm/contracts/deploy/Deployments.js.map +1 -1
- package/lib/esm/contracts/deploy/Deployments.mjs +4 -1
- package/lib/esm/contracts/deploy/storage/DeploymentsStorage.js.map +1 -1
- package/lib/esm/contracts/deploy/storage/DeploymentsStorage.mjs +2 -1
- package/lib/esm/explorer/BlockchainExplorer.js.map +1 -1
- package/lib/esm/explorer/BlockchainExplorer.mjs +10 -4
- package/lib/esm/tokens/TokenDataProvider.js.map +1 -1
- package/lib/esm/tokens/TokenDataProvider.mjs +4 -4
- package/lib/esm/tokens/TokenExchanges/AmmV2ExchangeBase.js.map +1 -1
- package/lib/esm/tokens/TokenExchanges/AmmV2ExchangeBase.mjs +3 -3
- package/lib/esm/tokens/TokenExchanges/AmmV2PriceQuote.js.map +1 -1
- package/lib/esm/tokens/TokenExchanges/AmmV2PriceQuote.mjs +31 -2
- package/lib/esm/tokens/TokenOracles/SpotPriceAggregator/SpotPriceAggregator.js.map +1 -0
- package/lib/esm/tokens/TokenOracles/SpotPriceAggregator/SpotPriceAggregator.mjs +42 -0
- package/lib/esm/tokens/TokenOracles/amm/AmmV2Oracle.mjs +1 -1
- package/lib/esm/tokens/TokenOracles/chainlink/ChainlinkFeedProvider.js.map +1 -1
- package/lib/esm/tokens/TokenOracles/chainlink/ChainlinkFeedProvider.mjs +9 -2
- package/lib/esm/tokens/TokenOracles/chainlink/ChainlinkOracle.js.map +1 -1
- package/lib/esm/tokens/TokenPriceService.js.map +1 -1
- package/lib/esm/tokens/TokenPriceService.mjs +29 -33
- package/lib/esm/tokens/TokenPriceServiceProvider.js.map +1 -1
- package/lib/esm/tokens/TokenPriceServiceProvider.mjs +12 -19
- package/lib/esm/tokens/TokenProviders/TPCoinmarketcap.js.map +1 -1
- package/lib/esm/tokens/TokenProviders/TPCoinmarketcap.mjs +5 -0
- package/lib/esm/tokens/TokenProviders/TPUniswap.js.map +1 -1
- package/lib/esm/tokens/TokenProviders/TPUniswap.mjs +73 -1
- package/lib/esm/tokens/TokensServiceFactory.js.map +1 -1
- package/lib/esm/tokens/TokensServiceFactory.mjs +8 -30
- package/lib/esm/utils/$bigfloat.js.map +1 -1
- package/lib/esm/utils/$dependency.js.map +1 -1
- package/lib/esm/utils/$dependency.mjs +7 -0
- package/lib/esm/utils/$number.js.map +1 -1
- package/lib/esm/utils/$number.mjs +1 -1
- package/lib/esm/utils/$path.js.map +1 -1
- package/lib/esm/utils/$path.mjs +11 -2
- package/lib/types/clients/Web3ClientFactory.d.ts +3 -7
- package/lib/types/config/interface/IConfigData.d.ts +3 -0
- package/lib/types/models/TPlatform.d.ts +1 -1
- package/lib/types/tokens/TokenExchanges/AmmV2PriceQuote.d.ts +7 -6
- package/lib/types/tokens/TokenOracles/IOracle.d.ts +1 -1
- package/lib/types/tokens/TokenOracles/SpotPriceAggregator/SpotPriceAggregator.d.ts +9 -0
- package/lib/types/tokens/TokenPriceService.d.ts +2 -1
- package/lib/types/tokens/TokenPriceServiceProvider.d.ts +2 -2
- package/lib/types/tokens/TokenProviders/TPCoinmarketcap.d.ts +1 -1
- package/lib/types/tokens/TokenProviders/TPUniswap.d.ts +8 -0
- package/lib/types/tokens/TokensServiceFactory.d.ts +1 -0
- package/lib/types/utils/$bigfloat.d.ts +1 -1
- package/lib/types/utils/$dependency.d.ts +1 -0
- package/lib/types/utils/$number.d.ts +1 -1
- package/lib/types/utils/$path.d.ts +1 -1
- package/package.json +1 -1
- package/src/chains/PlatformFactory.ts +1 -1
- package/src/clients/Web3ClientFactory.ts +40 -33
- package/src/config/interface/IConfigData.ts +4 -0
- package/src/contracts/deploy/Deployments.ts +4 -1
- package/src/contracts/deploy/storage/DeploymentsStorage.ts +2 -1
- package/src/explorer/BlockchainExplorer.ts +9 -4
- package/src/models/TPlatform.ts +1 -0
- package/src/tokens/TokenDataProvider.ts +4 -4
- package/src/tokens/TokenExchanges/AmmV2ExchangeBase.ts +3 -3
- package/src/tokens/TokenExchanges/AmmV2PriceQuote.ts +41 -8
- package/src/tokens/TokenOracles/IOracle.ts +1 -1
- package/src/tokens/TokenOracles/SpotPriceAggregator/SpotPriceAggregator.ts +62 -0
- package/src/tokens/TokenOracles/amm/AmmV2Oracle.ts +1 -1
- package/src/tokens/TokenOracles/chainlink/ChainlinkFeedProvider.ts +9 -2
- package/src/tokens/TokenOracles/chainlink/ChainlinkOracle.ts +0 -1
- package/src/tokens/TokenPriceService.ts +32 -40
- package/src/tokens/TokenPriceServiceProvider.ts +10 -23
- package/src/tokens/TokenProviders/TPCoinmarketcap.ts +7 -0
- package/src/tokens/TokenProviders/TPUniswap.ts +90 -1
- package/src/tokens/TokensServiceFactory.ts +7 -30
- package/src/utils/$bigfloat.ts +1 -2
- package/src/utils/$dependency.ts +12 -0
- package/src/utils/$number.ts +2 -2
- package/src/utils/$path.ts +12 -3
- package/lib/cjs/tokens/TokensServiceBsc.js +0 -20
- package/lib/cjs/tokens/TokensServiceBsc.js.map +0 -1
- package/lib/cjs/tokens/TokensServiceEth.js +0 -17
- package/lib/cjs/tokens/TokensServiceEth.js.map +0 -1
- package/lib/cjs/tokens/TokensServicePolygon.js +0 -20
- package/lib/cjs/tokens/TokensServicePolygon.js.map +0 -1
- package/lib/cjs/tokens/TokensServiceXDai.js +0 -26
- package/lib/cjs/tokens/TokensServiceXDai.js.map +0 -1
- package/lib/esm/tokens/TokensServiceBsc.js.map +0 -1
- package/lib/esm/tokens/TokensServiceBsc.mjs +0 -13
- package/lib/esm/tokens/TokensServiceEth.js.map +0 -1
- package/lib/esm/tokens/TokensServiceEth.mjs +0 -10
- package/lib/esm/tokens/TokensServicePolygon.js.map +0 -1
- package/lib/esm/tokens/TokensServicePolygon.mjs +0 -13
- package/lib/esm/tokens/TokensServiceXDai.js.map +0 -1
- package/lib/esm/tokens/TokensServiceXDai.mjs +0 -19
- package/lib/types/tokens/TokensServiceBsc.d.ts +0 -8
- package/lib/types/tokens/TokensServiceEth.d.ts +0 -4
- package/lib/types/tokens/TokensServicePolygon.d.ts +0 -8
- package/lib/types/tokens/TokensServiceXDai.d.ts +0 -11
- package/src/tokens/TokensServiceBsc.ts +0 -17
- package/src/tokens/TokensServiceEth.ts +0 -9
- package/src/tokens/TokensServicePolygon.ts +0 -17
- package/src/tokens/TokensServiceXDai.ts +0 -26
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TokenDataProvider.js","sourceRoot":"","sources":["../../../src/tokens/TokenDataProvider.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gDAAwB;AACxB,gDAAwB;AAExB,iFAA8E;AAI9E,uDAAoD;AACpD,6CAA0C;AAC1C,uDAAoD;AAEpD,4DAAuE;AACvE,sEAAmE;AACnE,
|
|
1
|
+
{"version":3,"file":"TokenDataProvider.js","sourceRoot":"","sources":["../../../src/tokens/TokenDataProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,7 +16,6 @@ const alot_1 = __importDefault(require("alot"));
|
|
|
16
16
|
const ContractReader_1 = require("../../contracts/ContractReader.js");
|
|
17
17
|
const JsonArrayStore_1 = require("../../json/JsonArrayStore.js");
|
|
18
18
|
const _bigint_1 = require("../../utils/$bigint.js");
|
|
19
|
-
const TokensServiceBsc_1 = require("../TokensServiceBsc.js");
|
|
20
19
|
const _address_1 = require("../../utils/$address.js");
|
|
21
20
|
const _require_1 = require("../../utils/$require.js");
|
|
22
21
|
const _cache_1 = require("../../utils/$cache.js");
|
|
@@ -24,6 +23,7 @@ const AmmFactoryV2Contract_1 = require("../../prebuilt/amm/AmmFactoryV2Contract/
|
|
|
24
23
|
const AmmMasterChefV2Contract_1 = require("../../prebuilt/amm/AmmMasterChefV2Contract/AmmMasterChefV2Contract.js");
|
|
25
24
|
const AmmVaultV2Contract_1 = require("../../prebuilt/amm/AmmVaultV2Contract/AmmVaultV2Contract.js");
|
|
26
25
|
const AmmPairV2Contract_1 = require("../../prebuilt/amm/AmmPairV2Contract/AmmPairV2Contract.js");
|
|
26
|
+
const TokensService_1 = require("../TokensService.js");
|
|
27
27
|
class AmmV2ExchangeBase {
|
|
28
28
|
get pairsStore() {
|
|
29
29
|
return new JsonArrayStore_1.JsonArrayStore({
|
|
@@ -115,7 +115,7 @@ class AmmV2ExchangeBase {
|
|
|
115
115
|
pairContract.token0(),
|
|
116
116
|
pairContract.token1(),
|
|
117
117
|
]);
|
|
118
|
-
let tokensService = a_di_1.default.resolve(
|
|
118
|
+
let tokensService = a_di_1.default.resolve(TokensService_1.TokensService, this.client.platform);
|
|
119
119
|
let [token0, token1] = await Promise.all([
|
|
120
120
|
tokensService.getTokenOrDefault(token0Addr),
|
|
121
121
|
tokensService.getTokenOrDefault(token1Addr),
|
|
@@ -123,7 +123,7 @@ class AmmV2ExchangeBase {
|
|
|
123
123
|
return {
|
|
124
124
|
name: symbol,
|
|
125
125
|
symbol: symbol,
|
|
126
|
-
platform:
|
|
126
|
+
platform: this.client.platform,
|
|
127
127
|
address: pairAddress,
|
|
128
128
|
i: Number(i),
|
|
129
129
|
token0: token0,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AmmV2ExchangeBase.js","sourceRoot":"","sources":["../../../../src/tokens/TokenExchanges/AmmV2ExchangeBase.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gDAAsB;AACtB,gDAAwB;AACxB,gDAAwB;AAGxB,uEAAoE;AACpE,kEAA+D;AAG/D,qDAAkD;AAClD,
|
|
1
|
+
{"version":3,"file":"AmmV2ExchangeBase.js","sourceRoot":"","sources":["../../../../src/tokens/TokenExchanges/AmmV2ExchangeBase.ts"],"names":[],"mappings":"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"}
|
|
@@ -38,6 +38,35 @@ class AmmV2PriceQuote {
|
|
|
38
38
|
this.logger = a_di_1.default.resolve(LoggerService_1.LoggerService, 'AmmPriceV2Oracle');
|
|
39
39
|
}
|
|
40
40
|
async getPrice(token, opts) {
|
|
41
|
+
let { error, result } = await this.getRoute(token, opts);
|
|
42
|
+
if (error != null) {
|
|
43
|
+
return { error };
|
|
44
|
+
}
|
|
45
|
+
let priceResult = {
|
|
46
|
+
price: result.outUsd,
|
|
47
|
+
date: new Date(),
|
|
48
|
+
pools: result.route.map(route => {
|
|
49
|
+
let sorted = BigInt(route.from.address) < BigInt(route.to.address);
|
|
50
|
+
let t1 = {
|
|
51
|
+
price: sorted ? route.fromPrice : route.toPrice,
|
|
52
|
+
decimals: sorted ? route.from.decimals : route.to.decimals,
|
|
53
|
+
total: sorted ? route.pool.reserve0 : route.pool.reserve1,
|
|
54
|
+
};
|
|
55
|
+
let t2 = {
|
|
56
|
+
price: sorted ? route.toPrice : route.fromPrice,
|
|
57
|
+
decimals: sorted ? route.to.decimals : route.from.decimals,
|
|
58
|
+
total: sorted ? route.pool.reserve1 : route.pool.reserve0,
|
|
59
|
+
};
|
|
60
|
+
function getTotalToken(t) {
|
|
61
|
+
let amount = t.total / 10n ** BigInt(t.decimals);
|
|
62
|
+
return _bigint_1.$bigint.multWithFloat(amount, t.price);
|
|
63
|
+
}
|
|
64
|
+
return getTotalToken(t1) + getTotalToken(t2);
|
|
65
|
+
})
|
|
66
|
+
};
|
|
67
|
+
return { result: priceResult };
|
|
68
|
+
}
|
|
69
|
+
async getRoute(token, opts) {
|
|
41
70
|
let amount = opts?.amountWei ?? (BigInt(opts?.amount ?? 1) * 10n ** BigInt(token.decimals));
|
|
42
71
|
if (TokenUtils_1.TokenUtils.isStable(token.symbol)) {
|
|
43
72
|
// Assume swap 1:1
|
|
@@ -168,7 +197,7 @@ class TokenRangePriceService {
|
|
|
168
197
|
this.cache = new Map();
|
|
169
198
|
this.INTERVAL = 5 * 60 * 1000;
|
|
170
199
|
}
|
|
171
|
-
async
|
|
200
|
+
async getRoute(mix, opts) {
|
|
172
201
|
let key = typeof mix === 'string'
|
|
173
202
|
? mix
|
|
174
203
|
: mix.address;
|
|
@@ -191,7 +220,7 @@ class TokenRangePriceService {
|
|
|
191
220
|
if (this.cache.has(key)) {
|
|
192
221
|
return this.cache.get(key);
|
|
193
222
|
}
|
|
194
|
-
let promise = this.service.
|
|
223
|
+
let promise = this.service.getRoute(mix, {
|
|
195
224
|
...(opts ?? {}),
|
|
196
225
|
date: byDate,
|
|
197
226
|
block: byBlock
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AmmV2PriceQuote.js","sourceRoot":"","sources":["../../../../src/tokens/TokenExchanges/AmmV2PriceQuote.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AmmV2PriceQuote.js","sourceRoot":"","sources":["../../../../src/tokens/TokenExchanges/AmmV2PriceQuote.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SpotPriceAggregator = void 0;
|
|
4
|
+
const ChainlinkOracle_1 = require("../chainlink/ChainlinkOracle.js");
|
|
5
|
+
const Web3ClientFactory_1 = require("../../../clients/Web3ClientFactory.js");
|
|
6
|
+
const ContractClassFactory_1 = require("../../../contracts/ContractClassFactory.js");
|
|
7
|
+
const _config_1 = require("../../../utils/$config.js");
|
|
8
|
+
const _bigfloat_1 = require("../../../utils/$bigfloat.js");
|
|
9
|
+
const _require_1 = require("../../../utils/$require.js");
|
|
10
|
+
// https://github.com/1inch/spot-price-aggregator?tab=readme-ov-file
|
|
11
|
+
class SpotPriceAggregator {
|
|
12
|
+
constructor() {
|
|
13
|
+
this.chainlink = new ChainlinkOracle_1.ChainlinkOracle();
|
|
14
|
+
}
|
|
15
|
+
async getPrice(token, opts) {
|
|
16
|
+
let client = await Web3ClientFactory_1.Web3ClientFactory.getAsync(token.platform);
|
|
17
|
+
let contract = await this.getContract(client, token);
|
|
18
|
+
let [priceInEth, ethPrice] = await Promise.all([
|
|
19
|
+
contract.getRateToEth(token.address, true),
|
|
20
|
+
this.chainlink.getPrice({ symbol: client.chainToken })
|
|
21
|
+
]);
|
|
22
|
+
if (ethPrice.error) {
|
|
23
|
+
return { error: ethPrice.error };
|
|
24
|
+
}
|
|
25
|
+
let price = _bigfloat_1.$bigfloat.from(priceInEth).mul(ethPrice.result.price).div(1e18).toNumber();
|
|
26
|
+
return {
|
|
27
|
+
error: null,
|
|
28
|
+
result: {
|
|
29
|
+
price: price,
|
|
30
|
+
date: new Date(),
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
async getContract(client, token) {
|
|
35
|
+
let config = await _config_1.$config.get(`spotPriceAggregator.${token.platform}`);
|
|
36
|
+
_require_1.$require.Address(config, `1inch SpotPriceAggregator not defined for ${token.address} on ${token.platform}`);
|
|
37
|
+
;
|
|
38
|
+
let { contract } = ContractClassFactory_1.ContractClassFactory.fromAbi(config, [
|
|
39
|
+
`function getRateToEth(address srcToken, bool useSrcWrappers) view returns (uint256)`
|
|
40
|
+
], client);
|
|
41
|
+
return contract;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
exports.SpotPriceAggregator = SpotPriceAggregator;
|
|
45
|
+
//# sourceMappingURL=SpotPriceAggregator.js.map
|
|
46
|
+
//# sourceMappingURL=SpotPriceAggregator.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SpotPriceAggregator.js","sourceRoot":"","sources":["../../../../../src/tokens/TokenOracles/SpotPriceAggregator/SpotPriceAggregator.ts"],"names":[],"mappings":";;;AACA,kEAA+D;AAC/D,2EAAwE;AACxE,mFAAgF;AAChF,qDAAkD;AAKlD,yDAAsD;AACtD,uDAAoD;AAGpD,oEAAoE;AACpE,MAAa,mBAAmB;IAI5B;QAFQ,cAAS,GAAG,IAAI,iCAAe,EAAE,CAAC;IAI1C,CAAC;IAGD,KAAK,CAAC,QAAQ,CAAE,KAAa,EAAE,IAAqB;QAChD,IAAI,MAAM,GAAG,MAAM,qCAAiB,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC9D,IAAI,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACrD,IAAI,CACA,UAAU,EACV,QAAQ,CACX,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAClB,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC;YAC1C,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;SACzD,CAAC,CAAC;QAEH,IAAI,QAAQ,CAAC,KAAK,EAAE;YAChB,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC;SACpC;QACD,IAAI,KAAK,GAAG,qBAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;QACvF,OAAO;YACH,KAAK,EAAE,IAAI;YACX,MAAM,EAAE;gBACJ,KAAK,EAAE,KAAK;gBACZ,IAAI,EAAE,IAAI,IAAI,EAAE;aACnB;SACJ,CAAA;IACL,CAAC;IAEO,KAAK,CAAC,WAAW,CAAE,MAAkB,EAAE,KAAa;QAExD,IAAI,MAAM,GAAG,MAAM,iBAAO,CAAC,GAAG,CAAyC,uBAAuB,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QAChH,mBAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,6CAA8C,KAAK,CAAC,OAAQ,OAAQ,KAAK,CAAC,QAAS,EAAE,CAAC,CAAC;QAI/G,CAAC;QACF,IAAI,EAAE,QAAQ,EAAE,GAAG,2CAAoB,CAAC,OAAO,CAAQ,MAAM,EAAE;YAC3D,qFAAqF;SACxF,EAAE,MAAM,CAAC,CAAC;QAEX,OAAO,QAAQ,CAAC;IACpB,CAAC;CACJ;AA/CD,kDA+CC"}
|
|
@@ -25,7 +25,7 @@ class AmmV2Oracle {
|
|
|
25
25
|
if (tokenData == null) {
|
|
26
26
|
throw new Error(`AmmV2Oracle: Token not found ${t} for ${platform}`);
|
|
27
27
|
}
|
|
28
|
-
let { error, result: route } = await this.quoter.
|
|
28
|
+
let { error, result: route } = await this.quoter.getRoute(tokenData);
|
|
29
29
|
if (error) {
|
|
30
30
|
return { error };
|
|
31
31
|
}
|
|
@@ -54,11 +54,14 @@ class ChainlinkFeedProvider {
|
|
|
54
54
|
// from 'https://docs.chain.link/data-feeds/price-feeds/addresses';
|
|
55
55
|
const paths = [
|
|
56
56
|
{ url: 'https://reference-data-directory.vercel.app/feeds-mainnet.json', platform: 'eth' },
|
|
57
|
-
{ url: 'https://reference-data-directory.vercel.app/feeds-matic-mainnet.json', platform: 'polygon' }
|
|
57
|
+
{ url: 'https://reference-data-directory.vercel.app/feeds-matic-mainnet.json', platform: 'polygon' },
|
|
58
|
+
{ url: 'https://reference-data-directory.vercel.app/feeds-bsc-mainnet.json', platform: 'bsc' },
|
|
59
|
+
{ url: 'https://reference-data-directory.vercel.app/feeds-ethereum-mainnet-base-1.json', platform: 'base' },
|
|
60
|
+
{ url: 'https://reference-data-directory.vercel.app/feeds-ethereum-mainnet-optimism-1.json', platform: 'optimism' }
|
|
58
61
|
];
|
|
59
62
|
let tokens = await (0, alot_1.default)(paths).mapManyAsync(async (pathInfo) => {
|
|
60
63
|
return this.fetchFeed(pathInfo.url, pathInfo.platform);
|
|
61
|
-
}).toArrayAsync();
|
|
64
|
+
}).toArrayAsync({ threads: 1 });
|
|
62
65
|
(0, _logger_1.l) `Fetched ${tokens.length} feeds`;
|
|
63
66
|
let platformStats = (0, alot_1.default)(tokens).groupBy(x => x.platform).toDictionary(x => x.key, x => x.values.length);
|
|
64
67
|
(0, _logger_1.l) `Feeds per platform: ${platformStats}`;
|
|
@@ -82,6 +85,10 @@ class ChainlinkFeedProvider {
|
|
|
82
85
|
else {
|
|
83
86
|
pair = feed.pair;
|
|
84
87
|
}
|
|
88
|
+
if (feed.contractType === "verifier") {
|
|
89
|
+
// skip not onchain oracle contracts
|
|
90
|
+
return null;
|
|
91
|
+
}
|
|
85
92
|
switch (feed.feedCategory) {
|
|
86
93
|
case 'deprecating': {
|
|
87
94
|
// skip
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChainlinkFeedProvider.js","sourceRoot":"","sources":["../../../../../src/tokens/TokenOracles/chainlink/ChainlinkFeedProvider.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AACxB,kEAA+D;AAI/D,iDAA8C;AAE9C,uDAAoD;AACpD,qDAA4C;AAE5C,wDAAqD;AACrD,iDAA8C;AAW9C,MAAa,qBAAqB;IAAlC;QAEI,UAAK,GAAG,IAAI,+BAAc,CAAsB;YAC5C,IAAI,EAAE,aAAK,CAAC,OAAO,CAAC,4BAA4B,CAAC;YACjD,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO;YACnB,MAAM,EAAE,IAAI;SACf,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"ChainlinkFeedProvider.js","sourceRoot":"","sources":["../../../../../src/tokens/TokenOracles/chainlink/ChainlinkFeedProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChainlinkOracle.js","sourceRoot":"","sources":["../../../../../src/tokens/TokenOracles/chainlink/ChainlinkOracle.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gDAAsB;AACtB,gDAAwB;AACxB,gDAAwB;
|
|
1
|
+
{"version":3,"file":"ChainlinkOracle.js","sourceRoot":"","sources":["../../../../../src/tokens/TokenOracles/chainlink/ChainlinkOracle.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,14 +9,20 @@ const TokenUtils_1 = require("./utils/TokenUtils.js");
|
|
|
9
9
|
const TokensService_1 = require("./TokensService.js");
|
|
10
10
|
const _address_1 = require("../utils/$address.js");
|
|
11
11
|
const AmmV2PriceQuote_1 = require("./TokenExchanges/AmmV2PriceQuote.js");
|
|
12
|
-
const _bigint_1 = require("../utils/$bigint.js");
|
|
13
12
|
const _logger_1 = require("../utils/$logger.js");
|
|
13
|
+
const _require_1 = require("../utils/$require.js");
|
|
14
|
+
const ChainlinkOracle_1 = require("./TokenOracles/chainlink/ChainlinkOracle.js");
|
|
15
|
+
const SpotPriceAggregator_1 = require("./TokenOracles/SpotPriceAggregator/SpotPriceAggregator.js");
|
|
14
16
|
class TokenPriceService {
|
|
15
17
|
constructor(client, explorer) {
|
|
16
18
|
this.client = client;
|
|
17
19
|
this.explorer = explorer;
|
|
18
|
-
this.tokens = a_di_1.default.resolve(TokensService_1.TokensService, this.client.
|
|
19
|
-
this.
|
|
20
|
+
this.tokens = a_di_1.default.resolve(TokensService_1.TokensService, this.client.network, this.explorer);
|
|
21
|
+
this.oracles = [
|
|
22
|
+
{ provider: `chainlink`, oracle: new ChainlinkOracle_1.ChainlinkOracle([client]) },
|
|
23
|
+
{ provider: `1inchAggregator-${client.network}`, oracle: new SpotPriceAggregator_1.SpotPriceAggregator() },
|
|
24
|
+
{ provider: `ammV2`, oracle: new AmmV2PriceQuote_1.AmmV2PriceQuote(this.client, this.explorer) },
|
|
25
|
+
];
|
|
20
26
|
}
|
|
21
27
|
async getPrice(mix, opts) {
|
|
22
28
|
let token;
|
|
@@ -26,37 +32,27 @@ class TokenPriceService {
|
|
|
26
32
|
: mix;
|
|
27
33
|
}
|
|
28
34
|
catch (error) { }
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
35
|
+
_require_1.$require.notNull(token, `Token ${mix} not found`);
|
|
36
|
+
_require_1.$require.Number(token.decimals, `Token has no decimals ${token.symbol}`);
|
|
37
|
+
let errors = [];
|
|
38
|
+
for (let oracleData of this.oracles) {
|
|
39
|
+
let oracle = oracleData.oracle;
|
|
40
|
+
let { error, result } = await oracle.getPrice(token, opts);
|
|
41
|
+
if (error) {
|
|
42
|
+
errors.push(error);
|
|
43
|
+
continue;
|
|
44
|
+
}
|
|
45
|
+
if (result.price == null || result.price === 0) {
|
|
46
|
+
errors.push(new Error(`No price`));
|
|
47
|
+
continue;
|
|
48
|
+
}
|
|
49
|
+
return {
|
|
50
|
+
provider: oracleData.provider,
|
|
51
|
+
...result
|
|
52
|
+
};
|
|
38
53
|
}
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
pools: result.route.map(route => {
|
|
42
|
-
let sorted = BigInt(route.from.address) < BigInt(route.to.address);
|
|
43
|
-
let t1 = {
|
|
44
|
-
price: sorted ? route.fromPrice : route.toPrice,
|
|
45
|
-
decimals: sorted ? route.from.decimals : route.to.decimals,
|
|
46
|
-
total: sorted ? route.pool.reserve0 : route.pool.reserve1,
|
|
47
|
-
};
|
|
48
|
-
let t2 = {
|
|
49
|
-
price: sorted ? route.toPrice : route.fromPrice,
|
|
50
|
-
decimals: sorted ? route.to.decimals : route.from.decimals,
|
|
51
|
-
total: sorted ? route.pool.reserve1 : route.pool.reserve0,
|
|
52
|
-
};
|
|
53
|
-
function getTotalToken(t) {
|
|
54
|
-
let amount = t.total / 10n ** BigInt(t.decimals);
|
|
55
|
-
return _bigint_1.$bigint.multWithFloat(amount, t.price);
|
|
56
|
-
}
|
|
57
|
-
return getTotalToken(t1) + getTotalToken(t2);
|
|
58
|
-
})
|
|
59
|
-
};
|
|
54
|
+
let message = errors.map(x => x.message).join('; ');
|
|
55
|
+
throw new Error(message);
|
|
60
56
|
}
|
|
61
57
|
}
|
|
62
58
|
exports.TokenPriceService = TokenPriceService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TokenPriceService.js","sourceRoot":"","sources":["../../../src/tokens/TokenPriceService.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAsB;AAKtB,mDAAgD;AAChD,mDAAgD;AAChD,uDAAoD;AAGpD,sEAAmE;
|
|
1
|
+
{"version":3,"file":"TokenPriceService.js","sourceRoot":"","sources":["../../../src/tokens/TokenPriceService.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,33 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.
|
|
7
|
-
const a_di_1 = __importDefault(require("a-di"));
|
|
8
|
-
const Etherscan_1 = require("../explorer/Etherscan.js");
|
|
9
|
-
const EthWeb3Client_1 = require("../clients/EthWeb3Client.js");
|
|
3
|
+
exports.TokenPriceServiceFactory = void 0;
|
|
10
4
|
const TokenPriceService_1 = require("./TokenPriceService.js");
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
var
|
|
14
|
-
(function (
|
|
15
|
-
function
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
if (platform === 'bsc') {
|
|
20
|
-
return a_di_1.default.resolve(TokenPriceService_1.TokenPriceService, client ?? a_di_1.default.resolve(BscWeb3Client_1.BscWeb3Client), explorer ?? a_di_1.default.resolve(Bscscan_1.Bscscan));
|
|
21
|
-
}
|
|
22
|
-
throw new Error(`Unsupported platform: ${platform}`);
|
|
5
|
+
const Web3ClientFactory_1 = require("../clients/Web3ClientFactory.js");
|
|
6
|
+
const BlockchainExplorerFactory_1 = require("../explorer/BlockchainExplorerFactory.js");
|
|
7
|
+
var TokenPriceServiceFactory;
|
|
8
|
+
(function (TokenPriceServiceFactory) {
|
|
9
|
+
function get(platform = 'eth', client, explorer) {
|
|
10
|
+
client ??= Web3ClientFactory_1.Web3ClientFactory.get(platform);
|
|
11
|
+
explorer ??= BlockchainExplorerFactory_1.BlockchainExplorerFactory.get(platform);
|
|
12
|
+
return new TokenPriceService_1.TokenPriceService(client, explorer);
|
|
23
13
|
}
|
|
24
|
-
|
|
14
|
+
TokenPriceServiceFactory.get = get;
|
|
25
15
|
/** To boot performance use cached prices within 5 minutes interval */
|
|
26
16
|
function createTimeRanged(platform, client, explorer) {
|
|
27
|
-
let service =
|
|
17
|
+
let service = TokenPriceServiceFactory.get(platform, client, explorer);
|
|
28
18
|
return new TokenPriceService_1.TokenPriceServiceCacheable(service);
|
|
29
19
|
}
|
|
30
|
-
|
|
31
|
-
})(
|
|
20
|
+
TokenPriceServiceFactory.createTimeRanged = createTimeRanged;
|
|
21
|
+
})(TokenPriceServiceFactory = exports.TokenPriceServiceFactory || (exports.TokenPriceServiceFactory = {}));
|
|
32
22
|
//# sourceMappingURL=TokenPriceServiceProvider.js.map
|
|
33
23
|
//# sourceMappingURL=TokenPriceServiceProvider.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TokenPriceServiceProvider.js","sourceRoot":"","sources":["../../../src/tokens/TokenPriceServiceProvider.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"TokenPriceServiceProvider.js","sourceRoot":"","sources":["../../../src/tokens/TokenPriceServiceProvider.ts"],"names":[],"mappings":";;;AACA,2DAAoF;AAGpF,2EAAwE;AACxE,4FAAyF;AAEzF,IAAiB,wBAAwB,CAexC;AAfD,WAAiB,wBAAwB;IAErC,SAAgB,GAAG,CAAE,WAAsB,KAAK,EAAE,MAAmB,EAAE,QAA8B;QAEjG,MAAM,KAAK,qCAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAC1C,QAAQ,KAAK,qDAAyB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAErD,OAAO,IAAI,qCAAiB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACnD,CAAC;IANe,4BAAG,MAMlB,CAAA;IAED,sEAAsE;IACtE,SAAgB,gBAAgB,CAAE,QAAmB,EAAE,MAAmB,EAAE,QAA8B;QACtG,IAAI,OAAO,GAAG,wBAAwB,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QACvE,OAAO,IAAI,8CAA0B,CAAC,OAAO,CAAC,CAAC;IACnD,CAAC;IAHe,yCAAgB,mBAG/B,CAAA;AACL,CAAC,EAfgB,wBAAwB,GAAxB,gCAAwB,KAAxB,gCAAwB,QAexC"}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.TPCoinmarketcap = void 0;
|
|
4
7
|
const atma_utils_1 = require("atma-utils");
|
|
@@ -6,6 +9,7 @@ const JsonArrayStore_1 = require("../../json/JsonArrayStore.js");
|
|
|
6
9
|
const _config_1 = require("../../utils/$config.js");
|
|
7
10
|
const ATokenProvider_1 = require("./ATokenProvider.js");
|
|
8
11
|
const _http_1 = require("../../utils/$http.js");
|
|
12
|
+
const alot_1 = __importDefault(require("alot"));
|
|
9
13
|
const coinmarketcap = _config_1.$config.get('coinmarketcap');
|
|
10
14
|
const tokensStore = new JsonArrayStore_1.JsonArrayStore({
|
|
11
15
|
path: atma_utils_1.class_Uri.combine(coinmarketcap?.cache ?? './data/tokens/coinmarketcap/', 'tokens.json'),
|
|
@@ -24,6 +28,9 @@ class TPCoinmarketcap extends ATokenProvider_1.ATokenProvider {
|
|
|
24
28
|
let url = atma_utils_1.class_Uri.combine(HOST, `/v1/cryptocurrency/map?CMC_PRO_API_KEY=${coinmarketcap.key}`);
|
|
25
29
|
let resp = await _http_1.$http.get(url);
|
|
26
30
|
let tokens = resp.data.data;
|
|
31
|
+
let names = (0, alot_1.default)(tokens).map(x => x.platform).filter(Boolean).distinctBy(x => x.name).toArray();
|
|
32
|
+
console.log(names);
|
|
33
|
+
console.log(tokens.filter(x => x.platform == null).slice(0, 20));
|
|
27
34
|
let arr = tokens.map(token => {
|
|
28
35
|
if (token.platform == null) {
|
|
29
36
|
return null;
|
|
@@ -55,6 +62,7 @@ class TPCoinmarketcap extends ATokenProvider_1.ATokenProvider {
|
|
|
55
62
|
};
|
|
56
63
|
}).filter(Boolean);
|
|
57
64
|
await tokensStore.saveAll(arr);
|
|
65
|
+
return arr;
|
|
58
66
|
}
|
|
59
67
|
}
|
|
60
68
|
exports.TPCoinmarketcap = TPCoinmarketcap;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TPCoinmarketcap.js","sourceRoot":"","sources":["../../../../src/tokens/TokenProviders/TPCoinmarketcap.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"TPCoinmarketcap.js","sourceRoot":"","sources":["../../../../src/tokens/TokenProviders/TPCoinmarketcap.ts"],"names":[],"mappings":";;;;;;AAAA,2CAAuC;AACvC,kEAA+D;AAC/D,qDAAkD;AAKlD,qDAAkD;AAElD,iDAA8C;AAC9C,gDAAwB;AAGxB,MAAM,aAAa,GAAG,iBAAO,CAAC,GAAG,CAAC,eAAe,CAGhD,CAAC;AAEF,MAAM,WAAW,GAAG,IAAI,+BAAc,CAAa;IAC/C,IAAI,EAAE,sBAAS,CAAC,OAAO,CAAC,aAAa,EAAE,KAAK,IAAI,8BAA8B,EAAE,aAAa,CAAC;IAC9F,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM;CACvB,CAAC,CAAC;AAEH,MAAM,IAAI,GAAG,oCAAoC,CAAA;AAEjD,MAAa,eAAgB,SAAQ,+BAAc;IAE/C,SAAS;QACL,OAAO,WAAW,CAAC,MAAM,EAAE,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,gBAAgB;QAClB,IAAI,aAAa,IAAI,IAAI,EAAE;YACvB,OAAO,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAC;YAChF,OAAO,EAAE,CAAC;SACb;QACD,IAAI,GAAG,GAAG,sBAAS,CAAC,OAAO,CAAC,IAAI,EAAE,0CAA0C,aAAa,CAAC,GAAG,EAAE,CAAC,CAAC;QACjG,IAAI,IAAI,GAAG,MAAM,aAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,IAQpB,CAAC;QAEJ,IAAI,KAAK,GAAG,IAAA,cAAI,EAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;QAChG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAEjE,IAAI,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YACzB,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI,EAAE;gBACxB,OAAO,IAAI,CAAC;aACf;YACD,IAAI,QAAmB,CAAC;YACxB,QAAQ,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE;gBACzB,KAAK,qBAAqB;oBACtB,QAAQ,GAAG,KAAK,CAAC;oBACjB,MAAM;gBACV,KAAK,UAAU;oBACX,QAAQ,GAAG,KAAK,CAAC;oBACjB,MAAM;gBACV,KAAK,SAAS;oBACV,QAAQ,GAAG,SAAS,CAAC;oBACrB,MAAM;gBACV,KAAK,MAAM;oBACP,QAAQ,GAAG,MAAM,CAAC;oBAClB,MAAM;gBACV;oBACI,OAAO,IAAI,CAAC;aACnB;YAED,OAAmB;gBACf,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,SAAS,EAAE,CAAC;wBACR,QAAQ;wBACR,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,aAAa;qBACxC,CAAC;aACL,CAAC;QACN,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAGnB,MAAM,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC/B,OAAO,GAAG,CAAC;IACf,CAAC;CACJ;AA/DD,0CA+DC"}
|