aboutsummaryrefslogtreecommitdiffstats
path: root/ui/app/components/send/send.container.js
diff options
context:
space:
mode:
authorbrunobar79 <brunobar79@gmail.com>2018-07-17 00:55:13 +0800
committerbrunobar79 <brunobar79@gmail.com>2018-07-17 00:55:13 +0800
commitd05814a5ad375f21a0b3d72de1815764eb1da5a4 (patch)
tree50315015995fac6ab84f00e479d61710859ddb42 /ui/app/components/send/send.container.js
parent7f29b46d32b590ebc34c6f86360ef34e8bbb75fe (diff)
parentdb4469794e3e843f3cb08222d0a9b568c7816a85 (diff)
downloadtangerine-wallet-browser-d05814a5ad375f21a0b3d72de1815764eb1da5a4.tar.gz
tangerine-wallet-browser-d05814a5ad375f21a0b3d72de1815764eb1da5a4.tar.zst
tangerine-wallet-browser-d05814a5ad375f21a0b3d72de1815764eb1da5a4.zip
Merge branch 'develop' into initial-trezor-support
Diffstat (limited to 'ui/app/components/send/send.container.js')
-rw-r--r--ui/app/components/send/send.container.js93
1 files changed, 93 insertions, 0 deletions
diff --git a/ui/app/components/send/send.container.js b/ui/app/components/send/send.container.js
new file mode 100644
index 000000000..44ebd2792
--- /dev/null
+++ b/ui/app/components/send/send.container.js
@@ -0,0 +1,93 @@
+import { connect } from 'react-redux'
+import SendEther from './send.component'
+import { withRouter } from 'react-router-dom'
+import { compose } from 'recompose'
+import {
+ getAmountConversionRate,
+ getBlockGasLimit,
+ getConversionRate,
+ getCurrentNetwork,
+ getGasLimit,
+ getGasPrice,
+ getGasTotal,
+ getPrimaryCurrency,
+ getRecentBlocks,
+ getSelectedAddress,
+ getSelectedToken,
+ getSelectedTokenContract,
+ getSelectedTokenToFiatRate,
+ getSendAmount,
+ getSendEditingTransactionId,
+ getSendFromObject,
+ getSendTo,
+ getTokenBalance,
+} from './send.selectors'
+import {
+ updateSendTokenBalance,
+ updateGasData,
+ setGasTotal,
+} from '../../actions'
+import {
+ resetSendState,
+ updateSendErrors,
+} from '../../ducks/send.duck'
+import {
+ calcGasTotal,
+} from './send.utils.js'
+
+module.exports = compose(
+ withRouter,
+ connect(mapStateToProps, mapDispatchToProps)
+)(SendEther)
+
+function mapStateToProps (state) {
+ return {
+ amount: getSendAmount(state),
+ amountConversionRate: getAmountConversionRate(state),
+ blockGasLimit: getBlockGasLimit(state),
+ conversionRate: getConversionRate(state),
+ editingTransactionId: getSendEditingTransactionId(state),
+ from: getSendFromObject(state),
+ gasLimit: getGasLimit(state),
+ gasPrice: getGasPrice(state),
+ gasTotal: getGasTotal(state),
+ network: getCurrentNetwork(state),
+ primaryCurrency: getPrimaryCurrency(state),
+ recentBlocks: getRecentBlocks(state),
+ selectedAddress: getSelectedAddress(state),
+ selectedToken: getSelectedToken(state),
+ to: getSendTo(state),
+ tokenBalance: getTokenBalance(state),
+ tokenContract: getSelectedTokenContract(state),
+ tokenToFiatRate: getSelectedTokenToFiatRate(state),
+ }
+}
+
+function mapDispatchToProps (dispatch) {
+ return {
+ updateAndSetGasTotal: ({
+ blockGasLimit,
+ editingTransactionId,
+ gasLimit,
+ gasPrice,
+ recentBlocks,
+ selectedAddress,
+ selectedToken,
+ to,
+ value,
+ }) => {
+ !editingTransactionId
+ ? dispatch(updateGasData({ recentBlocks, selectedAddress, selectedToken, blockGasLimit, to, value }))
+ : dispatch(setGasTotal(calcGasTotal(gasLimit, gasPrice)))
+ },
+ updateSendTokenBalance: ({ selectedToken, tokenContract, address }) => {
+ dispatch(updateSendTokenBalance({
+ selectedToken,
+ tokenContract,
+ address,
+ }))
+ },
+ updateSendErrors: newError => dispatch(updateSendErrors(newError)),
+ resetSendState: () => dispatch(resetSendState()),
+ }
+}