1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-12-23 09:52:26 +01:00

Merge pull request #5102 from whymarrh/fix-account-export-pw-bug

Fix export privkey modal password bugs
This commit is contained in:
Whymarrh Whitby 2018-08-22 16:28:33 -02:30 committed by GitHub
commit f495c0e9e0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 20 additions and 5 deletions

View File

@ -61,7 +61,7 @@ AccountDetailsModal.prototype.render = function () {
let exportPrivateKeyFeatureEnabled = true let exportPrivateKeyFeatureEnabled = true
// This feature is disabled for hardware wallets // This feature is disabled for hardware wallets
if (keyring.type.search('Hardware') !== -1) { if (keyring && keyring.type.search('Hardware') !== -1) {
exportPrivateKeyFeatureEnabled = false exportPrivateKeyFeatureEnabled = false
} }

View File

@ -1,3 +1,4 @@
const log = require('loglevel')
const Component = require('react').Component const Component = require('react').Component
const PropTypes = require('prop-types') const PropTypes = require('prop-types')
const h = require('react-hyperscript') const h = require('react-hyperscript')
@ -31,7 +32,13 @@ function mapStateToPropsFactory () {
function mapDispatchToProps (dispatch) { function mapDispatchToProps (dispatch) {
return { return {
exportAccount: (password, address) => dispatch(actions.exportAccount(password, address)), exportAccount: (password, address) => {
return dispatch(actions.exportAccount(password, address))
.then((res) => {
dispatch(actions.hideWarning())
return res
})
},
showAccountDetailModal: () => dispatch(actions.showModal({ name: 'ACCOUNT_DETAILS' })), showAccountDetailModal: () => dispatch(actions.showModal({ name: 'ACCOUNT_DETAILS' })),
hideModal: () => dispatch(actions.hideModal()), hideModal: () => dispatch(actions.hideModal()),
} }
@ -44,6 +51,7 @@ function ExportPrivateKeyModal () {
this.state = { this.state = {
password: '', password: '',
privateKey: null, privateKey: null,
showWarning: true,
} }
} }
@ -58,7 +66,11 @@ ExportPrivateKeyModal.prototype.exportAccountAndGetPrivateKey = function (passwo
const { exportAccount } = this.props const { exportAccount } = this.props
exportAccount(password, address) exportAccount(password, address)
.then(privateKey => this.setState({ privateKey })) .then(privateKey => this.setState({
privateKey,
showWarning: false,
}))
.catch((e) => log.error(e))
} }
ExportPrivateKeyModal.prototype.renderPasswordLabel = function (privateKey) { ExportPrivateKeyModal.prototype.renderPasswordLabel = function (privateKey) {
@ -118,7 +130,10 @@ ExportPrivateKeyModal.prototype.render = function () {
} = this.props } = this.props
const { name, address } = selectedIdentity const { name, address } = selectedIdentity
const { privateKey } = this.state const {
privateKey,
showWarning,
} = this.state
return h(AccountModalContainer, { return h(AccountModalContainer, {
selectedIdentity, selectedIdentity,
@ -143,7 +158,7 @@ ExportPrivateKeyModal.prototype.render = function () {
this.renderPasswordInput(privateKey), this.renderPasswordInput(privateKey),
!warning ? null : h('span.private-key-password-error', warning), showWarning && warning ? h('span.private-key-password-error', warning) : null,
]), ]),
h('div.private-key-password-warning', this.context.t('privateKeyWarning')), h('div.private-key-password-warning', this.context.t('privateKeyWarning')),