diff options
author | Frankie <frankie.diamond@gmail.com> | 2017-01-05 05:04:33 +0800 |
---|---|---|
committer | Frankie <frankie.diamond@gmail.com> | 2017-01-05 05:04:33 +0800 |
commit | e6da8e2762cd54975c334314357f1cd27cc980c8 (patch) | |
tree | 995589dbb09b07b0b19e9d956aff49e0c9854bd4 /app/scripts/metamask-controller.js | |
parent | fb002dc44eae82e0471b8b52acecc61ba5f39332 (diff) | |
download | tangerine-wallet-browser-e6da8e2762cd54975c334314357f1cd27cc980c8.tar tangerine-wallet-browser-e6da8e2762cd54975c334314357f1cd27cc980c8.tar.gz tangerine-wallet-browser-e6da8e2762cd54975c334314357f1cd27cc980c8.tar.bz2 tangerine-wallet-browser-e6da8e2762cd54975c334314357f1cd27cc980c8.tar.lz tangerine-wallet-browser-e6da8e2762cd54975c334314357f1cd27cc980c8.tar.xz tangerine-wallet-browser-e6da8e2762cd54975c334314357f1cd27cc980c8.tar.zst tangerine-wallet-browser-e6da8e2762cd54975c334314357f1cd27cc980c8.zip |
Fix signing of transactions
Diffstat (limited to 'app/scripts/metamask-controller.js')
-rw-r--r-- | app/scripts/metamask-controller.js | 30 |
1 files changed, 19 insertions, 11 deletions
diff --git a/app/scripts/metamask-controller.js b/app/scripts/metamask-controller.js index 5df10672a..32e9faab2 100644 --- a/app/scripts/metamask-controller.js +++ b/app/scripts/metamask-controller.js @@ -176,10 +176,25 @@ module.exports = class MetamaskController { }, // tx signing approveTransaction: this.newUnsignedTransaction.bind(this), - signTransaction: (...args) => { - this.setupSigningListners(...args) - this.txManager.formatTxForSigining(...args) - this.sendUpdate() + signTransaction: (txParams, cb) => { + this.txManager.formatTxForSigining(txParams) + .then(({ethTx, address, txId}) => { + return this.keyringController.signTransaction(ethTx, address, txId) + }) + .then(({tx, txId}) => { + return this.txManager.resolveSignedTransaction({tx, txId}) + }) + .then((rawTx) => { + cb(null, rawTx) + }) + .catch((err) => { + console.error(err) + cb(err) + }) + .then(() => { + this.sendUpdate() + this.txManager.emit(`${txParams.metamaskId}:signingComplete`) + }) }, // msg signing @@ -257,13 +272,6 @@ module.exports = class MetamaskController { }) } - setupSigningListners (txParams) { - var txId = txParams.metamaskId - // apply event listeners for signing and formating events - this.txManager.once(`${txId}:formatted`, this.keyringController.signTransaction.bind(this.keyringController)) - this.keyringController.once(`${txId}:signed`, this.txManager.resolveSignedTransaction.bind(this.txManager)) - } - enforceTxValidations (txParams) { if (('value' in txParams) && txParams.value.indexOf('-') === 0) { const msg = `Invalid transaction value of ${txParams.value} not a positive number.` |