mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-12-23 09:52:26 +01:00
Update account list after adding account
Fixed by finally making a function generator for a pattern we use frequently, communicating to the background process. Fixes #961
This commit is contained in:
parent
b93cdd428b
commit
3ebf029c04
@ -153,7 +153,7 @@ var actions = {
|
||||
SHOW_NEW_KEYCHAIN: 'SHOW_NEW_KEYCHAIN',
|
||||
showNewKeychain: showNewKeychain,
|
||||
|
||||
|
||||
callBackgroundThenUpdate,
|
||||
}
|
||||
|
||||
module.exports = actions
|
||||
@ -269,15 +269,7 @@ function addNewKeyring (type, opts) {
|
||||
}
|
||||
|
||||
function addNewAccount (ringNumber = 0) {
|
||||
return (dispatch) => {
|
||||
dispatch(actions.showLoadingIndication())
|
||||
background.addNewAccount(ringNumber, (err) => {
|
||||
dispatch(this.hideLoadingIndication())
|
||||
if (err) {
|
||||
return dispatch(actions.showWarning(err))
|
||||
}
|
||||
})
|
||||
}
|
||||
return callBackgroundThenUpdate(background.addNewAccount, ringNumber)
|
||||
}
|
||||
|
||||
function showInfoPage () {
|
||||
@ -476,6 +468,7 @@ function updateMetamaskState (newState) {
|
||||
|
||||
function lockMetamask () {
|
||||
return (dispatch) => {
|
||||
dispatch(actions.showLoadingIndication())
|
||||
background.setLocked((err, newState) => {
|
||||
dispatch(actions.hideLoadingIndication())
|
||||
if (err) {
|
||||
@ -857,3 +850,24 @@ function shapeShiftRequest (query, options, cb) {
|
||||
return shapShiftReq.send()
|
||||
}
|
||||
}
|
||||
|
||||
// Call Background Then Update
|
||||
//
|
||||
// A function generator for a common pattern wherein:
|
||||
// We show loading indication.
|
||||
// We call a background method.
|
||||
// We hide loading indication.
|
||||
// If it errored, we show a warning.
|
||||
// If it didn't, we update the state.
|
||||
function callBackgroundThenUpdate (method, ...args) {
|
||||
return (dispatch) => {
|
||||
dispatch(actions.showLoadingIndication())
|
||||
method.call(background, ...args, (err, newState) => {
|
||||
dispatch(actions.hideLoadingIndication())
|
||||
if (err) {
|
||||
return dispatch(actions.displayWarning(err.message))
|
||||
}
|
||||
dispatch(actions.updateMetamaskState(newState))
|
||||
})
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user