diff options
author | Steve Klebanoff <steve@0xproject.com> | 2018-12-04 06:24:58 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-12-04 06:24:58 +0800 |
commit | 50df67e7511460f051f91785bb4384485077ef60 (patch) | |
tree | 3caa4fac28a2af99e7e7d0beff7a661d26f8665e /packages/instant/src/util/buy_quote_updater.ts | |
parent | f076cdb8329693e9d7351ec88d2ac01ad42a2a3a (diff) | |
parent | 91b0fd951708b0fff0733c2e1eed45a403f3cc73 (diff) | |
download | dexon-sol-tools-50df67e7511460f051f91785bb4384485077ef60.tar dexon-sol-tools-50df67e7511460f051f91785bb4384485077ef60.tar.gz dexon-sol-tools-50df67e7511460f051f91785bb4384485077ef60.tar.bz2 dexon-sol-tools-50df67e7511460f051f91785bb4384485077ef60.tar.lz dexon-sol-tools-50df67e7511460f051f91785bb4384485077ef60.tar.xz dexon-sol-tools-50df67e7511460f051f91785bb4384485077ef60.tar.zst dexon-sol-tools-50df67e7511460f051f91785bb4384485077ef60.zip |
Merge pull request #1295 from 0xProject/feature/instant/rollbar-env
[instant] Rollbar
Diffstat (limited to 'packages/instant/src/util/buy_quote_updater.ts')
-rw-r--r-- | packages/instant/src/util/buy_quote_updater.ts | 31 |
1 files changed, 10 insertions, 21 deletions
diff --git a/packages/instant/src/util/buy_quote_updater.ts b/packages/instant/src/util/buy_quote_updater.ts index c1899f8c1..4229f2735 100644 --- a/packages/instant/src/util/buy_quote_updater.ts +++ b/packages/instant/src/util/buy_quote_updater.ts @@ -1,4 +1,4 @@ -import { AssetBuyer, AssetBuyerError, BuyQuote } from '@0x/asset-buyer'; +import { AssetBuyer, BuyQuote } from '@0x/asset-buyer'; import { BigNumber } from '@0x/utils'; import { Web3Wrapper } from '@0x/web3-wrapper'; import * as _ from 'lodash'; @@ -10,6 +10,7 @@ import { AffiliateInfo, ERC20Asset, QuoteFetchOrigin } from '../types'; import { analytics } from '../util/analytics'; import { assetUtils } from '../util/asset'; import { errorFlasher } from '../util/error_flasher'; +import { errorReporter } from '../util/error_reporter'; export const buyQuoteUpdater = { updateBuyQuoteAsync: async ( @@ -35,30 +36,18 @@ export const buyQuoteUpdater = { try { newBuyQuote = await assetBuyer.getBuyQuoteAsync(asset.assetData, baseUnitValue, { feePercentage }); } catch (error) { + const errorMessage = assetUtils.assetBuyerErrorMessage(asset, error); + + if (_.isUndefined(errorMessage)) { + // This is an unknown error, report it to rollbar + errorReporter.report(error); + } + if (options.dispatchErrors) { dispatch(actions.setQuoteRequestStateFailure()); analytics.trackQuoteError(error.message ? error.message : 'other', baseUnitValue, fetchOrigin); - let errorMessage; - if (error.message === AssetBuyerError.InsufficientAssetLiquidity) { - const assetName = assetUtils.bestNameForAsset(asset, 'of this asset'); - errorMessage = `Not enough ${assetName} available`; - } else if (error.message === AssetBuyerError.InsufficientZrxLiquidity) { - errorMessage = 'Not enough ZRX available'; - } else if ( - error.message === AssetBuyerError.StandardRelayerApiError || - error.message.startsWith(AssetBuyerError.AssetUnavailable) - ) { - const assetName = assetUtils.bestNameForAsset(asset, 'This asset'); - errorMessage = `${assetName} is currently unavailable`; - } - if (!_.isUndefined(errorMessage)) { - errorFlasher.flashNewErrorMessage(dispatch, errorMessage); - } else { - throw error; - } + errorFlasher.flashNewErrorMessage(dispatch, errorMessage || 'Error fetching price, please try again'); } - // TODO: report to error reporter on else - return; } // We have a successful new buy quote |