From 88c6d89fbb65e21984dec10038d0bb49714547f1 Mon Sep 17 00:00:00 2001 From: David Sun Date: Wed, 8 Jan 2020 13:50:28 -0800 Subject: [PATCH 1/3] whitelist constants array --- packages/instant/src/constants.ts | 14 ++++++++++++++ packages/instant/src/redux/async_data.ts | 9 +++++++-- packages/instant/src/util/swap_quote_updater.ts | 2 +- 3 files changed, 22 insertions(+), 3 deletions(-) diff --git a/packages/instant/src/constants.ts b/packages/instant/src/constants.ts index 627106edee..3fef55c4c7 100644 --- a/packages/instant/src/constants.ts +++ b/packages/instant/src/constants.ts @@ -2,6 +2,20 @@ import { BigNumber } from '@0x/utils'; import { AccountNotReady, AccountState, Network, ProviderType } from './types'; +// TODO(dave4506) until we have /prices endpoint ready, we will use this whitelist for bridge order liquidity assets +export const SUPPORTED_TOKEN_ASSET_DATA_WITH_BRIDGE_ORDERS = [ + '0xf47261b0000000000000000000000000e41d2489571d322189246dafa5ebde1f4699f498', // ZRX + '0xf47261b0000000000000000000000000960b236a07cf122663c4303350609a66a7b288c0', // ANT + '0xf47261b00000000000000000000000000d8775f648430679a709e98d2b0cb6250d2887ef', // BAT + '0xf47261b0000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48', // USDC + '0xf47261b00000000000000000000000006b175474e89094c44da98b954eedeac495271d0f', // DAI + '0xf47261b000000000000000000000000005f4a42e251f2d52b8ed15e9fedaacfcef1fad27', // ZIL + '0xf47261b000000000000000000000000058b6a8a3302369daec383334672404ee733ab239', // LPT + '0xf47261b00000000000000000000000009f8f72aa9304c8b593d555f12ef6589cc3a579a2', // MKR + '0xf47261b0000000000000000000000000d26114cd6ee289accf82350c8d8487fedb8a0c07', // OMG + '0xf47261b0000000000000000000000000514910771af9ca656af840dff83e8264ecf986ca', // LINK + '0xf47261b00000000000000000000000001985365e9f78359a9b6ad760e32412f4a445e862', // REP +]; export const BIG_NUMBER_ZERO = new BigNumber(0); export const ETH_DECIMALS = 18; export const DEFAULT_ZERO_EX_CONTAINER_SELECTOR = '#zeroExInstantContainer'; diff --git a/packages/instant/src/redux/async_data.ts b/packages/instant/src/redux/async_data.ts index cb5071402b..9af9cf3977 100644 --- a/packages/instant/src/redux/async_data.ts +++ b/packages/instant/src/redux/async_data.ts @@ -2,7 +2,7 @@ import { Web3Wrapper } from '@0x/web3-wrapper'; import * as _ from 'lodash'; import { Dispatch } from 'redux'; -import { BIG_NUMBER_ZERO } from '../constants'; +import { BIG_NUMBER_ZERO, SUPPORTED_TOKEN_ASSET_DATA_WITH_BRIDGE_ORDERS } from '../constants'; import { AccountState, BaseCurrency, OrderProcessState, ProviderState, QuoteFetchOrigin } from '../types'; import { analytics } from '../util/analytics'; import { assetUtils } from '../util/asset'; @@ -35,7 +35,12 @@ export const asyncData = { const wethAssetData = await swapQuoter.getEtherTokenAssetDataOrThrowAsync(); const assetDatas = await swapQuoter.getAvailableMakerAssetDatasAsync(wethAssetData); const deduplicatedAssetDatas = _.uniq(assetDatas); - const assets = assetUtils.createAssetsFromAssetDatas(deduplicatedAssetDatas, assetMetaDataMap, network); + const assetsWithNativeOrders = assetUtils.createAssetsFromAssetDatas(deduplicatedAssetDatas, assetMetaDataMap, network); + const assetsWithBridgeOrders = assetUtils.createAssetsFromAssetDatas(SUPPORTED_TOKEN_ASSET_DATA_WITH_BRIDGE_ORDERS, assetMetaDataMap, network); + const assets = _.uniqBy( + _.concat(assetsWithNativeOrders, assetsWithBridgeOrders), + asset => asset.assetData, + ); dispatch(actions.setAvailableAssets(assets)); } catch (e) { const errorMessage = 'Could not find any assets'; diff --git a/packages/instant/src/util/swap_quote_updater.ts b/packages/instant/src/util/swap_quote_updater.ts index 9a32217e0c..bc7c36a58e 100644 --- a/packages/instant/src/util/swap_quote_updater.ts +++ b/packages/instant/src/util/swap_quote_updater.ts @@ -51,7 +51,7 @@ export const swapQuoteUpdater = { slippagePercentage, gasPrice: gasInfo.gasPriceInWei, // Only use native orders - excludedSources: [ERC20BridgeSource.Eth2Dai, ERC20BridgeSource.Kyber, ERC20BridgeSource.Uniswap], + // excludedSources: [ERC20BridgeSource.Eth2Dai, ERC20BridgeSource.Kyber, ERC20BridgeSource.Uniswap], }, ); } catch (error) { From 5a6e494bdae7288c48213b229a5f3ddf843c62d4 Mon Sep 17 00:00:00 2001 From: David Sun Date: Wed, 8 Jan 2020 16:16:29 -0800 Subject: [PATCH 2/3] lint + prettier --- packages/instant/src/redux/async_data.ts | 17 +++++++++++------ packages/instant/src/util/swap_quote_updater.ts | 2 +- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/packages/instant/src/redux/async_data.ts b/packages/instant/src/redux/async_data.ts index 9af9cf3977..f5c98be66b 100644 --- a/packages/instant/src/redux/async_data.ts +++ b/packages/instant/src/redux/async_data.ts @@ -30,17 +30,22 @@ export const asyncData = { }, fetchAvailableAssetDatasAndDispatchToStore: async (state: State, dispatch: Dispatch) => { const { providerState, assetMetaDataMap, network } = state; - const swapQuoter = providerState.swapQuoter; + const swapQuoter = proiderState.swapQuoter; try { const wethAssetData = await swapQuoter.getEtherTokenAssetDataOrThrowAsync(); const assetDatas = await swapQuoter.getAvailableMakerAssetDatasAsync(wethAssetData); const deduplicatedAssetDatas = _.uniq(assetDatas); - const assetsWithNativeOrders = assetUtils.createAssetsFromAssetDatas(deduplicatedAssetDatas, assetMetaDataMap, network); - const assetsWithBridgeOrders = assetUtils.createAssetsFromAssetDatas(SUPPORTED_TOKEN_ASSET_DATA_WITH_BRIDGE_ORDERS, assetMetaDataMap, network); - const assets = _.uniqBy( - _.concat(assetsWithNativeOrders, assetsWithBridgeOrders), - asset => asset.assetData, + const assetsWithNativeOrders = assetUtils.createAssetsFromAssetDatas( + deduplicatedAssetDatas, + assetMetaDataMap, + network, ); + const assetsWithBridgeOrders = assetUtils.createAssetsFromAssetDatas( + SUPPORTED_TOKEN_ASSET_DATA_WITH_BRIDGE_ORDERS, + assetMetaDataMap, + network, + ); + const assets = _.uniqBy(_.concat(assetsWithNativeOrders, assetsWithBridgeOrders), asset => asset.assetData); dispatch(actions.setAvailableAssets(assets)); } catch (e) { const errorMessage = 'Could not find any assets'; diff --git a/packages/instant/src/util/swap_quote_updater.ts b/packages/instant/src/util/swap_quote_updater.ts index bc7c36a58e..88f9b04188 100644 --- a/packages/instant/src/util/swap_quote_updater.ts +++ b/packages/instant/src/util/swap_quote_updater.ts @@ -1,4 +1,4 @@ -import { ERC20BridgeSource, MarketBuySwapQuote, SwapQuoter } from '@0x/asset-swapper'; +import { MarketBuySwapQuote, SwapQuoter } from '@0x/asset-swapper'; import { AssetProxyId } from '@0x/types'; import { BigNumber } from '@0x/utils'; import { Web3Wrapper } from '@0x/web3-wrapper'; From 16c7d2964bf97ea9a2be712861324c2060b7dd95 Mon Sep 17 00:00:00 2001 From: David Sun Date: Wed, 8 Jan 2020 16:17:25 -0800 Subject: [PATCH 3/3] typo --- packages/instant/src/redux/async_data.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/instant/src/redux/async_data.ts b/packages/instant/src/redux/async_data.ts index f5c98be66b..260b0538f2 100644 --- a/packages/instant/src/redux/async_data.ts +++ b/packages/instant/src/redux/async_data.ts @@ -30,7 +30,7 @@ export const asyncData = { }, fetchAvailableAssetDatasAndDispatchToStore: async (state: State, dispatch: Dispatch) => { const { providerState, assetMetaDataMap, network } = state; - const swapQuoter = proiderState.swapQuoter; + const swapQuoter = providerState.swapQuoter; try { const wethAssetData = await swapQuoter.getEtherTokenAssetDataOrThrowAsync(); const assetDatas = await swapQuoter.getAvailableMakerAssetDatasAsync(wethAssetData);