Ensure 3box validation uses the correct address (#7235)

feature/default_network_editable
Dan J Miller 5 years ago committed by Mark Stacey
parent 8d97bdc5c9
commit daf4fe439c
  1. 15
      app/scripts/controllers/threebox.js
  2. 1
      app/scripts/metamask-controller.js

@ -20,7 +20,6 @@ class ThreeBoxController {
addressBookController,
version,
getKeyringControllerState,
getSelectedAddress,
} = opts
this.preferencesController = preferencesController
@ -32,18 +31,20 @@ class ThreeBoxController {
if (origin !== '3Box') { return [] }
const isUnlocked = getKeyringControllerState().isUnlocked
const selectedAddress = getSelectedAddress()
const accounts = await this.keyringController.getAccounts()
if (isUnlocked && selectedAddress) {
return [selectedAddress]
if (isUnlocked && accounts[0]) {
const appKeyAddress = await this.keyringController.getAppKeyAddress(accounts[0], 'wallet://3box.metamask.io')
return [appKeyAddress]
} else {
return []
}
},
processPersonalMessage: (msgParams) => {
return Promise.resolve(keyringController.signPersonalMessage(msgParams, {
processPersonalMessage: async (msgParams) => {
const accounts = await this.keyringController.getAccounts()
return keyringController.signPersonalMessage({ ...msgParams, from: accounts[0] }, {
withAppKeyOrigin: 'wallet://3box.metamask.io',
}))
})
},
})

@ -206,7 +206,6 @@ module.exports = class MetamaskController extends EventEmitter {
keyringController: this.keyringController,
initState: initState.ThreeBoxController,
getKeyringControllerState: this.keyringController.memStore.getState.bind(this.keyringController.memStore),
getSelectedAddress: this.preferencesController.getSelectedAddress.bind(this.preferencesController),
version,
})

Loading…
Cancel
Save