diff options
Diffstat (limited to 'packages/instant/src')
-rw-r--r-- | packages/instant/src/containers/selected_asset_view_transaction_button.tsx | 5 | ||||
-rw-r--r-- | packages/instant/src/util/etherscan.ts | 24 |
2 files changed, 26 insertions, 3 deletions
diff --git a/packages/instant/src/containers/selected_asset_view_transaction_button.tsx b/packages/instant/src/containers/selected_asset_view_transaction_button.tsx index 44de16c4a..6f42b9f85 100644 --- a/packages/instant/src/containers/selected_asset_view_transaction_button.tsx +++ b/packages/instant/src/containers/selected_asset_view_transaction_button.tsx @@ -1,4 +1,3 @@ -import { EtherscanLinkSuffixes, utils } from '@0x/react-shared'; import * as _ from 'lodash'; import * as React from 'react'; import { connect } from 'react-redux'; @@ -7,6 +6,7 @@ import { State } from '../redux/reducer'; import { ViewTransactionButton } from '../components/view_transaction_button'; import { AsyncProcessState } from '../types'; +import { etherscanUtil } from '../util/etherscan'; export interface SelectedAssetViewTransactionButtonProps {} @@ -17,10 +17,9 @@ interface ConnectedState { const mapStateToProps = (state: State, _ownProps: {}): ConnectedState => ({ onClick: () => { if (state.assetBuyer && state.buyOrderState.processState === AsyncProcessState.SUCCESS) { - const etherscanUrl = utils.getEtherScanLinkIfExists( + const etherscanUrl = etherscanUtil.getEtherScanTxnAddressIfExists( state.buyOrderState.txnHash, state.assetBuyer.networkId, - EtherscanLinkSuffixes.Tx, ); if (etherscanUrl) { window.open(etherscanUrl, '_blank'); diff --git a/packages/instant/src/util/etherscan.ts b/packages/instant/src/util/etherscan.ts new file mode 100644 index 000000000..ffb08a382 --- /dev/null +++ b/packages/instant/src/util/etherscan.ts @@ -0,0 +1,24 @@ +import * as _ from 'lodash'; + +import { Network } from '../types'; + +const etherscanPrefix = (networkId: number): string | undefined => { + switch (networkId) { + case Network.Kovan: + return 'kovan.'; + case Network.Mainnet: + return ''; + default: + return undefined; + } +}; + +export const etherscanUtil = { + getEtherScanTxnAddressIfExists: (txnHash: string, networkId: number) => { + const prefix = etherscanPrefix(networkId); + if (_.isUndefined(prefix)) { + return; + } + return `https://${prefix}etherscan.io/tx/${txnHash}`; + }, +}; |