aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCsaba Solya <csaba.solya@gmail.com>2018-05-31 03:15:59 +0800
committerCsaba Solya <csaba.solya@gmail.com>2018-05-31 03:15:59 +0800
commit1dda0c646940179bec6e886117a8ecf3f0f7ab48 (patch)
treefd2a6c901ca0647af1fae2df7780102e54b28829
parent3e489ea16506569950c10fc3636071075b2495e8 (diff)
downloadtangerine-wallet-browser-1dda0c646940179bec6e886117a8ecf3f0f7ab48.tar
tangerine-wallet-browser-1dda0c646940179bec6e886117a8ecf3f0f7ab48.tar.gz
tangerine-wallet-browser-1dda0c646940179bec6e886117a8ecf3f0f7ab48.tar.bz2
tangerine-wallet-browser-1dda0c646940179bec6e886117a8ecf3f0f7ab48.tar.lz
tangerine-wallet-browser-1dda0c646940179bec6e886117a8ecf3f0f7ab48.tar.xz
tangerine-wallet-browser-1dda0c646940179bec6e886117a8ecf3f0f7ab48.tar.zst
tangerine-wallet-browser-1dda0c646940179bec6e886117a8ecf3f0f7ab48.zip
remove generating blocked accounts and use a config file instead
-rw-r--r--app/scripts/controllers/transactions/index.js4
-rw-r--r--app/scripts/controllers/transactions/lib/recipient-blacklist-checker.js20
-rw-r--r--app/scripts/controllers/transactions/lib/recipient-blacklist-config.json14
-rw-r--r--test/unit/app/controllers/transactions/recipient-blacklist-checker-test.js21
4 files changed, 30 insertions, 29 deletions
diff --git a/app/scripts/controllers/transactions/index.js b/app/scripts/controllers/transactions/index.js
index 16f7291d6..b53947e27 100644
--- a/app/scripts/controllers/transactions/index.js
+++ b/app/scripts/controllers/transactions/index.js
@@ -160,8 +160,8 @@ class TransactionController extends EventEmitter {
this.emit('newUnapprovedTx', txMeta)
try {
- // check whether recipient account is public
- await recipientBlacklistChecker.checkAccount(txMeta.metamaskNetworkId, normalizedTxParams.to)
+ // check whether recipient account is blacklisted
+ recipientBlacklistChecker.checkAccount(txMeta.metamaskNetworkId, normalizedTxParams.to)
// add default tx params
txMeta = await this.addTxGasDefaults(txMeta)
} catch (error) {
diff --git a/app/scripts/controllers/transactions/lib/recipient-blacklist-checker.js b/app/scripts/controllers/transactions/lib/recipient-blacklist-checker.js
index d44c1ddc1..84c6df1f0 100644
--- a/app/scripts/controllers/transactions/lib/recipient-blacklist-checker.js
+++ b/app/scripts/controllers/transactions/lib/recipient-blacklist-checker.js
@@ -1,4 +1,4 @@
-const KeyringController = require('eth-keyring-controller')
+const Config = require('./recipient-blacklist-config.json')
/** @module*/
module.exports = {
@@ -10,27 +10,15 @@ module.exports = {
@param networkId {number}
@param account {string}
*/
-async function checkAccount (networkId, account) {
+function checkAccount (networkId, account) {
const mainnetId = 1
if (networkId !== mainnetId) {
return
}
- const damnedMnemonic = 'candy maple cake sugar pudding cream honey rich smooth crumble sweet treat'
- const keyringController = new KeyringController({})
- const Keyring = keyringController.getKeyringClassForType('HD Key Tree')
- const opts = {
- mnemonic: damnedMnemonic,
- numberOfAccounts: 10,
- }
-
const accountToCheck = account.toLowerCase()
- const keyring = new Keyring(opts)
- const damnedAccounts = await keyring.getAccounts()
- for (let i = 0; i < damnedAccounts.length; i++) {
- if (damnedAccounts[i].toLowerCase() === accountToCheck) {
- throw new Error('Recipient is a public account')
- }
+ if (Config.blacklist.includes(accountToCheck)) {
+ throw new Error('Recipient is a public account')
}
}
diff --git a/app/scripts/controllers/transactions/lib/recipient-blacklist-config.json b/app/scripts/controllers/transactions/lib/recipient-blacklist-config.json
new file mode 100644
index 000000000..b348eb72e
--- /dev/null
+++ b/app/scripts/controllers/transactions/lib/recipient-blacklist-config.json
@@ -0,0 +1,14 @@
+{
+ "blacklist": [
+ "0x627306090abab3a6e1400e9345bc60c78a8bef57",
+ "0xf17f52151ebef6c7334fad080c5704d77216b732",
+ "0xc5fdf4076b8f3a5357c5e395ab970b5b54098fef",
+ "0x821aea9a577a9b44299b9c15c88cf3087f3b5544",
+ "0x0d1d4e623d10f9fba5db95830f7d3839406c6af2",
+ "0x2932b7a2355d6fecc4b5c0b6bd44cc31df247a2e",
+ "0x2191ef87e392377ec08e7c08eb105ef5448eced5",
+ "0x0f4f2ac550a1b4e2280d04c21cea7ebd822934b5",
+ "0x6330a553fc93768f612722bb8c2ec78ac90b3bbc",
+ "0x5aeda56215b167893e80b4fe645ba6d5bab767de"
+ ]
+}
diff --git a/test/unit/app/controllers/transactions/recipient-blacklist-checker-test.js b/test/unit/app/controllers/transactions/recipient-blacklist-checker-test.js
index b55894684..56e8d50db 100644
--- a/test/unit/app/controllers/transactions/recipient-blacklist-checker-test.js
+++ b/test/unit/app/controllers/transactions/recipient-blacklist-checker-test.js
@@ -25,39 +25,38 @@ describe('Recipient Blacklist Checker', function () {
})
describe('#checkAccount', function () {
- it('does not fail on test networks', async function () {
+ it('does not fail on test networks', function () {
let callCount = 0
const networks = [ROPSTEN_CODE, RINKEYBY_CODE, KOVAN_CODE]
for (let networkId in networks) {
- await Promise.all(publicAccounts.map(async (account) => {
- await recipientBlackListChecker.checkAccount(networkId, account)
- callCount++
+ publicAccounts.forEach((account) => {
+ recipientBlackListChecker.checkAccount(networkId, account)
+ callCount++
})
- )
}
assert.equal(callCount, 30)
})
- it('fails on mainnet', async function () {
+ it('fails on mainnet', function () {
const mainnetId = 1
let callCount = 0
- await Promise.all(publicAccounts.map(async (account) => {
+ publicAccounts.forEach((account) => {
try {
- await recipientBlackListChecker.checkAccount(mainnetId, account)
+ recipientBlackListChecker.checkAccount(mainnetId, account)
assert.fail('function should have thrown an error')
} catch (err) {
assert.equal(err.message, 'Recipient is a public account')
}
callCount++
- }))
+ })
assert.equal(callCount, 10)
})
- it('fails for public account - uppercase', async function () {
+ it('fails for public account - uppercase', function () {
const mainnetId = 1
const publicAccount = '0X0D1D4E623D10F9FBA5DB95830F7D3839406C6AF2'
try {
- await recipientBlackListChecker.checkAccount(mainnetId, publicAccount)
+ recipientBlackListChecker.checkAccount(mainnetId, publicAccount)
assert.fail('function should have thrown an error')
} catch (err) {
assert.equal(err.message, 'Recipient is a public account')