Use default account for sending transactions (#5588)

* Add default account for Wallet Creation

* Use default account by default, save current used account

* Fix tests
This commit is contained in:
Nicolas Gotchac
2017-05-16 16:38:16 +02:00
committed by Gav Wood
parent 48ddd8b312
commit 8642300d74
7 changed files with 70 additions and 7 deletions

View File

@@ -24,7 +24,7 @@ import { bindActionCreators } from 'redux';
import { Button, GasPriceEditor, IdentityIcon, Portal, Warning } from '~/ui';
import { CancelIcon } from '~/ui/Icons';
import { ERRORS, validateAbi, validateCode, validateName, validatePositiveNumber } from '~/util/validation';
import { deploy, deployEstimateGas } from '~/util/tx';
import { deploy, deployEstimateGas, getSender, loadSender, setSender } from '~/util/tx';
import { setRequest } from '~/redux/providers/requestsActions';
import DetailsStep from './DetailsStep';
@@ -94,7 +94,7 @@ class DeployContract extends Component {
description: '',
descriptionError: null,
extras: false,
fromAddress: Object.keys(this.props.accounts)[0],
fromAddress: getSender() || Object.keys(this.props.accounts)[0],
fromAddressError: null,
name: '',
nameError: ERRORS.invalidName,
@@ -110,6 +110,13 @@ class DeployContract extends Component {
if (abi && code) {
this.setState({ abi, code });
}
loadSender(this.context.api)
.then((defaultAccount) => {
if (defaultAccount !== this.state.fromAddress) {
this.setState({ fromAddress: defaultAccount });
}
});
}
componentWillReceiveProps (nextProps) {
@@ -467,6 +474,7 @@ class DeployContract extends Component {
const contract = api.newContract(abiParsed);
setSender(fromAddress);
this.onClose();
deploy(contract, options, params, true)
.then((requestId) => {