aboutsummaryrefslogtreecommitdiffstats
path: root/app/scripts/metamask-controller.js
diff options
context:
space:
mode:
authorKevin Serrano <kevgagser@gmail.com>2017-01-04 01:28:53 +0800
committerGitHub <noreply@github.com>2017-01-04 01:28:53 +0800
commitb13c54682b75aaceba1ef37a4d97669f57e448a9 (patch)
treee81657c2671e25fbbba9e9bc3a62828269c38da5 /app/scripts/metamask-controller.js
parentfa3e708f34fce523601c39b3131bdbe858d2f85f (diff)
parentfe61fcb0fcbee05724b77f9729660c9f692a0cb1 (diff)
downloadtangerine-wallet-browser-b13c54682b75aaceba1ef37a4d97669f57e448a9.tar
tangerine-wallet-browser-b13c54682b75aaceba1ef37a4d97669f57e448a9.tar.gz
tangerine-wallet-browser-b13c54682b75aaceba1ef37a4d97669f57e448a9.tar.bz2
tangerine-wallet-browser-b13c54682b75aaceba1ef37a4d97669f57e448a9.tar.lz
tangerine-wallet-browser-b13c54682b75aaceba1ef37a4d97669f57e448a9.tar.xz
tangerine-wallet-browser-b13c54682b75aaceba1ef37a4d97669f57e448a9.tar.zst
tangerine-wallet-browser-b13c54682b75aaceba1ef37a4d97669f57e448a9.zip
Merge pull request #958 from MetaMask/i897-ReplayProtection
Add replay protection
Diffstat (limited to 'app/scripts/metamask-controller.js')
-rw-r--r--app/scripts/metamask-controller.js35
1 files changed, 19 insertions, 16 deletions
diff --git a/app/scripts/metamask-controller.js b/app/scripts/metamask-controller.js
index 5df10672a..86eab9d9c 100644
--- a/app/scripts/metamask-controller.js
+++ b/app/scripts/metamask-controller.js
@@ -63,16 +63,19 @@ module.exports = class MetamaskController {
}
getState () {
- return extend(
- this.state,
- this.ethStore.getState(),
- this.configManager.getConfig(),
- this.keyringController.getState(),
- this.txManager.getState(),
- this.noticeController.getState(), {
- lostAccounts: this.configManager.getLostAccounts(),
- }
- )
+ return this.keyringController.getState()
+ .then((keyringControllerState) => {
+ return extend(
+ this.state,
+ this.ethStore.getState(),
+ this.configManager.getConfig(),
+ this.txManager.getState(),
+ keyringControllerState,
+ this.noticeController.getState(), {
+ lostAccounts: this.configManager.getLostAccounts(),
+ }
+ )
+ })
}
getApi () {
@@ -81,7 +84,7 @@ module.exports = class MetamaskController {
const noticeController = this.noticeController
return {
- getState: (cb) => { cb(null, this.getState()) },
+ getState: nodeify(this.getState.bind(this)),
setRpcTarget: this.setRpcTarget.bind(this),
setProviderType: this.setProviderType.bind(this),
useEtherscanProvider: this.useEtherscanProvider.bind(this),
@@ -101,7 +104,7 @@ module.exports = class MetamaskController {
setLocked: nodeify(keyringController.setLocked).bind(keyringController),
submitPassword: (password, cb) => {
this.migrateOldVaultIfAny(password)
- .then(keyringController.submitPassword.bind(keyringController))
+ .then(keyringController.submitPassword.bind(keyringController, password))
.then((newState) => { cb(null, newState) })
.catch((reason) => { cb(reason) })
},
@@ -177,8 +180,8 @@ module.exports = class MetamaskController {
// tx signing
approveTransaction: this.newUnsignedTransaction.bind(this),
signTransaction: (...args) => {
- this.setupSigningListners(...args)
- this.txManager.formatTxForSigining(...args)
+ this.setupSigningListeners(...args)
+ this.txManager.formatTxForSigning(...args)
this.sendUpdate()
},
@@ -257,7 +260,7 @@ module.exports = class MetamaskController {
})
}
- setupSigningListners (txParams) {
+ setupSigningListeners (txParams) {
var txId = txParams.metamaskId
// apply event listeners for signing and formating events
this.txManager.once(`${txId}:formatted`, this.keyringController.signTransaction.bind(this.keyringController))
@@ -471,7 +474,7 @@ module.exports = class MetamaskController {
return this.idStoreMigrator.migratedVaultForPassword(password)
.then(this.restoreOldVaultAccounts.bind(this))
.then(this.restoreOldLostAccounts.bind(this))
- .then(keyringController.persistAllKeyrings.bind(keyringController))
+ .then(keyringController.persistAllKeyrings.bind(keyringController, password))
.then(() => password)
}