@paraswap/dex-lib 4.7.5-unified-blacklist.2 → 4.7.5

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 (168) hide show
  1. package/build/dex/balancer-v2/balancer-v2.d.ts +1 -1
  2. package/build/dex/balancer-v2/balancer-v2.js +39 -37
  3. package/build/dex/balancer-v2/balancer-v2.js.map +1 -1
  4. package/build/dex/balancer-v2/constants.d.ts +1 -0
  5. package/build/dex/balancer-v2/constants.js +2 -1
  6. package/build/dex/balancer-v2/constants.js.map +1 -1
  7. package/build/dex/bebop/bebop.d.ts +5 -3
  8. package/build/dex/bebop/bebop.js +58 -17
  9. package/build/dex/bebop/bebop.js.map +1 -1
  10. package/build/dex/bebop/constants.d.ts +5 -0
  11. package/build/dex/bebop/constants.js +7 -1
  12. package/build/dex/bebop/constants.js.map +1 -1
  13. package/build/dex/cables/cables.d.ts +6 -3
  14. package/build/dex/cables/cables.js +51 -7
  15. package/build/dex/cables/cables.js.map +1 -1
  16. package/build/dex/cables/constants.d.ts +5 -0
  17. package/build/dex/cables/constants.js +6 -1
  18. package/build/dex/cables/constants.js.map +1 -1
  19. package/build/dex/cables/rate-fetcher.d.ts +3 -1
  20. package/build/dex/cables/rate-fetcher.js +8 -6
  21. package/build/dex/cables/rate-fetcher.js.map +1 -1
  22. package/build/dex/cables/types.d.ts +6 -1
  23. package/build/dex/curve-v1/config.js +21 -21
  24. package/build/dex/curve-v1/config.js.map +1 -1
  25. package/build/dex/curve-v1/curve-v1.d.ts +3 -1
  26. package/build/dex/curve-v1/curve-v1.js +26 -1
  27. package/build/dex/curve-v1/curve-v1.js.map +1 -1
  28. package/build/dex/curve-v1/types.d.ts +6 -0
  29. package/build/dex/dexalot/constants.d.ts +3 -0
  30. package/build/dex/dexalot/constants.js +4 -1
  31. package/build/dex/dexalot/constants.js.map +1 -1
  32. package/build/dex/dexalot/dexalot.d.ts +8 -2
  33. package/build/dex/dexalot/dexalot.js +43 -5
  34. package/build/dex/dexalot/dexalot.js.map +1 -1
  35. package/build/dex/dexalot/rate-fetcher.d.ts +3 -1
  36. package/build/dex/dexalot/rate-fetcher.js +8 -6
  37. package/build/dex/dexalot/rate-fetcher.js.map +1 -1
  38. package/build/dex/dexalot/types.d.ts +2 -1
  39. package/build/dex/generic-rfq/generic-rfq.d.ts +2 -0
  40. package/build/dex/generic-rfq/generic-rfq.js +8 -1
  41. package/build/dex/generic-rfq/generic-rfq.js.map +1 -1
  42. package/build/dex/generic-rfq/rate-fetcher.d.ts +10 -8
  43. package/build/dex/generic-rfq/rate-fetcher.js +11 -6
  44. package/build/dex/generic-rfq/rate-fetcher.js.map +1 -1
  45. package/build/dex/hashflow/hashflow.d.ts +5 -2
  46. package/build/dex/hashflow/hashflow.js +15 -4
  47. package/build/dex/hashflow/hashflow.js.map +1 -1
  48. package/build/dex/idex.d.ts +2 -12
  49. package/build/dex/idle-dao/idle-dao.d.ts +1 -0
  50. package/build/dex/idle-dao/idle-dao.js +23 -11
  51. package/build/dex/idle-dao/idle-dao.js.map +1 -1
  52. package/build/dex/limit-order-exchange.d.ts +2 -2
  53. package/build/dex/limit-order-exchange.js +2 -2
  54. package/build/dex/limit-order-exchange.js.map +1 -1
  55. package/build/dex/maker-psm/maker-psm-event-pool.d.ts +43 -0
  56. package/build/dex/maker-psm/maker-psm-event-pool.js +132 -0
  57. package/build/dex/maker-psm/maker-psm-event-pool.js.map +1 -0
  58. package/build/dex/maker-psm/maker-psm.d.ts +4 -41
  59. package/build/dex/maker-psm/maker-psm.js +40 -143
  60. package/build/dex/maker-psm/maker-psm.js.map +1 -1
  61. package/build/dex/paraswap-limit-orders/paraswap-limit-orders.d.ts +1 -0
  62. package/build/dex/paraswap-limit-orders/paraswap-limit-orders.js +8 -0
  63. package/build/dex/paraswap-limit-orders/paraswap-limit-orders.js.map +1 -1
  64. package/build/dex/simple-exchange-with-restrictions.d.ts +6 -0
  65. package/build/dex/simple-exchange-with-restrictions.js +14 -6
  66. package/build/dex/simple-exchange-with-restrictions.js.map +1 -1
  67. package/build/dex/swaap-v2/swaap-v2.d.ts +5 -2
  68. package/build/dex/swaap-v2/swaap-v2.js +16 -4
  69. package/build/dex/swaap-v2/swaap-v2.js.map +1 -1
  70. package/build/dex/uniswap-v4/contract-math/Position.d.ts +6 -0
  71. package/build/dex/uniswap-v4/contract-math/Position.js +29 -0
  72. package/build/dex/uniswap-v4/contract-math/Position.js.map +1 -1
  73. package/build/dex/uniswap-v4/liquidity.d.ts +9 -0
  74. package/build/dex/uniswap-v4/liquidity.js +74 -0
  75. package/build/dex/uniswap-v4/liquidity.js.map +1 -0
  76. package/build/dex/uniswap-v4/subgraph.js +6 -0
  77. package/build/dex/uniswap-v4/subgraph.js.map +1 -1
  78. package/build/dex/uniswap-v4/types.d.ts +3 -0
  79. package/build/dex/uniswap-v4/uniswap-v4-pool-manager.d.ts +5 -1
  80. package/build/dex/uniswap-v4/uniswap-v4-pool-manager.js +86 -0
  81. package/build/dex/uniswap-v4/uniswap-v4-pool-manager.js.map +1 -1
  82. package/build/dex/uniswap-v4/uniswap-v4.d.ts +1 -1
  83. package/build/dex/uniswap-v4/uniswap-v4.js +50 -36
  84. package/build/dex/uniswap-v4/uniswap-v4.js.map +1 -1
  85. package/build/dex-helper/dummy-dex-helper.js +1 -14
  86. package/build/dex-helper/dummy-dex-helper.js.map +1 -1
  87. package/build/dex-helper/icache.d.ts +0 -2
  88. package/build/pricing-helper.d.ts +0 -1
  89. package/build/pricing-helper.js +0 -34
  90. package/build/pricing-helper.js.map +1 -1
  91. package/package.json +1 -1
  92. package/build/abi/BProtocol.json +0 -1155
  93. package/build/abi/Jarvis.json +0 -1172
  94. package/build/abi/MStableAsset.json +0 -1545
  95. package/build/abi/OneInchLp.json +0 -1304
  96. package/build/abi/Onebit.json +0 -736
  97. package/build/abi/Shell.json +0 -1294
  98. package/build/abi/TraderJoeV2Router.json +0 -50
  99. package/build/abi/wUSDM.json +0 -757
  100. package/build/abi/zrx.v2.json +0 -1967
  101. package/build/abi/zrx.v3.json +0 -3454
  102. package/build/abi/zrx.v4.json +0 -2193
  103. package/build/dex/OneInchLp.d.ts +0 -24
  104. package/build/dex/OneInchLp.js +0 -43
  105. package/build/dex/OneInchLp.js.map +0 -1
  106. package/build/dex/bProtocol/bProtocol.d.ts +0 -15
  107. package/build/dex/bProtocol/bProtocol.js +0 -56
  108. package/build/dex/bProtocol/bProtocol.js.map +0 -1
  109. package/build/dex/bProtocol/types.d.ts +0 -11
  110. package/build/dex/bProtocol/types.js +0 -8
  111. package/build/dex/bProtocol/types.js.map +0 -1
  112. package/build/dex/jarvis.d.ts +0 -56
  113. package/build/dex/jarvis.js +0 -163
  114. package/build/dex/jarvis.js.map +0 -1
  115. package/build/dex/mStable.d.ts +0 -44
  116. package/build/dex/mStable.js +0 -75
  117. package/build/dex/mStable.js.map +0 -1
  118. package/build/dex/onebit/onebit.d.ts +0 -16
  119. package/build/dex/onebit/onebit.js +0 -61
  120. package/build/dex/onebit/onebit.js.map +0 -1
  121. package/build/dex/onebit/types.d.ts +0 -14
  122. package/build/dex/onebit/types.js +0 -8
  123. package/build/dex/onebit/types.js.map +0 -1
  124. package/build/dex/shell.d.ts +0 -25
  125. package/build/dex/shell.js +0 -41
  126. package/build/dex/shell.js.map +0 -1
  127. package/build/dex/trader-joe-v2.d.ts +0 -40
  128. package/build/dex/trader-joe-v2.js +0 -74
  129. package/build/dex/trader-joe-v2.js.map +0 -1
  130. package/build/dex/uniswap-v3/uniswap-v3-new.d.ts +0 -94
  131. package/build/dex/uniswap-v3/uniswap-v3-new.js +0 -923
  132. package/build/dex/uniswap-v3/uniswap-v3-new.js.map +0 -1
  133. package/build/dex/usual-bond/config.d.ts +0 -3
  134. package/build/dex/usual-bond/config.js +0 -13
  135. package/build/dex/usual-bond/config.js.map +0 -1
  136. package/build/dex/usual-bond/types.d.ts +0 -7
  137. package/build/dex/usual-bond/types.js +0 -3
  138. package/build/dex/usual-bond/types.js.map +0 -1
  139. package/build/dex/usual-bond/usual-bond.d.ts +0 -35
  140. package/build/dex/usual-bond/usual-bond.js +0 -176
  141. package/build/dex/usual-bond/usual-bond.js.map +0 -1
  142. package/build/dex/wusdm/config.d.ts +0 -3
  143. package/build/dex/wusdm/config.js +0 -43
  144. package/build/dex/wusdm/config.js.map +0 -1
  145. package/build/dex/wusdm/constants.d.ts +0 -2
  146. package/build/dex/wusdm/constants.js +0 -6
  147. package/build/dex/wusdm/constants.js.map +0 -1
  148. package/build/dex/wusdm/types.d.ts +0 -18
  149. package/build/dex/wusdm/types.js +0 -11
  150. package/build/dex/wusdm/types.js.map +0 -1
  151. package/build/dex/wusdm/wusdm-pool.d.ts +0 -21
  152. package/build/dex/wusdm/wusdm-pool.js +0 -74
  153. package/build/dex/wusdm/wusdm-pool.js.map +0 -1
  154. package/build/dex/wusdm/wusdm.d.ts +0 -46
  155. package/build/dex/wusdm/wusdm.js +0 -243
  156. package/build/dex/wusdm/wusdm.js.map +0 -1
  157. package/build/dex/zerox/config.d.ts +0 -2
  158. package/build/dex/zerox/config.js +0 -33
  159. package/build/dex/zerox/config.js.map +0 -1
  160. package/build/dex/zerox/index.d.ts +0 -22
  161. package/build/dex/zerox/index.js +0 -225
  162. package/build/dex/zerox/index.js.map +0 -1
  163. package/build/dex/zerox/order.d.ts +0 -88
  164. package/build/dex/zerox/order.js +0 -53
  165. package/build/dex/zerox/order.js.map +0 -1
  166. package/build/dex/zerox/types.d.ts +0 -73
  167. package/build/dex/zerox/types.js +0 -21
  168. package/build/dex/zerox/types.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/dex/bebop/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,qBAAqB,GAAG,IAAI,CAAC;AAC7B,QAAA,sBAAsB,GAAG,EAAE,CAAC;AAC5B,QAAA,sBAAsB,GAAG,EAAE,CAAC;AAC5B,QAAA,gCAAgC,GAAG,EAAE,GAAG,IAAI,CAAC;AAC7C,QAAA,aAAa,GAAG,uBAAuB,CAAC;AACxC,QAAA,gBAAgB,GAAG,qBAAqB,CAAC;AACzC,QAAA,cAAc,GAAG,OAAO,CAAC;AACzB,QAAA,sBAAsB,GAAG,IAAI,CAAC;AAE9B,QAAA,kBAAkB,GAAG,YAAY,CAAC;AAClC,QAAA,qBAAqB,GAAG,eAAe,CAAC;AAExC,QAAA,2BAA2B,GAAG,YAAY,CAAC;AAC3C,QAAA,8BAA8B,GAAG,YAAY,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/dex/bebop/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,qBAAqB,GAAG,IAAI,CAAC;AAC7B,QAAA,sBAAsB,GAAG,EAAE,CAAC;AAC5B,QAAA,sBAAsB,GAAG,EAAE,CAAC;AAC5B,QAAA,gCAAgC,GAAG,EAAE,GAAG,IAAI,CAAC;AAC7C,QAAA,aAAa,GAAG,uBAAuB,CAAC;AACxC,QAAA,gBAAgB,GAAG,qBAAqB,CAAC;AACzC,QAAA,cAAc,GAAG,OAAO,CAAC;AACzB,QAAA,sBAAsB,GAAG,IAAI,CAAC;AAC9B,QAAA,sBAAsB,GAAG,QAAQ,CAAC;AAClC,QAAA,0BAA0B,GAAG,YAAY,CAAC;AACvD,gJAAgJ;AACnI,QAAA,oBAAoB,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,SAAS;AACzC,QAAA,gCAAgC,GAAG,IAAI,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ;AAC1D,QAAA,8BAA8B,GAAG,CAAC,CAAC;AAEnC,QAAA,kBAAkB,GAAG,YAAY,CAAC;AAClC,QAAA,qBAAqB,GAAG,eAAe,CAAC;AAExC,QAAA,2BAA2B,GAAG,YAAY,CAAC;AAC3C,QAAA,8BAA8B,GAAG,YAAY,CAAC"}
@@ -4,11 +4,11 @@ import { Network } from '../../constants';
4
4
  import { IDexHelper } from '../../dex-helper';
5
5
  import { AdapterExchangeParam, DexExchangeParam, ExchangePrices, ExchangeTxInfo, Logger, PoolLiquidity, PoolPrices, PreprocessTransactionOptions, Token, TransferFeeParams } from '../../types';
6
6
  import { IDex } from '../idex';
7
- import { SimpleExchangeWithRestrictions } from '../simple-exchange-with-restrictions';
7
+ import { SimpleExchange } from '../simple-exchange';
8
8
  import { CablesData } from './types';
9
9
  import { Interface } from 'ethers/lib/utils';
10
10
  import { BebopData } from '../bebop/types';
11
- export declare class Cables extends SimpleExchangeWithRestrictions implements IDex<any> {
11
+ export declare class Cables extends SimpleExchange implements IDex<any> {
12
12
  readonly network: Network;
13
13
  readonly dexKey: string;
14
14
  readonly dexHelper: IDexHelper;
@@ -19,7 +19,7 @@ export declare class Cables extends SimpleExchangeWithRestrictions implements ID
19
19
  networks: Network[];
20
20
  }[];
21
21
  readonly isStatePollingDex = true;
22
- private readonly rateFetcher;
22
+ private rateFetcher;
23
23
  logger: Logger;
24
24
  private tokensMap;
25
25
  hasConstantPriceLargeAmounts: boolean;
@@ -55,4 +55,7 @@ export declare class Cables extends SimpleExchangeWithRestrictions implements ID
55
55
  getPairString(baseToken: Token, quoteToken: Token): string;
56
56
  private findKeyByAddress;
57
57
  getPairData(srcToken: Token, destToken: Token): Promise<any>;
58
+ isBlacklisted(txOrigin: Address): Promise<boolean>;
59
+ isRestricted(): Promise<boolean>;
60
+ restrict(): Promise<void>;
58
61
  }
@@ -42,7 +42,7 @@ const ts_essentials_1 = require("ts-essentials");
42
42
  const CALLDATA_GAS_COST = __importStar(require("../../calldata-gas-cost"));
43
43
  const constants_1 = require("../../constants");
44
44
  const utils_1 = require("../../utils");
45
- const simple_exchange_with_restrictions_1 = require("../simple-exchange-with-restrictions");
45
+ const simple_exchange_1 = require("../simple-exchange");
46
46
  const config_1 = require("./config");
47
47
  const constants_2 = require("./constants");
48
48
  const rate_fetcher_1 = require("./rate-fetcher");
@@ -52,7 +52,7 @@ const utils_2 = require("ethers/lib/utils");
52
52
  const bignumber_js_1 = __importDefault(require("bignumber.js"));
53
53
  const ethers_1 = require("ethers");
54
54
  const bigint_constants_1 = require("../../bigint-constants");
55
- class Cables extends simple_exchange_with_restrictions_1.SimpleExchangeWithRestrictions {
55
+ class Cables extends simple_exchange_1.SimpleExchange {
56
56
  network;
57
57
  dexKey;
58
58
  dexHelper;
@@ -66,10 +66,7 @@ class Cables extends simple_exchange_with_restrictions_1.SimpleExchangeWithRestr
66
66
  hasConstantPriceLargeAmounts = false;
67
67
  constructor(network, dexKey, dexHelper, mainnetRFQAddress = config_1.CablesConfig['Cables'][network]
68
68
  .mainnetRFQAddress, rfqInterface = new utils_2.Interface(CablesMainnetRFQ_json_1.default)) {
69
- super(dexHelper, dexKey, {
70
- blacklistedTTL: constants_2.CABLES_BLACKLIST_CACHES_TTL_S,
71
- enableDexRestriction: true,
72
- });
69
+ super(dexHelper, dexKey);
73
70
  this.network = network;
74
71
  this.dexKey = dexKey;
75
72
  this.dexHelper = dexHelper;
@@ -100,7 +97,8 @@ class Cables extends simple_exchange_with_restrictions_1.SimpleExchangeWithRestr
100
97
  tokensCacheTTLSecs: constants_2.CABLES_TOKENS_CACHES_TTL_S,
101
98
  tokensCacheKey: 'tokens',
102
99
  blacklistIntervalMs: constants_2.CABLES_API_BLACKLIST_POLLING_INTERVAL_MS,
103
- setBlacklist: this.setBlacklist.bind(this),
100
+ blacklistCacheTTLSecs: constants_2.CABLES_BLACKLIST_CACHES_TTL_S,
101
+ blacklistCacheKey: 'blacklist',
104
102
  },
105
103
  });
106
104
  }
@@ -353,6 +351,10 @@ class Cables extends simple_exchange_with_restrictions_1.SimpleExchangeWithRestr
353
351
  normalizedDestToken.address.toLowerCase()) {
354
352
  return null;
355
353
  }
354
+ const isRestricted = await this.isRestricted();
355
+ if (isRestricted) {
356
+ return null;
357
+ }
356
358
  await this.setTokensMap();
357
359
  if (!this.tokensMap[normalizedSrcToken.address] ||
358
360
  !this.tokensMap[normalizedDestToken.address]) {
@@ -529,6 +531,48 @@ class Cables extends simple_exchange_with_restrictions_1.SimpleExchangeWithRestr
529
531
  }
530
532
  return null;
531
533
  }
534
+ async isBlacklisted(txOrigin) {
535
+ const cachedBlacklist = await this.dexHelper.cache.get(this.dexKey, this.network, this.rateFetcher.blacklistCacheKey);
536
+ if (cachedBlacklist) {
537
+ const blacklist = JSON.parse(cachedBlacklist);
538
+ return blacklist.includes(txOrigin.toLowerCase());
539
+ }
540
+ return false;
541
+ }
542
+ async isRestricted() {
543
+ const result = await this.dexHelper.cache.get(this.dexKey, this.network, constants_2.CABLES_RESTRICTED_CACHE_KEY);
544
+ return result === 'true';
545
+ }
546
+ async restrict() {
547
+ const errorsDataRaw = await this.dexHelper.cache.get(this.dexKey, this.network, constants_2.CABLES_ERRORS_CACHE_KEY);
548
+ const errorsData = utils_1.Utils.Parse(errorsDataRaw);
549
+ const ERRORS_TTL_S = Math.floor(constants_2.CABLES_RESTRICT_CHECK_INTERVAL_MS / 1000);
550
+ if (!errorsData ||
551
+ errorsData?.addedDatetimeMs + constants_2.CABLES_RESTRICT_CHECK_INTERVAL_MS <
552
+ Date.now()) {
553
+ this.logger.warn(`${this.dexKey}-${this.network}: First encounter of error OR error ocurred outside of threshold, setting up counter`);
554
+ const data = {
555
+ count: 1,
556
+ addedDatetimeMs: Date.now(),
557
+ };
558
+ await this.dexHelper.cache.setex(this.dexKey, this.network, constants_2.CABLES_ERRORS_CACHE_KEY, ERRORS_TTL_S, utils_1.Utils.Serialize(data));
559
+ return;
560
+ }
561
+ else {
562
+ if (errorsData.count + 1 >= constants_2.CABLES_RESTRICT_COUNT_THRESHOLD) {
563
+ this.logger.warn(`${this.dexKey}-${this.network}: Restricting due to error count=${errorsData.count + 1} within ${constants_2.CABLES_RESTRICT_CHECK_INTERVAL_MS / 1000 / 60} minutes`);
564
+ await this.dexHelper.cache.setex(this.dexKey, this.network, constants_2.CABLES_RESTRICTED_CACHE_KEY, constants_2.CABLES_RESTRICT_TTL_S, 'true');
565
+ }
566
+ else {
567
+ this.logger.warn(`${this.dexKey}-${this.network}: Error count increased`);
568
+ const data = {
569
+ count: errorsData.count + 1,
570
+ addedDatetimeMs: errorsData.addedDatetimeMs,
571
+ };
572
+ await this.dexHelper.cache.setex(this.dexKey, this.network, constants_2.CABLES_RESTRICTED_CACHE_KEY, ERRORS_TTL_S, utils_1.Utils.Serialize(data));
573
+ }
574
+ }
575
+ }
532
576
  }
533
577
  exports.Cables = Cables;
534
578
  //# sourceMappingURL=cables.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cables.js","sourceRoot":"","sources":["../../../src/dex/cables/cables.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cables.js","sourceRoot":"","sources":["../../../src/dex/cables/cables.ts"],"names":[],"mappings":"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"}
@@ -11,4 +11,9 @@ export declare const CABLES_API_BLACKLIST_POLLING_INTERVAL_MS = 30000;
11
11
  export declare const CABLES_TOKENS_CACHES_TTL_S = 60;
12
12
  export declare const CABLES_API_TOKENS_POLLING_INTERVAL_MS = 30000;
13
13
  export declare const CABLES_FIRM_QUOTE_TIMEOUT_MS = 2000;
14
+ export declare const CABLES_RESTRICTED_CACHE_KEY = "restricted";
15
+ export declare const CABLES_ERRORS_CACHE_KEY = "errors";
16
+ export declare const CABLES_RESTRICT_CHECK_INTERVAL_MS: number;
17
+ export declare const CABLES_RESTRICT_COUNT_THRESHOLD = 3;
18
+ export declare const CABLES_RESTRICT_TTL_S: number;
14
19
  export declare const CABLES_GAS_COST = 120000;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CABLES_GAS_COST = exports.CABLES_FIRM_QUOTE_TIMEOUT_MS = exports.CABLES_API_TOKENS_POLLING_INTERVAL_MS = exports.CABLES_TOKENS_CACHES_TTL_S = exports.CABLES_API_BLACKLIST_POLLING_INTERVAL_MS = exports.CABLES_BLACKLIST_CACHES_TTL_S = exports.CABLES_API_PAIRS_POLLING_INTERVAL_MS = exports.CABLES_PAIRS_CACHES_TTL_S = exports.CABLES_API_PRICES_POLLING_INTERVAL_MS = exports.CABLES_PRICES_CACHES_TTL_S = exports.CABLES_API_URL = void 0;
3
+ exports.CABLES_GAS_COST = exports.CABLES_RESTRICT_TTL_S = exports.CABLES_RESTRICT_COUNT_THRESHOLD = exports.CABLES_RESTRICT_CHECK_INTERVAL_MS = exports.CABLES_ERRORS_CACHE_KEY = exports.CABLES_RESTRICTED_CACHE_KEY = exports.CABLES_FIRM_QUOTE_TIMEOUT_MS = exports.CABLES_API_TOKENS_POLLING_INTERVAL_MS = exports.CABLES_TOKENS_CACHES_TTL_S = exports.CABLES_API_BLACKLIST_POLLING_INTERVAL_MS = exports.CABLES_BLACKLIST_CACHES_TTL_S = exports.CABLES_API_PAIRS_POLLING_INTERVAL_MS = exports.CABLES_PAIRS_CACHES_TTL_S = exports.CABLES_API_PRICES_POLLING_INTERVAL_MS = exports.CABLES_PRICES_CACHES_TTL_S = exports.CABLES_API_URL = void 0;
4
4
  /**
5
5
  * Cables
6
6
  */
@@ -14,5 +14,10 @@ exports.CABLES_API_BLACKLIST_POLLING_INTERVAL_MS = 30000; // 30 sec
14
14
  exports.CABLES_TOKENS_CACHES_TTL_S = 60;
15
15
  exports.CABLES_API_TOKENS_POLLING_INTERVAL_MS = 30000; // 30 sec
16
16
  exports.CABLES_FIRM_QUOTE_TIMEOUT_MS = 2000;
17
+ exports.CABLES_RESTRICTED_CACHE_KEY = 'restricted';
18
+ exports.CABLES_ERRORS_CACHE_KEY = 'errors';
19
+ exports.CABLES_RESTRICT_CHECK_INTERVAL_MS = 1000 * 60 * 3; // 3 min
20
+ exports.CABLES_RESTRICT_COUNT_THRESHOLD = 3;
21
+ exports.CABLES_RESTRICT_TTL_S = 10 * 60; // 10 min
17
22
  exports.CABLES_GAS_COST = 120_000;
18
23
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/dex/cables/constants.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACU,QAAA,cAAc,GACzB,kDAAkD,CAAC;AAExC,QAAA,0BAA0B,GAAG,EAAE,CAAC;AAChC,QAAA,qCAAqC,GAAG,IAAI,CAAC,CAAC,QAAQ;AAEtD,QAAA,yBAAyB,GAAG,EAAE,CAAC;AAC/B,QAAA,oCAAoC,GAAG,KAAK,CAAC,CAAC,SAAS;AAEvD,QAAA,6BAA6B,GAAG,EAAE,CAAC;AACnC,QAAA,wCAAwC,GAAG,KAAK,CAAC,CAAC,SAAS;AAE3D,QAAA,0BAA0B,GAAG,EAAE,CAAC;AAChC,QAAA,qCAAqC,GAAG,KAAK,CAAC,CAAC,SAAS;AAExD,QAAA,4BAA4B,GAAG,IAAI,CAAC;AAEpC,QAAA,eAAe,GAAG,OAAO,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/dex/cables/constants.ts"],"names":[],"mappings":";;;AAEA;;GAEG;AACU,QAAA,cAAc,GACzB,kDAAkD,CAAC;AAExC,QAAA,0BAA0B,GAAG,EAAE,CAAC;AAChC,QAAA,qCAAqC,GAAG,IAAI,CAAC,CAAC,QAAQ;AAEtD,QAAA,yBAAyB,GAAG,EAAE,CAAC;AAC/B,QAAA,oCAAoC,GAAG,KAAK,CAAC,CAAC,SAAS;AAEvD,QAAA,6BAA6B,GAAG,EAAE,CAAC;AACnC,QAAA,wCAAwC,GAAG,KAAK,CAAC,CAAC,SAAS;AAE3D,QAAA,0BAA0B,GAAG,EAAE,CAAC;AAChC,QAAA,qCAAqC,GAAG,KAAK,CAAC,CAAC,SAAS;AAExD,QAAA,4BAA4B,GAAG,IAAI,CAAC;AAEpC,QAAA,2BAA2B,GAAG,YAAY,CAAC;AAE3C,QAAA,uBAAuB,GAAG,QAAQ,CAAC;AAEnC,QAAA,iCAAiC,GAAG,IAAI,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ;AAE3D,QAAA,+BAA+B,GAAG,CAAC,CAAC;AAEpC,QAAA,qBAAqB,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,SAAS;AAE1C,QAAA,eAAe,GAAG,OAAO,CAAC"}
@@ -18,6 +18,8 @@ export declare class CablesRateFetcher {
18
18
  pricesCacheKey: string;
19
19
  pricesCacheTTL: number;
20
20
  blacklistFetcher: Fetcher<CablesBlacklistResponse>;
21
+ blacklistCacheKey: string;
22
+ blacklistCacheTTL: number;
21
23
  constructor(dexHelper: IDexHelper, dexKey: string, network: Network, logger: Logger, config: CablesRateFetcherConfig);
22
24
  /**
23
25
  * Utils
@@ -26,7 +28,7 @@ export declare class CablesRateFetcher {
26
28
  stop(): void;
27
29
  private handlePairsResponse;
28
30
  private handlePricesResponse;
29
- private buildBlacklistResponseHandler;
31
+ private handleBlacklistResponse;
30
32
  private normalizeAddressesToLowerCase;
31
33
  private handleTokensResponse;
32
34
  }
@@ -19,6 +19,8 @@ class CablesRateFetcher {
19
19
  pricesCacheKey;
20
20
  pricesCacheTTL;
21
21
  blacklistFetcher;
22
+ blacklistCacheKey;
23
+ blacklistCacheTTL;
22
24
  constructor(dexHelper, dexKey, network, logger, config) {
23
25
  this.dexHelper = dexHelper;
24
26
  this.dexKey = dexKey;
@@ -30,6 +32,8 @@ class CablesRateFetcher {
30
32
  this.pairsCacheTTL = config.rateConfig.pairsCacheTTLSecs;
31
33
  this.pricesCacheKey = config.rateConfig.pricesCacheKey;
32
34
  this.pricesCacheTTL = config.rateConfig.pricesCacheTTLSecs;
35
+ this.blacklistCacheKey = config.rateConfig.blacklistCacheKey;
36
+ this.blacklistCacheTTL = config.rateConfig.blacklistCacheTTLSecs;
33
37
  this.pairsFetcher = new fetcher_1.Fetcher(dexHelper.httpRequest, {
34
38
  info: {
35
39
  requestOptions: config.rateConfig.pairsReqParams,
@@ -55,7 +59,7 @@ class CablesRateFetcher {
55
59
  return (0, validators_1.validateAndCast)(data, validators_2.blacklistResponseValidator);
56
60
  },
57
61
  },
58
- handler: this.buildBlacklistResponseHandler(config.rateConfig.setBlacklist),
62
+ handler: this.handleBlacklistResponse.bind(this),
59
63
  }, config.rateConfig.blacklistIntervalMs, logger);
60
64
  this.tokensFetcher = new fetcher_1.Fetcher(dexHelper.httpRequest, {
61
65
  info: {
@@ -96,11 +100,9 @@ class CablesRateFetcher {
96
100
  const prices = res.prices[networkId];
97
101
  this.dexHelper.cache.setex(this.dexKey, this.network, this.pricesCacheKey, this.pricesCacheTTL, JSON.stringify(prices));
98
102
  }
99
- buildBlacklistResponseHandler(setBlacklist) {
100
- return (res) => {
101
- const { blacklist } = res;
102
- void setBlacklist(blacklist);
103
- };
103
+ handleBlacklistResponse(res) {
104
+ const { blacklist } = res;
105
+ this.dexHelper.cache.setex(this.dexKey, this.network, this.blacklistCacheKey, this.blacklistCacheTTL, JSON.stringify(blacklist.map(item => item.toLowerCase())));
104
106
  }
105
107
  // Convert addresses to lowercase
106
108
  normalizeAddressesToLowerCase = (jsonData) => {
@@ -1 +1 @@
1
- {"version":3,"file":"rate-fetcher.js","sourceRoot":"","sources":["../../../src/dex/cables/rate-fetcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rate-fetcher.js","sourceRoot":"","sources":["../../../src/dex/cables/rate-fetcher.ts"],"names":[],"mappings":"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"}
@@ -82,11 +82,16 @@ export type CablesRateFetcherConfig = {
82
82
  tokensIntervalMs: number;
83
83
  pairsCacheKey: string;
84
84
  pricesCacheKey: string;
85
+ blacklistCacheKey: string;
85
86
  tokensCacheKey: string;
87
+ blacklistCacheTTLSecs: number;
86
88
  pairsCacheTTLSecs: number;
87
89
  pricesCacheTTLSecs: number;
88
90
  tokensCacheTTLSecs: number;
89
- setBlacklist: (addresses: string[]) => Promise<void>;
90
91
  };
91
92
  };
93
+ export type RestrictData = {
94
+ count: number;
95
+ addedDatetimeMs: number;
96
+ } | null;
92
97
  export {};
@@ -142,27 +142,27 @@ exports.CurveV1Config = {
142
142
  isMetapool: false,
143
143
  baseToken: '0x5d3a536e4d6dbd6114cc1ead35777bab948e3643',
144
144
  },
145
- iEarn: {
146
- underlying: [
147
- '0x6b175474e89094c44da98b954eedeac495271d0f',
148
- '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48',
149
- '0xdac17f958d2ee523a2206206994597c13d831ec7',
150
- '0x0000000000085d4780b73119b644ae5ecd22b376',
151
- ],
152
- coins: [
153
- '0x16de59092dae5ccf4a1e6439d611fd0653f0bd01',
154
- '0xd6ad7a6750a7593e092a9b218d66c0a814a3436e',
155
- '0x83f798e925bcd4017eb265844fddabb448f1707d',
156
- '0x73a052500105205d34daf004eab301916da8190f',
157
- ],
158
- address: '0x45f783cce6b7ff23b2ab2d70e416cdb7d6055f51',
159
- name: 'iEarn',
160
- type: 1,
161
- version: 2,
162
- isLending: true,
163
- isMetapool: false,
164
- baseToken: '0x6b175474e89094c44da98b954eedeac495271d0f',
165
- },
145
+ // iEarn: {
146
+ // underlying: [
147
+ // '0x6b175474e89094c44da98b954eedeac495271d0f',
148
+ // '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48',
149
+ // '0xdac17f958d2ee523a2206206994597c13d831ec7',
150
+ // '0x0000000000085d4780b73119b644ae5ecd22b376',
151
+ // ],
152
+ // coins: [
153
+ // '0x16de59092dae5ccf4a1e6439d611fd0653f0bd01',
154
+ // '0xd6ad7a6750a7593e092a9b218d66c0a814a3436e',
155
+ // '0x83f798e925bcd4017eb265844fddabb448f1707d',
156
+ // '0x73a052500105205d34daf004eab301916da8190f',
157
+ // ],
158
+ // address: '0x45f783cce6b7ff23b2ab2d70e416cdb7d6055f51',
159
+ // name: 'iEarn',
160
+ // type: 1,
161
+ // version: 2,
162
+ // isLending: true,
163
+ // isMetapool: false,
164
+ // baseToken: '0x6b175474e89094c44da98b954eedeac495271d0f',
165
+ // },
166
166
  // sUSD: {
167
167
  // underlying: [
168
168
  // '0x6b175474e89094c44da98b954eedeac495271d0f',
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/dex/curve-v1/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/dex/curve-v1/config.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ import { SimpleExchange } from '../simple-exchange';
9
9
  import { IDex } from '../idex';
10
10
  import { IDexHelper } from '../../dex-helper';
11
11
  import { MultiResult } from '../../lib/multi-wrapper';
12
- import { PoolConfig, CurveV1Data, TokenWithReasonableVolume, DirectCurveV1Param, DirectCurveV1ParamV6, CurveV1DirectSwap } from './types';
12
+ import { PoolConfig, CurveV1Data, TokenWithReasonableVolume, DirectCurveV1Param, DirectCurveV1ParamV6, CurveV1DirectSwap, ApiPool } from './types';
13
13
  export declare class CurveV1 extends SimpleExchange implements IDex<CurveV1Data, DirectCurveV1Param | CurveV1DirectSwap> {
14
14
  protected network: Network;
15
15
  protected dexHelper: IDexHelper;
@@ -23,6 +23,7 @@ export declare class CurveV1 extends SimpleExchange implements IDex<CurveV1Data,
23
23
  readonly isFeeOnTransferSupported = true;
24
24
  private decimalsCoinsAndUnderlying;
25
25
  protected pools: Record<string, PoolConfig>;
26
+ protected allApiPools: ApiPool[];
26
27
  protected eventSupportedPools: string[];
27
28
  protected baseTokens: Record<string, TokenWithReasonableVolume>;
28
29
  protected disableFeeOnTransferTokenAddresses: Set<string>;
@@ -79,6 +80,7 @@ export declare class CurveV1 extends SimpleExchange implements IDex<CurveV1Data,
79
80
  updateBaseTokenPrice(): Promise<void>;
80
81
  fetchDecimals(): Promise<MultiResult<any>[]>;
81
82
  fetchAllPools(): Promise<void>;
83
+ fetchAllApiPools(): Promise<void>;
82
84
  updatePoolState(): Promise<void>;
83
85
  getTopPoolsForToken(tokenAddress: Address, limit: number): Promise<PoolLiquidity[]>;
84
86
  }
@@ -80,6 +80,7 @@ const constants_2 = require("./constants");
80
80
  const encoder_1 = require("../../lib/curve/encoder");
81
81
  const packer_1 = require("./packer");
82
82
  const utils_2 = require("ethers/lib/utils");
83
+ const constants_3 = require("../curve-v1-factory/constants");
83
84
  const CURVE_DEFAULT_CHUNKS = 10;
84
85
  const CURVE_LENDING_POOL_GAS = 340 * 1000;
85
86
  const CURVE_POOL_GAS = 200 * 1000;
@@ -97,6 +98,7 @@ class CurveV1 extends simple_exchange_1.SimpleExchange {
97
98
  isFeeOnTransferSupported = true;
98
99
  decimalsCoinsAndUnderlying = {};
99
100
  pools;
101
+ allApiPools = [];
100
102
  eventSupportedPools;
101
103
  baseTokens;
102
104
  disableFeeOnTransferTokenAddresses;
@@ -819,12 +821,30 @@ class CurveV1 extends simple_exchange_1.SimpleExchange {
819
821
  throw e;
820
822
  }
821
823
  }
824
+ async fetchAllApiPools() {
825
+ const baseUrl = constants_3.CURVE_API_URL;
826
+ const networkSlug = constants_3.NETWORK_ID_TO_NAME[this.network];
827
+ const url = `${baseUrl}/${networkSlug}`;
828
+ try {
829
+ const response = await this.dexHelper.httpRequest.get(url);
830
+ if (response.success) {
831
+ this.allApiPools = response.data.poolData.map(t => ({
832
+ ...t,
833
+ address: t.address.toLowerCase(),
834
+ }));
835
+ }
836
+ }
837
+ catch (error) {
838
+ this.logger.error(`fetchAllApiPools ${this.dexKey} on ${url} failed to fetch pools from API`);
839
+ }
840
+ }
822
841
  async updatePoolState() {
823
842
  if (!Object.keys(this.decimalsCoinsAndUnderlying).length) {
824
843
  await this.fetchDecimals();
825
844
  }
826
845
  await this.updateBaseTokenPrice();
827
846
  await this.fetchAllPools();
847
+ await this.fetchAllApiPools();
828
848
  }
829
849
  async getTopPoolsForToken(tokenAddress, limit) {
830
850
  const _tokenAddress = this.dexHelper.config.unwrapETH({
@@ -842,11 +862,16 @@ class CurveV1 extends simple_exchange_1.SimpleExchange {
842
862
  connectorTokens = inUnderlying
843
863
  ? lodash_1.default.concat(connectorTokens, pool.underlying)
844
864
  : connectorTokens;
865
+ const apiPool = this.allApiPools.find(p => p.address === pool.address.toLowerCase());
866
+ if (apiPool && apiPool.isBroken) {
867
+ this.logger.warn(`CurveV1 pool ${pool.address} is marked as broken in the API, skipping it for top pools`);
868
+ return acc;
869
+ }
845
870
  if (connectorTokens.length) {
846
871
  acc.push({
847
872
  exchange: this.dexKey,
848
873
  address: pool.address,
849
- liquidityUSD: pool.liquidityUSD,
874
+ liquidityUSD: apiPool?.usdTotal ?? pool.liquidityUSD,
850
875
  connectorTokens: lodash_1.default.uniq(connectorTokens)
851
876
  .filter((_token) => _token.toLowerCase() !== _tokenAddress.toLowerCase())
852
877
  .map(tokenAddress => {