diff options
author | Steve Klebanoff <steve@0xproject.com> | 2018-10-25 04:22:04 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-10-25 04:22:04 +0800 |
commit | 979527a5ee3efaf2974703b91b0af3440195219e (patch) | |
tree | 83693ace2b44420db7942b67ff28ec0577fc120c /packages/instant/src/components | |
parent | 059868e9942fed4616750d212e706f09d17f397b (diff) | |
parent | 05ce8aa124ae4d912ef43a9cf70a30ac2704867a (diff) | |
download | dexon-sol-tools-979527a5ee3efaf2974703b91b0af3440195219e.tar dexon-sol-tools-979527a5ee3efaf2974703b91b0af3440195219e.tar.gz dexon-sol-tools-979527a5ee3efaf2974703b91b0af3440195219e.tar.bz2 dexon-sol-tools-979527a5ee3efaf2974703b91b0af3440195219e.tar.lz dexon-sol-tools-979527a5ee3efaf2974703b91b0af3440195219e.tar.xz dexon-sol-tools-979527a5ee3efaf2974703b91b0af3440195219e.tar.zst dexon-sol-tools-979527a5ee3efaf2974703b91b0af3440195219e.zip |
Merge pull request #1180 from 0xProject/feature/instant/metamask-denial
[instant]Message when signature denied
Diffstat (limited to 'packages/instant/src/components')
-rw-r--r-- | packages/instant/src/components/buy_button.tsx | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/packages/instant/src/components/buy_button.tsx b/packages/instant/src/components/buy_button.tsx index 9c42f3d87..0d35d36ca 100644 --- a/packages/instant/src/components/buy_button.tsx +++ b/packages/instant/src/components/buy_button.tsx @@ -1,4 +1,4 @@ -import { AssetBuyer, BuyQuote } from '@0x/asset-buyer'; +import { AssetBuyer, AssetBuyerError, BuyQuote } from '@0x/asset-buyer'; import * as _ from 'lodash'; import * as React from 'react'; @@ -14,6 +14,7 @@ export interface BuyButtonProps { onClick: (buyQuote: BuyQuote) => void; onBuySuccess: (buyQuote: BuyQuote, txnHash: string) => void; onBuyFailure: (buyQuote: BuyQuote, tnxHash?: string) => void; + onBuyPrevented: (buyQuote: BuyQuote, preventedError: Error) => void; } export class BuyButton extends React.Component<BuyButtonProps> { @@ -43,7 +44,11 @@ export class BuyButton extends React.Component<BuyButtonProps> { txnHash = await this.props.assetBuyer.executeBuyQuoteAsync(this.props.buyQuote); const txnReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txnHash); this.props.onBuySuccess(this.props.buyQuote, txnReceipt.transactionHash); - } catch { + } catch (e) { + if (e instanceof Error && e.message === AssetBuyerError.SignatureRequestDenied) { + this.props.onBuyPrevented(this.props.buyQuote, e); + return; + } this.props.onBuyFailure(this.props.buyQuote, txnHash); } }; |