From 3c59c51d04fcd0295dd8fdb874a94fe8e4ce6d5c Mon Sep 17 00:00:00 2001 From: Zhiting Lin Date: Wed, 16 Oct 2019 14:13:05 +0800 Subject: [PATCH 1/1] fixed the value error --- .../ObjectSelectorField/ObjectSelectorField.jsx | 26 ++++++++------ .../transactions/components/New/IssueAssets.jsx | 35 ++++++++----------- .../components/New/NormalTransactionForm.jsx | 18 +++++----- src/features/transactions/transactions.js | 40 +++++++++++----------- 4 files changed, 59 insertions(+), 60 deletions(-) diff --git a/src/features/shared/components/ObjectSelectorField/ObjectSelectorField.jsx b/src/features/shared/components/ObjectSelectorField/ObjectSelectorField.jsx index c6df296..eaf9e5f 100644 --- a/src/features/shared/components/ObjectSelectorField/ObjectSelectorField.jsx +++ b/src/features/shared/components/ObjectSelectorField/ObjectSelectorField.jsx @@ -43,27 +43,33 @@ class ObjectSelectorField extends React.Component { } render() { + const { + fieldProps: { id, alias }, + t, + title, + hint + } = this.props + const idOnChange = (event) => { - this.props.fieldProps.id.onChange(event.target.value) - this.props.fieldProps.alias.onChange('') + id.onChange(event.target.value) + alias.onChange('') } const aliasOnChange = value => { - this.props.fieldProps.alias.onChange(value) - this.props.fieldProps.id.onChange('') + alias.onChange(value) + id.onChange('') } - const t = this.props.t const alias_title = t('form.alias') - const idProps = Object.assign({...this.props.fieldProps.id}, {onChange: idOnChange}) - const aliasProps = Object.assign({...this.props.fieldProps.alias}, {onChange: aliasOnChange}) + const idProps = Object.assign({...id}, {onChange: idOnChange}) + const aliasProps = Object.assign({...alias}, {onChange: aliasOnChange}) return(
- {this.props.title && {this.props.title}} + {title && {title}}
}
- {this.props.hint && {this.props.hint}} + {hint && {hint}}
) } diff --git a/src/features/transactions/components/New/IssueAssets.jsx b/src/features/transactions/components/New/IssueAssets.jsx index 1cd2776..cea91d5 100644 --- a/src/features/transactions/components/New/IssueAssets.jsx +++ b/src/features/transactions/components/New/IssueAssets.jsx @@ -118,14 +118,14 @@ class IssueAssets extends React.Component { } estimateNormalTransactionGas() { - const transaction = this.props.fields - const accountAlias = transaction.accountAlias.value - const accountId = transaction.accountId.value - const assetAlias = transaction.assetAlias.value - const assetId = transaction.assetId.value + const transaction = this.props.values + const accountAlias = transaction.accountAlias + const accountId = transaction.accountId + const assetAlias = transaction.assetAlias + const assetId = transaction.assetId const receivers = transaction.receivers - const addresses = receivers.map(x => x.address.value) - const amounts = receivers.map(x => Number(x.amount.value)) + const addresses = receivers.map(x => x.address) + const amounts = receivers.map(x => Number(x.amount)) const {t, i18n} = this.props @@ -137,28 +137,21 @@ class IssueAssets extends React.Component { return } - const actions = issueAssetTxActionBuilder(transaction, Math.pow(10, 7), 'amount.value' ) + const actions = issueAssetTxActionBuilder(transaction, Math.pow(10, 7), 'amount' ) const body = {actions, ttl: 1} this.connection.request('/build-transaction', body).then(resp => { - if (resp.status === 'fail') { - this.setState({estimateGas: null}) - const errorMsg = resp.code && i18n.exists(`btmError.${resp.code}`) && t(`btmError.${resp.code}`) || resp.msg - this.props.showError(new Error(errorMsg)) - return - } - return this.connection.request('/estimate-transaction-gas', { transactionTemplate: resp.data }).then(resp => { - if (resp.status === 'fail') { - this.setState({estimateGas: null}) - const errorMsg = resp.code && i18n.exists(`btmError.${resp.code}`) && t(`btmError.${resp.code}`) || resp.msg - this.props.showError(new Error(errorMsg)) - return - } this.setState({estimateGas: Math.ceil(resp.data.totalNeu/100000)*100000}) + }).catch(err =>{ + throw err }) + }).catch(err=>{ + this.setState({estimateGas: null, address: null}) + const errorMsg = err.code && i18n.exists(`btmError.${err.code}`) && t(`btmError.${err.code}`) || err.msg + this.props.showError(new Error(errorMsg)) }) } diff --git a/src/features/transactions/components/New/NormalTransactionForm.jsx b/src/features/transactions/components/New/NormalTransactionForm.jsx index 67a77c8..9de7074 100644 --- a/src/features/transactions/components/New/NormalTransactionForm.jsx +++ b/src/features/transactions/components/New/NormalTransactionForm.jsx @@ -91,14 +91,14 @@ class NormalTxForm extends React.Component { } estimateNormalTransactionGas() { - const transaction = this.props.fields - const accountAlias = transaction.accountAlias.value - const accountId = transaction.accountId.value - const assetAlias = transaction.assetAlias.value - const assetId = transaction.assetId.value + const transaction = this.props.values + const accountAlias = transaction.accountAlias + const accountId = transaction.accountId + const assetAlias = transaction.assetAlias + const assetId = transaction.assetId const receivers = transaction.receivers - const addresses = receivers.map(x => x.address.value) - const amounts = receivers.map(x => Number(x.amount.value)) + const addresses = receivers.map(x => x.address) + const amounts = receivers.map(x => Number(x.amount)) const {t, i18n} = this.props @@ -110,7 +110,7 @@ class NormalTxForm extends React.Component { return } - const actions = normalTxActionBuilder(transaction, Math.pow(10, 7), 'amount.value' ) + const actions = normalTxActionBuilder(transaction, Math.pow(10, 7), 'amount' ) const body = {actions, ttl: 1} this.connection.request('/build-transaction', body).then(resp => { @@ -149,7 +149,7 @@ class NormalTxForm extends React.Component { const showAvailableBalance = (accountAlias.value || accountId.value) && (assetAlias.value || assetId.value) - const availableBalance = balance(this.props.fields, assetDecimal, this.props.balances, this.props.btmAmountUnit) + const availableBalance = balance(this.props.values, assetDecimal, this.props.balances, this.props.btmAmountUnit) const showBtmAmountUnit = (assetAlias.value === 'BTM' || assetId.value === btmID) diff --git a/src/features/transactions/transactions.js b/src/features/transactions/transactions.js index fbf53fe..be2f60b 100644 --- a/src/features/transactions/transactions.js +++ b/src/features/transactions/transactions.js @@ -4,17 +4,17 @@ import { sum } from 'utility/math' export const balance = (values, assetDecimal, balances, btmAmountUnit) => { let filteredBalances = balances - if (values.accountAlias.value) { - filteredBalances = filteredBalances.filter(balance => balance.accountAlias === values.accountAlias.value) + if (values.accountAlias) { + filteredBalances = filteredBalances.filter(balance => balance.accountAlias === values.accountAlias) } - if (values.accountId.value) { - filteredBalances = filteredBalances.filter(balance => balance.accountId === values.accountId.value) + if (values.accountId) { + filteredBalances = filteredBalances.filter(balance => balance.accountId === values.accountId) } - if (values.assetAlias.value) { - filteredBalances = filteredBalances.filter(balance => balance.assetAlias === values.assetAlias.value) + if (values.assetAlias) { + filteredBalances = filteredBalances.filter(balance => balance.assetAlias === values.assetAlias) } - if (values.assetId.value) { - filteredBalances = filteredBalances.filter(balance => balance.assetId === values.assetId.value) + if (values.assetId) { + filteredBalances = filteredBalances.filter(balance => balance.assetId === values.assetId) } if(filteredBalances.length === 1){ @@ -44,10 +44,10 @@ export const getAssetDecimal = (values, asset) => { } export const normalTxActionBuilder = (transaction, gas, prop) =>{ - const accountAlias = transaction.accountAlias.value || transaction.accountAlias - const accountId = transaction.accountId.value || transaction.accountId - const assetAlias = transaction.assetAlias.value || transaction.assetAlias - const assetId = transaction.assetId.value || transaction.assetId + const accountAlias = transaction.accountAlias + const accountId = transaction.accountId + const assetAlias = transaction.assetAlias + const assetId = transaction.assetId const receivers = transaction.receivers const totalAmount = sum(receivers, prop ) @@ -73,10 +73,10 @@ export const normalTxActionBuilder = (transaction, gas, prop) =>{ receivers.forEach((receiver)=>{ actions.push( { - address: receiver.address.value || receiver.address, + address: receiver.address, assetAlias, assetId, - amount: Number(receiver.amount.value || receiver.amount), + amount: Number(receiver.amount), type: 'control_address' } ) @@ -86,10 +86,10 @@ export const normalTxActionBuilder = (transaction, gas, prop) =>{ } export const issueAssetTxActionBuilder = (transaction, gas,prop) =>{ - const accountAlias = transaction.accountAlias.value || transaction.accountAlias - const accountId = transaction.accountId.value || transaction.accountId - const assetAlias = transaction.assetAlias.value || transaction.assetAlias - const assetId = transaction.assetId.value || transaction.assetId + const accountAlias = transaction.accountAlias + const accountId = transaction.accountId + const assetAlias = transaction.assetAlias + const assetId = transaction.assetId const receivers = transaction.receivers const totalAmount = sum(receivers, prop ) @@ -113,10 +113,10 @@ export const issueAssetTxActionBuilder = (transaction, gas,prop) =>{ receivers.forEach((receiver)=>{ actions.push( { - address: receiver.address.value || receiver.address, + address: receiver.address, assetAlias, assetId, - amount: Number(receiver.amount.value || receiver.amount), + amount: Number(receiver.amount), type: 'control_address' } ) -- 2.11.0