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

actions - dont expect background to provide newState, manually update

This commit is contained in:
kumavis 2017-02-02 16:46:56 -08:00
parent 270808c206
commit 296b278592

View File

@ -158,6 +158,7 @@ var actions = {
showNewKeychain: showNewKeychain, showNewKeychain: showNewKeychain,
callBackgroundThenUpdate, callBackgroundThenUpdate,
forceUpdateMetamaskState,
} }
module.exports = actions module.exports = actions
@ -179,13 +180,13 @@ function tryUnlockMetamask (password) {
return (dispatch) => { return (dispatch) => {
dispatch(actions.showLoadingIndication()) dispatch(actions.showLoadingIndication())
dispatch(actions.unlockInProgress()) dispatch(actions.unlockInProgress())
background.submitPassword(password, (err, newState) => { background.submitPassword(password, (err) => {
dispatch(actions.hideLoadingIndication()) dispatch(actions.hideLoadingIndication())
if (err) { if (err) {
dispatch(actions.unlockFailed(err.message)) dispatch(actions.unlockFailed(err.message))
} else { } else {
dispatch(actions.transitionForward()) dispatch(actions.transitionForward())
dispatch(actions.updateMetamaskState(newState)) forceUpdateMetamaskState(dispatch)
} }
}) })
} }
@ -232,16 +233,16 @@ function createNewVaultAndRestore (password, seed) {
function createNewVaultAndKeychain (password) { function createNewVaultAndKeychain (password) {
return (dispatch) => { return (dispatch) => {
dispatch(actions.showLoadingIndication()) dispatch(actions.showLoadingIndication())
background.createNewVaultAndKeychain(password, (err, newState) => { background.createNewVaultAndKeychain(password, (err) => {
if (err) { if (err) {
return dispatch(actions.displayWarning(err.message)) return dispatch(actions.displayWarning(err.message))
} }
background.placeSeedWords((err, newState) => { background.placeSeedWords((err) => {
if (err) { if (err) {
return dispatch(actions.displayWarning(err.message)) return dispatch(actions.displayWarning(err.message))
} }
dispatch(actions.hideLoadingIndication()) dispatch(actions.hideLoadingIndication())
dispatch(actions.updateMetamaskState(newState)) forceUpdateMetamaskState(dispatch)
}) })
}) })
} }
@ -280,13 +281,18 @@ function addNewKeyring (type, opts) {
function importNewAccount (strategy, args) { function importNewAccount (strategy, args) {
return (dispatch) => { return (dispatch) => {
dispatch(actions.showLoadingIndication('This may take a while, be patient.')) dispatch(actions.showLoadingIndication('This may take a while, be patient.'))
background.importAccountWithStrategy(strategy, args, (err, newState) => { background.importAccountWithStrategy(strategy, args, (err) => {
dispatch(actions.hideLoadingIndication()) dispatch(actions.hideLoadingIndication())
if (err) return dispatch(actions.displayWarning(err.message)) if (err) return dispatch(actions.displayWarning(err.message))
dispatch(actions.updateMetamaskState(newState)) background.getState((err, newState) => {
dispatch({ if (err) {
type: actions.SHOW_ACCOUNT_DETAIL, return dispatch(actions.displayWarning(err.message))
value: newState.selectedAddress, }
dispatch(actions.updateMetamaskState(newState))
dispatch({
type: actions.SHOW_ACCOUNT_DETAIL,
value: newState.selectedAddress,
})
}) })
}) })
} }
@ -876,12 +882,21 @@ function shapeShiftRequest (query, options, cb) {
function callBackgroundThenUpdate (method, ...args) { function callBackgroundThenUpdate (method, ...args) {
return (dispatch) => { return (dispatch) => {
dispatch(actions.showLoadingIndication()) dispatch(actions.showLoadingIndication())
method.call(background, ...args, (err, newState) => { method.call(background, ...args, (err) => {
dispatch(actions.hideLoadingIndication()) dispatch(actions.hideLoadingIndication())
if (err) { if (err) {
return dispatch(actions.displayWarning(err.message)) return dispatch(actions.displayWarning(err.message))
} }
dispatch(actions.updateMetamaskState(newState)) forceUpdateMetamaskState(dispatch)
}) })
} }
} }
function forceUpdateMetamaskState(dispatch){
background.getState((err, newState) => {
if (err) {
return dispatch(actions.displayWarning(err.message))
}
dispatch(actions.updateMetamaskState(newState))
})
}