Skip to content

Commit

Permalink
Add alert warning in contribute section
Browse files Browse the repository at this point in the history
  • Loading branch information
Mariano Aguero committed Aug 22, 2018
1 parent 57f0e85 commit 44aad8e
Showing 1 changed file with 19 additions and 11 deletions.
30 changes: 19 additions & 11 deletions src/components/contribute/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,9 @@ import {
getNetworkID,
toast,
toBigNumber,
truncateStringInTheMiddle
truncateStringInTheMiddle,
isAddressValid,
isExecIDValid
} from '../../utils/utils'
import { getCrowdsaleAssets } from '../../stores/utils'
import {
Expand All @@ -48,7 +50,8 @@ import {
noMoreTokensAvailable,
notAllowedContributor,
invalidCrowdsaleExecIDAlert,
invalidNetworkIDAlert
invalidNetworkIDAlert,
invalidCrowdsaleProxyAlert
} from '../../utils/alerts'
import { Loader } from '../Common/Loader'
import { CrowdsaleConfig } from '../Common/config'
Expand Down Expand Up @@ -115,9 +118,9 @@ export class Contribute extends React.Component {

preparePage = async () => {
const { gasPriceStore, generalStore, crowdsaleStore, contractStore } = this.props
const crowdsaleExecID = CrowdsaleConfig.crowdsaleContractURL || getExecID()
const crowdsaleExecID = getExecID()
contractStore.setContractProperty('crowdsale', 'execID', crowdsaleExecID)
const crowdsaleAddr = CrowdsaleConfig.crowdsaleContractURL || getAddr()
const crowdsaleAddr = getAddr()
try {
await this.validateEnvironment(crowdsaleExecID, crowdsaleAddr)
await getCrowdsaleAssets(generalStore.networkID)
Expand Down Expand Up @@ -153,19 +156,30 @@ export class Contribute extends React.Component {

this.setState({ loading: false })
} catch (err) {
this.setState({ loading: false })
logger.error(err)
}
}

validateEnvironment = async (crowdsaleExecID, crowdsaleAddr) => {
const { web3Store, generalStore } = this.props
const { web3Store, generalStore, contractStore } = this.props

await checkWeb3()

if (!web3Store.web3) {
return Promise.reject('no web3 available')
}

if (!isExecIDValid(crowdsaleExecID) && contractStore.crowdsale.execID) {
invalidCrowdsaleExecIDAlert()
return Promise.reject('invalid exec-id')
}

if (!isAddressValid(crowdsaleAddr) && !contractStore.crowdsale.execID) {
invalidCrowdsaleProxyAlert()
return Promise.reject('invalid proxy addr')
}

this.setState({
web3Available: true,
contributeThrough: CONTRIBUTION_OPTIONS.METAMASK
Expand All @@ -182,12 +196,6 @@ export class Contribute extends React.Component {
} else if (String(networkInfo) !== networkID) {
return Promise.reject('invalid networkID')
}

//todo: change to 2 alerts
if (!crowdsaleExecID && !crowdsaleAddr) {
invalidCrowdsaleExecIDAlert()
return Promise.reject('invalid exec-id or addr')
}
}

componentWillUnmount() {
Expand Down

0 comments on commit 44aad8e

Please sign in to comment.