@paraswap/dex-lib 4.1.7-pub-sub.3 → 4.1.7-pub-sub.4

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.
@@ -2,7 +2,7 @@ import { Token, Address, ExchangePrices, PoolPrices, AdapterExchangeParam, Simpl
2
2
  import { SwapSide, Network } from '../../constants';
3
3
  import { IDex } from '../idex';
4
4
  import { IDexHelper } from '../../dex-helper/idex-helper';
5
- import { DexalotData, PairData, PairDataMap, PriceDataMap, DexalotAPIParameters, TokenAddrDataMap, TokenDataMap } from './types';
5
+ import { DexalotData, PairData, DexalotAPIParameters, TokenDataMap, PairDataMap, TokenAddrDataMap, PriceDataMap } from './types';
6
6
  import { SimpleExchange } from '../simple-exchange';
7
7
  import { Interface } from 'ethers/lib/utils';
8
8
  import { Method } from '../../dex-helper/irequest-wrapper';
@@ -55,17 +55,10 @@ export declare class Dexalot extends SimpleExchange implements IDex<DexalotData>
55
55
  getCalldataGasCost(poolPrices: PoolPrices<DexalotData>): number | number[];
56
56
  getTokenFromAddress(address: Address): Token;
57
57
  getAdapterParam(srcToken: string, destToken: string, srcAmount: string, destAmount: string, data: DexalotData, side: SwapSide): AdapterExchangeParam;
58
- getRestrictedPoolKey(poolIdentifier: string): string;
59
- restrictPool(poolIdentifier: string, ttl?: number): Promise<boolean>;
60
- isRestrictedPool(poolIdentifier: string): Promise<boolean>;
61
- setBlacklist(txOrigin: Address, ttl?: number): Promise<boolean>;
62
- isBlacklisted(txOrigin: Address): Promise<boolean>;
63
- getRateLimitedKey(address: Address): string;
64
- isRateLimited(txOrigin: Address): Promise<boolean>;
65
- setRateLimited(txOrigin: Address, ttl?: number): Promise<boolean>;
66
58
  getSimpleParam(srcToken: string, destToken: string, srcAmount: string, destAmount: string, data: DexalotData, side: SwapSide): Promise<SimpleExchangeParam>;
67
59
  getDexParam(srcToken: Address, destToken: Address, srcAmount: NumberAsString, destAmount: NumberAsString, recipient: Address, data: DexalotData, side: SwapSide): DexExchangeParam;
68
60
  getTopPoolsForToken(tokenAddress: Address, limit: number): Promise<PoolLiquidity[]>;
69
61
  getAPIReqParams(endpoint: string, method: Method): DexalotAPIParameters;
70
62
  releaseResources(): void;
63
+ isBlacklisted(userAddress: string): Promise<boolean>;
71
64
  }
@@ -101,7 +101,6 @@ class Dexalot extends simple_exchange_1.SimpleExchange {
101
101
  pricesReqParams: this.getAPIReqParams('api/rfq/prices', 'GET'),
102
102
  blacklistReqParams: this.getAPIReqParams('api/rfq/blacklist', 'GET'),
103
103
  pairsCacheKey: this.pairsCacheKey,
104
- pairsCacheTTLSecs: constants_2.DEXALOT_PAIRS_CACHES_TTL_S,
105
104
  pricesCacheKey: this.pricesCacheKey,
106
105
  pricesCacheTTLSecs: constants_2.DEXALOT_PRICES_CACHES_TTL_S,
107
106
  tokensAddrCacheKey: this.tokensAddrCacheKey,
@@ -113,9 +112,7 @@ class Dexalot extends simple_exchange_1.SimpleExchange {
113
112
  });
114
113
  }
115
114
  async initializePricing(blockNumber) {
116
- if (!this.dexHelper.config.isSlave) {
117
- this.rateFetcher.start();
118
- }
115
+ this.rateFetcher.start();
119
116
  return;
120
117
  }
121
118
  getAdapters(side) {
@@ -130,7 +127,7 @@ class Dexalot extends simple_exchange_1.SimpleExchange {
130
127
  if (normalizedSrcToken.address === normalizedDestToken.address) {
131
128
  return null;
132
129
  }
133
- const cachedTokens = (await this.getCachedTokens()) || {};
130
+ const cachedTokens = (await this.rateFetcher.getCachedTokens()) || {};
134
131
  if (!(normalizedSrcToken.address in cachedTokens) ||
135
132
  !(normalizedDestToken.address in cachedTokens)) {
136
133
  return null;
@@ -138,7 +135,7 @@ class Dexalot extends simple_exchange_1.SimpleExchange {
138
135
  normalizedSrcToken.symbol = cachedTokens[normalizedSrcToken.address].symbol;
139
136
  normalizedDestToken.symbol =
140
137
  cachedTokens[normalizedDestToken.address].symbol;
141
- const cachedPairs = (await this.getCachedPairs()) || {};
138
+ const cachedPairs = (await this.rateFetcher.getCachedPairs()) || {};
142
139
  const potentialPairs = [
143
140
  {
144
141
  identifier: this.getPairString(normalizedSrcToken, normalizedDestToken),
@@ -172,7 +169,7 @@ class Dexalot extends simple_exchange_1.SimpleExchange {
172
169
  if (!pairData) {
173
170
  return [];
174
171
  }
175
- const tokensAddr = (await this.getCachedTokensAddr()) || {};
172
+ const tokensAddr = (await this.rateFetcher.getCachedTokensAddr()) || {};
176
173
  return [
177
174
  this.getIdentifier(tokensAddr[pairData.base.toLowerCase()], tokensAddr[pairData.quote.toLowerCase()]),
178
175
  ];
@@ -313,7 +310,7 @@ class Dexalot extends simple_exchange_1.SimpleExchange {
313
310
  try {
314
311
  const normalizedSrcToken = this.normalizeToken(srcToken);
315
312
  const normalizedDestToken = this.normalizeToken(destToken);
316
- this.tokensMap = (await this.getCachedTokens()) || {};
313
+ this.tokensMap = (await this.rateFetcher.getCachedTokens()) || {};
317
314
  if (normalizedSrcToken.address === normalizedDestToken.address) {
318
315
  return null;
319
316
  }
@@ -321,7 +318,7 @@ class Dexalot extends simple_exchange_1.SimpleExchange {
321
318
  ? limitPools.filter(p => p ===
322
319
  this.getIdentifier(normalizedSrcToken.address, normalizedDestToken.address))
323
320
  : await this.getPoolIdentifiers(srcToken, destToken, side, blockNumber);
324
- pools = await Promise.all(pools.map(async (p) => !(await this.isRestrictedPool(p)))).then(res => pools.filter((_v, i) => res[i]));
321
+ pools = await Promise.all(pools.map(async (p) => !(await this.rateFetcher.isRestrictedPool(p)))).then(res => pools.filter((_v, i) => res[i]));
325
322
  if (pools.length === 0) {
326
323
  return null;
327
324
  }
@@ -329,11 +326,11 @@ class Dexalot extends simple_exchange_1.SimpleExchange {
329
326
  if (!pairData) {
330
327
  return null;
331
328
  }
332
- const priceMap = await this.getCachedPrices();
329
+ const priceMap = await this.rateFetcher.getCachedPrices();
333
330
  if (!priceMap) {
334
331
  return null;
335
332
  }
336
- const tokensAddr = (await this.getCachedTokensAddr()) || {};
333
+ const tokensAddr = (await this.rateFetcher.getCachedTokensAddr()) || {};
337
334
  const pairKey = `${pairData.base}/${pairData.quote}`.toLowerCase();
338
335
  if (!(pairKey in priceMap) ||
339
336
  !pools.includes(this.getIdentifier(tokensAddr[pairData.base.toLowerCase()], tokensAddr[pairData.quote.toLowerCase()]))) {
@@ -384,7 +381,7 @@ class Dexalot extends simple_exchange_1.SimpleExchange {
384
381
  throw new types_1.DexalotRfqError(message);
385
382
  }
386
383
  async preProcessTransaction(optimalSwapExchange, srcToken, destToken, side, options) {
387
- if (await this.isBlacklisted(options.txOrigin)) {
384
+ if (await this.rateFetcher.isBlacklisted(options.txOrigin)) {
388
385
  this.logger.warn(`${this.dexKey}-${this.network}: blacklisted TX Origin address '${options.txOrigin}' trying to build a transaction. Bailing...`);
389
386
  throw new Error(`${this.dexKey}-${this.network}: user=${options.txOrigin.toLowerCase()} is blacklisted`);
390
387
  }
@@ -496,10 +493,10 @@ class Dexalot extends simple_exchange_1.SimpleExchange {
496
493
  const errorData = e.response.data;
497
494
  if (errorData.ReasonCode === 'FQ-009') {
498
495
  this.logger.warn(`${this.dexKey}-${this.network}: Encountered rate limited user=${options.userAddress}. Adding to local rate limit cache`);
499
- await this.setRateLimited(options.userAddress, errorData.RetryAfter);
496
+ await this.rateFetcher.setRateLimited(options.userAddress, errorData.RetryAfter);
500
497
  }
501
498
  else {
502
- await this.setBlacklist(options.userAddress);
499
+ await this.rateFetcher.setBlacklist(options.userAddress);
503
500
  this.logger.error(`${this.dexKey}-${this.network}: Failed to fetch RFQ for ${swapIdentifier}: ${errorData.Reason}`);
504
501
  }
505
502
  }
@@ -510,7 +507,7 @@ class Dexalot extends simple_exchange_1.SimpleExchange {
510
507
  else {
511
508
  const poolIdentifiers = await this.getPoolIdentifiers(srcToken, destToken, side, 0);
512
509
  this.logger.warn(`${this.dexKey}-${this.network}: protocol is restricted for pools ${poolIdentifiers} due to swap: ${swapIdentifier}`);
513
- await Promise.all(poolIdentifiers.map(async (p) => await this.restrictPool(p)));
510
+ await Promise.all(poolIdentifiers.map(async (p) => await this.rateFetcher.restrictPool(p)));
514
511
  }
515
512
  }
516
513
  throw e;
@@ -571,50 +568,6 @@ class Dexalot extends simple_exchange_1.SimpleExchange {
571
568
  networkFee: '0',
572
569
  };
573
570
  }
574
- getRestrictedPoolKey(poolIdentifier) {
575
- return `${constants_2.DEXALOT_RESTRICTED_CACHE_KEY}-${poolIdentifier}`;
576
- }
577
- async restrictPool(poolIdentifier, ttl = constants_2.DEXALOT_RESTRICT_TTL_S) {
578
- await this.dexHelper.cache.setex(this.dexKey, this.network, this.getRestrictedPoolKey(poolIdentifier), ttl, 'true');
579
- return true;
580
- }
581
- async isRestrictedPool(poolIdentifier) {
582
- const result = await this.dexHelper.cache.get(this.dexKey, this.network, this.getRestrictedPoolKey(poolIdentifier));
583
- return result === 'true';
584
- }
585
- async setBlacklist(txOrigin, ttl = constants_2.DEXALOT_BLACKLIST_CACHES_TTL_S) {
586
- const cachedBlacklist = await this.dexHelper.cache.get(this.dexKey, this.network, this.blacklistCacheKey);
587
- let blacklist = [];
588
- if (cachedBlacklist) {
589
- blacklist = JSON.parse(cachedBlacklist);
590
- }
591
- blacklist.push(txOrigin.toLowerCase());
592
- this.dexHelper.cache.setex(this.dexKey, this.network, this.blacklistCacheKey, ttl, JSON.stringify(blacklist));
593
- return true;
594
- }
595
- async isBlacklisted(txOrigin) {
596
- const cachedBlacklist = await this.dexHelper.cache.get(this.dexKey, this.network, this.blacklistCacheKey);
597
- if (cachedBlacklist) {
598
- const blacklist = JSON.parse(cachedBlacklist);
599
- return blacklist.includes(txOrigin.toLowerCase());
600
- }
601
- // To not show pricing for rate limited users
602
- if (await this.isRateLimited(txOrigin)) {
603
- return true;
604
- }
605
- return false;
606
- }
607
- getRateLimitedKey(address) {
608
- return `rate_limited_${address}`.toLowerCase();
609
- }
610
- async isRateLimited(txOrigin) {
611
- const result = await this.dexHelper.cache.get(this.dexKey, this.network, this.getRateLimitedKey(txOrigin));
612
- return result === constants_2.DEXALOT_RATELIMIT_CACHE_VALUE;
613
- }
614
- async setRateLimited(txOrigin, ttl = constants_2.DEXALOT_RATE_LIMITED_TTL_S) {
615
- await this.dexHelper.cache.setex(this.dexKey, this.network, this.getRateLimitedKey(txOrigin), ttl, constants_2.DEXALOT_RATELIMIT_CACHE_VALUE);
616
- return true;
617
- }
618
571
  async getSimpleParam(srcToken, destToken, srcAmount, destAmount, data, side) {
619
572
  const { quoteData } = data;
620
573
  (0, ts_essentials_1.assert)(quoteData !== undefined, `${this.dexKey}-${this.network}: quoteData undefined`);
@@ -668,9 +621,9 @@ class Dexalot extends simple_exchange_1.SimpleExchange {
668
621
  }
669
622
  async getTopPoolsForToken(tokenAddress, limit) {
670
623
  const normalizedTokenAddress = this.normalizeAddress(tokenAddress);
671
- const pairs = (await this.getCachedPairs()) || {};
672
- this.tokensMap = (await this.getCachedTokens()) || {};
673
- const tokensAddr = (await this.getCachedTokensAddr()) || {};
624
+ const pairs = (await this.rateFetcher.getCachedPairs()) || {};
625
+ this.tokensMap = (await this.rateFetcher.getCachedTokens()) || {};
626
+ const tokensAddr = (await this.rateFetcher.getCachedTokensAddr()) || {};
674
627
  const token = this.getTokenFromAddress(normalizedTokenAddress);
675
628
  if (!token) {
676
629
  return [];
@@ -723,6 +676,9 @@ class Dexalot extends simple_exchange_1.SimpleExchange {
723
676
  this.rateFetcher.stop();
724
677
  }
725
678
  }
679
+ async isBlacklisted(userAddress) {
680
+ return this.rateFetcher.isBlacklisted(userAddress);
681
+ }
726
682
  }
727
683
  exports.Dexalot = Dexalot;
728
684
  //# sourceMappingURL=dexalot.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dexalot.js","sourceRoot":"","sources":["../../../src/dex/dexalot/dexalot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dexalot.js","sourceRoot":"","sources":["../../../src/dex/dexalot/dexalot.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { Network } from '../../constants';
2
2
  import { IDexHelper } from '../../dex-helper';
3
- import { Logger } from '../../types';
4
- import { DexalotRateFetcherConfig } from './types';
3
+ import { Address, Logger } from '../../types';
4
+ import { TokenDataMap, TokenAddrDataMap, DexalotRateFetcherConfig, PairDataMap, PriceDataMap } from './types';
5
5
  export declare class RateFetcher {
6
6
  private dexHelper;
7
7
  private dexKey;
@@ -9,20 +9,35 @@ export declare class RateFetcher {
9
9
  private logger;
10
10
  private pairsFetcher;
11
11
  private pairsCacheKey;
12
- private pairsCacheTTL;
13
12
  private rateFetcher;
13
+ private rateTokensPubSub;
14
14
  private pricesCacheKey;
15
15
  private pricesCacheTTL;
16
16
  private tokensAddrCacheKey;
17
17
  private tokensCacheKey;
18
18
  private tokensCacheTTL;
19
19
  private blacklistFetcher;
20
+ private blacklistPubSub;
20
21
  private blacklistCacheKey;
21
22
  private blacklistCacheTTL;
23
+ private restrictedPoolPubSub;
22
24
  constructor(dexHelper: IDexHelper, dexKey: string, network: Network, logger: Logger, config: DexalotRateFetcherConfig);
23
- start(): void;
25
+ start(): Promise<void>;
24
26
  stop(): void;
25
27
  private handlePairsResponse;
26
28
  private handleRatesResponse;
27
29
  private handleBlacklistResponse;
30
+ getCachedTokens(): Promise<TokenDataMap | null>;
31
+ getCachedPairs(): Promise<PairDataMap | null>;
32
+ getCachedTokensAddr(): Promise<TokenAddrDataMap | null>;
33
+ setBlacklist(txOrigin: Address, ttl?: number): Promise<boolean>;
34
+ getAllBlacklisted(): Promise<string[]>;
35
+ isBlacklisted(txOrigin: Address): Promise<boolean>;
36
+ setRateLimited(txOrigin: Address, ttl?: number): Promise<boolean>;
37
+ isRateLimited(txOrigin: Address): Promise<boolean>;
38
+ getRateLimitedKey(address: Address): string;
39
+ getCachedPrices(): Promise<PriceDataMap | null>;
40
+ restrictPool(poolIdentifier: string, ttl?: number): Promise<boolean>;
41
+ isRestrictedPool(poolIdentifier: string): Promise<boolean>;
42
+ getRestrictedPoolKey(poolIdentifier: string): string;
28
43
  }
@@ -4,6 +4,8 @@ exports.RateFetcher = void 0;
4
4
  const fetcher_1 = require("../../lib/fetcher/fetcher");
5
5
  const validators_1 = require("../../lib/validators");
6
6
  const validators_2 = require("./validators");
7
+ const constants_1 = require("./constants");
8
+ const pub_sub_1 = require("../../lib/pub-sub");
7
9
  class RateFetcher {
8
10
  dexHelper;
9
11
  dexKey;
@@ -11,23 +13,24 @@ class RateFetcher {
11
13
  logger;
12
14
  pairsFetcher;
13
15
  pairsCacheKey;
14
- pairsCacheTTL;
15
16
  rateFetcher;
17
+ rateTokensPubSub;
16
18
  pricesCacheKey;
17
19
  pricesCacheTTL;
18
20
  tokensAddrCacheKey;
19
21
  tokensCacheKey;
20
22
  tokensCacheTTL;
21
23
  blacklistFetcher;
24
+ blacklistPubSub;
22
25
  blacklistCacheKey;
23
26
  blacklistCacheTTL;
27
+ restrictedPoolPubSub;
24
28
  constructor(dexHelper, dexKey, network, logger, config) {
25
29
  this.dexHelper = dexHelper;
26
30
  this.dexKey = dexKey;
27
31
  this.network = network;
28
32
  this.logger = logger;
29
33
  this.pairsCacheKey = config.rateConfig.pairsCacheKey;
30
- this.pairsCacheTTL = config.rateConfig.pairsCacheTTLSecs;
31
34
  this.pricesCacheKey = config.rateConfig.pricesCacheKey;
32
35
  this.pricesCacheTTL = config.rateConfig.pricesCacheTTLSecs;
33
36
  this.tokensAddrCacheKey = config.rateConfig.tokensAddrCacheKey;
@@ -35,6 +38,7 @@ class RateFetcher {
35
38
  this.tokensCacheTTL = config.rateConfig.tokensCacheTTLSecs;
36
39
  this.blacklistCacheKey = config.rateConfig.blacklistCacheKey;
37
40
  this.blacklistCacheTTL = config.rateConfig.blacklistCacheTTLSecs;
41
+ this.rateTokensPubSub = new pub_sub_1.ExpKeyValuePubSub(dexHelper, dexKey, 'rateTokens');
38
42
  this.pairsFetcher = new fetcher_1.Fetcher(dexHelper.httpRequest, {
39
43
  info: {
40
44
  requestOptions: config.rateConfig.pairsReqParams,
@@ -53,6 +57,7 @@ class RateFetcher {
53
57
  },
54
58
  handler: this.handleRatesResponse.bind(this),
55
59
  }, config.rateConfig.pricesIntervalMs, logger);
60
+ this.blacklistPubSub = new pub_sub_1.NonExpSetPubSub(dexHelper, dexKey, 'blacklist');
56
61
  this.blacklistFetcher = new fetcher_1.Fetcher(dexHelper.httpRequest, {
57
62
  info: {
58
63
  requestOptions: config.rateConfig.blacklistReqParams,
@@ -62,11 +67,23 @@ class RateFetcher {
62
67
  },
63
68
  handler: this.handleBlacklistResponse.bind(this),
64
69
  }, config.rateConfig.blacklistIntervalMs, logger);
70
+ this.restrictedPoolPubSub = new pub_sub_1.ExpKeyValuePubSub(dexHelper, dexKey, 'restricted-pool',
71
+ // using default value, we can lazy load non-restricted pools
72
+ // and restrict them by subscribing to this channel
73
+ 'false', constants_1.DEXALOT_RESTRICT_TTL_S);
65
74
  }
66
- start() {
67
- this.pairsFetcher.startPolling();
68
- this.rateFetcher.startPolling();
69
- this.blacklistFetcher.startPolling();
75
+ async start() {
76
+ if (!this.dexHelper.config.isSlave) {
77
+ this.pairsFetcher.startPolling();
78
+ this.rateFetcher.startPolling();
79
+ this.blacklistFetcher.startPolling();
80
+ }
81
+ else {
82
+ this.rateTokensPubSub.subscribe();
83
+ this.restrictedPoolPubSub.subscribe();
84
+ const initSet = await this.getAllBlacklisted();
85
+ this.blacklistPubSub.initializeAndSubscribe(initSet);
86
+ }
70
87
  }
71
88
  stop() {
72
89
  this.pairsFetcher.stopPolling();
@@ -95,9 +112,14 @@ class RateFetcher {
95
112
  decimals: pairs[pair].quoteDecimals,
96
113
  };
97
114
  });
98
- this.dexHelper.cache.setex(this.dexKey, this.network, this.pairsCacheKey, this.pairsCacheTTL, JSON.stringify(dexPairs));
115
+ this.dexHelper.cache.setex(this.dexKey, this.network, this.pairsCacheKey, this.tokensCacheTTL, JSON.stringify(dexPairs));
99
116
  this.dexHelper.cache.setex(this.dexKey, this.network, this.tokensCacheKey, this.tokensCacheTTL, JSON.stringify(tokenMap));
100
117
  this.dexHelper.cache.setex(this.dexKey, this.network, this.tokensAddrCacheKey, this.tokensCacheTTL, JSON.stringify(tokenAddrMap));
118
+ this.rateTokensPubSub.publish({
119
+ [this.pairsCacheKey]: dexPairs,
120
+ [this.tokensCacheKey]: tokenMap,
121
+ [this.tokensAddrCacheKey]: tokenAddrMap,
122
+ }, this.tokensCacheTTL);
101
123
  }
102
124
  handleRatesResponse(resp) {
103
125
  const { prices } = resp;
@@ -106,10 +128,92 @@ class RateFetcher {
106
128
  dexPrices[pair.toLowerCase()] = prices[pair];
107
129
  });
108
130
  this.dexHelper.cache.setex(this.dexKey, this.network, this.pricesCacheKey, this.pricesCacheTTL, JSON.stringify(dexPrices));
131
+ this.rateTokensPubSub.publish({ [this.pricesCacheKey]: dexPrices }, this.pricesCacheTTL);
109
132
  }
110
133
  async handleBlacklistResponse(resp) {
111
134
  const { blacklist } = resp;
112
- this.dexHelper.cache.setex(this.dexKey, this.network, this.blacklistCacheKey, this.blacklistCacheTTL, JSON.stringify(blacklist.map(item => item.toLowerCase())));
135
+ const data = blacklist.map(item => item.toLowerCase());
136
+ this.dexHelper.cache.setex(this.dexKey, this.network, this.blacklistCacheKey, this.blacklistCacheTTL, JSON.stringify(data));
137
+ this.blacklistPubSub.publish(data);
138
+ }
139
+ async getCachedTokens() {
140
+ const cachedTokens = await this.rateTokensPubSub.getAndCache(this.tokensCacheKey);
141
+ if (cachedTokens) {
142
+ return cachedTokens;
143
+ }
144
+ return null;
145
+ }
146
+ async getCachedPairs() {
147
+ const cachedPairs = await this.rateTokensPubSub.getAndCache(this.pairsCacheKey);
148
+ if (cachedPairs) {
149
+ return cachedPairs;
150
+ }
151
+ return null;
152
+ }
153
+ async getCachedTokensAddr() {
154
+ const cachedTokensAddr = await this.rateTokensPubSub.getAndCache(this.tokensAddrCacheKey);
155
+ if (cachedTokensAddr) {
156
+ return cachedTokensAddr;
157
+ }
158
+ return null;
159
+ }
160
+ async setBlacklist(txOrigin, ttl = constants_1.DEXALOT_BLACKLIST_CACHES_TTL_S) {
161
+ const blacklist = await this.getAllBlacklisted();
162
+ blacklist.push(txOrigin.toLowerCase());
163
+ this.dexHelper.cache.setex(this.dexKey, this.network, this.blacklistCacheKey, ttl, JSON.stringify(blacklist));
164
+ this.blacklistPubSub.publish([txOrigin.toLowerCase()]);
165
+ return true;
166
+ }
167
+ async getAllBlacklisted() {
168
+ const cachedBlacklist = await this.dexHelper.cache.get(this.dexKey, this.network, this.blacklistCacheKey);
169
+ if (cachedBlacklist) {
170
+ return JSON.parse(cachedBlacklist);
171
+ }
172
+ return [];
173
+ }
174
+ async isBlacklisted(txOrigin) {
175
+ const blacklisted = await this.blacklistPubSub.has(txOrigin.toLowerCase());
176
+ return blacklisted;
177
+ /*
178
+ rate-limit check was only if blacklist data set was not available,
179
+ in the current implementation it should not be the case,
180
+ so skip next check
181
+ */
182
+ // To not show pricing for rate limited users
183
+ if (await this.isRateLimited(txOrigin)) {
184
+ return true;
185
+ }
186
+ return false;
187
+ }
188
+ async setRateLimited(txOrigin, ttl = constants_1.DEXALOT_RATE_LIMITED_TTL_S) {
189
+ await this.dexHelper.cache.setex(this.dexKey, this.network, this.getRateLimitedKey(txOrigin), ttl, constants_1.DEXALOT_RATELIMIT_CACHE_VALUE);
190
+ return true;
191
+ }
192
+ async isRateLimited(txOrigin) {
193
+ const result = await this.dexHelper.cache.get(this.dexKey, this.network, this.getRateLimitedKey(txOrigin));
194
+ return result === constants_1.DEXALOT_RATELIMIT_CACHE_VALUE;
195
+ }
196
+ getRateLimitedKey(address) {
197
+ return `rate_limited_${address}`.toLowerCase();
198
+ }
199
+ async getCachedPrices() {
200
+ const cachedPrices = await this.rateTokensPubSub.getAndCache(this.pricesCacheKey);
201
+ if (cachedPrices) {
202
+ return cachedPrices;
203
+ }
204
+ return null;
205
+ }
206
+ async restrictPool(poolIdentifier, ttl = constants_1.DEXALOT_RESTRICT_TTL_S) {
207
+ await this.dexHelper.cache.setex(this.dexKey, this.network, this.getRestrictedPoolKey(poolIdentifier), ttl, 'true');
208
+ await this.restrictedPoolPubSub.publish({ [this.getRestrictedPoolKey(poolIdentifier)]: 'true' }, ttl);
209
+ return true;
210
+ }
211
+ async isRestrictedPool(poolIdentifier) {
212
+ const result = await this.restrictedPoolPubSub.getAndCache(this.getRestrictedPoolKey(poolIdentifier));
213
+ return result === 'true';
214
+ }
215
+ getRestrictedPoolKey(poolIdentifier) {
216
+ return `${constants_1.DEXALOT_RESTRICTED_CACHE_KEY}-${poolIdentifier}`;
113
217
  }
114
218
  }
115
219
  exports.RateFetcher = RateFetcher;
@@ -1 +1 @@
1
- {"version":3,"file":"rate-fetcher.js","sourceRoot":"","sources":["../../../src/dex/dexalot/rate-fetcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rate-fetcher.js","sourceRoot":"","sources":["../../../src/dex/dexalot/rate-fetcher.ts"],"names":[],"mappings":"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"}
@@ -100,7 +100,6 @@ export type DexalotRateFetcherConfig = {
100
100
  tokensCacheKey: string;
101
101
  blacklistCacheKey: string;
102
102
  blacklistCacheTTLSecs: number;
103
- pairsCacheTTLSecs: number;
104
103
  pricesCacheTTLSecs: number;
105
104
  tokensCacheTTLSecs: number;
106
105
  };