aboutsummaryrefslogtreecommitdiffstats
path: root/app/scripts/controllers/transactions/index.js
diff options
context:
space:
mode:
authorkumavis <kumavis@users.noreply.github.com>2018-06-19 06:11:16 +0800
committerGitHub <noreply@github.com>2018-06-19 06:11:16 +0800
commit4598554fea7b9435e5cbecc4735c479ffbadf37e (patch)
tree338aaee17d433383c9a57b385489cbc8df3f82d0 /app/scripts/controllers/transactions/index.js
parent39a7702c8f0aa2c2e7fdf2bcf913e76bb8b827f4 (diff)
parent0e3ecbbc4f7ab0579a33bf315af4dfafeb43f339 (diff)
downloadtangerine-wallet-browser-4598554fea7b9435e5cbecc4735c479ffbadf37e.tar
tangerine-wallet-browser-4598554fea7b9435e5cbecc4735c479ffbadf37e.tar.gz
tangerine-wallet-browser-4598554fea7b9435e5cbecc4735c479ffbadf37e.tar.bz2
tangerine-wallet-browser-4598554fea7b9435e5cbecc4735c479ffbadf37e.tar.lz
tangerine-wallet-browser-4598554fea7b9435e5cbecc4735c479ffbadf37e.tar.xz
tangerine-wallet-browser-4598554fea7b9435e5cbecc4735c479ffbadf37e.tar.zst
tangerine-wallet-browser-4598554fea7b9435e5cbecc4735c479ffbadf37e.zip
Merge pull request #4603 from MetaMask/v4.8.0
V4.8.0
Diffstat (limited to 'app/scripts/controllers/transactions/index.js')
-rw-r--r--app/scripts/controllers/transactions/index.js15
1 files changed, 12 insertions, 3 deletions
diff --git a/app/scripts/controllers/transactions/index.js b/app/scripts/controllers/transactions/index.js
index aff5db984..8e2288aed 100644
--- a/app/scripts/controllers/transactions/index.js
+++ b/app/scripts/controllers/transactions/index.js
@@ -10,6 +10,7 @@ const NonceTracker = require('./nonce-tracker')
const txUtils = require('./lib/util')
const cleanErrorStack = require('../../lib/cleanErrorStack')
const log = require('loglevel')
+const recipientBlacklistChecker = require('./lib/recipient-blacklist-checker')
/**
Transaction Controller is an aggregate of sub-controllers and trackers
@@ -157,11 +158,14 @@ class TransactionController extends EventEmitter {
let txMeta = this.txStateManager.generateTxMeta({ txParams: normalizedTxParams })
this.addTx(txMeta)
this.emit('newUnapprovedTx', txMeta)
- // add default tx params
+
try {
+ // check whether recipient account is blacklisted
+ recipientBlacklistChecker.checkAccount(txMeta.metamaskNetworkId, normalizedTxParams.to)
+ // add default tx params
txMeta = await this.addTxGasDefaults(txMeta)
} catch (error) {
- console.log(error)
+ log.warn(error)
this.txStateManager.setTxStatusFailed(txMeta.id, error)
throw error
}
@@ -260,7 +264,12 @@ class TransactionController extends EventEmitter {
// must set transaction to submitted/failed before releasing lock
nonceLock.releaseLock()
} catch (err) {
- this.txStateManager.setTxStatusFailed(txId, err)
+ // this is try-catch wrapped so that we can guarantee that the nonceLock is released
+ try {
+ this.txStateManager.setTxStatusFailed(txId, err)
+ } catch (err) {
+ log.error(err)
+ }
// must set transaction to submitted/failed before releasing lock
if (nonceLock) nonceLock.releaseLock()
// continue with error chain