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.
Files changed (163) hide show
  1. package/data/chainlink/feeds.json +3700 -1639
  2. package/data/tokens/arbitrum.json +1 -1
  3. package/data/tokens/coinmarketcap/tokens.json +1 -0
  4. package/data/tokens/uni.json +1 -0
  5. package/lib/cjs/abi/$abiCoder.js +11 -0
  6. package/lib/cjs/abi/$abiCoder.js.map +1 -1
  7. package/lib/cjs/abi/abi-coder.js +16 -0
  8. package/lib/cjs/abi/abi-coder.js.map +1 -1
  9. package/lib/cjs/chains/PlatformFactory.js +1 -1
  10. package/lib/cjs/chains/PlatformFactory.js.map +1 -1
  11. package/lib/cjs/clients/Web3ClientFactory.js +37 -31
  12. package/lib/cjs/clients/Web3ClientFactory.js.map +1 -1
  13. package/lib/cjs/contracts/deploy/Deployments.js +4 -1
  14. package/lib/cjs/contracts/deploy/Deployments.js.map +1 -1
  15. package/lib/cjs/contracts/deploy/storage/DeploymentsStorage.js +2 -1
  16. package/lib/cjs/contracts/deploy/storage/DeploymentsStorage.js.map +1 -1
  17. package/lib/cjs/explorer/BlockchainExplorer.js +10 -4
  18. package/lib/cjs/explorer/BlockchainExplorer.js.map +1 -1
  19. package/lib/cjs/rpc/RpcContract.js +13 -5
  20. package/lib/cjs/rpc/RpcContract.js.map +1 -1
  21. package/lib/cjs/tokens/TokenDataProvider.js +4 -4
  22. package/lib/cjs/tokens/TokenDataProvider.js.map +1 -1
  23. package/lib/cjs/tokens/TokenExchanges/AmmV2ExchangeBase.js +3 -3
  24. package/lib/cjs/tokens/TokenExchanges/AmmV2ExchangeBase.js.map +1 -1
  25. package/lib/cjs/tokens/TokenExchanges/AmmV2PriceQuote.js +31 -2
  26. package/lib/cjs/tokens/TokenExchanges/AmmV2PriceQuote.js.map +1 -1
  27. package/lib/cjs/tokens/TokenOracles/SpotPriceAggregator/SpotPriceAggregator.js +46 -0
  28. package/lib/cjs/tokens/TokenOracles/SpotPriceAggregator/SpotPriceAggregator.js.map +1 -0
  29. package/lib/cjs/tokens/TokenOracles/amm/AmmV2Oracle.js +1 -1
  30. package/lib/cjs/tokens/TokenOracles/chainlink/ChainlinkFeedProvider.js +9 -2
  31. package/lib/cjs/tokens/TokenOracles/chainlink/ChainlinkFeedProvider.js.map +1 -1
  32. package/lib/cjs/tokens/TokenOracles/chainlink/ChainlinkOracle.js.map +1 -1
  33. package/lib/cjs/tokens/TokenPriceService.js +29 -33
  34. package/lib/cjs/tokens/TokenPriceService.js.map +1 -1
  35. package/lib/cjs/tokens/TokenPriceServiceProvider.js +13 -23
  36. package/lib/cjs/tokens/TokenPriceServiceProvider.js.map +1 -1
  37. package/lib/cjs/tokens/TokenProviders/TPCoinmarketcap.js +8 -0
  38. package/lib/cjs/tokens/TokenProviders/TPCoinmarketcap.js.map +1 -1
  39. package/lib/cjs/tokens/TokenProviders/TPUniswap.js +79 -3
  40. package/lib/cjs/tokens/TokenProviders/TPUniswap.js.map +1 -1
  41. package/lib/cjs/tokens/TokensServiceFactory.js +8 -33
  42. package/lib/cjs/tokens/TokensServiceFactory.js.map +1 -1
  43. package/lib/cjs/utils/$bigfloat.js.map +1 -1
  44. package/lib/cjs/utils/$hex.js +10 -0
  45. package/lib/cjs/utils/$hex.js.map +1 -1
  46. package/lib/cjs/utils/$number.js +1 -1
  47. package/lib/cjs/utils/$number.js.map +1 -1
  48. package/lib/cjs/utils/$path.js +7 -0
  49. package/lib/cjs/utils/$path.js.map +1 -1
  50. package/lib/esm/abi/$abiCoder.js.map +1 -1
  51. package/lib/esm/abi/$abiCoder.mjs +11 -0
  52. package/lib/esm/abi/abi-coder.js.map +1 -1
  53. package/lib/esm/abi/abi-coder.mjs +16 -0
  54. package/lib/esm/chains/PlatformFactory.js.map +1 -1
  55. package/lib/esm/chains/PlatformFactory.mjs +1 -1
  56. package/lib/esm/clients/Web3ClientFactory.js.map +1 -1
  57. package/lib/esm/clients/Web3ClientFactory.mjs +38 -32
  58. package/lib/esm/contracts/deploy/Deployments.js.map +1 -1
  59. package/lib/esm/contracts/deploy/Deployments.mjs +4 -1
  60. package/lib/esm/contracts/deploy/storage/DeploymentsStorage.js.map +1 -1
  61. package/lib/esm/contracts/deploy/storage/DeploymentsStorage.mjs +2 -1
  62. package/lib/esm/explorer/BlockchainExplorer.js.map +1 -1
  63. package/lib/esm/explorer/BlockchainExplorer.mjs +10 -4
  64. package/lib/esm/rpc/RpcContract.js.map +1 -1
  65. package/lib/esm/rpc/RpcContract.mjs +13 -5
  66. package/lib/esm/tokens/TokenDataProvider.js.map +1 -1
  67. package/lib/esm/tokens/TokenDataProvider.mjs +4 -4
  68. package/lib/esm/tokens/TokenExchanges/AmmV2ExchangeBase.js.map +1 -1
  69. package/lib/esm/tokens/TokenExchanges/AmmV2ExchangeBase.mjs +3 -3
  70. package/lib/esm/tokens/TokenExchanges/AmmV2PriceQuote.js.map +1 -1
  71. package/lib/esm/tokens/TokenExchanges/AmmV2PriceQuote.mjs +31 -2
  72. package/lib/esm/tokens/TokenOracles/SpotPriceAggregator/SpotPriceAggregator.js.map +1 -0
  73. package/lib/esm/tokens/TokenOracles/SpotPriceAggregator/SpotPriceAggregator.mjs +42 -0
  74. package/lib/esm/tokens/TokenOracles/amm/AmmV2Oracle.mjs +1 -1
  75. package/lib/esm/tokens/TokenOracles/chainlink/ChainlinkFeedProvider.js.map +1 -1
  76. package/lib/esm/tokens/TokenOracles/chainlink/ChainlinkFeedProvider.mjs +9 -2
  77. package/lib/esm/tokens/TokenOracles/chainlink/ChainlinkOracle.js.map +1 -1
  78. package/lib/esm/tokens/TokenPriceService.js.map +1 -1
  79. package/lib/esm/tokens/TokenPriceService.mjs +29 -33
  80. package/lib/esm/tokens/TokenPriceServiceProvider.js.map +1 -1
  81. package/lib/esm/tokens/TokenPriceServiceProvider.mjs +12 -19
  82. package/lib/esm/tokens/TokenProviders/TPCoinmarketcap.js.map +1 -1
  83. package/lib/esm/tokens/TokenProviders/TPCoinmarketcap.mjs +5 -0
  84. package/lib/esm/tokens/TokenProviders/TPUniswap.js.map +1 -1
  85. package/lib/esm/tokens/TokenProviders/TPUniswap.mjs +73 -1
  86. package/lib/esm/tokens/TokensServiceFactory.js.map +1 -1
  87. package/lib/esm/tokens/TokensServiceFactory.mjs +8 -30
  88. package/lib/esm/utils/$bigfloat.js.map +1 -1
  89. package/lib/esm/utils/$hex.js.map +1 -1
  90. package/lib/esm/utils/$hex.mjs +10 -0
  91. package/lib/esm/utils/$number.js.map +1 -1
  92. package/lib/esm/utils/$number.mjs +1 -1
  93. package/lib/esm/utils/$path.js.map +1 -1
  94. package/lib/esm/utils/$path.mjs +7 -0
  95. package/lib/types/abi/$abiCoder.d.ts +5 -0
  96. package/lib/types/abi/abi-coder.d.ts +10 -0
  97. package/lib/types/clients/Web3ClientFactory.d.ts +3 -7
  98. package/lib/types/config/interface/IConfigData.d.ts +3 -0
  99. package/lib/types/models/TPlatform.d.ts +1 -1
  100. package/lib/types/tokens/TokenExchanges/AmmV2PriceQuote.d.ts +7 -6
  101. package/lib/types/tokens/TokenOracles/IOracle.d.ts +1 -1
  102. package/lib/types/tokens/TokenOracles/SpotPriceAggregator/SpotPriceAggregator.d.ts +9 -0
  103. package/lib/types/tokens/TokenPriceService.d.ts +2 -1
  104. package/lib/types/tokens/TokenPriceServiceProvider.d.ts +2 -2
  105. package/lib/types/tokens/TokenProviders/TPCoinmarketcap.d.ts +1 -1
  106. package/lib/types/tokens/TokenProviders/TPUniswap.d.ts +8 -0
  107. package/lib/types/tokens/TokensServiceFactory.d.ts +1 -0
  108. package/lib/types/utils/$bigfloat.d.ts +1 -1
  109. package/lib/types/utils/$hex.d.ts +1 -0
  110. package/lib/types/utils/$number.d.ts +1 -1
  111. package/lib/types/utils/$path.d.ts +1 -1
  112. package/package.json +1 -1
  113. package/src/abi/$abiCoder.ts +13 -0
  114. package/src/abi/abi-coder.ts +23 -0
  115. package/src/chains/PlatformFactory.ts +1 -1
  116. package/src/clients/Web3ClientFactory.ts +40 -33
  117. package/src/config/interface/IConfigData.ts +4 -0
  118. package/src/contracts/deploy/Deployments.ts +4 -1
  119. package/src/contracts/deploy/storage/DeploymentsStorage.ts +2 -1
  120. package/src/explorer/BlockchainExplorer.ts +9 -4
  121. package/src/models/TPlatform.ts +1 -0
  122. package/src/rpc/RpcContract.ts +14 -5
  123. package/src/tokens/TokenDataProvider.ts +4 -4
  124. package/src/tokens/TokenExchanges/AmmV2ExchangeBase.ts +3 -3
  125. package/src/tokens/TokenExchanges/AmmV2PriceQuote.ts +41 -8
  126. package/src/tokens/TokenOracles/IOracle.ts +1 -1
  127. package/src/tokens/TokenOracles/SpotPriceAggregator/SpotPriceAggregator.ts +62 -0
  128. package/src/tokens/TokenOracles/amm/AmmV2Oracle.ts +1 -1
  129. package/src/tokens/TokenOracles/chainlink/ChainlinkFeedProvider.ts +9 -2
  130. package/src/tokens/TokenOracles/chainlink/ChainlinkOracle.ts +0 -1
  131. package/src/tokens/TokenPriceService.ts +32 -40
  132. package/src/tokens/TokenPriceServiceProvider.ts +10 -23
  133. package/src/tokens/TokenProviders/TPCoinmarketcap.ts +7 -0
  134. package/src/tokens/TokenProviders/TPUniswap.ts +90 -1
  135. package/src/tokens/TokensServiceFactory.ts +7 -30
  136. package/src/utils/$bigfloat.ts +1 -2
  137. package/src/utils/$hex.ts +10 -0
  138. package/src/utils/$number.ts +2 -2
  139. package/src/utils/$path.ts +8 -1
  140. package/lib/cjs/tokens/TokensServiceBsc.js +0 -20
  141. package/lib/cjs/tokens/TokensServiceBsc.js.map +0 -1
  142. package/lib/cjs/tokens/TokensServiceEth.js +0 -17
  143. package/lib/cjs/tokens/TokensServiceEth.js.map +0 -1
  144. package/lib/cjs/tokens/TokensServicePolygon.js +0 -20
  145. package/lib/cjs/tokens/TokensServicePolygon.js.map +0 -1
  146. package/lib/cjs/tokens/TokensServiceXDai.js +0 -26
  147. package/lib/cjs/tokens/TokensServiceXDai.js.map +0 -1
  148. package/lib/esm/tokens/TokensServiceBsc.js.map +0 -1
  149. package/lib/esm/tokens/TokensServiceBsc.mjs +0 -13
  150. package/lib/esm/tokens/TokensServiceEth.js.map +0 -1
  151. package/lib/esm/tokens/TokensServiceEth.mjs +0 -10
  152. package/lib/esm/tokens/TokensServicePolygon.js.map +0 -1
  153. package/lib/esm/tokens/TokensServicePolygon.mjs +0 -13
  154. package/lib/esm/tokens/TokensServiceXDai.js.map +0 -1
  155. package/lib/esm/tokens/TokensServiceXDai.mjs +0 -19
  156. package/lib/types/tokens/TokensServiceBsc.d.ts +0 -8
  157. package/lib/types/tokens/TokensServiceEth.d.ts +0 -4
  158. package/lib/types/tokens/TokensServicePolygon.d.ts +0 -8
  159. package/lib/types/tokens/TokensServiceXDai.d.ts +0 -11
  160. package/src/tokens/TokensServiceBsc.ts +0 -17
  161. package/src/tokens/TokensServiceEth.ts +0 -9
  162. package/src/tokens/TokensServicePolygon.ts +0 -17
  163. 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 getPrice(mix, opts) {
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.getPrice(mix, {
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.getPrice(tokenData);
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":"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"}
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":"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"}
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":"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"}
1
+ {"version":3,"file":"TokenPriceService.js","sourceRoot":"","sources":["../../../src/tokens/TokenPriceService.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAsB;AAKtB,mDAAgD;AAChD,mDAAgD;AAChD,uDAAoD;AAGpD,sEAAmE;AAEnE,qDAAkD;AAClD,uDAAoD;AAEpD,8EAA2E;AAC3E,gGAA6F;AAuB7F,MAAa,iBAAiB;IAK1B,YAAoB,MAAkB,EAAU,QAA6B;QAAzD,WAAM,GAAN,MAAM,CAAY;QAAU,aAAQ,GAAR,QAAQ,CAAqB;QACzE,IAAI,CAAC,MAAM,GAAG,cAAE,CAAC,OAAO,CAAC,6BAAa,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC3E,IAAI,CAAC,OAAO,GAAG;YACX,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,iCAAe,CAAC,CAAE,MAAM,CAAE,CAAC,EAAE;YAClE,EAAE,QAAQ,EAAE,mBAAmB,MAAM,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,IAAI,yCAAmB,EAAE,EAAE;YACpF,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,iCAAe,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE;SACjF,CAAC;IACN,CAAC;IAKD,KAAK,CAAC,QAAQ,CAAE,GAA+B,EAAE,IAAyB;QAEtE,IAAI,KAAa,CAAC;QAElB,IAAI;YACA,KAAK,GAAG,OAAO,GAAG,KAAK,QAAQ;gBAC3B,CAAC,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC;gBACtC,CAAC,CAAC,GAAG,CAAC;SACb;QAAC,OAAO,KAAK,EAAE,GAAE;QAElB,mBAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG,YAAY,CAAC,CAAC;QAClD,mBAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,yBAAyB,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QAEzE,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,KAAK,IAAI,UAAU,IAAI,IAAI,CAAC,OAAO,EAAE;YACjC,IAAI,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;YAC/B,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC3D,IAAI,KAAK,EAAE;gBACP,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACnB,SAAS;aACZ;YACD,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,KAAK,CAAC,EAAE;gBAC5C,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;gBACnC,SAAS;aACZ;YACD,OAAO;gBACH,QAAQ,EAAE,UAAU,CAAC,QAAQ;gBAC7B,GAAG,MAAM;aACZ,CAAC;SACL;QACD,IAAI,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpD,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;CACJ;AAlDD,8CAkDC;AAGD,MAAa,0BAA0B;IAKnC,YAAqB,OAA0B;QAA1B,YAAO,GAAP,OAAO,CAAmB;QAHvC,UAAK,GAAG,IAAI,GAAG,EAAqD,CAAA;QACpE,aAAQ,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;IAIjC,CAAC;IAMD,KAAK,CAAC,QAAQ,CAAE,GAA+B,EAAE,IAAyB;QAEtE,IAAI,GAAG,GAAW,OAAO,GAAG,KAAK,QAAQ;YACrC,CAAC,CAAC,GAAG;YACL,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC;QAElB,IAAI,OAAO,GAAW,IAAI,CAAC;QAC3B,IAAI,MAAM,GAAS,IAAI,CAAC;QAExB,IAAI,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE;YACrB,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC;YACrB,GAAG,IAAI,GAAG,GAAG,CAAC,OAAO,GAAG,OAAO,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;SAE9C;aAAM;YACH,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,CAAC;YAE9B,MAAM,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;YACrB,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YAC1B,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAErB,IAAI,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;YAClC,OAAO,IAAI,OAAO,GAAG,CAAC,CAAC;YAEvB,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAE3B,GAAG,IAAI,GAAG,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;SACrC;QAED,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YACrB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;SAC9B;QAED,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAO,GAAG,EAAE;YAC3C,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;YACf,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,OAAO;SACjB,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC7B,OAAO,OAAO,CAAC;IACnB,CAAC;CACJ;AArDD,gEAqDC;AAGD,IAAU,UAAU,CAoHnB;AApHD,WAAU,UAAU;IAGT,KAAK,UAAU,UAAU,CAAE,SAAiB,EAAE,UAAkB,EAAE,KAAkB,EAAE,YAA2B;QACpH,IAAI,KAAe,CAAC;QACpB,IAAI,UAAU,GAAG,SAAS,CAAC;QAC3B,IAAI,WAAW,GAAG,UAAU,CAAC;QAC7B,IAAI,MAAM,GAAG,EAAgB,CAAC;QAE9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACnC,KAAK,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;YAExE,WAAW,GAAG,KAAK,CAAC,QAAQ,CAAC;YAC7B,UAAU,GAAG,KAAK,CAAC,EAAE,CAAC;YACtB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACtB;QAED,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAEzB,IAAI,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAC3B,yDAAyD;QACzD,OAAO;YACH,QAAQ,EAAE,KAAK,CAAC,EAAE;YAClB,SAAS,EAAE,KAAK,CAAC,QAAQ;YACzB,MAAM,EAAE,KAAK,CAAC,KAAK;YACnB,WAAW,EAAE,KAAK,CAAC,OAAO;YAE1B,OAAO,EAAE,UAAU,CAAC,IAAI;YACxB,QAAQ,EAAE,UAAU,CAAC,UAAU;YAC/B,KAAK,EAAE,UAAU,CAAC,OAAO;YACzB,UAAU,EAAE,UAAU,CAAC,SAAS;YAEhC,KAAK,EAAE,MAAM;SAChB,CAAC;IACN,CAAC;IA/BqB,qBAAU,aA+B/B,CAAA;IAED,SAAS,gBAAgB,CAAE,KAAiB;QACxC,IAAI,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,IAAI,IAAI,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC;QACrE,IAAI,QAAQ,IAAI,IAAI,EAAE;YAClB,OAAO;SACV;QACD,IAAI,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACxC,KAAK,IAAI,CAAC,GAAG,SAAS,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACrC,IAAI,UAAU,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9B,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAEpB,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC;YAChC,IAAI,CAAC,OAAO,GAAG,uBAAU,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YACxE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC;YAC1B,IAAI,CAAC,SAAS,GAAG,uBAAU,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;SACnF;QACD,KAAK,IAAI,CAAC,GAAG,SAAS,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC/C,IAAI,UAAU,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9B,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAEpB,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC;YAChC,IAAI,CAAC,SAAS,GAAG,uBAAU,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAChF,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC;YAC1B,IAAI,CAAC,OAAO,GAAG,uBAAU,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;SAC3E;IACL,CAAC;IAEM,KAAK,UAAU,UAAU,CAAE,OAAiB;IAEnD,CAAC;IAFqB,qBAAU,aAE/B,CAAA;IAEM,KAAK,UAAU,QAAQ,CAAE,SAAiB,EAAE,UAAkB,EAAE,EAAa,EAAE,YAA2B;QAE7G,IAAI,gBAAgB,GAAa,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC;QACjD,IAAI,cAAc,GAAa,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC;QAE7C,IAAI,mBAAQ,CAAC,EAAE,CAAC,gBAAgB,EAAE,SAAS,CAAC,OAAO,CAAC,KAAK,KAAK,EAAE;YAC5D,MAAM,IAAI,KAAK,CAAC,iCAAiC,gBAAgB,OAAO,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;SAChG;QAED,IAAI,CAAE,KAAK,EAAE,GAAG,CAAE,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAE1F,IAAI,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC;QACpB,IAAI,WAAW,GAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,KAAK,EAAE,CAAC,CAAC;QAC1D,IAAI,SAAS,GAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,GAAG,EAAE,CAAC,CAAC;QAEtD,IAAI,CAAC,GAAG,WAAW,GAAG,SAAS,CAAC;QAChC,IAAI,gBAAgB,GAAG,WAAW,GAAG,UAAU,CAAC;QAChD,IAAI,cAAc,GAAG,CAAC,GAAG,gBAAgB,CAAC;QAC1C,IAAI,YAAY,GAAG,SAAS,GAAG,cAAc,CAAC;QAC9C,IAAI,OAAO,GAAG,uBAAU,CAAC,eAAe,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAChE,IAAI,KAAK,GAAG,uBAAU,CAAC,eAAe,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAE9D,IAAI,SAAS,GAAG,uBAAU,CAAC,SAAS,CAAC,UAAU,EAAE,SAAS,EAAE,OAAO,IAAI,KAAK,CAAC,CAAC;QAC9E,IAAI,OAAO,GAAG,uBAAU,CAAC,SAAS,CAAC,YAAY,EAAE,OAAO,EAAE,KAAK,IAAI,OAAO,CAAC,CAAC;QAE5E,4EAA4E;QAC5E,iBAAO,CAAC,GAAG,CAAC,SAAS,SAAS,CAAC,MAAM,IAAI,UAAU,KAAK,OAAO,QAAQ,OAAO,CAAC,MAAM,KAAK,YAAY,KAAK,KAAK,aAAa,SAAS,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC,CAAC;QAE/J,OAAkB;YACd,IAAI,EAAE,EAAE,CAAC,IAAI;YACb,UAAU,EAAE,UAAU;YACtB,OAAO,EAAE,OAAO,IAAI,KAAK;YACzB,SAAS;YAET,EAAE,EAAE,EAAE,CAAC,EAAE;YACT,QAAQ,EAAE,YAAY;YACtB,KAAK,EAAE,KAAK,IAAI,OAAO;YACvB,OAAO;YAEP,GAAG,EAAE,CAAC;YAEN,IAAI,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAAC;YAE9D,IAAI,EAAE;gBACF,OAAO,EAAE,EAAE,CAAC,OAAO;gBACnB,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,SAAS;gBAC/B,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,SAAS;aAClC;SACJ,CAAC;IACN,CAAC;IAjDqB,mBAAQ,WAiD7B,CAAA;AACL,CAAC,EApHS,UAAU,KAAV,UAAU,QAoHnB"}
@@ -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.platform, this.explorer);
13
- this.oracle = di.resolve(AmmV2PriceQuote, this.client, this.explorer);
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
- if (token == null) {
24
- return { error: new Error(`Token ${mix} not found`) };
25
- }
26
- if (token.decimals == null) {
27
- return { error: new Error(`Token has no decimals ${token.symbol}`) };
28
- }
29
- let { error, result } = await this.oracle.getPrice(token, opts);
30
- if (error != null) {
31
- return { error };
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
- return {
34
- price: result.outUsd,
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":";;;;;;AAAA,gDAAsB;AACtB,4DAAyD;AACzD,mEAAgE;AAEhE,2DAAoF;AACpF,mEAAgE;AAChE,wDAAqD;AAIrD,IAAiB,yBAAyB,CAyBzC;AAzBD,WAAiB,yBAAyB;IAEtC,SAAgB,MAAM,CAAE,QAAmB,EAAE,MAAmB,EAAE,QAA8B;QAC5F,IAAI,QAAQ,KAAK,KAAK,EAAE;YACpB,OAAO,cAAE,CAAC,OAAO,CACb,qCAAiB,EACjB,MAAM,IAAI,cAAE,CAAC,OAAO,CAAC,6BAAa,CAAC,EACnC,QAAQ,IAAI,cAAE,CAAC,OAAO,CAAC,qBAAS,CAAC,CACpC,CAAC;SACL;QACD,IAAI,QAAQ,KAAK,KAAK,EAAE;YACpB,OAAO,cAAE,CAAC,OAAO,CACb,qCAAiB,EACjB,MAAM,IAAI,cAAE,CAAC,OAAO,CAAC,6BAAa,CAAC,EACnC,QAAQ,IAAI,cAAE,CAAC,OAAO,CAAC,iBAAO,CAAC,CAClC,CAAC;SACL;QACD,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAC;IACzD,CAAC;IAhBe,gCAAM,SAgBrB,CAAA;IAED,sEAAsE;IACtE,SAAgB,gBAAgB,CAAE,QAAmB,EAAE,MAAmB,EAAE,QAA8B;QACtG,IAAI,OAAO,GAAG,yBAAyB,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC3E,OAAO,IAAI,8CAA0B,CAAC,OAAO,CAAC,CAAC;IACnD,CAAC;IAHe,0CAAgB,mBAG/B,CAAA;AACL,CAAC,EAzBgB,yBAAyB,GAAzB,iCAAyB,KAAzB,iCAAyB,QAyBzC"}
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 { BscWeb3Client } from '../clients/BscWeb3Client.mjs';
6
- import { Bscscan } from '../explorer/Bscscan.mjs';
7
- export var TokenPriceServiceProvider;
8
- (function (TokenPriceServiceProvider) {
9
- function create(platform, client, explorer) {
10
- if (platform === 'eth') {
11
- return di.resolve(TokenPriceService, client ?? di.resolve(EthWeb3Client), explorer ?? di.resolve(Etherscan));
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
- TokenPriceServiceProvider.create = create;
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 = TokenPriceServiceProvider.create(platform, client, explorer);
14
+ let service = TokenPriceServiceFactory.get(platform, client, explorer);
22
15
  return new TokenPriceServiceCacheable(service);
23
16
  }
24
- TokenPriceServiceProvider.createTimeRanged = createTimeRanged;
25
- })(TokenPriceServiceProvider || (TokenPriceServiceProvider = {}));
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":";;;AAAA,2CAAuC;AACvC,kEAA+D;AAC/D,qDAAkD;AAKlD,qDAAkD;AAElD,iDAA8C;AAG9C,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,IAOpB,CAAC;QAEJ,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;IACnC,CAAC;CACJ;AAzDD,0CAyDC"}
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":";;;AAAA,kEAA+D;AAE/D,qDAAkD;AAElD,iDAA8C;AAC9C,iDAA8C;AAG9C,MAAM,WAAW,GAAG,4DAA4D,CAAC;AAEjF,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;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,8BA4EC"}
1
+ {"version":3,"file":"TPUniswap.js","sourceRoot":"","sources":["../../../../src/tokens/TokenProviders/TPUniswap.ts"],"names":[],"mappings":"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"}
@@ -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
- const TheGraphUrl = 'https://api.thegraph.com/subgraphs/name/uniswap/uniswap-v2';
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":";;;;;;AAAA,gDAAsB;AAEtB,yDAAsD;AACtD,yDAAsD;AACtD,iEAA8D;AAC9D,2DAAwD;AACxD,2FAAwF;AACxF,mDAAgD;AAChD,oDAAiD;AACjD,2DAAwD;AAExD,IAAiB,oBAAoB,CA0BpC;AA1BD,WAAiB,oBAAoB;IAEjC,SAAgB,GAAG,CAAE,QAAmB;QACpC,QAAQ,QAAQ,EAAE;YACd,KAAK,KAAK;gBACN,OAAO,cAAE,CAAC,OAAO,CAAC,mCAAgB,CAAC,CAAC;YACxC,KAAK,KAAK;gBACN,OAAO,cAAE,CAAC,OAAO,CAAC,mCAAgB,CAAC,CAAC;YACxC,KAAK,SAAS;gBACV,OAAO,cAAE,CAAC,OAAO,CAAC,2CAAoB,CAAC,CAAC;YAC5C,KAAK,MAAM;gBACP,OAAO,cAAE,CAAC,OAAO,CAAC,qCAAiB,CAAC,CAAC;YACzC,KAAK,UAAU;gBACX,OAAO,cAAE,CAAC,OAAO,CAAC,6CAAqB,CAAC,CAAC;YAC7C,KAAK,SAAS;gBACV,IAAI,WAAW,GAAG,IAAI,qCAAiB,CAAC,KAAK,CAAC,CAAC;gBAC/C,OAAO,IAAI,6BAAa,CAAC,QAAQ,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;YAC1D,OAAO,CAAC,CAAC;gBACL,IAAI,GAAG,GAAG,eAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAChC,IAAI,GAAG,IAAI,IAAI,EAAE;oBACb,OAAO,cAAE,CAAC,OAAO,CAAC,6BAAa,EAAE,QAAQ,CAAC,CAAC;iBAC9C;gBACD,MAAM,IAAI,KAAK,CAAC,wBAAwB,QAAQ,oBAAoB,CAAC,CAAC;aACzE;SACJ;IACL,CAAC;IAvBe,wBAAG,MAuBlB,CAAA;AACL,CAAC,EA1BgB,oBAAoB,GAApB,4BAAoB,KAApB,4BAAoB,QA0BpC"}
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 { config } from '../config/Config.mjs';
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
- switch (platform) {
14
- case 'bsc':
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