@paraswap/dex-lib 4.7.5-unified-blacklist.0 → 4.7.5-unified-blacklist.1

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.
@@ -4,10 +4,10 @@ import { SwapSide, Network } from '../../constants';
4
4
  import { IDex } from '../../dex/idex';
5
5
  import { IDexHelper } from '../../dex-helper/idex-helper';
6
6
  import { BebopData, BebopLevel, BebopPair, BebopPricingResponse, RoutingInstruction, TokenDataMap } from './types';
7
- import { SimpleExchange } from '../simple-exchange';
7
+ import { SimpleExchangeWithRestrictions } from '../simple-exchange-with-restrictions';
8
8
  import { Interface } from 'ethers/lib/utils';
9
9
  import BigNumber from 'bignumber.js';
10
- export declare class Bebop extends SimpleExchange implements IDex<BebopData> {
10
+ export declare class Bebop extends SimpleExchangeWithRestrictions implements IDex<BebopData> {
11
11
  readonly network: Network;
12
12
  readonly dexKey: string;
13
13
  readonly dexHelper: IDexHelper;
@@ -51,8 +51,6 @@ export declare class Bebop extends SimpleExchange implements IDex<BebopData> {
51
51
  getTopPoolsForToken(tokenAddress: Address, limit: number): Promise<PoolLiquidity[]>;
52
52
  getDexParam(srcToken: Address, destToken: Address, srcAmount: NumberAsString, destAmount: NumberAsString, recipient: Address, data: BebopData, side: SwapSide): DexExchangeParam;
53
53
  preProcessTransaction(optimalSwapExchange: OptimalSwapExchange<BebopData>, _srcToken: Token, _destToken: Token, side: SwapSide, options: PreprocessTransactionOptions): Promise<[OptimalSwapExchange<BebopData>, ExchangeTxInfo]>;
54
- restrict(): Promise<void>;
55
- isRestricted(): Promise<boolean>;
56
54
  getCachedPrices(): Promise<BebopPricingResponse | null>;
57
55
  getCachedTokens(): Promise<TokenDataMap | null>;
58
56
  getTokenFromAddress(address: Address): Token;
@@ -43,7 +43,7 @@ const CALLDATA_GAS_COST = __importStar(require("../../calldata-gas-cost"));
43
43
  const utils_1 = require("../../utils");
44
44
  const types_1 = require("../generic-rfq/types");
45
45
  const BebopSettlement_abi_json_1 = __importDefault(require("../../abi/bebop/BebopSettlement.abi.json"));
46
- const simple_exchange_1 = require("../simple-exchange");
46
+ const simple_exchange_with_restrictions_1 = require("../simple-exchange-with-restrictions");
47
47
  const config_1 = require("./config");
48
48
  const utils_2 = require("ethers/lib/utils");
49
49
  const rate_fetcher_1 = require("./rate-fetcher");
@@ -52,7 +52,7 @@ const bignumber_js_1 = __importDefault(require("bignumber.js"));
52
52
  const bignumber_constants_1 = require("../../bignumber-constants");
53
53
  const ethers_1 = require("ethers");
54
54
  const qs_1 = __importDefault(require("qs"));
55
- class Bebop extends simple_exchange_1.SimpleExchange {
55
+ class Bebop extends simple_exchange_with_restrictions_1.SimpleExchangeWithRestrictions {
56
56
  network;
57
57
  dexKey;
58
58
  dexHelper;
@@ -73,7 +73,7 @@ class Bebop extends simple_exchange_1.SimpleExchange {
73
73
  logger;
74
74
  constructor(network, dexKey, dexHelper, settlementAddress = config_1.BebopConfig['Bebop'][network]
75
75
  .settlementAddress, settlementInterface = new utils_2.Interface(BebopSettlement_abi_json_1.default)) {
76
- super(dexHelper, dexKey);
76
+ super(dexHelper, dexKey, { enableDexRestriction: true });
77
77
  this.network = network;
78
78
  this.dexKey = dexKey;
79
79
  this.dexHelper = dexHelper;
@@ -292,10 +292,6 @@ class Bebop extends simple_exchange_1.SimpleExchange {
292
292
  // should be used. If limitPools is undefined then
293
293
  // any pools can be used.
294
294
  async getPricesVolume(_srcToken, _destToken, amounts, side, blockNumber, limitPools) {
295
- const isRestricted = await this.isRestricted();
296
- if (isRestricted) {
297
- return null;
298
- }
299
295
  const srcToken = this.dexHelper.config.wrapETH(_srcToken);
300
296
  const destToken = this.dexHelper.config.wrapETH(_destToken);
301
297
  try {
@@ -609,40 +605,6 @@ class Bebop extends simple_exchange_1.SimpleExchange {
609
605
  throw new Error(message);
610
606
  }
611
607
  }
612
- async restrict() {
613
- const errorsDataRaw = await this.dexHelper.cache.get(this.dexKey, this.network, constants_2.BEBOP_ERRORS_CACHE_KEY);
614
- const errorsData = utils_1.Utils.Parse(errorsDataRaw);
615
- const ERRORS_TTL_S = Math.floor(constants_2.BEBOP_RESTRICT_CHECK_INTERVAL_MS / 1000);
616
- if (!errorsData ||
617
- errorsData?.addedDatetimeMs + constants_2.BEBOP_RESTRICT_CHECK_INTERVAL_MS <
618
- Date.now()) {
619
- this.logger.warn(`${this.dexKey}-${this.network}: First encounter of error OR error ocurred outside of threshold, setting up counter`);
620
- const data = {
621
- count: 1,
622
- addedDatetimeMs: Date.now(),
623
- };
624
- await this.dexHelper.cache.setex(this.dexKey, this.network, constants_2.BEBOP_ERRORS_CACHE_KEY, ERRORS_TTL_S, utils_1.Utils.Serialize(data));
625
- return;
626
- }
627
- else {
628
- if (errorsData.count + 1 >= constants_2.BEBOP_RESTRICT_COUNT_THRESHOLD) {
629
- this.logger.warn(`${this.dexKey}-${this.network}: Restricting due to error count=${errorsData.count + 1} within ${constants_2.BEBOP_RESTRICT_CHECK_INTERVAL_MS / 1000 / 60} minutes`);
630
- await this.dexHelper.cache.setex(this.dexKey, this.network, constants_2.BEBOP_RESTRICTED_CACHE_KEY, constants_2.BEBOP_RESTRICT_TTL_S, 'true');
631
- }
632
- else {
633
- this.logger.warn(`${this.dexKey}-${this.network}: Error count increased`);
634
- const data = {
635
- count: errorsData.count + 1,
636
- addedDatetimeMs: errorsData.addedDatetimeMs,
637
- };
638
- await this.dexHelper.cache.setex(this.dexKey, this.network, constants_2.BEBOP_ERRORS_CACHE_KEY, ERRORS_TTL_S, utils_1.Utils.Serialize(data));
639
- }
640
- }
641
- }
642
- async isRestricted() {
643
- const result = await this.dexHelper.cache.get(this.dexKey, this.network, constants_2.BEBOP_RESTRICTED_CACHE_KEY);
644
- return result === 'true';
645
- }
646
608
  async getCachedPrices() {
647
609
  const cachedPrices = await this.dexHelper.cache.getAndCacheLocally(this.dexKey, this.network, this.pricesCacheKey, 2);
648
610
  if (cachedPrices) {
@@ -1 +1 @@
1
- {"version":3,"file":"bebop.js","sourceRoot":"","sources":["../../../src/dex/bebop/bebop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bebop.js","sourceRoot":"","sources":["../../../src/dex/bebop/bebop.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAoD;AAepD,+CAAoD;AACpD,2EAA6D;AAC7D,uCAAoD;AAWpD,gDAA0D;AAC1D,wGAAqE;AACrE,4FAAsF;AACtF,qCAAuC;AACvC,4CAA6C;AAC7C,iDAA6C;AAC7C,2CAaqB;AACrB,gEAAqC;AACrC,mEAA4D;AAC5D,mCAAuC;AACvC,4CAAoB;AAEpB,MAAa,KACX,SAAQ,kEAA8B;IAyB3B;IACA;IACA;IACA;IAEC;IA3BH,4BAA4B,GAAG,KAAK,CAAC;IACrC,cAAc,GAAG,IAAI,CAAC;IAEtB,wBAAwB,GAAG,KAAK,CAAC;IACjC,iBAAiB,GAAG,IAAI,CAAC;IAE3B,MAAM,CAAC,kBAAkB,GAC9B,IAAA,6BAAqB,EAAC,oBAAW,CAAC,CAAC;IAE7B,WAAW,CAAc;IACzB,SAAS,GAAiB,EAAE,CAAC;IAE7B,cAAc,CAAS;IACvB,cAAc,CAAS;IACvB,kBAAkB,CAAS;IAE3B,cAAc,CAAS;IACvB,aAAa,CAAS;IAE9B,MAAM,CAAS;IAEf,YACW,OAAgB,EAChB,MAAc,EACd,SAAqB,EACrB,oBAA4B,oBAAW,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC;SAC/D,iBAAiB,EACV,sBAAsB,IAAI,iBAAS,CAAC,kCAAa,CAAC;QAE5D,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC,CAAC;QAPhD,YAAO,GAAP,OAAO,CAAS;QAChB,WAAM,GAAN,MAAM,CAAQ;QACd,cAAS,GAAT,SAAS,CAAY;QACrB,sBAAiB,GAAjB,iBAAiB,CACN;QACV,wBAAmB,GAAnB,mBAAmB,CAA+B;QAG5D,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,GAAG,MAAM,IAAI,OAAO,EAAE,CAAC,CAAC;QAC1D,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC;QAC/B,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC;QAC/B,IAAI,CAAC,kBAAkB,GAAG,aAAa,CAAC;QACxC,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC;QACxD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC;QAEtD,IAAA,sBAAM,EACJ,KAAK,KAAK,SAAS,EACnB,qDAAqD,CACtD,CAAC;QAEF,IAAA,sBAAM,EACJ,IAAI,KAAK,SAAS,EAClB,oDAAoD,CACrD,CAAC;QAEF,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAE5B,IAAI,CAAC,WAAW,GAAG,IAAI,0BAAW,CAChC,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,MAAM,EACX;YACE,UAAU,EAAE;gBACV,gBAAgB,EAAE,4CAAgC;gBAClD,cAAc,EAAE,IAAI,CAAC,cAAc;gBACnC,kBAAkB,EAAE,kCAAsB;gBAC1C,cAAc,EAAE,IAAI,CAAC,cAAc;gBACnC,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;gBAC3C,kBAAkB,EAAE,kCAAsB;gBAC1C,eAAe,EAAE;oBACf,GAAG,EACD,yBAAa;wBACb,QAAQ,oBAAW,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,gBAAgB;iBAClE;gBACD,eAAe,EAAE;oBACf,GAAG,EACD,4BAAgB;wBAChB,QAAQ,oBAAW,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,6BAA6B;oBAC9E,OAAO,EAAE;wBACP,IAAI,EAAE,IAAI,CAAC,aAAa;wBACxB,aAAa,EAAE,IAAI,CAAC,cAAc;qBACnC;iBACF;aACF;SACF,CACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,WAAmB;QACzC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACnC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;YACzB,MAAM,KAAK,CAAC,iCAAqB,CAAC,CAAC;QACrC,CAAC;QAED,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;IAC5B,CAAC;IAED,yDAAyD;IACzD,wDAAwD;IACxD,WAAW,CAAC,IAAc;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,iBAAiB,CAAC,IAAY,EAAE,KAAa;QAC3C,MAAM,UAAU,GAAG,GACjB,IAAI,CAAC,MACP,IAAI,IAAI,CAAC,WAAW,EAAE,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;QAChD,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,YAAY,CAAC,MAAoB;QAC/B,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC;IAClE,CAAC;IAED,UAAU,CAAC,IAAe;QACxB,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;YAClC,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;YAClC,cAAc,EAAE,IAAI,CAAC,cAAc;SACpC,CAAC;IACJ,CAAC;IAED,+BAA+B;IAC/B,KAAK,CAAC,qBAAqB,CACzB,QAAe,EACf,SAAgB,EAChB,IAAc;QAEd,IAAI,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;YACvE,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC5C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACzC,CAAC;QAED,MAAM,YAAY,GAAG,EAAE,CAAC;QAExB,MAAM,UAAU,GACd,MAAM,CACJ,GAAG,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CACvE,CAAC;QACJ,IAAI,UAAU,EAAE,CAAC;YACf,YAAY,CAAC,IAAI,CAAC;gBAChB;oBACE,IAAI,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE;oBAC5E,IAAI;oBACJ,IAAI,EAAE,UAAU;oBAChB,WAAW,EAAE,IAAI,IAAI,oBAAQ,CAAC,GAAG;iBAClC;aACF,CAAC,CAAC;QACL,CAAC;QAED,MAAM,WAAW,GACf,MAAM,CACJ,GAAG,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CACvE,CAAC;QACJ,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;YAClD,YAAY,CAAC,IAAI,CAAC;gBAChB;oBACE,IAAI,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE;oBAC5E,IAAI;oBACJ,IAAI,EAAE,YAAY;oBAClB,WAAW,EAAE,IAAI,IAAI,oBAAQ,CAAC,GAAG;iBAClC;aACF,CAAC,CAAC;QACL,CAAC;QAED,KAAK,MAAM,WAAW,IAAI,oBAAW,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,CAAC;YAC1E,MAAM,UAAU,GACd,MAAM,CACJ,GAAG,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,WAAW,CAAC,WAAW,EAAE,EAAE,CACjE,CAAC;YACJ,MAAM,WAAW,GACf,MAAM,CACJ,GAAG,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,WAAW,CAAC,WAAW,EAAE,EAAE,CAClE,CAAC;YACJ,IAAI,UAAU,IAAI,WAAW,EAAE,CAAC;gBAC9B,IAAI,IAAI,IAAI,oBAAQ,CAAC,IAAI,EAAE,CAAC;oBAC1B,YAAY,CAAC,IAAI,CAAC;wBAChB;4BACE,IAAI,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,WAAW,CAAC,WAAW,EAAE,EAAE;4BACtE,IAAI,EAAE,IAAI;4BACV,IAAI,EAAE,UAAU;4BAChB,WAAW,EAAE,KAAK;yBACnB;wBACD;4BACE,IAAI,EAAE,GAAG,WAAW,CAAC,WAAW,EAAE,IAAI,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE;4BACvE,IAAI,EAAE,IAAI;4BACV,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;4BAClC,WAAW,EAAE,KAAK;yBACnB;qBACF,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,YAAY,CAAC,IAAI,CAAC;wBAChB;4BACE,IAAI,EAAE,GAAG,WAAW,CAAC,WAAW,EAAE,IAAI,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE;4BACvE,IAAI,EAAE,IAAI;4BACV,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;4BAClC,WAAW,EAAE,IAAI;yBAClB;wBACD;4BACE,IAAI,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,WAAW,CAAC,WAAW,EAAE,EAAE;4BACtE,IAAI,EAAE,IAAI;4BACV,IAAI,EAAE,UAAU;4BAChB,WAAW,EAAE,IAAI;yBAClB;qBACF,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,oDAAoD;IACpD,mDAAmD;IACnD,yCAAyC;IACzC,+CAA+C;IAC/C,KAAK,CAAC,kBAAkB,CACtB,SAAgB,EAChB,UAAiB,EACjB,IAAc,EACd,WAAmB;QAEnB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC1D,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAE5D,IACE,CAAC,MAAM,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EACxE,CAAC;YACD,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CACvC,QAAQ,CAAC,OAAO,EAChB,SAAS,CAAC,OAAO,CAClB,CAAC;YACF,OAAO,CAAC,UAAU,CAAC,CAAC;QACtB,CAAC;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,cAAc,CACZ,WAA+B,EAC/B,MAAiB;QAEjB,IAAI,WAAW,GAAG,IAAA,sBAAS,EAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,MAAM,GAAG,IAAA,sBAAS,EAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAC1C,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC;YAC5B,MAAM,kBAAkB,GAAG,WAAW,CAAC,WAAW;gBAChD,CAAC,CAAC,IAAA,sBAAS,EAAC,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;gBAC9B,CAAC,CAAC,IAAA,sBAAS,EAAC,IAAI,CAAC,CAAC;YACpB,MAAM,gBAAgB,GAAG,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAC9D,IAAI,gBAAgB,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;gBAChC,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;gBACnD,MAAM,mBAAmB,GAAG,WAAW,CAAC,WAAW;oBACjD,CAAC,CAAC,IAAA,sBAAS,EAAC,IAAI,CAAC;oBACjB,CAAC,CAAC,IAAA,sBAAS,EAAC,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACjC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;gBAC1C,IAAI,WAAW,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC3B,MAAM,GAAG,IAAI,CAAC;oBACd,MAAM;gBACR,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;gBAC5C,MAAM,GAAG,MAAM,CAAC,IAAI,CAClB,WAAW,CAAC,WAAW;oBACrB,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC;oBACtB,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAC3B,CAAC;gBACF,MAAM,GAAG,IAAI,CAAC;gBACd,MAAM;YACR,CAAC;QACH,CAAC;QACD,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,MAAM,CAAC;QAChB,CAAC;aAAM,CAAC;YACN,OAAO,IAAA,sBAAS,EAAC,CAAC,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IAED,eAAe,CACb,YAAkC,EAClC,QAAe,EACf,SAAgB,EAChB,OAAiB,EACjB,IAAc;QAEd,MAAM,OAAO,GAAG,EAAE,CAAC;QACnB,MAAM,aAAa,GACjB,IAAI,IAAI,oBAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC;QACjE,MAAM,cAAc,GAClB,IAAI,IAAI,oBAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAEjE,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,MAAM,IAAI,EAAE,EAAE,CAAC;gBACjB,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACjB,SAAS;YACX,CAAC;YACD,MAAM,cAAc,GAAG,IAAA,sBAAS,EAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,CACrD,IAAA,qCAAe,EAAC,aAAa,CAAC,CAC/B,CAAC;YACF,IAAI,MAAM,GAAc,IAAA,sBAAS,EAAC,CAAC,CAAC,CAAC;YACrC,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;gBACvC,MAAM,GAAG,IAAI,CAAC,cAAc,CAC1B,WAAW,EACX,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CACvC,CAAC;gBACF,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACjB,MAAM;gBACR,CAAC;YACH,CAAC;YACD,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjB,OAAO,CAAC,IAAI,CACV,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAA,qCAAe,EAAC,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CACjE,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACnB,CAAC;QACH,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,mCAAmC;IACnC,oDAAoD;IACpD,kDAAkD;IAClD,yBAAyB;IACzB,KAAK,CAAC,eAAe,CACnB,SAAgB,EAChB,UAAiB,EACjB,OAAiB,EACjB,IAAc,EACd,WAAmB,EACnB,UAAqB;QAErB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC1D,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAE5D,IAAI,CAAC;YACH,IAAI,KAAK,GAAG,UAAU;gBACpB,CAAC,CAAC,UAAU,CAAC,MAAM,CACf,CAAC,CAAC,EAAE,CACF,CAAC,KAAK,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,CACpE;gBACH,CAAC,CAAC,MAAM,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;YAE1E,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,OAAO,IAAI,CAAC;YACd,CAAC;YAED,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,qBAAqB,CACnD,QAAQ,EACR,SAAS,EACT,IAAI,CACL,CAAC;YAEF,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC/C,OAAO,IAAI,CAAC;YACd,CAAC;YAED,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAChD,IAAI,CAAC,eAAe,CAClB,cAAc,EACd,QAAQ,EACR,SAAS,EACT,OAAO,EACP,IAAI,CACL,CACF,CAAC;YAEF,mEAAmE;YACnE,IAAI,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAE7B,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,MAAM,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gBAE/B,yEAAyE;gBACzE,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACzC,IAAI,CAAC,KAAK,CAAC;wBAAE,OAAO,EAAE,CAAC,CAAC,sCAAsC;oBAE9D,IAAI,SAAS,GAAG,EAAE,CAAC;oBACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;wBACvC,SAAS,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;oBAC1C,CAAC;oBAED,OAAO,CACL,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;wBACnC,CAAC,IAAI,KAAK,oBAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CACpC,CAAC;gBACJ,CAAC,CAAC,CAAC;gBAEH,IAAI,YAAY,GAAG,CAAC,CAAC;gBACrB,IAAI,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAE1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACzC,IAAI,QAAQ,CAAC,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC;wBAC1B,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;wBACtB,YAAY,GAAG,CAAC,CAAC;oBACnB,CAAC;gBACH,CAAC;gBAED,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;YACtC,CAAC;YAED,iFAAiF;YACjF,wGAAwG;YACxG,uGAAuG;YAEvG,MAAM,WAAW,GAAG,oBAAQ,CAAC,IAAI;gBAC/B,CAAC,CAAC,SAAS,CAAC,QAAQ;gBACpB,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAEtB,OAAO;gBACL;oBACE,MAAM,EAAE,WAAW;oBACnB,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC;oBACzB,IAAI,EAAE,EAAE;oBACR,eAAe,EAAE;wBACf,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC;qBAC5D;oBACD,QAAQ,EAAE,IAAI,CAAC,MAAM;oBACrB,OAAO,EAAE,0BAAc;oBACvB,aAAa,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC;iBACxC;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,yBAAyB,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,MAAM,KAC1D,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC,MACjC,KAAK,IAAI,GAAG,EACZ,CAAC,CACF,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,mEAAmE;IACnE,kBAAkB,CAAC,UAAiC;QAClD,oHAAoH;QACpH,+DAA+D;QAC/D,YAAY;QACZ,OAAO,CACL,iBAAiB,CAAC,YAAY;YAC9B,wBAAwB;YACxB,iBAAiB,CAAC,SAAS;YAC3B,+DAA+D;YAC/D,iBAAiB,CAAC,OAAO;YACzB,+DAA+D;YAC/D,iBAAiB,CAAC,OAAO;YACzB,sCAAsC;YACtC,iBAAiB,CAAC,IAAI;YACtB,6DAA6D;YAC7D,iBAAiB,CAAC,OAAO;YACzB,6DAA6D;YAC7D,iBAAiB,CAAC,OAAO;YACzB,0CAA0C;YAC1C,iBAAiB,CAAC,MAAM;YACxB,sCAAsC;YACtC,iBAAiB,CAAC,MAAM;YACxB,0DAA0D;YAC1D,iBAAiB,CAAC,OAAO;YACzB,wBAAwB;YACxB,iBAAiB,CAAC,gBAAgB,CAAC,CAAC,CAAC;YACrC,2FAA2F;YAC3F,iBAAiB,CAAC,SAAS;YAC3B,IAAI;YACJ,qBAAqB;YACrB,0JAA0J;YAC1J,iBAAiB,CAAC,SAAS;YAC3B,cAAc;YACd,iBAAiB,CAAC,YAAY;YAC9B,IAAI;YACJ,0BAA0B;YAC1B,iBAAiB,CAAC,MAAM,CACzB,CAAC;IACJ,CAAC;IAED,iDAAiD;IACjD,yCAAyC;IACzC,kCAAkC;IAClC,mDAAmD;IACnD,eAAe,CACb,QAAgB,EAChB,SAAiB,EACjB,SAAiB,EACjB,UAAkB,EAClB,IAAe,EACf,IAAc;QAEd,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC;QAEpB,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;QACnC,CAAC;QAED,sCAAsC;QACtC,MAAM,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC;QAExB,OAAO;YACL,cAAc,EAAE,IAAI,CAAC,iBAAiB;YACtC,OAAO;YACP,UAAU,EAAE,GAAG;SAChB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAE5C,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,eAAe,CAAC,MAAoB;QAClC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE;YAC1C,OAAO,GAAG,GAAG,KAAK,GAAG,IAAI,CAAC;QAC5B,CAAC,EAAE,CAAC,CAAC,CAAC;IACR,CAAC;IAED,oDAAoD;IACpD,yCAAyC;IACzC,KAAK,CAAC,mBAAmB,CACvB,YAAqB,EACrB,KAAa;QAEb,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAE5C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,4BAA4B;QAC5B,MAAM,cAAc,GAAkC,EAAE,CAAC;QAEzD,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACtD,IAAI,YAAY,GAAG,CAAC,CAAC;YACrB,IAAI,KAAK,CAAC;YACV,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAEtC,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,YAAY,CAAC,WAAW,EAAE,CAAC;YAChE,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,EAAE,IAAI,YAAY,CAAC,WAAW,EAAE,CAAC;YAElE,0DAA0D;YAC1D,IACE,CAAC,CACC,KAAK,CAAC,WAAW,EAAE,IAAI,IAAI,CAAC,SAAS;gBACrC,IAAI,CAAC,WAAW,EAAE,IAAI,IAAI,CAAC,SAAS,CACrC,EACD,CAAC;gBACD,SAAS;YACX,CAAC;YAED,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,gBAAgB,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAC7D,KAAK,GAAG;oBACN,OAAO,EAAE,KAAK;oBACd,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,QAAQ;iBACvD,CAAC;gBACF,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,gBAAgB,CACzD,KAAK,EACL,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CACrC,CAAC;gBACF,YAAY,GAAG,gBAAgB,GAAG,aAAa,CAAC;YAClD,CAAC;iBAAM,IAAI,OAAO,EAAE,CAAC;gBACnB,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAC5D,KAAK,GAAG;oBACN,OAAO,EAAE,IAAI;oBACb,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,QAAQ;iBACtD,CAAC;gBACF,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,gBAAgB,CACxD,KAAK,EACL,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CACpC,CAAC;gBACF,YAAY,GAAG,eAAe,GAAG,YAAY,CAAC;YAChD,CAAC;YAED,IAAI,YAAY,EAAE,CAAC;gBACjB,IAAA,sBAAM,EAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC;gBACjC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;gBAE5C,IAAI,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC5B,cAAc,CAAC,OAAO,CAAC,CAAC,YAAY,IAAI,YAAY,CAAC;gBACvD,CAAC;qBAAM,CAAC;oBACN,cAAc,CAAC,OAAO,CAAC,GAAG;wBACxB,QAAQ,EAAE,IAAI,CAAC,MAAM;wBACrB,OAAO,EAAE,IAAI,CAAC,iBAAiB;wBAC/B,eAAe,EAAE;4BACf;gCACE,OAAO,EAAE,OAAO;gCAChB,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ;gCAC1C,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,MAAM;6BACvC;yBACF;wBACD,YAAY;qBACb,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC;aACjC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,YAAY,CAAC;aAC/C,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACrB,CAAC;IAED,WAAW,CACT,QAAiB,EACjB,SAAkB,EAClB,SAAyB,EACzB,UAA0B,EAC1B,SAAkB,EAClB,IAAe,EACf,IAAc;QAEd,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC;QAEpB,IAAA,sBAAM,EAAC,EAAE,KAAK,SAAS,EAAE,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,gBAAgB,CAAC,CAAC;QAEzE,MAAM,YAAY,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,uCAA2B,CAAC;QAC1E,MAAM,eAAe,GACnB,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,0CAA8B,CAAC;QAE1D,IAAI,YAAY,IAAI,eAAe,EAAE,CAAC;YACpC,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,8BAAkB,CAAC,CAAC,CAAC,iCAAqB,CAAC;YAEzE,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAC9D,MAAM,EACN,EAAE,CAAC,IAAI,CACR,CAAC;YAEF,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,MAAM,EAAE;gBACvE,YAAY,CAAC,CAAC,CAAC;gBACf,YAAY,CAAC,CAAC,CAAC;gBACf,SAAS,EAAE,yDAAyD;aACrE,CAAC,CAAC;YAEH,MAAM,UAAU,GAAG,eAAM,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,CACpD,CAAC,SAAS,CAAC,EACX,CAAC,SAAS,CAAC,CACZ,CAAC;YAEF,MAAM,sBAAsB,GAAG,YAAY;iBACxC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;iBACjB,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;YAE7C,MAAM,oBAAoB,GACxB,CAAC,sBAAsB,KAAK,CAAC,CAAC;gBAC5B,CAAC,CAAC,sBAAsB;gBACxB,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAE/B,OAAO;gBACL,YAAY,EAAE,YAAY;gBAC1B,cAAc,EAAE,IAAI,CAAC,cAAc;gBACnC,mBAAmB,EAAE,IAAI;gBACzB,cAAc,EAAE,IAAI,CAAC,iBAAiB;gBACtC,eAAe,EAAE,SAAS;gBAC1B,kCAAkC,EAAE,IAAI;gBACxC,mBAAmB,EAAE,oBAAoB;aAC1C,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAED,KAAK,CAAC,qBAAqB,CACzB,mBAAmD,EACnD,SAAgB,EAChB,UAAiB,EACjB,IAAc,EACd,OAAqC;QAErC,MAAM,MAAM,GAAG,IAAI,KAAK,oBAAQ,CAAC,IAAI,CAAC;QACtC,MAAM,KAAK,GAAG,IAAI,KAAK,oBAAQ,CAAC,GAAG,CAAC;QAEpC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC1D,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAE5D,MAAM,MAAM,GAAG;YACb,WAAW,EAAE,cAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC;YAC/C,UAAU,EAAE,cAAK,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC;YAC/C,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;YAChE,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;YAC/D,aAAa,EAAE,cAAK,CAAC,UAAU,CAAC,OAAO,CAAC,wBAAwB,CAAC;YACjE,gBAAgB,EAAE,cAAK,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC;YACrD,cAAc,EAAE,cAAK,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC;YACrD,OAAO,EAAE,KAAK;YACd,eAAe,EAAE,IAAI;YACrB,MAAM,EAAE,IAAI,CAAC,aAAa;SAC3B,CAAC;QAEF,IAAI,SAA6B,CAAC;QAClC,IAAI,OAA2B,CAAC;QAEhC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAc,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,CAC9D,GAAG,yBAAa,QACd,oBAAW,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,SACrC,aAAa,YAAE,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,EACnC,kCAAsB,EACtB;gBACE,aAAa,EAAE,IAAI,CAAC,cAAc;aACnC,CACF,CAAC;YAEF,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;YACzC,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAEtE,SAAS,GAAG,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;YAC5D,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;YAE3B,IACE,CAAC,QAAQ,CAAC,EAAE;gBACZ,CAAC,QAAQ,CAAC,SAAS;gBACnB,CAAC,QAAQ,CAAC,UAAU;gBACpB,CAAC,QAAQ,CAAC,MAAM,EAChB,CAAC;gBACD,MAAM,WAAW,GAAG,+BAA+B,IAAI,CAAC,OAAO,UAAU,MAAM,CAAC,WAAW,UAAU,MAAM,CAAC,UAAU,GAAG,CAAC;gBAC1H,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;oBACnB,MAAM,YAAY,GAAG,GAAG,WAAW,UAAU,QAAQ,CAAC,KAAK,CAAC,SAAS,cAAc,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;oBAC5G,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;gBAChC,CAAC;qBAAM,CAAC;oBACN,MAAM,YAAY,GAAG,GAAG,WAAW,cAAc,IAAI,CAAC,SAAS,CAC7D,QAAQ,CACT,EAAE,CAAC;oBACJ,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;gBAChC,CAAC;YACH,CAAC;YAED,IAAI,IAAI,KAAK,oBAAQ,CAAC,IAAI,EAAE,CAAC;gBAC3B,MAAM,cAAc,GAAG,mBAAmB,CAAC,UAAU,CAAC;gBACtD,MAAM,WAAW,GACf,QAAQ,CAAC,SAAS,CAAC,cAAK,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;gBAEjE,MAAM,0BAA0B,GAAG,IAAI,sBAAS,CAAC,cAAc,CAAC;qBAC7D,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC;qBAC7B,OAAO,CAAC,CAAC,CAAC,CAAC;gBAEd,IAAI,MAAM,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC,0BAA0B,CAAC,EAAE,CAAC;oBAC7D,MAAM,IAAI,0BAAkB,CAC1B,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,EACZ,IAAI,EACJ,0BAA0B,EAC1B,WAAW,EACX,OAAO,CAAC,cAAc,CACvB,CAAC;gBACJ,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,cAAc,GAAG,mBAAmB,CAAC,SAAS,CAAC;gBACrD,MAAM,WAAW,GACf,QAAQ,CAAC,UAAU,CAAC,cAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;gBAEjE,MAAM,0BAA0B,GAAG,IAAI,sBAAS,CAAC,cAAc,CAAC;qBAC7D,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC;qBAC7B,OAAO,CAAC,CAAC,CAAC,CAAC;gBAEd,IAAI,MAAM,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC,0BAA0B,CAAC,EAAE,CAAC;oBAC7D,MAAM,IAAI,0BAAkB,CAC1B,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,EACZ,IAAI,EACJ,0BAA0B,EAC1B,WAAW,EACX,OAAO,CAAC,cAAc,CACvB,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,OAAO;gBACL;oBACE,GAAG,mBAAmB;oBACtB,IAAI,EAAE;wBACJ,GAAG,QAAQ;qBACZ;iBACF;gBACD,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;aACtC,CAAC;QACJ,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,MAAM,OAAO,GAAG,cAAc,SAAS,cAAc,OAAO,YAAY,CAAC,EAAE,CAAC;YAE5E,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC3B,IAAI,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC;gBACxB,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,kBAAkB,CAChE,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,cAAc,EACnB,CAAC,CACF,CAAC;QAEF,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAyB,CAAC;QAC1D,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,kBAAkB,CAChE,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,kBAAkB,EACvB,4CAAgC,GAAG,IAAI,CACxC,CAAC;QAEF,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAiB,CAAC;QAClD,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,mBAAmB,CAAC,OAAgB;QAClC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;QACzD,OAAO;YACL,OAAO;YACP,QAAQ,EAAE,UAAU,CAAC,QAAQ;YAC7B,MAAM,EAAE,UAAU,CAAC,MAAM;SAC1B,CAAC;IACJ,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACnC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;QAC1B,CAAC;IACH,CAAC;;AAt0BH,sBAu0BC;AAED,MAAM,KAAK,GAAG,CAAC,IAAY,EAAE,EAAE,CAC7B,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;IACpB,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC"}
@@ -6,11 +6,6 @@ export declare const BEBOP_API_URL = "https://api.bebop.xyz";
6
6
  export declare const BEBOP_WS_API_URL = "wss://api.bebop.xyz";
7
7
  export declare const BEBOP_GAS_COST = 120000;
8
8
  export declare const BEBOP_QUOTE_TIMEOUT_MS = 3000;
9
- export declare const BEBOP_ERRORS_CACHE_KEY = "errors";
10
- export declare const BEBOP_RESTRICTED_CACHE_KEY = "restricted";
11
- export declare const BEBOP_RESTRICT_TTL_S: number;
12
- export declare const BEBOP_RESTRICT_CHECK_INTERVAL_MS: number;
13
- export declare const BEBOP_RESTRICT_COUNT_THRESHOLD = 3;
14
9
  export declare const SWAP_SINGLE_METHOD = "swapSingle";
15
10
  export declare const SWAP_AGGREGATE_METHOD = "swapAggregate";
16
11
  export declare const SWAP_SINGLE_METHOD_SELECTOR = "0x4dcebcba";
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SWAP_AGGREGATE_METHOD_SELECTOR = exports.SWAP_SINGLE_METHOD_SELECTOR = exports.SWAP_AGGREGATE_METHOD = exports.SWAP_SINGLE_METHOD = exports.BEBOP_RESTRICT_COUNT_THRESHOLD = exports.BEBOP_RESTRICT_CHECK_INTERVAL_MS = exports.BEBOP_RESTRICT_TTL_S = exports.BEBOP_RESTRICTED_CACHE_KEY = exports.BEBOP_ERRORS_CACHE_KEY = exports.BEBOP_QUOTE_TIMEOUT_MS = exports.BEBOP_GAS_COST = exports.BEBOP_WS_API_URL = exports.BEBOP_API_URL = exports.BEBOP_TOKENS_POLLING_INTERVAL_MS = exports.BEBOP_TOKENS_CACHE_TTL = exports.BEBOP_PRICES_CACHE_TTL = exports.BEBOP_INIT_TIMEOUT_MS = void 0;
3
+ exports.SWAP_AGGREGATE_METHOD_SELECTOR = exports.SWAP_SINGLE_METHOD_SELECTOR = exports.SWAP_AGGREGATE_METHOD = exports.SWAP_SINGLE_METHOD = exports.BEBOP_QUOTE_TIMEOUT_MS = exports.BEBOP_GAS_COST = exports.BEBOP_WS_API_URL = exports.BEBOP_API_URL = exports.BEBOP_TOKENS_POLLING_INTERVAL_MS = exports.BEBOP_TOKENS_CACHE_TTL = exports.BEBOP_PRICES_CACHE_TTL = exports.BEBOP_INIT_TIMEOUT_MS = void 0;
4
4
  exports.BEBOP_INIT_TIMEOUT_MS = 5000;
5
5
  exports.BEBOP_PRICES_CACHE_TTL = 10;
6
6
  exports.BEBOP_TOKENS_CACHE_TTL = 60;
@@ -9,12 +9,6 @@ exports.BEBOP_API_URL = 'https://api.bebop.xyz';
9
9
  exports.BEBOP_WS_API_URL = 'wss://api.bebop.xyz';
10
10
  exports.BEBOP_GAS_COST = 120_000;
11
11
  exports.BEBOP_QUOTE_TIMEOUT_MS = 3000;
12
- exports.BEBOP_ERRORS_CACHE_KEY = 'errors';
13
- exports.BEBOP_RESTRICTED_CACHE_KEY = 'restricted';
14
- // Restrict for BEBOP_RESTRICT_TTL_S if an error occured >= BEBOP_RESTRICT_COUNT_THRESHOLD times within BEBOP_RESTRICT_CHECK_INTERVAL_S interval
15
- exports.BEBOP_RESTRICT_TTL_S = 10 * 60; // 10 min
16
- exports.BEBOP_RESTRICT_CHECK_INTERVAL_MS = 1000 * 60 * 3; // 3 min
17
- exports.BEBOP_RESTRICT_COUNT_THRESHOLD = 3;
18
12
  exports.SWAP_SINGLE_METHOD = 'swapSingle';
19
13
  exports.SWAP_AGGREGATE_METHOD = 'swapAggregate';
20
14
  exports.SWAP_SINGLE_METHOD_SELECTOR = '0x4dcebcba';
@@ -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;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"}
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"}
@@ -55,6 +55,4 @@ 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
- isRestricted(): Promise<boolean>;
59
- restrict(): Promise<void>;
60
58
  }
@@ -66,7 +66,10 @@ 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, { blacklistedTTL: constants_2.CABLES_BLACKLIST_CACHES_TTL_S });
69
+ super(dexHelper, dexKey, {
70
+ blacklistedTTL: constants_2.CABLES_BLACKLIST_CACHES_TTL_S,
71
+ enableDexRestriction: true,
72
+ });
70
73
  this.network = network;
71
74
  this.dexKey = dexKey;
72
75
  this.dexHelper = dexHelper;
@@ -350,10 +353,6 @@ class Cables extends simple_exchange_with_restrictions_1.SimpleExchangeWithRestr
350
353
  normalizedDestToken.address.toLowerCase()) {
351
354
  return null;
352
355
  }
353
- const isRestricted = await this.isRestricted();
354
- if (isRestricted) {
355
- return null;
356
- }
357
356
  await this.setTokensMap();
358
357
  if (!this.tokensMap[normalizedSrcToken.address] ||
359
358
  !this.tokensMap[normalizedDestToken.address]) {
@@ -530,40 +529,6 @@ class Cables extends simple_exchange_with_restrictions_1.SimpleExchangeWithRestr
530
529
  }
531
530
  return null;
532
531
  }
533
- async isRestricted() {
534
- const result = await this.dexHelper.cache.get(this.dexKey, this.network, constants_2.CABLES_RESTRICTED_CACHE_KEY);
535
- return result === 'true';
536
- }
537
- async restrict() {
538
- const errorsDataRaw = await this.dexHelper.cache.get(this.dexKey, this.network, constants_2.CABLES_ERRORS_CACHE_KEY);
539
- const errorsData = utils_1.Utils.Parse(errorsDataRaw);
540
- const ERRORS_TTL_S = Math.floor(constants_2.CABLES_RESTRICT_CHECK_INTERVAL_MS / 1000);
541
- if (!errorsData ||
542
- errorsData?.addedDatetimeMs + constants_2.CABLES_RESTRICT_CHECK_INTERVAL_MS <
543
- Date.now()) {
544
- this.logger.warn(`${this.dexKey}-${this.network}: First encounter of error OR error ocurred outside of threshold, setting up counter`);
545
- const data = {
546
- count: 1,
547
- addedDatetimeMs: Date.now(),
548
- };
549
- await this.dexHelper.cache.setex(this.dexKey, this.network, constants_2.CABLES_ERRORS_CACHE_KEY, ERRORS_TTL_S, utils_1.Utils.Serialize(data));
550
- return;
551
- }
552
- else {
553
- if (errorsData.count + 1 >= constants_2.CABLES_RESTRICT_COUNT_THRESHOLD) {
554
- 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`);
555
- await this.dexHelper.cache.setex(this.dexKey, this.network, constants_2.CABLES_RESTRICTED_CACHE_KEY, constants_2.CABLES_RESTRICT_TTL_S, 'true');
556
- }
557
- else {
558
- this.logger.warn(`${this.dexKey}-${this.network}: Error count increased`);
559
- const data = {
560
- count: errorsData.count + 1,
561
- addedDatetimeMs: errorsData.addedDatetimeMs,
562
- };
563
- await this.dexHelper.cache.setex(this.dexKey, this.network, constants_2.CABLES_RESTRICTED_CACHE_KEY, ERRORS_TTL_S, utils_1.Utils.Serialize(data));
564
- }
565
- }
566
- }
567
532
  }
568
533
  exports.Cables = Cables;
569
534
  //# 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,9 +11,4 @@ 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;
19
14
  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_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;
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;
4
4
  /**
5
5
  * Cables
6
6
  */
@@ -14,10 +14,5 @@ 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
22
17
  exports.CABLES_GAS_COST = 120_000;
23
18
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
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"}
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"}
@@ -89,8 +89,4 @@ export type CablesRateFetcherConfig = {
89
89
  setBlacklist: (addresses: string[]) => Promise<void>;
90
90
  };
91
91
  };
92
- export type RestrictData = {
93
- count: number;
94
- addedDatetimeMs: number;
95
- } | null;
96
92
  export {};
@@ -3,7 +3,6 @@ import { Address, SimpleExchangeParam, AdapterExchangeParam, DexExchangeParam, T
3
3
  import { SwapSide, Network } from '../constants';
4
4
  import { IDexHelper } from '../dex-helper/idex-helper';
5
5
  import { OptimalRate, OptimalSwap } from '@paraswap/core';
6
- import { SimpleExchangeWithRestrictions } from './simple-exchange-with-restrictions';
7
6
  export type Context = {
8
7
  isGlobalSrcToken: boolean;
9
8
  isGlobalDestToken: boolean;
@@ -26,6 +25,16 @@ export interface IDexTxBuilder<ExchangeData, DirectParam = null> extends IDexTxB
26
25
  preProcessTransaction?(optimalSwapExchange: OptimalSwapExchange<ExchangeData>, srcToken: Token, destToken: Token, side: SwapSide, options: PreprocessTransactionOptions): AsyncOrSync<[OptimalSwapExchange<ExchangeData>, ExchangeTxInfo]>;
27
26
  getTokenFromAddress?(address: Address): Token;
28
27
  }
28
+ export interface IDexWithBlacklist {
29
+ hasBlacklist(): this is IDexWithBlacklist;
30
+ isBlacklisted(address: string): Promise<boolean>;
31
+ getBlacklistedCacheKey(address: string): string;
32
+ }
33
+ export interface IDexWithRestriction {
34
+ hasDexRestriction(): this is IDexWithRestriction;
35
+ isRestricted(): Promise<boolean>;
36
+ getRestrictedCacheKey(): string;
37
+ }
29
38
  export interface IDexPricing<ExchangeData> {
30
39
  readonly dexKey: string;
31
40
  readonly hasConstantPriceLargeAmounts: boolean;
@@ -42,9 +51,8 @@ export interface IDexPricing<ExchangeData> {
42
51
  }[] | null;
43
52
  releaseResources?(): AsyncOrSync<void>;
44
53
  addMasterPool?(poolKey: string, blockNumber: number): AsyncOrSync<boolean>;
45
- isBlacklisted?(userAddress?: Address): AsyncOrSync<boolean>;
46
- addBlacklistedAddress?(userAddress?: Address): AsyncOrSync<boolean>;
47
- hasRestrictions?(): this is SimpleExchangeWithRestrictions;
54
+ hasDexRestriction?(): this is IDexWithRestriction;
55
+ hasBlacklist?(): this is IDexWithBlacklist;
48
56
  }
49
57
  export interface IDexPooltracker {
50
58
  updatePoolState?(): AsyncOrSync<void>;
@@ -26,7 +26,6 @@ export declare class ParaSwapLimitOrders extends LimitOrderExchange<ParaSwapOrde
26
26
  index: number;
27
27
  }[] | null;
28
28
  getIdentifier(srcToken: Address, destToken: Address): string;
29
- isBlacklisted(userAddress: string): Promise<boolean>;
30
29
  getPoolIdentifiers(srcToken: Token, destToken: Token, side: SwapSide, blockNumber: number): Promise<string[]>;
31
30
  getPricesVolume(srcToken: Token, destToken: Token, amounts: bigint[], side: SwapSide, blockNumber: number, limitPools?: string[]): Promise<null | ExchangePrices<ParaSwapLimitOrdersData>>;
32
31
  getCalldataGasCost(poolPrices: PoolPrices<ParaSwapLimitOrdersData>): number | number[];
@@ -49,7 +49,6 @@ const AugustusRFQ_abi_json_1 = __importDefault(require("../../abi/paraswap-limit
49
49
  const constant_1 = require("./constant");
50
50
  const bignumber_js_1 = __importDefault(require("bignumber.js"));
51
51
  const types_1 = require("../../executor/types");
52
- const BLACKLIST_CACHE_PREFIX = `lo_blacklist`;
53
52
  class ParaSwapLimitOrders extends limit_order_exchange_1.LimitOrderExchange {
54
53
  network;
55
54
  dexHelper;
@@ -81,13 +80,6 @@ class ParaSwapLimitOrders extends limit_order_exchange_1.LimitOrderExchange {
81
80
  // Expected lowered Addresses
82
81
  return `${this.dexKey.toLowerCase()}_${srcToken}_${destToken}`;
83
82
  }
84
- async isBlacklisted(userAddress) {
85
- const value = await this.dexHelper.cache.rawget(`${BLACKLIST_CACHE_PREFIX}_${userAddress}`.toLowerCase());
86
- if (value) {
87
- return true;
88
- }
89
- return false;
90
- }
91
83
  async getPoolIdentifiers(srcToken, destToken, side, blockNumber) {
92
84
  const _srcToken = this.dexHelper.config.wrapETH(srcToken);
93
85
  const _destToken = this.dexHelper.config.wrapETH(destToken);
@@ -1 +1 @@
1
- {"version":3,"file":"paraswap-limit-orders.js","sourceRoot":"","sources":["../../../src/dex/paraswap-limit-orders/paraswap-limit-orders.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"paraswap-limit-orders.js","sourceRoot":"","sources":["../../../src/dex/paraswap-limit-orders/paraswap-limit-orders.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,26 @@
1
1
  import { SimpleExchange } from './simple-exchange';
2
2
  import { IDexHelper } from '../dex-helper';
3
+ import { Logger } from '../types';
4
+ import { IDexWithBlacklist, IDexWithRestriction } from './idex';
3
5
  type DexRestrictionOptions = {
4
6
  blacklistedTTL?: number;
7
+ enableDexRestriction?: boolean;
5
8
  };
6
- export declare class SimpleExchangeWithRestrictions extends SimpleExchange {
9
+ export declare class SimpleExchangeWithRestrictions extends SimpleExchange implements IDexWithRestriction, IDexWithBlacklist {
7
10
  protected readonly dexHelper: IDexHelper;
8
11
  dexKey: string;
9
12
  protected readonly blacklistedTTL: number;
13
+ protected readonly enableDexRestriction: boolean;
14
+ protected logger: Logger;
10
15
  constructor(dexHelper: IDexHelper, dexKey: string, options?: DexRestrictionOptions);
11
- hasRestrictions(): this is SimpleExchangeWithRestrictions;
16
+ hasDexRestriction(): this is IDexWithRestriction;
17
+ hasBlacklist(): this is IDexWithBlacklist;
12
18
  isBlacklisted(address: string): Promise<boolean>;
13
19
  protected setBlacklist(addresses: string[]): Promise<void>;
14
20
  addBlacklistedAddress(address: string, ttl?: number): Promise<boolean>;
15
21
  getBlacklistedCacheKey(address: string): string;
22
+ getRestrictedCacheKey(): string;
23
+ isRestricted(): Promise<boolean>;
24
+ protected restrict(): Promise<void>;
16
25
  }
17
26
  export {};
@@ -2,20 +2,35 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SimpleExchangeWithRestrictions = void 0;
4
4
  const simple_exchange_1 = require("./simple-exchange");
5
+ const utils_1 = require("../utils");
6
+ const ERRORS_CACHE_KEY = 'errors';
7
+ const RESTRICT_CHECK_INTERVAL_MS = 1000 * 60 * 3; // 3 min
8
+ const RESTRICT_COUNT_THRESHOLD = 3;
9
+ const RESTRICT_TTL_S = 10 * 60; // 10 min;
10
+ const RESTRICTED_CACHE_VALUE = 'restricted';
5
11
  const BLACKLISTED_CACHE_VALUE = 'blacklisted';
6
- const DEFAULT_BLACKLISTED_TTL = 180 * 60; // 3 hours
12
+ const DEFAULT_BLACKLISTED_TTL_S = 180 * 60; // 3 hours
13
+ const DEFAULT_ENABLE_DEX_RESTRICTION = false;
7
14
  class SimpleExchangeWithRestrictions extends simple_exchange_1.SimpleExchange {
8
15
  dexHelper;
9
16
  dexKey;
10
17
  blacklistedTTL;
18
+ enableDexRestriction;
19
+ logger;
11
20
  constructor(dexHelper, dexKey, options = {}) {
12
21
  super(dexHelper, dexKey);
13
22
  this.dexHelper = dexHelper;
14
23
  this.dexKey = dexKey;
15
- this.blacklistedTTL = options.blacklistedTTL ?? DEFAULT_BLACKLISTED_TTL;
24
+ this.logger = dexHelper.getLogger(`${dexKey}-${this.network}`);
25
+ this.blacklistedTTL = options.blacklistedTTL ?? DEFAULT_BLACKLISTED_TTL_S;
26
+ this.enableDexRestriction =
27
+ options.enableDexRestriction ?? DEFAULT_ENABLE_DEX_RESTRICTION;
16
28
  }
17
- hasRestrictions() {
18
- return true;
29
+ hasDexRestriction() {
30
+ return this.enableDexRestriction;
31
+ }
32
+ hasBlacklist() {
33
+ return true; // make configurable if makes sense
19
34
  }
20
35
  async isBlacklisted(address) {
21
36
  const cached = await this.dexHelper.cache.rawget(this.getBlacklistedCacheKey(address));
@@ -36,7 +51,43 @@ class SimpleExchangeWithRestrictions extends simple_exchange_1.SimpleExchange {
36
51
  .then(() => true);
37
52
  }
38
53
  getBlacklistedCacheKey(address) {
39
- return `${this.dexHelper.config.data.network}_${this.dexKey}_blacklisted_${address.toLowerCase()}`;
54
+ return `${this.network}_${this.dexKey}_blacklisted_${address.toLowerCase()}`;
55
+ }
56
+ getRestrictedCacheKey() {
57
+ return `${this.network}_${this.dexKey}_restricted`;
58
+ }
59
+ async isRestricted() {
60
+ const cached = await this.dexHelper.cache.rawget(this.getRestrictedCacheKey());
61
+ return cached === RESTRICTED_CACHE_VALUE;
62
+ }
63
+ async restrict() {
64
+ const errorsDataRaw = await this.dexHelper.cache.get(this.dexKey, this.network, ERRORS_CACHE_KEY);
65
+ const errorsData = utils_1.Utils.Parse(errorsDataRaw);
66
+ const ERRORS_TTL_S = Math.floor(RESTRICT_CHECK_INTERVAL_MS / 1000);
67
+ if (!errorsData ||
68
+ errorsData?.addedDatetimeMs + RESTRICT_CHECK_INTERVAL_MS < Date.now()) {
69
+ this.logger.warn(`${this.dexKey}-${this.network}: First encounter of error OR error ocurred outside of threshold, setting up counter`);
70
+ const data = {
71
+ count: 1,
72
+ addedDatetimeMs: Date.now(),
73
+ };
74
+ await this.dexHelper.cache.setex(this.dexKey, this.network, ERRORS_CACHE_KEY, ERRORS_TTL_S, utils_1.Utils.Serialize(data));
75
+ return;
76
+ }
77
+ else {
78
+ if (errorsData.count + 1 >= RESTRICT_COUNT_THRESHOLD) {
79
+ this.logger.warn(`${this.dexKey}-${this.network}: Restricting due to error count=${errorsData.count + 1} within ${RESTRICT_CHECK_INTERVAL_MS / 1000 / 60} minutes`);
80
+ await this.dexHelper.cache.rawset(this.getRestrictedCacheKey(), RESTRICTED_CACHE_VALUE, RESTRICT_TTL_S);
81
+ }
82
+ else {
83
+ this.logger.warn(`${this.dexKey}-${this.network}: Error count increased`);
84
+ const data = {
85
+ count: errorsData.count + 1,
86
+ addedDatetimeMs: errorsData.addedDatetimeMs,
87
+ };
88
+ await this.dexHelper.cache.setex(this.dexKey, this.network, ERRORS_CACHE_KEY, ERRORS_TTL_S, utils_1.Utils.Serialize(data));
89
+ }
90
+ }
40
91
  }
41
92
  }
42
93
  exports.SimpleExchangeWithRestrictions = SimpleExchangeWithRestrictions;
@@ -1 +1 @@
1
- {"version":3,"file":"simple-exchange-with-restrictions.js","sourceRoot":"","sources":["../../src/dex/simple-exchange-with-restrictions.ts"],"names":[],"mappings":";;;AAAA,uDAAmD;AAGnD,MAAM,uBAAuB,GAAG,aAAa,CAAC;AAC9C,MAAM,uBAAuB,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC,UAAU;AAMpD,MAAa,8BAA+B,SAAQ,gCAAc;IAI3C;IACZ;IAJU,cAAc,CAAS;IAE1C,YACqB,SAAqB,EACjC,MAAc,EACrB,UAAiC,EAAE;QAEnC,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAJN,cAAS,GAAT,SAAS,CAAY;QACjC,WAAM,GAAN,MAAM,CAAQ;QAKrB,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,uBAAuB,CAAC;IAC1E,CAAC;IAEM,eAAe;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,KAAK,CAAC,aAAa,CAAC,OAAe;QACxC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAC9C,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CACrC,CAAC;QAEF,OAAO,MAAM,KAAK,uBAAuB,CAAC;IAC5C,CAAC;IAES,YAAY,CAAC,SAAmB;QACxC,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAChC,GAAG,SAAS;aACT,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACd,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC;YACpC,uBAAuB;YACvB,IAAI,CAAC,cAAc;SACpB,CAAC;aACD,IAAI,EAAE,CACV,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,qBAAqB,CAChC,OAAe,EACf,GAAG,GAAG,IAAI,CAAC,cAAc;QAEzB,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK;aACxB,MAAM,CACL,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,EACpC,uBAAuB,EACvB,GAAG,CACJ;aACA,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAEM,sBAAsB,CAAC,OAAe;QAC3C,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,IAC1C,IAAI,CAAC,MACP,gBAAgB,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;IAC1C,CAAC;CACF;AAvDD,wEAuDC"}
1
+ {"version":3,"file":"simple-exchange-with-restrictions.js","sourceRoot":"","sources":["../../src/dex/simple-exchange-with-restrictions.ts"],"names":[],"mappings":"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"}
@@ -16,7 +16,7 @@ export declare class PricingHelper {
16
16
  getPoolIdentifiers(from: Token, to: Token, side: SwapSide, blockNumber: number, dexKeys: string[], filterConstantPricePool?: boolean): Promise<{
17
17
  [dexKey: string]: string[] | null;
18
18
  }>;
19
- filterOutDexKeysWithBlacklistedUser(dexKeys: string[], userAddress: string): Promise<string[]>;
19
+ filterOutDexKeysWithRestrictions(dexKeys: string[], userAddress: string): Promise<string[]>;
20
20
  getDexsSupportingFeeOnTransfer(): string[];
21
21
  getPoolPrices(from: Token, to: Token, amounts: bigint[], side: SwapSide, blockNumber: number, dexKeys: string[], limitPoolsMap: {
22
22
  [key: string]: string[] | null;
@@ -94,19 +94,34 @@ class PricingHelper {
94
94
  return acc;
95
95
  }, {});
96
96
  }
97
- async filterOutDexKeysWithBlacklistedUser(dexKeys, userAddress) {
97
+ // filter out dexes that are restricted
98
+ // or have `userAddress` blacklisted
99
+ async filterOutDexKeysWithRestrictions(dexKeys, userAddress) {
98
100
  const dexesWithBlacklists = [];
99
101
  const dexBlacklistCacheKeys = [];
102
+ const dexesWithRestrictions = [];
103
+ const dexRestrictionCacheKeys = [];
100
104
  for (const key of dexKeys) {
101
105
  const dex = this.getDexByKey(key);
102
- if (dex && dex.hasRestrictions?.()) {
103
- dexesWithBlacklists.push(key);
104
- dexBlacklistCacheKeys.push(dex.getBlacklistedCacheKey(userAddress));
106
+ if (dex) {
107
+ if (dex.hasBlacklist?.()) {
108
+ dexesWithBlacklists.push(key);
109
+ dexBlacklistCacheKeys.push(dex.getBlacklistedCacheKey(userAddress));
110
+ }
111
+ if (dex.hasDexRestriction?.()) {
112
+ dexesWithRestrictions.push(key);
113
+ dexRestrictionCacheKeys.push(dex.getRestrictedCacheKey());
114
+ }
105
115
  }
106
116
  }
107
- const result = await this.dexAdapterService.dexHelper.cache.mget(dexBlacklistCacheKeys);
117
+ const result = await this.dexAdapterService.dexHelper.cache.mget([
118
+ ...dexBlacklistCacheKeys,
119
+ ...dexRestrictionCacheKeys,
120
+ ]);
108
121
  const dexesWithBlacklistedUser = dexesWithBlacklists.filter((_, i) => result[i]);
109
- return dexKeys.filter(key => !dexesWithBlacklistedUser.includes(key));
122
+ const restrictedDexes = dexesWithRestrictions.filter((_, i) => result[dexesWithBlacklists.length + i]);
123
+ return dexKeys.filter(key => !dexesWithBlacklistedUser.includes(key) &&
124
+ !restrictedDexes.includes(key));
110
125
  }
111
126
  getDexsSupportingFeeOnTransfer() {
112
127
  const allDexKeys = this.dexAdapterService.getAllDexKeys();
@@ -1 +1 @@
1
- {"version":3,"file":"pricing-helper.js","sourceRoot":"","sources":["../src/pricing-helper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pricing-helper.js","sourceRoot":"","sources":["../src/pricing-helper.ts"],"names":[],"mappings":";;;AASA,2CAKqB;AAGrB,mCAA6D;AAE7D,MAAa,aAAa;IAKZ;IAJZ,MAAM,CAAS;IACR,YAAY,CAAmC;IAEtD,YACY,iBAAoC,EAC9C,iBAAoC;QAD1B,sBAAiB,GAAjB,iBAAiB,CAAmB;QAG9C,IAAI,CAAC,MAAM,GAAG,iBAAiB,CAC7B,iBAAiB,iBAAiB,CAAC,OAAO,EAAE,CAC7C,CAAC;QACF,IAAI,CAAC,YAAY,GAAG,CAAC,EAAmB,EAAE,EAAE,CAC1C,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,MAAM,CAC3C,CAAC,GAAoB,EAAE,EAAoC,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EACvE,EAAE,CACH,CAAC;IACN,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,MAAc,EAAE,WAAmB;QAC7D,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAE/D,IAAI,CAAC,WAAW,CAAC,iBAAiB;gBAAE,OAAO;YAE3C,IACE,CAAC,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO;gBAChD,WAAW,CAAC,aAAa,EACzB,CAAC;gBACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,WAAW,CAAC,aAAa,EAAE,CAAC,CAAC;gBACrE,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAC3C,WAAW,CAAC,aAAa,CAC1B,CAAC;YACJ,CAAC;YAED,MAAM,WAAW,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;YACjD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,+BAA+B,CAAC,CAAC;QAC7D,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC;YACxD,UAAU,CACR,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,WAAW,CAAC,EAC7C,+BAAmB,CACpB,CAAC;QACJ,CAAC;IACH,CAAC;IAEM,aAAa;QAClB,OAAO,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC;IAChD,CAAC;IAEM,WAAW,CAAC,GAAW;QAC5B,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACjD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBAClE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,GAAG,+BAA+B,CAAC,CAAC;gBAC5D,OAAO,IAAI,CAAC;YACd,CAAC;YACD,mBAAmB;YACnB,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,UAAU,CAAC,WAAmB,EAAE,OAAiB;QAC5D,OAAO,MAAM,OAAO,CAAC,GAAG,CACtB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,CACzD,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,gBAAgB,CAAC,OAAiB;QAC7C,OAAO,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC9E,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,MAAc;QAC9C,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAE/D,IAAI,CAAC,WAAW,CAAC,gBAAgB;gBAAE,OAAO;YAE1C,MAAM,WAAW,CAAC,gBAAgB,EAAE,CAAC;YACrC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,wCAAwC,CAAC,CAAC;QACtE,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC;YAC1D,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,EAAE,+BAAmB,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,kBAAkB,CAC7B,IAAW,EACX,EAAS,EACT,IAAc,EACd,WAAmB,EACnB,OAAiB,EACjB,0BAAmC,KAAK;QAExC,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,GAAG,CACvC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAC,GAAG,EAAC,EAAE;YACtB,IAAI,CAAC;gBACH,OAAO,MAAM,IAAI,OAAO,CAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;oBAC5D,MAAM,KAAK,GAAG,UAAU,CACtB,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,EAClC,yCAA6B,CAC9B,CAAC;oBACF,MAAM,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;oBAE5D,IACE,uBAAuB;wBACvB,WAAW,CAAC,4BAA4B,EACxC,CAAC;wBACD,YAAY,CAAC,KAAK,CAAC,CAAC;wBACpB,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;oBACvB,CAAC;oBAED,OAAO,WAAW;yBACf,kBAAkB,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,CAAC;yBAC/C,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC;yBACrB,OAAO,CAAC,GAAG,EAAE;wBACZ,YAAY,CAAC,KAAK,CAAC,CAAC;oBACtB,CAAC,CAAC,CAAC;gBACP,CAAC,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,GAAG,sBAAsB,EAAE,CAAC,CAAC,CAAC;gBACzD,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC,CAAC,CACH,CAAC;QAEF,OAAO,OAAO,CAAC,MAAM,CACnB,CACE,GAA0C,EAC1C,MAAc,EACd,KAAa,EACb,EAAE;YACF,GAAG,CAAC,MAAM,CAAC,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;YACrC,OAAO,GAAG,CAAC;QACb,CAAC,EACD,EAAE,CACH,CAAC;IACJ,CAAC;IAED,uCAAuC;IACvC,oCAAoC;IACpC,KAAK,CAAC,gCAAgC,CACpC,OAAiB,EACjB,WAAmB;QAEnB,MAAM,mBAAmB,GAAa,EAAE,CAAC;QACzC,MAAM,qBAAqB,GAAa,EAAE,CAAC;QAC3C,MAAM,qBAAqB,GAAa,EAAE,CAAC;QAC3C,MAAM,uBAAuB,GAAa,EAAE,CAAC;QAE7C,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAElC,IAAI,GAAG,EAAE,CAAC;gBACR,IAAI,GAAG,CAAC,YAAY,EAAE,EAAE,EAAE,CAAC;oBACzB,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAC9B,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,sBAAsB,CAAC,WAAW,CAAC,CAAC,CAAC;gBACtE,CAAC;gBAED,IAAI,GAAG,CAAC,iBAAiB,EAAE,EAAE,EAAE,CAAC;oBAC9B,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAChC,uBAAuB,CAAC,IAAI,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC,CAAC;gBAC5D,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC;YAC/D,GAAG,qBAAqB;YACxB,GAAG,uBAAuB;SAC3B,CAAC,CAAC;QACH,MAAM,wBAAwB,GAAG,mBAAmB,CAAC,MAAM,CACzD,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CACpB,CAAC;QAEF,MAAM,eAAe,GAAG,qBAAqB,CAAC,MAAM,CAClD,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,CAAC,CACjD,CAAC;QAEF,OAAO,OAAO,CAAC,MAAM,CACnB,GAAG,CAAC,EAAE,CACJ,CAAC,wBAAwB,CAAC,QAAQ,CAAC,GAAG,CAAC;YACvC,CAAC,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,CACjC,CAAC;IACJ,CAAC;IAED,8BAA8B;QAC5B,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC;QAC1D,OAAO,UAAU;aACd,GAAG,CAAC,MAAM,CAAC,EAAE;YACZ,IAAI,CAAC;gBACH,MAAM,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;gBAC/D,IAAI,WAAW,CAAC,wBAAwB,EAAE,CAAC;oBACzC,OAAO,MAAM,CAAC;gBAChB,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IACE,CAAC,CAAC,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,EAChE,CAAC;oBACD,MAAM,CAAC,CAAC;gBACV,CAAC;YACH,CAAC;QACH,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,CAAqB,EAAe,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzD,CAAC;IAEM,KAAK,CAAC,aAAa,CACxB,IAAW,EACX,EAAS,EACT,OAAiB,EACjB,IAAc,EACd,WAAmB,EACnB,OAAiB,EACjB,aAAwD,EACxD,eAAkC;QAChC,MAAM,EAAE,CAAC;QACT,OAAO,EAAE,CAAC;QACV,SAAS,EAAE,CAAC;QACZ,UAAU,EAAE,CAAC;KACd,EACD,+BAAkE;QAElE,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,GAAG,CACrC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAC,GAAG,EAAC,EAAE;YACtB,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAE7D,IAAI,UAAU,IAAI,CAAC,UAAU,CAAC,MAAM;oBAAE,OAAO,EAAE,CAAC;gBAEhD,OAAO,MAAM,IAAI,OAAO,CACtB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;oBAClB,MAAM,KAAK,GAAG,UAAU,CACtB,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,EAClC,qCAAyB,CAC1B,CAAC;oBAEF,MAAM,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;oBAE5D,IACE,IAAA,0CAAkC,EAAC,YAAY,CAAC;wBAChD,CAAC,WAAW,CAAC,wBAAwB,EACrC,CAAC;wBACD,YAAY,CAAC,KAAK,CAAC,CAAC;wBACpB,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;oBACvB,CAAC;oBAED,WAAW;yBACR,eAAe,CACd,IAAI,EACJ,EAAE,EACF,OAAO,EACP,IAAI,EACJ,WAAW,EACX,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,EACnC,YAAY,CACb;yBACA,IAAI,CAAC,UAAU,CAAC,EAAE;wBACjB,IAAI,CAAC;4BACH,IAAI,CAAC,UAAU,IAAI,CAAC,+BAA+B,EAAE,CAAC;gCACpD,OAAO,OAAO,CAAC,UAAU,CAAC,CAAC;4BAC7B,CAAC;4BACD,OAAO,OAAO,CACZ,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;gCAClB,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC,OAAO,CAAC;gCAC1B,MAAM,eAAe,GACnB,WAAW,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;gCACrC,IACE,OAAO,EAAE,CAAC,OAAO,KAAK,QAAQ;oCAC9B,EAAE,CAAC,OAAO,KAAK,CAAC;oCAChB,OAAO,eAAe,KAAK,QAAQ,EACnC,CAAC;oCACD,EAAE,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CACrB,+BAA+B,CAAC,eAAe,CAAC,CACjD,CAAC;gCACJ,CAAC;qCAAM,IACL,OAAO,EAAE,CAAC,OAAO,KAAK,QAAQ;oCAC9B,OAAO,eAAe,KAAK,QAAQ,EACnC,CAAC;oCACD,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,KAAK,eAAe,CAAC,MAAM,EAAE,CAAC;wCACjD,MAAM,IAAI,KAAK,CACb,yDAAyD,GAAG,EAAE,CAC/D,CAAC;oCACJ,CAAC;oCACD,EAAE,CAAC,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACnC,CAAC,KAAK,CAAC;wCACL,CAAC,CAAC,CAAC;wCACH,CAAC,CAAC,CAAC;4CACD,IAAI,CAAC,IAAI,CACP,+BAA+B,CAC7B,eAAe,CAAC,CAAC,CAAC,CACnB,CACF,CACN,CAAC;gCACJ,CAAC;qCAAM,CAAC;oCACN,MAAM,IAAI,KAAK,CACb,iDAAiD,GAAG,EAAE,CACvD,CAAC;gCACJ,CAAC;gCACD,EAAE,CAAC,eAAe,GAAG,eAAe,CAAC;gCACrC,OAAO,EAAE,CAAC;4BACZ,CAAC,CAAC,CACH,CAAC;wBACJ,CAAC;wBAAC,OAAO,CAAC,EAAE,CAAC;4BACX,MAAM,CAAC,CAAC,CAAC,CAAC;wBACZ,CAAC;oBACH,CAAC,EAAE,MAAM,CAAC;yBACT,OAAO,CAAC,GAAG,EAAE;wBACZ,YAAY,CAAC,KAAK,CAAC,CAAC;oBACtB,CAAC,CAAC,CAAC;gBACP,CAAC,CACF,CAAC;YACJ,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,GAAG,iBAAiB,EAAE,CAAC,CAAC,CAAC;gBACpD,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC,CAAC,CACH,CAAC;QAEF,OAAO,aAAa;aACjB,MAAM,CAAC,CAAC,CAAC,EAA4B,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;aAC5C,IAAI,EAAE,CAAC,4CAA4C;aACnD,MAAM,CAAC,CAAC,CAAC,EAAE;YACV,0CAA0C;YAC1C,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC;gBACvC,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,wBAAwB,CAAC,CAAC,QAAQ,sCAAsC,CACzE,CAAC;gBACF,OAAO,KAAK,CAAC;YACf,CAAC;YAED,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC7B,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC;oBACxC,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,wBAAwB,CAAC,CAAC,QAAQ,uDAAuD,CAAC,CAAC,OAAO,CAAC,MAAM,QAAQ,OAAO,CAAC,MAAM,EAAE,CAClI,CAAC;oBACF,OAAO,KAAK,CAAC;gBACf,CAAC;gBAED,KAAK,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;oBAC5C,IAAI,MAAM,KAAK,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;wBACxC,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,wBAAwB,CAAC,CAAC,QAAQ,yDAAyD,CAAC,+BAA+B,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAC1I,CAAC;wBACF,OAAO,KAAK,CAAC;oBACf,CAAC;gBACH,CAAC;YACH,CAAC;YAED,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;gBACpC,OAAO,KAAK,CAAC;YACf,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IACP,CAAC;CACF;AAjWD,sCAiWC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@paraswap/dex-lib",
3
- "version": "4.7.5-unified-blacklist.0",
3
+ "version": "4.7.5-unified-blacklist.1",
4
4
  "main": "build/index.js",
5
5
  "types": "build/index.d.ts",
6
6
  "repository": "https://github.com/paraswap/paraswap-dex-lib",