diff --git a/js/src/modals/DeployContract/DetailsStep/detailsStep.js b/js/src/modals/DeployContract/DetailsStep/detailsStep.js
index aa0a30e55..9db223793 100644
--- a/js/src/modals/DeployContract/DetailsStep/detailsStep.js
+++ b/js/src/modals/DeployContract/DetailsStep/detailsStep.js
@@ -37,6 +37,7 @@ export default class DetailsStep extends Component {
onParamsChange: PropTypes.func.isRequired,
onInputsChange: PropTypes.func.isRequired,
+ balances: PropTypes.object,
fromAddress: PropTypes.string,
fromAddressError: PropTypes.string,
name: PropTypes.string,
@@ -77,6 +78,7 @@ export default class DetailsStep extends Component {
render () {
const {
accounts,
+ balances,
readOnly,
fromAddress, fromAddressError,
@@ -97,6 +99,7 @@ export default class DetailsStep extends Component {
value={ fromAddress }
error={ fromAddressError }
accounts={ accounts }
+ balances={ balances }
onChange={ this.onFromAddressChange } />
.
import React, { Component, PropTypes } from 'react';
+import { connect } from 'react-redux';
import ActionDoneAll from 'material-ui/svg-icons/action/done-all';
import ContentClear from 'material-ui/svg-icons/content/clear';
+import { pick } from 'lodash';
import { BusyStep, CompletedStep, CopyToClipboard, Button, IdentityIcon, Modal, TxHash } from '~/ui';
import { ERRORS, validateAbi, validateCode, validateName } from '~/util/validation';
@@ -36,7 +38,7 @@ const STEPS = {
COMPLETED: { title: 'completed' }
};
-export default class DeployContract extends Component {
+class DeployContract extends Component {
static contextTypes = {
api: PropTypes.object.isRequired,
store: PropTypes.object.isRequired
@@ -45,6 +47,7 @@ export default class DeployContract extends Component {
static propTypes = {
accounts: PropTypes.object.isRequired,
onClose: PropTypes.func.isRequired,
+ balances: PropTypes.object,
abi: PropTypes.string,
code: PropTypes.string,
readOnly: PropTypes.bool,
@@ -192,7 +195,7 @@ export default class DeployContract extends Component {
}
renderStep () {
- const { accounts, readOnly } = this.props;
+ const { accounts, readOnly, balances } = this.props;
const { address, deployError, step, deployState, txhash, rejected } = this.state;
if (deployError) {
@@ -216,6 +219,7 @@ export default class DeployContract extends Component {
{
+ const balances = pick(state.balances.balances, fromAddresses);
+ return { balances };
+ };
+}
+
+export default connect(
+ mapStateToProps
+)(DeployContract);
+
diff --git a/js/src/modals/ExecuteContract/DetailsStep/detailsStep.js b/js/src/modals/ExecuteContract/DetailsStep/detailsStep.js
index 3ffb929a9..7bbe7be84 100644
--- a/js/src/modals/ExecuteContract/DetailsStep/detailsStep.js
+++ b/js/src/modals/ExecuteContract/DetailsStep/detailsStep.js
@@ -35,22 +35,24 @@ export default class DetailsStep extends Component {
amount: PropTypes.string,
amountError: PropTypes.string,
onAmountChange: PropTypes.func.isRequired,
+ onFromAddressChange: PropTypes.func.isRequired,
+ onValueChange: PropTypes.func.isRequired,
+ values: PropTypes.array.isRequired,
+ valuesError: PropTypes.array.isRequired,
+
+ balances: PropTypes.object,
fromAddress: PropTypes.string,
fromAddressError: PropTypes.string,
gasEdit: PropTypes.bool,
- onFromAddressChange: PropTypes.func.isRequired,
func: PropTypes.object,
funcError: PropTypes.string,
onFuncChange: PropTypes.func,
onGasEditClick: PropTypes.func,
- values: PropTypes.array.isRequired,
- valuesError: PropTypes.array.isRequired,
- warning: PropTypes.string,
- onValueChange: PropTypes.func.isRequired
+ warning: PropTypes.string
}
render () {
- const { accounts, amount, amountError, fromAddress, fromAddressError, gasEdit, onGasEditClick, onFromAddressChange, onAmountChange } = this.props;
+ const { accounts, amount, amountError, balances, fromAddress, fromAddressError, gasEdit, onGasEditClick, onFromAddressChange, onAmountChange } = this.props;
return (