blocklisted -> blocked

feature/default_network_editable
Erik Marks 5 years ago
parent 1089ebcf53
commit 56004db8bf
  1. 4
      app/scripts/background.js
  2. 12
      app/scripts/contentscript.js
  3. 4
      app/scripts/controllers/transactions/index.js
  4. 2
      app/scripts/controllers/transactions/lib/recipient-blocklist-checker.js
  5. 12
      test/unit/app/controllers/transactions/recipient-blocklist-checker-test.js

@ -319,7 +319,7 @@ function setupController (initState, initLangCode) {
[ENVIRONMENT_TYPE_FULLSCREEN]: true, [ENVIRONMENT_TYPE_FULLSCREEN]: true,
} }
const metamaskBlocklistedPorts = [ const metamaskBlockedPorts = [
'trezor-connect', 'trezor-connect',
] ]
@ -343,7 +343,7 @@ function setupController (initState, initLangCode) {
const processName = remotePort.name const processName = remotePort.name
const isMetaMaskInternalProcess = metamaskInternalProcessHash[processName] const isMetaMaskInternalProcess = metamaskInternalProcessHash[processName]
if (metamaskBlocklistedPorts.includes(remotePort.name)) { if (metamaskBlockedPorts.includes(remotePort.name)) {
return false return false
} }

@ -127,7 +127,7 @@ function logStreamDisconnectWarning (remoteLabel, err) {
*/ */
function shouldInjectProvider () { function shouldInjectProvider () {
return doctypeCheck() && suffixCheck() && return doctypeCheck() && suffixCheck() &&
documentElementCheck() && !blocklistedDomainCheck() documentElementCheck() && !blockedDomainCheck()
} }
/** /**
@ -185,8 +185,8 @@ function documentElementCheck () {
* *
* @returns {boolean} {@code true} - if the current domain is blocked * @returns {boolean} {@code true} - if the current domain is blocked
*/ */
function blocklistedDomainCheck () { function blockedDomainCheck () {
const blocklistedDomains = [ const blockedDomains = [
'uscourts.gov', 'uscourts.gov',
'dropbox.com', 'dropbox.com',
'webbyawards.com', 'webbyawards.com',
@ -200,9 +200,9 @@ function blocklistedDomainCheck () {
] ]
const currentUrl = window.location.href const currentUrl = window.location.href
let currentRegex let currentRegex
for (let i = 0; i < blocklistedDomains.length; i++) { for (let i = 0; i < blockedDomains.length; i++) {
const blocklistedDomain = blocklistedDomains[i].replace('.', '\\.') const blockedDomain = blockedDomains[i].replace('.', '\\.')
currentRegex = new RegExp(`(?:https?:\\/\\/)(?:(?!${blocklistedDomain}).)*$`) currentRegex = new RegExp(`(?:https?:\\/\\/)(?:(?!${blockedDomain}).)*$`)
if (!currentRegex.test(currentUrl)) { if (!currentRegex.test(currentUrl)) {
return true return true
} }

@ -25,7 +25,7 @@ import NonceTracker from 'nonce-tracker'
import * as txUtils from './lib/util' import * as txUtils from './lib/util'
import cleanErrorStack from '../../lib/cleanErrorStack' import cleanErrorStack from '../../lib/cleanErrorStack'
import log from 'loglevel' import log from 'loglevel'
import { throwIfAccountIsBlockListed } from './lib/recipient-blocklist-checker' import { throwIfAccountIsBlocked } from './lib/recipient-blocklist-checker'
import { import {
TRANSACTION_TYPE_CANCEL, TRANSACTION_TYPE_CANCEL,
@ -241,7 +241,7 @@ export default class TransactionController extends EventEmitter {
this.emit('newUnapprovedTx', txMeta) this.emit('newUnapprovedTx', txMeta)
try { try {
throwIfAccountIsBlockListed(txMeta.metamaskNetworkId, normalizedTxParams.to) throwIfAccountIsBlocked(txMeta.metamaskNetworkId, normalizedTxParams.to)
txMeta = await this.addTxGasDefaults(txMeta, getCodeResponse) txMeta = await this.addTxGasDefaults(txMeta, getCodeResponse)
} catch (error) { } catch (error) {
log.warn(error) log.warn(error)

@ -6,7 +6,7 @@ import blocklist from './recipient-blocklist'
* @param {string} account * @param {string} account
* @throws {Error} if the account is blocked on mainnet * @throws {Error} if the account is blocked on mainnet
*/ */
export function throwIfAccountIsBlockListed (networkId, account) { export function throwIfAccountIsBlocked (networkId, account) {
const mainnetId = 1 const mainnetId = 1
if (networkId !== mainnetId) { if (networkId !== mainnetId) {
return return

@ -1,9 +1,9 @@
import { strict as assert } from 'assert' import { strict as assert } from 'assert'
import { throwIfAccountIsBlockListed } from '../../../../../app/scripts/controllers/transactions/lib/recipient-blocklist-checker' import { throwIfAccountIsBlocked } from '../../../../../app/scripts/controllers/transactions/lib/recipient-blocklist-checker'
import { ROPSTEN_NETWORK_ID, RINKEBY_NETWORK_ID, KOVAN_NETWORK_ID, GOERLI_NETWORK_ID } from '../../../../../app/scripts/controllers/network/enums' import { ROPSTEN_NETWORK_ID, RINKEBY_NETWORK_ID, KOVAN_NETWORK_ID, GOERLI_NETWORK_ID } from '../../../../../app/scripts/controllers/network/enums'
describe('Recipient Blocklist Checker', function () { describe('Recipient Blocklist Checker', function () {
describe('#throwIfAccountIsBlockListed', function () { describe('#throwIfAccountIsBlocked', function () {
// Accounts from Ganache's original default seed phrase // Accounts from Ganache's original default seed phrase
const publicAccounts = [ const publicAccounts = [
'0x627306090abab3a6e1400e9345bc60c78a8bef57', '0x627306090abab3a6e1400e9345bc60c78a8bef57',
@ -22,7 +22,7 @@ describe('Recipient Blocklist Checker', function () {
const networks = [ROPSTEN_NETWORK_ID, RINKEBY_NETWORK_ID, KOVAN_NETWORK_ID, GOERLI_NETWORK_ID] const networks = [ROPSTEN_NETWORK_ID, RINKEBY_NETWORK_ID, KOVAN_NETWORK_ID, GOERLI_NETWORK_ID]
for (const networkId of networks) { for (const networkId of networks) {
for (const account of publicAccounts) { for (const account of publicAccounts) {
assert.doesNotThrow(() => throwIfAccountIsBlockListed(networkId, account)) assert.doesNotThrow(() => throwIfAccountIsBlocked(networkId, account))
} }
} }
}) })
@ -30,7 +30,7 @@ describe('Recipient Blocklist Checker', function () {
it('fails on mainnet', function () { it('fails on mainnet', function () {
for (const account of publicAccounts) { for (const account of publicAccounts) {
assert.throws( assert.throws(
() => throwIfAccountIsBlockListed(1, account), () => throwIfAccountIsBlocked(1, account),
{ message: 'Recipient is a public account' }, { message: 'Recipient is a public account' },
) )
} }
@ -38,14 +38,14 @@ describe('Recipient Blocklist Checker', function () {
it('fails for public account - uppercase', function () { it('fails for public account - uppercase', function () {
assert.throws( assert.throws(
() => throwIfAccountIsBlockListed(1, '0X0D1D4E623D10F9FBA5DB95830F7D3839406C6AF2'), () => throwIfAccountIsBlocked(1, '0X0D1D4E623D10F9FBA5DB95830F7D3839406C6AF2'),
{ message: 'Recipient is a public account' }, { message: 'Recipient is a public account' },
) )
}) })
it('fails for public account - lowercase', function () { it('fails for public account - lowercase', function () {
assert.throws( assert.throws(
() => throwIfAccountIsBlockListed(1, '0x0d1d4e623d10f9fba5db95830f7d3839406c6af2'), () => throwIfAccountIsBlocked(1, '0x0d1d4e623d10f9fba5db95830f7d3839406c6af2'),
{ message: 'Recipient is a public account' }, { message: 'Recipient is a public account' },
) )
}) })

Loading…
Cancel
Save