Merge pull request #1239 from MetaMask/betterErrors

Better errors
feature/default_network_editable
kumavis 8 years ago committed by GitHub
commit 864f8b06f9
  1. 1
      CHANGELOG.md
  2. 15
      app/scripts/transaction-manager.js

@ -2,6 +2,7 @@
## Current Master ## Current Master
- Add better error messages for when a transaction fails on approval
- Allow sending to ENS names in send form on Ropsten. - Allow sending to ENS names in send form on Ropsten.
- Added an address book functionality that remembers the last 15 unique addresses sent to. - Added an address book functionality that remembers the last 15 unique addresses sent to.
- Can now change network to custom RPC URL from lock screen. - Can now change network to custom RPC URL from lock screen.

@ -172,7 +172,10 @@ module.exports = class TransactionManager extends EventEmitter {
], (err) => { ], (err) => {
self.nonceLock.leave() self.nonceLock.leave()
if (err) { if (err) {
this.setTxStatusFailed(txId) this.setTxStatusFailed(txId, {
errCode: err.errCode || err,
message: err.message || 'Transaction failed during approval',
})
return cb(err) return cb(err)
} }
cb() cb()
@ -291,7 +294,10 @@ module.exports = class TransactionManager extends EventEmitter {
this._setTxStatus(txId, 'confirmed') this._setTxStatus(txId, 'confirmed')
} }
setTxStatusFailed (txId) { setTxStatusFailed (txId, reason) {
let txMeta = this.getTx(txId)
txMeta.err = reason
this.updateTx(txMeta)
this._setTxStatus(txId, 'failed') this._setTxStatus(txId, 'failed')
} }
@ -312,12 +318,11 @@ module.exports = class TransactionManager extends EventEmitter {
var txHash = txMeta.hash var txHash = txMeta.hash
var txId = txMeta.id var txId = txMeta.id
if (!txHash) { if (!txHash) {
txMeta.err = { let errReason = {
errCode: 'No hash was provided', errCode: 'No hash was provided',
message: 'We had an error while submitting this transaction, please try again.', message: 'We had an error while submitting this transaction, please try again.',
} }
this.updateTx(txMeta) return this.setTxStatusFailed(txId, errReason)
return this.setTxStatusFailed(txId)
} }
this.txProviderUtils.query.getTransactionByHash(txHash, (err, txParams) => { this.txProviderUtils.query.getTransactionByHash(txHash, (err, txParams) => {
if (err || !txParams) { if (err || !txParams) {

Loading…
Cancel
Save