dequanto 0.1.28 → 0.1.30
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/abi/$abiCoder.js +11 -0
- package/lib/cjs/abi/$abiCoder.js.map +1 -1
- package/lib/cjs/abi/abi-coder.js +16 -0
- package/lib/cjs/abi/abi-coder.js.map +1 -1
- 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/rpc/RpcContract.js +13 -5
- package/lib/cjs/rpc/RpcContract.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/$hex.js +10 -0
- package/lib/cjs/utils/$hex.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 +7 -0
- package/lib/cjs/utils/$path.js.map +1 -1
- package/lib/esm/abi/$abiCoder.js.map +1 -1
- package/lib/esm/abi/$abiCoder.mjs +11 -0
- package/lib/esm/abi/abi-coder.js.map +1 -1
- package/lib/esm/abi/abi-coder.mjs +16 -0
- 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/rpc/RpcContract.js.map +1 -1
- package/lib/esm/rpc/RpcContract.mjs +13 -5
- 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/$hex.js.map +1 -1
- package/lib/esm/utils/$hex.mjs +10 -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 +7 -0
- package/lib/types/abi/$abiCoder.d.ts +5 -0
- package/lib/types/abi/abi-coder.d.ts +10 -0
- 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/$hex.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/abi/$abiCoder.ts +13 -0
- package/src/abi/abi-coder.ts +23 -0
- 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/rpc/RpcContract.ts +14 -5
- 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/$hex.ts +10 -0
- package/src/utils/$number.ts +2 -2
- package/src/utils/$path.ts +8 -1
- 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":"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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"}
|
|
@@ -32,6 +32,35 @@ export class AmmV2PriceQuote {
|
|
|
32
32
|
this.logger = di.resolve(LoggerService, 'AmmPriceV2Oracle');
|
|
33
33
|
}
|
|
34
34
|
async getPrice(token, opts) {
|
|
35
|
+
let { error, result } = await this.getRoute(token, opts);
|
|
36
|
+
if (error != null) {
|
|
37
|
+
return { error };
|
|
38
|
+
}
|
|
39
|
+
let priceResult = {
|
|
40
|
+
price: result.outUsd,
|
|
41
|
+
date: new Date(),
|
|
42
|
+
pools: result.route.map(route => {
|
|
43
|
+
let sorted = BigInt(route.from.address) < BigInt(route.to.address);
|
|
44
|
+
let t1 = {
|
|
45
|
+
price: sorted ? route.fromPrice : route.toPrice,
|
|
46
|
+
decimals: sorted ? route.from.decimals : route.to.decimals,
|
|
47
|
+
total: sorted ? route.pool.reserve0 : route.pool.reserve1,
|
|
48
|
+
};
|
|
49
|
+
let t2 = {
|
|
50
|
+
price: sorted ? route.toPrice : route.fromPrice,
|
|
51
|
+
decimals: sorted ? route.to.decimals : route.from.decimals,
|
|
52
|
+
total: sorted ? route.pool.reserve1 : route.pool.reserve0,
|
|
53
|
+
};
|
|
54
|
+
function getTotalToken(t) {
|
|
55
|
+
let amount = t.total / 10n ** BigInt(t.decimals);
|
|
56
|
+
return $bigint.multWithFloat(amount, t.price);
|
|
57
|
+
}
|
|
58
|
+
return getTotalToken(t1) + getTotalToken(t2);
|
|
59
|
+
})
|
|
60
|
+
};
|
|
61
|
+
return { result: priceResult };
|
|
62
|
+
}
|
|
63
|
+
async getRoute(token, opts) {
|
|
35
64
|
let amount = opts?.amountWei ?? (BigInt(opts?.amount ?? 1) * 10n ** BigInt(token.decimals));
|
|
36
65
|
if (TokenUtils.isStable(token.symbol)) {
|
|
37
66
|
// Assume swap 1:1
|
|
@@ -161,7 +190,7 @@ export class TokenRangePriceService {
|
|
|
161
190
|
this.cache = new Map();
|
|
162
191
|
this.INTERVAL = 5 * 60 * 1000;
|
|
163
192
|
}
|
|
164
|
-
async
|
|
193
|
+
async getRoute(mix, opts) {
|
|
165
194
|
let key = typeof mix === 'string'
|
|
166
195
|
? mix
|
|
167
196
|
: mix.address;
|
|
@@ -184,7 +213,7 @@ export class TokenRangePriceService {
|
|
|
184
213
|
if (this.cache.has(key)) {
|
|
185
214
|
return this.cache.get(key);
|
|
186
215
|
}
|
|
187
|
-
let promise = this.service.
|
|
216
|
+
let promise = this.service.getRoute(mix, {
|
|
188
217
|
...(opts ?? {}),
|
|
189
218
|
date: byDate,
|
|
190
219
|
block: byBlock
|
|
@@ -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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { ChainlinkOracle } from '../chainlink/ChainlinkOracle.mjs';
|
|
2
|
+
import { Web3ClientFactory } from '../../../clients/Web3ClientFactory.mjs';
|
|
3
|
+
import { ContractClassFactory } from '../../../contracts/ContractClassFactory.mjs';
|
|
4
|
+
import { $config } from '../../../utils/$config.mjs';
|
|
5
|
+
import { $bigfloat } from '../../../utils/$bigfloat.mjs';
|
|
6
|
+
import { $require } from '../../../utils/$require.mjs';
|
|
7
|
+
// https://github.com/1inch/spot-price-aggregator?tab=readme-ov-file
|
|
8
|
+
export class SpotPriceAggregator {
|
|
9
|
+
constructor() {
|
|
10
|
+
this.chainlink = new ChainlinkOracle();
|
|
11
|
+
}
|
|
12
|
+
async getPrice(token, opts) {
|
|
13
|
+
let client = await Web3ClientFactory.getAsync(token.platform);
|
|
14
|
+
let contract = await this.getContract(client, token);
|
|
15
|
+
let [priceInEth, ethPrice] = await Promise.all([
|
|
16
|
+
contract.getRateToEth(token.address, true),
|
|
17
|
+
this.chainlink.getPrice({ symbol: client.chainToken })
|
|
18
|
+
]);
|
|
19
|
+
if (ethPrice.error) {
|
|
20
|
+
return { error: ethPrice.error };
|
|
21
|
+
}
|
|
22
|
+
let price = $bigfloat.from(priceInEth).mul(ethPrice.result.price).div(1e18).toNumber();
|
|
23
|
+
return {
|
|
24
|
+
error: null,
|
|
25
|
+
result: {
|
|
26
|
+
price: price,
|
|
27
|
+
date: new Date(),
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
async getContract(client, token) {
|
|
32
|
+
let config = await $config.get(`spotPriceAggregator.${token.platform}`);
|
|
33
|
+
$require.Address(config, `1inch SpotPriceAggregator not defined for ${token.address} on ${token.platform}`);
|
|
34
|
+
;
|
|
35
|
+
let { contract } = ContractClassFactory.fromAbi(config, [
|
|
36
|
+
`function getRateToEth(address srcToken, bool useSrcWrappers) view returns (uint256)`
|
|
37
|
+
], client);
|
|
38
|
+
return contract;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=SpotPriceAggregator.js.map
|
|
42
|
+
//# sourceMappingURL=SpotPriceAggregator.ts.map
|
|
@@ -22,7 +22,7 @@ export class AmmV2Oracle {
|
|
|
22
22
|
if (tokenData == null) {
|
|
23
23
|
throw new Error(`AmmV2Oracle: Token not found ${t} for ${platform}`);
|
|
24
24
|
}
|
|
25
|
-
let { error, result: route } = await this.quoter.
|
|
25
|
+
let { error, result: route } = await this.quoter.getRoute(tokenData);
|
|
26
26
|
if (error) {
|
|
27
27
|
return { error };
|
|
28
28
|
}
|
|
@@ -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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"}
|
|
@@ -48,11 +48,14 @@ export class ChainlinkFeedProvider {
|
|
|
48
48
|
// from 'https://docs.chain.link/data-feeds/price-feeds/addresses';
|
|
49
49
|
const paths = [
|
|
50
50
|
{ url: 'https://reference-data-directory.vercel.app/feeds-mainnet.json', platform: 'eth' },
|
|
51
|
-
{ url: 'https://reference-data-directory.vercel.app/feeds-matic-mainnet.json', platform: 'polygon' }
|
|
51
|
+
{ url: 'https://reference-data-directory.vercel.app/feeds-matic-mainnet.json', platform: 'polygon' },
|
|
52
|
+
{ url: 'https://reference-data-directory.vercel.app/feeds-bsc-mainnet.json', platform: 'bsc' },
|
|
53
|
+
{ url: 'https://reference-data-directory.vercel.app/feeds-ethereum-mainnet-base-1.json', platform: 'base' },
|
|
54
|
+
{ url: 'https://reference-data-directory.vercel.app/feeds-ethereum-mainnet-optimism-1.json', platform: 'optimism' }
|
|
52
55
|
];
|
|
53
56
|
let tokens = await alot(paths).mapManyAsync(async (pathInfo) => {
|
|
54
57
|
return this.fetchFeed(pathInfo.url, pathInfo.platform);
|
|
55
|
-
}).toArrayAsync();
|
|
58
|
+
}).toArrayAsync({ threads: 1 });
|
|
56
59
|
l `Fetched ${tokens.length} feeds`;
|
|
57
60
|
let platformStats = alot(tokens).groupBy(x => x.platform).toDictionary(x => x.key, x => x.values.length);
|
|
58
61
|
l `Feeds per platform: ${platformStats}`;
|
|
@@ -76,6 +79,10 @@ export class ChainlinkFeedProvider {
|
|
|
76
79
|
else {
|
|
77
80
|
pair = feed.pair;
|
|
78
81
|
}
|
|
82
|
+
if (feed.contractType === "verifier") {
|
|
83
|
+
// skip not onchain oracle contracts
|
|
84
|
+
return null;
|
|
85
|
+
}
|
|
79
86
|
switch (feed.feedCategory) {
|
|
80
87
|
case 'deprecating': {
|
|
81
88
|
// skip
|
|
@@ -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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"}
|
|
@@ -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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"}
|
|
@@ -3,14 +3,20 @@ import { TokenUtils } from './utils/TokenUtils.mjs';
|
|
|
3
3
|
import { TokensService } from './TokensService.mjs';
|
|
4
4
|
import { $address } from '../utils/$address.mjs';
|
|
5
5
|
import { AmmV2PriceQuote } from './TokenExchanges/AmmV2PriceQuote.mjs';
|
|
6
|
-
import { $bigint } from '../utils/$bigint.mjs';
|
|
7
6
|
import { $logger } from '../utils/$logger.mjs';
|
|
7
|
+
import { $require } from '../utils/$require.mjs';
|
|
8
|
+
import { ChainlinkOracle } from './TokenOracles/chainlink/ChainlinkOracle.mjs';
|
|
9
|
+
import { SpotPriceAggregator } from './TokenOracles/SpotPriceAggregator/SpotPriceAggregator.mjs';
|
|
8
10
|
export class TokenPriceService {
|
|
9
11
|
constructor(client, explorer) {
|
|
10
12
|
this.client = client;
|
|
11
13
|
this.explorer = explorer;
|
|
12
|
-
this.tokens = di.resolve(TokensService, this.client.
|
|
13
|
-
this.
|
|
14
|
+
this.tokens = di.resolve(TokensService, this.client.network, this.explorer);
|
|
15
|
+
this.oracles = [
|
|
16
|
+
{ provider: `chainlink`, oracle: new ChainlinkOracle([client]) },
|
|
17
|
+
{ provider: `1inchAggregator-${client.network}`, oracle: new SpotPriceAggregator() },
|
|
18
|
+
{ provider: `ammV2`, oracle: new AmmV2PriceQuote(this.client, this.explorer) },
|
|
19
|
+
];
|
|
14
20
|
}
|
|
15
21
|
async getPrice(mix, opts) {
|
|
16
22
|
let token;
|
|
@@ -20,37 +26,27 @@ export class TokenPriceService {
|
|
|
20
26
|
: mix;
|
|
21
27
|
}
|
|
22
28
|
catch (error) { }
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
29
|
+
$require.notNull(token, `Token ${mix} not found`);
|
|
30
|
+
$require.Number(token.decimals, `Token has no decimals ${token.symbol}`);
|
|
31
|
+
let errors = [];
|
|
32
|
+
for (let oracleData of this.oracles) {
|
|
33
|
+
let oracle = oracleData.oracle;
|
|
34
|
+
let { error, result } = await oracle.getPrice(token, opts);
|
|
35
|
+
if (error) {
|
|
36
|
+
errors.push(error);
|
|
37
|
+
continue;
|
|
38
|
+
}
|
|
39
|
+
if (result.price == null || result.price === 0) {
|
|
40
|
+
errors.push(new Error(`No price`));
|
|
41
|
+
continue;
|
|
42
|
+
}
|
|
43
|
+
return {
|
|
44
|
+
provider: oracleData.provider,
|
|
45
|
+
...result
|
|
46
|
+
};
|
|
32
47
|
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
pools: result.route.map(route => {
|
|
36
|
-
let sorted = BigInt(route.from.address) < BigInt(route.to.address);
|
|
37
|
-
let t1 = {
|
|
38
|
-
price: sorted ? route.fromPrice : route.toPrice,
|
|
39
|
-
decimals: sorted ? route.from.decimals : route.to.decimals,
|
|
40
|
-
total: sorted ? route.pool.reserve0 : route.pool.reserve1,
|
|
41
|
-
};
|
|
42
|
-
let t2 = {
|
|
43
|
-
price: sorted ? route.toPrice : route.fromPrice,
|
|
44
|
-
decimals: sorted ? route.to.decimals : route.from.decimals,
|
|
45
|
-
total: sorted ? route.pool.reserve1 : route.pool.reserve0,
|
|
46
|
-
};
|
|
47
|
-
function getTotalToken(t) {
|
|
48
|
-
let amount = t.total / 10n ** BigInt(t.decimals);
|
|
49
|
-
return $bigint.multWithFloat(amount, t.price);
|
|
50
|
-
}
|
|
51
|
-
return getTotalToken(t1) + getTotalToken(t2);
|
|
52
|
-
})
|
|
53
|
-
};
|
|
48
|
+
let message = errors.map(x => x.message).join('; ');
|
|
49
|
+
throw new Error(message);
|
|
54
50
|
}
|
|
55
51
|
}
|
|
56
52
|
export class TokenPriceServiceCacheable {
|
|
@@ -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,27 +1,20 @@
|
|
|
1
|
-
import di from 'a-di';
|
|
2
|
-
import { Etherscan } from '../explorer/Etherscan.mjs';
|
|
3
|
-
import { EthWeb3Client } from '../clients/EthWeb3Client.mjs';
|
|
4
1
|
import { TokenPriceService, TokenPriceServiceCacheable } from './TokenPriceService.mjs';
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
export var
|
|
8
|
-
(function (
|
|
9
|
-
function
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
if (platform === 'bsc') {
|
|
14
|
-
return di.resolve(TokenPriceService, client ?? di.resolve(BscWeb3Client), explorer ?? di.resolve(Bscscan));
|
|
15
|
-
}
|
|
16
|
-
throw new Error(`Unsupported platform: ${platform}`);
|
|
2
|
+
import { Web3ClientFactory } from '../clients/Web3ClientFactory.mjs';
|
|
3
|
+
import { BlockchainExplorerFactory } from '../explorer/BlockchainExplorerFactory.mjs';
|
|
4
|
+
export var TokenPriceServiceFactory;
|
|
5
|
+
(function (TokenPriceServiceFactory) {
|
|
6
|
+
function get(platform = 'eth', client, explorer) {
|
|
7
|
+
client ??= Web3ClientFactory.get(platform);
|
|
8
|
+
explorer ??= BlockchainExplorerFactory.get(platform);
|
|
9
|
+
return new TokenPriceService(client, explorer);
|
|
17
10
|
}
|
|
18
|
-
|
|
11
|
+
TokenPriceServiceFactory.get = get;
|
|
19
12
|
/** To boot performance use cached prices within 5 minutes interval */
|
|
20
13
|
function createTimeRanged(platform, client, explorer) {
|
|
21
|
-
let service =
|
|
14
|
+
let service = TokenPriceServiceFactory.get(platform, client, explorer);
|
|
22
15
|
return new TokenPriceServiceCacheable(service);
|
|
23
16
|
}
|
|
24
|
-
|
|
25
|
-
})(
|
|
17
|
+
TokenPriceServiceFactory.createTimeRanged = createTimeRanged;
|
|
18
|
+
})(TokenPriceServiceFactory || (TokenPriceServiceFactory = {}));
|
|
26
19
|
//# sourceMappingURL=TokenPriceServiceProvider.js.map
|
|
27
20
|
//# sourceMappingURL=TokenPriceServiceProvider.ts.map
|
|
@@ -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"}
|
|
@@ -3,6 +3,7 @@ import { JsonArrayStore } from '../../json/JsonArrayStore.mjs';
|
|
|
3
3
|
import { $config } from '../../utils/$config.mjs';
|
|
4
4
|
import { ATokenProvider } from './ATokenProvider.mjs';
|
|
5
5
|
import { $http } from '../../utils/$http.mjs';
|
|
6
|
+
import alot from 'alot';
|
|
6
7
|
const coinmarketcap = $config.get('coinmarketcap');
|
|
7
8
|
const tokensStore = new JsonArrayStore({
|
|
8
9
|
path: class_Uri.combine(coinmarketcap?.cache ?? './data/tokens/coinmarketcap/', 'tokens.json'),
|
|
@@ -21,6 +22,9 @@ export class TPCoinmarketcap extends ATokenProvider {
|
|
|
21
22
|
let url = class_Uri.combine(HOST, `/v1/cryptocurrency/map?CMC_PRO_API_KEY=${coinmarketcap.key}`);
|
|
22
23
|
let resp = await $http.get(url);
|
|
23
24
|
let tokens = resp.data.data;
|
|
25
|
+
let names = alot(tokens).map(x => x.platform).filter(Boolean).distinctBy(x => x.name).toArray();
|
|
26
|
+
console.log(names);
|
|
27
|
+
console.log(tokens.filter(x => x.platform == null).slice(0, 20));
|
|
24
28
|
let arr = tokens.map(token => {
|
|
25
29
|
if (token.platform == null) {
|
|
26
30
|
return null;
|
|
@@ -52,6 +56,7 @@ export class TPCoinmarketcap extends ATokenProvider {
|
|
|
52
56
|
};
|
|
53
57
|
}).filter(Boolean);
|
|
54
58
|
await tokensStore.saveAll(arr);
|
|
59
|
+
return arr;
|
|
55
60
|
}
|
|
56
61
|
}
|
|
57
62
|
//# sourceMappingURL=TPCoinmarketcap.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TPUniswap.js","sourceRoot":"","sources":["../../../../src/tokens/TokenProviders/TPUniswap.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"TPUniswap.js","sourceRoot":"","sources":["../../../../src/tokens/TokenProviders/TPUniswap.ts"],"names":[],"mappings":";;;;;;AAAA,kEAA+D;AAE/D,qDAAkD;AAElD,iDAA8C;AAC9C,iDAA8C;AAC9C,oDAAiD;AACjD,oDAAiD;AACjD,2EAAwE;AACxE,gDAAwB;AAIxB,MAAa,SAAU,SAAQ,+BAAc;IAA7C;;QACI,UAAK,GAAG,IAAI,+BAAc,CAAc;YACpC,IAAI,EAAE,aAAK,CAAC,OAAO,CAAC,uBAAuB,CAAC;YAC5C,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM;SACrB,CAAC,CAAC;IA6EP,CAAC;IA3EG,SAAS;QACL,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;IAC/B,CAAC;IAED,oBAAoB;IACpB,KAAK,CAAC,IAAI,CAAE,OAAe;QACvB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;IACtC,CAAC;IAED,KAAK,CAAC,gBAAgB;QAClB,IAAI,gBAAgB,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAEnD,IAAI,OAAO,GAAG,uBAAU,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACjD,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAClC,OAAO,OAAO,CAAC;IACnB,CAAC;IAEO,KAAK,CAAC,cAAc;QACxB,MAAM,IAAI,GAAG;YACT,GAAG,EAAE,sGAAsG;YAC3G,OAAO,EAAE,sGAAsG;YAC/G,IAAI,EAAE,mGAAmG;YACzG,GAAG,EAAE,kGAAkG;SAC1G,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,eAAM,CAAC,KAAK,EAAE,CAAC;QACpC,MAAM,SAAS,GAAG,cAAI;aACjB,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC;aACvB,GAAG,CAAC,CAAC,CAAC,EAAE;YACL,IAAI,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC;YACrB,IAAI,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;YAC9B,IAAI,OAAO,IAAI,IAAI,EAAE;gBACjB,IAAI;oBACA,IAAI,MAAM,GAAG,qCAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;oBAC7C,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;iBAC5B;gBAAC,OAAO,CAAC,EAAE,GAAE;aACjB;YACD,IAAI,OAAO,IAAI,IAAI,EAAE;gBACjB,OAAO,IAAI,CAAC;aACf;YACD,OAAO;gBACH,QAAQ;gBACR,OAAO;aACV,CAAC;QACN,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAG,IAAI,CAAC;aACrB,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAWnD,IAAI,IAAI,GAAG,MAAM,cAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,KAAK,EAAC,KAAK,EAAC,EAAE;YAC9D,IAAI,IAAI,GAAG,MAAM,aAAK,CAAC,GAAG,CAAc,KAAK,CAAC,KAAK,CAAC,CAAC;YACrD,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACrB,IAAI,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAC9D,OAAO,IAAmB,CAAC;QAC/B,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC;QAElB,IAAI,MAAM,GAAG,IAAI;aACZ,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,SAAS,CAAC;aACnC,GAAG,CAAC,KAAK,CAAC,EAAE;YACT,OAAgB;gBACZ,GAAG,KAAK;gBACR,QAAQ,EAAE,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC;aACrC,CAAA;QACL,CAAC,CAAC,CAAC;QACP,OAAO,MAAM,CAAC;IAClB,CAAC;CAEJ;AAjFD,8BAiFC;AAGD,MAAM,WAAW,GAAG,4DAA4D,CAAC;AAEjF,MAAa,WAAY,SAAQ,+BAAc;IAA/C;;QACI,UAAK,GAAG,IAAI,+BAAc,CAAc;YACpC,IAAI,EAAE,aAAK,CAAC,OAAO,CAAC,uBAAuB,CAAC;YAC5C,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM;SACrB,CAAC,CAAC;IAwEP,CAAC;IAtEG,SAAS;QACL,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;IAC/B,CAAC;IAED,oBAAoB;IACpB,KAAK,CAAC,IAAI,CAAE,OAAe;QACvB,IAAI,IAAI,GAAG;YACP,KAAK,EAAE;;2CAEwB,OAAO;;;;;;;aAOrC;SACJ,CAAC;QACF,IAAI,IAAI,GAAG,MAAM,aAAK,CAAC,IAAI,CAAC;YACxB,GAAG,EAAE,WAAW;YAChB,IAAI,EAAE,IAAI;SACb,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,gBAAgB;QAClB,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,IAAI,GAAG,GAAG,EAAkB,CAAC;QAC7B,OAAO,IAAI,EAAE;YACT,IAAI,IAAI,GAAG;gBACP,KAAK,EAAE;;oCAEa,IAAI,UAAU,IAAI;;;;;;;iBAOrC;aACJ,CAAC;YAEF,IAAI,IAAI,GAAG,MAAM,aAAK,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;YACxD,IAAI,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,IAAI,EAAE,CAAC;YAE1C,IAAI,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;gBACxB,OAAoB;oBAChB,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;oBACrC,SAAS,EAAE;wBACP;4BACI,QAAQ,EAAE,KAAK;4BACf,OAAO,EAAE,IAAI,CAAC,EAAE;4BAChB,QAAQ,EAAE,IAAI,CAAC,QAAQ;yBAC1B;qBACJ;iBACJ,CAAC;YACN,CAAC,CAAC,CAAA;YACF,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC;YACzB,IAAI,MAAM,CAAC,MAAM,GAAG,IAAI,EAAE;gBACtB,MAAM;aACT;YACD,IAAI,IAAI,IAAI,CAAC;SAChB;QAED,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC9B,OAAO,GAAG,CAAC;IACf,CAAC;CACJ;AA5ED,kCA4EC"}
|
|
@@ -2,8 +2,80 @@ import { JsonArrayStore } from '../../json/JsonArrayStore.mjs';
|
|
|
2
2
|
import { ATokenProvider } from './ATokenProvider.mjs';
|
|
3
3
|
import { $path } from '../../utils/$path.mjs';
|
|
4
4
|
import { $http } from '../../utils/$http.mjs';
|
|
5
|
-
|
|
5
|
+
import { TokenUtils } from '../utils/TokenUtils.mjs';
|
|
6
|
+
import { Config } from '../../config/Config.mjs';
|
|
7
|
+
import { Web3ClientFactory } from '../../clients/Web3ClientFactory.mjs';
|
|
8
|
+
import alot from 'alot';
|
|
6
9
|
export class TPUniswap extends ATokenProvider {
|
|
10
|
+
constructor() {
|
|
11
|
+
super(...arguments);
|
|
12
|
+
this.store = new JsonArrayStore({
|
|
13
|
+
path: $path.resolve('/data/tokens/uni.json'),
|
|
14
|
+
key: x => x.symbol
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
getTokens() {
|
|
18
|
+
return this.store.getAll();
|
|
19
|
+
}
|
|
20
|
+
/** Finds remote */
|
|
21
|
+
async find(address) {
|
|
22
|
+
throw new Error('Not implemented');
|
|
23
|
+
}
|
|
24
|
+
async redownloadTokens() {
|
|
25
|
+
let tokensByPlatform = await this.downloadTokens();
|
|
26
|
+
let globals = TokenUtils.merge(tokensByPlatform);
|
|
27
|
+
await this.store.saveAll(globals);
|
|
28
|
+
return globals;
|
|
29
|
+
}
|
|
30
|
+
async downloadTokens() {
|
|
31
|
+
const urls = {
|
|
32
|
+
eth: 'https://raw.githubusercontent.com/Uniswap/default-token-list/refs/heads/main/src/tokens/mainnet.json',
|
|
33
|
+
polygon: 'https://raw.githubusercontent.com/Uniswap/default-token-list/refs/heads/main/src/tokens/polygon.json',
|
|
34
|
+
base: 'https://raw.githubusercontent.com/Uniswap/default-token-list/refs/heads/main/src/tokens/base.json',
|
|
35
|
+
bnb: 'https://raw.githubusercontent.com/Uniswap/default-token-list/refs/heads/main/src/tokens/bnb.json',
|
|
36
|
+
};
|
|
37
|
+
const config = await Config.fetch();
|
|
38
|
+
const platforms = alot
|
|
39
|
+
.fromObject(config.web3)
|
|
40
|
+
.map(x => {
|
|
41
|
+
let platform = x.key;
|
|
42
|
+
let chainId = x.value.chainId;
|
|
43
|
+
if (chainId == null) {
|
|
44
|
+
try {
|
|
45
|
+
let client = Web3ClientFactory.get(platform);
|
|
46
|
+
chainId = client.chainId;
|
|
47
|
+
}
|
|
48
|
+
catch (e) { }
|
|
49
|
+
}
|
|
50
|
+
if (chainId == null) {
|
|
51
|
+
return null;
|
|
52
|
+
}
|
|
53
|
+
return {
|
|
54
|
+
platform,
|
|
55
|
+
chainId,
|
|
56
|
+
};
|
|
57
|
+
})
|
|
58
|
+
.filter(x => x != null)
|
|
59
|
+
.toDictionary(x => x.chainId, x => x.platform);
|
|
60
|
+
let resp = await alot.fromObject(urls).mapManyAsync(async (entry) => {
|
|
61
|
+
let resp = await $http.get(entry.value);
|
|
62
|
+
let data = resp.data;
|
|
63
|
+
let json = typeof data === 'string' ? JSON.parse(data) : data;
|
|
64
|
+
return json;
|
|
65
|
+
}).toArrayAsync();
|
|
66
|
+
let tokens = resp
|
|
67
|
+
.filter(x => x.chainId in platforms)
|
|
68
|
+
.map(token => {
|
|
69
|
+
return {
|
|
70
|
+
...token,
|
|
71
|
+
platform: platforms[token.chainId]
|
|
72
|
+
};
|
|
73
|
+
});
|
|
74
|
+
return tokens;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
const TheGraphUrl = 'https://api.thegraph.com/subgraphs/name/uniswap/uniswap-v2';
|
|
78
|
+
export class TPUniswapV0 extends ATokenProvider {
|
|
7
79
|
constructor() {
|
|
8
80
|
super(...arguments);
|
|
9
81
|
this.store = new JsonArrayStore({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TokensServiceFactory.js","sourceRoot":"","sources":["../../../src/tokens/TokensServiceFactory.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"TokensServiceFactory.js","sourceRoot":"","sources":["../../../src/tokens/TokensServiceFactory.ts"],"names":[],"mappings":";;;AACA,mDAAgD;AAChD,2EAAwE;AAExE,IAAiB,oBAAoB,CAUpC;AAVD,WAAiB,oBAAoB;IAEjC,SAAgB,GAAG,CAAE,QAAmB;QACpC,IAAI,MAAM,GAAG,qCAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC7C,OAAO,IAAI,6BAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;IAHe,wBAAG,MAGlB,CAAA;IACM,KAAK,UAAU,QAAQ,CAAE,QAAmB;QAC/C,IAAI,MAAM,GAAG,MAAM,qCAAiB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACxD,OAAO,IAAI,6BAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;IAHqB,6BAAQ,WAG7B,CAAA;AACL,CAAC,EAVgB,oBAAoB,GAApB,4BAAoB,KAApB,4BAAoB,QAUpC"}
|
|
@@ -1,39 +1,17 @@
|
|
|
1
|
-
import di from 'a-di';
|
|
2
|
-
import { TokensServiceBsc } from './TokensServiceBsc.mjs';
|
|
3
|
-
import { TokensServiceEth } from './TokensServiceEth.mjs';
|
|
4
|
-
import { TokensServicePolygon } from './TokensServicePolygon.mjs';
|
|
5
|
-
import { TokensServiceXDai } from './TokensServiceXDai.mjs';
|
|
6
|
-
import { TokensServiceArbitrum } from '../chains/arbitrum/TokensServiceArbitrum.mjs';
|
|
7
1
|
import { TokensService } from './TokensService.mjs';
|
|
8
|
-
import {
|
|
9
|
-
import { TokenDataProvider } from './TokenDataProvider.mjs';
|
|
2
|
+
import { Web3ClientFactory } from '../clients/Web3ClientFactory.mjs';
|
|
10
3
|
export var TokensServiceFactory;
|
|
11
4
|
(function (TokensServiceFactory) {
|
|
12
5
|
function get(platform) {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
return di.resolve(TokensServiceBsc);
|
|
16
|
-
case 'eth':
|
|
17
|
-
return di.resolve(TokensServiceEth);
|
|
18
|
-
case 'polygon':
|
|
19
|
-
return di.resolve(TokensServicePolygon);
|
|
20
|
-
case 'xdai':
|
|
21
|
-
return di.resolve(TokensServiceXDai);
|
|
22
|
-
case 'arbitrum':
|
|
23
|
-
return di.resolve(TokensServiceArbitrum);
|
|
24
|
-
case 'hardhat':
|
|
25
|
-
let ethProvider = new TokenDataProvider('eth');
|
|
26
|
-
return new TokensService(platform, null, ethProvider);
|
|
27
|
-
default: {
|
|
28
|
-
let cfg = config.web3[platform];
|
|
29
|
-
if (cfg != null) {
|
|
30
|
-
return di.resolve(TokensService, platform);
|
|
31
|
-
}
|
|
32
|
-
throw new Error(`Unsupported platform ${platform} for TokensService`);
|
|
33
|
-
}
|
|
34
|
-
}
|
|
6
|
+
let client = Web3ClientFactory.get(platform);
|
|
7
|
+
return new TokensService(client.network);
|
|
35
8
|
}
|
|
36
9
|
TokensServiceFactory.get = get;
|
|
10
|
+
async function getAsync(platform) {
|
|
11
|
+
let client = await Web3ClientFactory.getAsync(platform);
|
|
12
|
+
return new TokensService(client.network);
|
|
13
|
+
}
|
|
14
|
+
TokensServiceFactory.getAsync = getAsync;
|
|
37
15
|
})(TokensServiceFactory || (TokensServiceFactory = {}));
|
|
38
16
|
//# sourceMappingURL=TokensServiceFactory.js.map
|
|
39
17
|
//# sourceMappingURL=TokensServiceFactory.ts.map
|