Get rid of react-shared as a dependency, write own etherscanUtil

This commit is contained in:
Steve Klebanoff
2018-10-24 11:50:05 -07:00
parent 33d8044f02
commit 09f0bf7f00
4 changed files with 27 additions and 5 deletions

View File

@@ -50,7 +50,7 @@
},
{
"path": "packages/instant/public/main.bundle.js",
"maxSize": "800kB"
"maxSize": "500kB"
}
],
"ci": {

View File

@@ -46,7 +46,6 @@
"dependencies": {
"@0x/asset-buyer": "^2.1.0",
"@0x/order-utils": "^2.0.0",
"@0x/react-shared": "^1.0.17",
"@0x/types": "^1.2.0",
"@0x/typescript-typings": "^3.0.3",
"@0x/utils": "^2.0.3",

View File

@@ -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');

View File

@@ -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}`;
},
};