transactions - emit 'newUnapprovedTx' before estimateGas finishes

This commit is contained in:
frankiebee 2018-01-14 14:00:17 -08:00
parent d5c311b13e
commit f0dd4f1923
1 changed files with 6 additions and 2 deletions

View File

@ -139,7 +139,6 @@ module.exports = class TransactionController extends EventEmitter {
async newUnapprovedTransaction (txParams) {
log.debug(`MetaMaskController newUnapprovedTransaction ${JSON.stringify(txParams)}`)
const initialTxMeta = await this.addUnapprovedTransaction(txParams)
this.emit('newUnapprovedTx', initialTxMeta)
// listen for tx completion (success, fail)
return new Promise((resolve, reject) => {
this.txStateManager.once(`${initialTxMeta.id}:finished`, (finishedTxMeta) => {
@ -167,11 +166,16 @@ module.exports = class TransactionController extends EventEmitter {
status: 'unapproved',
metamaskNetworkId: this.getNetwork(),
txParams: txParams,
loadingDefaults: true,
}
this.addTx(txMeta)
this.emit('newUnapprovedTx', txMeta)
// add default tx params
await this.addTxDefaults(txMeta)
txMeta.loadingDefaults = false
// save txMeta
this.addTx(txMeta)
this.txStateManager.updateTx(txMeta)
return txMeta
}