Merge pull request #2430 from 0xProject/feature/instant/enable-aggregator

Instant: whitelist tokens using bridge orders array
This commit is contained in:
David Sun 2020-01-08 16:50:40 -08:00 committed by GitHub
commit 726ea5e01e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 28 additions and 4 deletions

View File

@ -2,6 +2,20 @@ import { BigNumber } from '@0x/utils';
import { AccountNotReady, AccountState, Network, ProviderType } from './types'; 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 BIG_NUMBER_ZERO = new BigNumber(0);
export const ETH_DECIMALS = 18; export const ETH_DECIMALS = 18;
export const DEFAULT_ZERO_EX_CONTAINER_SELECTOR = '#zeroExInstantContainer'; export const DEFAULT_ZERO_EX_CONTAINER_SELECTOR = '#zeroExInstantContainer';

View File

@ -2,7 +2,7 @@ import { Web3Wrapper } from '@0x/web3-wrapper';
import * as _ from 'lodash'; import * as _ from 'lodash';
import { Dispatch } from 'redux'; 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 { AccountState, BaseCurrency, OrderProcessState, ProviderState, QuoteFetchOrigin } from '../types';
import { analytics } from '../util/analytics'; import { analytics } from '../util/analytics';
import { assetUtils } from '../util/asset'; import { assetUtils } from '../util/asset';
@ -35,7 +35,17 @@ export const asyncData = {
const wethAssetData = await swapQuoter.getEtherTokenAssetDataOrThrowAsync(); const wethAssetData = await swapQuoter.getEtherTokenAssetDataOrThrowAsync();
const assetDatas = await swapQuoter.getAvailableMakerAssetDatasAsync(wethAssetData); const assetDatas = await swapQuoter.getAvailableMakerAssetDatasAsync(wethAssetData);
const deduplicatedAssetDatas = _.uniq(assetDatas); 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)); dispatch(actions.setAvailableAssets(assets));
} catch (e) { } catch (e) {
const errorMessage = 'Could not find any assets'; const errorMessage = 'Could not find any assets';

View File

@ -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 { AssetProxyId } from '@0x/types';
import { BigNumber } from '@0x/utils'; import { BigNumber } from '@0x/utils';
import { Web3Wrapper } from '@0x/web3-wrapper'; import { Web3Wrapper } from '@0x/web3-wrapper';
@ -51,7 +51,7 @@ export const swapQuoteUpdater = {
slippagePercentage, slippagePercentage,
gasPrice: gasInfo.gasPriceInWei, gasPrice: gasInfo.gasPriceInWei,
// Only use native orders // Only use native orders
excludedSources: [ERC20BridgeSource.Eth2Dai, ERC20BridgeSource.Kyber, ERC20BridgeSource.Uniswap], // excludedSources: [ERC20BridgeSource.Eth2Dai, ERC20BridgeSource.Kyber, ERC20BridgeSource.Uniswap],
}, },
); );
} catch (error) { } catch (error) {