From a7bb68f59ec630cc3b042ef08c877ef225e413ac Mon Sep 17 00:00:00 2001 From: Jacob Evans Date: Thu, 29 Apr 2021 14:45:08 +1000 Subject: [PATCH] fix: Ban colliding Kyber reserve --- .../utils/market_operation_utils/bridge_source_utils.ts | 7 ++++++- .../src/utils/market_operation_utils/constants.ts | 1 + 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/asset-swapper/src/utils/market_operation_utils/bridge_source_utils.ts b/packages/asset-swapper/src/utils/market_operation_utils/bridge_source_utils.ts index 4b1823e432..367871aa59 100644 --- a/packages/asset-swapper/src/utils/market_operation_utils/bridge_source_utils.ts +++ b/packages/asset-swapper/src/utils/market_operation_utils/bridge_source_utils.ts @@ -8,6 +8,7 @@ import { CRYPTO_COM_ROUTER_BY_CHAIN_ID, CURVE_MAINNET_INFOS, ELLIPSIS_BSC_INFOS, + KYBER_BANNED_RESERVES, KYBER_BRIDGED_LIQUIDITY_PREFIX, KYBER_DMM_ROUTER_BY_CHAIN_ID, MAX_DODOV2_POOLS_QUERIED, @@ -32,7 +33,11 @@ import { CurveInfo, ERC20BridgeSource } from './types'; * @param reserveId Kyber reserveId */ export function isAllowedKyberReserveId(reserveId: string): boolean { - return reserveId !== NULL_BYTES && !reserveId.startsWith(KYBER_BRIDGED_LIQUIDITY_PREFIX); + return ( + reserveId !== NULL_BYTES && + !reserveId.startsWith(KYBER_BRIDGED_LIQUIDITY_PREFIX) && + !KYBER_BANNED_RESERVES.includes(reserveId) + ); } // tslint:disable-next-line: completed-docs ban-types diff --git a/packages/asset-swapper/src/utils/market_operation_utils/constants.ts b/packages/asset-swapper/src/utils/market_operation_utils/constants.ts index f29fa944a3..451298a5ac 100644 --- a/packages/asset-swapper/src/utils/market_operation_utils/constants.ts +++ b/packages/asset-swapper/src/utils/market_operation_utils/constants.ts @@ -744,6 +744,7 @@ export const NERVE_BSC_INFOS: { [name: string]: CurveInfo } = { * 0xbb Bridged price reserve (i.e Uniswap/Curve) */ export const KYBER_BRIDGED_LIQUIDITY_PREFIX = '0xbb'; +export const KYBER_BANNED_RESERVES = ['0xff4f6e65426974205175616e7400000000000000000000000000000000000000']; export const MAX_KYBER_RESERVES_QUERIED = 5; export const KYBER_CONFIG_BY_CHAIN_ID = valueByChainId( {