1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-11-22 09:57:02 +01:00

Merge pull request #8056 from whymarrh/arrow-parens

Enable arrow-parens ESLint rule
This commit is contained in:
Jenny Pollack 2020-02-17 15:26:43 -07:00 committed by GitHub
commit c1453c7528
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
273 changed files with 709 additions and 708 deletions

View File

@ -44,6 +44,7 @@ module.exports = {
},
rules: {
'arrow-parens': 'error',
'import/default': 'error',
'import/export': 'error',
'import/named': 'error',

View File

@ -389,7 +389,7 @@ function setupController (initState, initLangCode) {
const url = new URL(remotePort.sender.url)
const origin = url.hostname
remotePort.onMessage.addListener(msg => {
remotePort.onMessage.addListener((msg) => {
if (msg.data && msg.data.method === 'eth_requestAccounts') {
requestAccountTabIds[origin] = tabId
}
@ -446,8 +446,8 @@ function setupController (initState, initLangCode) {
* Opens the browser popup for user confirmation
*/
function triggerUi () {
extension.tabs.query({ active: true }, tabs => {
const currentlyActiveMetamaskTab = Boolean(tabs.find(tab => openMetamaskTabsIDs[tab.id]))
extension.tabs.query({ active: true }, (tabs) => {
const currentlyActiveMetamaskTab = Boolean(tabs.find((tab) => openMetamaskTabsIDs[tab.id]))
if (!popupIsOpen && !currentlyActiveMetamaskTab && !notificationIsOpen) {
notificationManager.showPopup()
notificationIsOpen = true

View File

@ -231,5 +231,5 @@ async function domIsReady () {
return
}
// wait for load
return new Promise(resolve => window.addEventListener('DOMContentLoaded', resolve, { once: true }))
return new Promise((resolve) => window.addEventListener('DOMContentLoaded', resolve, { once: true }))
}

View File

@ -16,7 +16,7 @@ class AppStateController {
}, initState))
this.timer = null
preferencesStore.subscribe(state => {
preferencesStore.subscribe((state) => {
this._setInactiveTimeout(state.preferences.autoLockTimeLimit)
})

View File

@ -50,7 +50,7 @@ class CachedBalancesController {
const { cachedBalances } = this.store.getState()
const currentNetworkBalancesToCache = { ...cachedBalances[currentNetwork] }
Object.keys(newAccounts).forEach(accountID => {
Object.keys(newAccounts).forEach((accountID) => {
const account = newAccounts[accountID]
if (account.balance) {

View File

@ -165,7 +165,7 @@ class IncomingTransactionsController {
const newIncomingTransactions = {
...currentIncomingTxs,
}
newTxs.forEach(tx => {
newTxs.forEach((tx) => {
newIncomingTransactions[tx.hash] = tx
})
@ -222,7 +222,7 @@ class IncomingTransactionsController {
}
})
const incomingTxs = remoteTxs.filter(tx => tx.txParams.to && tx.txParams.to.toLowerCase() === address.toLowerCase())
const incomingTxs = remoteTxs.filter((tx) => tx.txParams.to && tx.txParams.to.toLowerCase() === address.toLowerCase())
incomingTxs.sort((a, b) => (a.time < b.time ? -1 : 1))
let latestIncomingTxBlockNumber = null

View File

@ -25,7 +25,7 @@ function createLocalhostClient () {
}
function delay (time) {
return new Promise(resolve => setTimeout(resolve, time))
return new Promise((resolve) => setTimeout(resolve, time))
}

View File

@ -27,7 +27,7 @@ const networkToNameMap = {
[GOERLI_CODE]: GOERLI_DISPLAY_NAME,
}
export const getNetworkDisplayName = key => networkToNameMap[key]
export const getNetworkDisplayName = (key) => networkToNameMap[key]
export function formatTxMetaForRpcResult (txMeta) {
return {

View File

@ -197,7 +197,7 @@ export class PermissionsController {
let error
try {
await new Promise((resolve, reject) => {
this.permissions.grantNewPermissions(origin, permissions, {}, err => (err ? resolve() : reject(err)))
this.permissions.grantNewPermissions(origin, permissions, {}, (err) => (err ? resolve() : reject(err)))
})
} catch (err) {
error = err
@ -263,7 +263,7 @@ export class PermissionsController {
}
// caveat names are unique, and we will only construct this caveat here
ethAccounts.caveats = ethAccounts.caveats.filter(c => (
ethAccounts.caveats = ethAccounts.caveats.filter((c) => (
c.name !== CAVEAT_NAMES.exposedAccounts
))
@ -291,7 +291,7 @@ export class PermissionsController {
// assert accounts exist
const allAccounts = await this.getKeyringAccounts()
accounts.forEach(acc => {
accounts.forEach((acc) => {
if (!allAccounts.includes(acc)) {
throw new Error(`Unknown account: ${acc}`)
}
@ -331,7 +331,7 @@ export class PermissionsController {
this.permissions.removePermissionsFor(
origin,
perms.map(methodName => {
perms.map((methodName) => {
if (methodName === 'eth_accounts') {
this.notifyDomain(
@ -366,7 +366,7 @@ export class PermissionsController {
}
const newPermittedAccounts = [account].concat(
permittedAccounts.filter(_account => _account !== account)
permittedAccounts.filter((_account) => _account !== account)
)
// update permitted accounts to ensure that accounts are returned

View File

@ -116,7 +116,7 @@ export default class PermissionsLogController {
}
// call next with a return handler for capturing the response
next(cb => {
next((cb) => {
const time = Date.now()
this.logActivityResponse(requestId, res, time)
@ -234,7 +234,7 @@ export default class PermissionsLogController {
// accounts were last seen or approved by the origin.
newEntries = result
? result
.map(perm => {
.map((perm) => {
if (perm.parentCapability === 'eth_accounts') {
accounts = this.getAccountsFromPermission(perm)

View File

@ -408,7 +408,7 @@ class PreferencesController {
const { lastSelectedAddressByOrigin } = this.store.getState()
origins.forEach(origin => {
origins.forEach((origin) => {
delete lastSelectedAddressByOrigin[origin]
})
this.store.updateState({ lastSelectedAddressByOrigin })
@ -472,7 +472,7 @@ class PreferencesController {
removeToken (rawAddress) {
const tokens = this.store.getState().tokens
const assetImages = this.getAssetImages()
const updatedTokens = tokens.filter(token => token.address !== rawAddress)
const updatedTokens = tokens.filter((token) => token.address !== rawAddress)
delete assetImages[rawAddress]
this._updateAccountTokens(updatedTokens, assetImages)
return Promise.resolve(updatedTokens)
@ -758,7 +758,7 @@ class PreferencesController {
const tokenOpts = { rawAddress, decimals, symbol, image }
this.addSuggestedERC20Asset(tokenOpts)
return this.openPopup().then(() => {
const tokenAddresses = this.getTokens().filter(token => token.address === normalizeAddress(rawAddress))
const tokenAddresses = this.getTokens().filter((token) => token.address === normalizeAddress(rawAddress))
return tokenAddresses.length > 0
})
}

View File

@ -33,13 +33,13 @@ class TokenRatesController {
}
const contractExchangeRates = {}
const nativeCurrency = this.currency ? this.currency.state.nativeCurrency.toLowerCase() : 'eth'
const pairs = this._tokens.map(token => token.address).join(',')
const pairs = this._tokens.map((token) => token.address).join(',')
const query = `contract_addresses=${pairs}&vs_currencies=${nativeCurrency}`
if (this._tokens.length > 0) {
try {
const response = await fetch(`https://api.coingecko.com/api/v3/simple/token_price/ethereum?${query}`)
const prices = await response.json()
this._tokens.forEach(token => {
this._tokens.forEach((token) => {
const price = prices[token.address.toLowerCase()] || prices[ethUtil.toChecksumAddress(token.address)]
contractExchangeRates[normalizeAddress(token.address)] = price ? price[nativeCurrency] : 0
})

View File

@ -657,7 +657,7 @@ class TransactionController extends EventEmitter {
TOKEN_METHOD_APPROVE,
TOKEN_METHOD_TRANSFER,
TOKEN_METHOD_TRANSFER_FROM,
].find(tokenMethodName => tokenMethodName === name && name.toLowerCase())
].find((tokenMethodName) => tokenMethodName === name && name.toLowerCase())
let result
if (txParams.data && tokenMethodName) {

View File

@ -5,11 +5,11 @@ import { addHexPrefix, isValidAddress } from 'ethereumjs-util'
const normalizers = {
from: (from, LowerCase = true) => (LowerCase ? addHexPrefix(from).toLowerCase() : addHexPrefix(from)),
to: (to, LowerCase = true) => (LowerCase ? addHexPrefix(to).toLowerCase() : addHexPrefix(to)),
nonce: nonce => addHexPrefix(nonce),
value: value => addHexPrefix(value),
data: data => addHexPrefix(data),
gas: gas => addHexPrefix(gas),
gasPrice: gasPrice => addHexPrefix(gasPrice),
nonce: (nonce) => addHexPrefix(nonce),
value: (value) => addHexPrefix(value),
data: (data) => addHexPrefix(data),
gas: (gas) => addHexPrefix(gas),
gasPrice: (gasPrice) => addHexPrefix(gasPrice),
}
/**

View File

@ -207,7 +207,7 @@ class TransactionStateManager extends EventEmitter {
// commit txMeta to state
const txId = txMeta.id
const txList = this.getFullTxList()
const index = txList.findIndex(txData => txData.id === txId)
const index = txList.findIndex((txData) => txData.id === txId)
txList[index] = txMeta
this._saveTxList(txList)
}

View File

@ -57,7 +57,7 @@ class AccountTracker {
this._blockTracker = opts.blockTracker
// blockTracker.currentBlock may be null
this._currentBlockNumber = this._blockTracker.getCurrentBlock()
this._blockTracker.once('latest', blockNumber => {
this._blockTracker.once('latest', (blockNumber) => {
this._currentBlockNumber = blockNumber
})
// bind function for easier listener syntax
@ -124,7 +124,7 @@ class AccountTracker {
addAccounts (addresses) {
const accounts = this.store.getState().accounts
// add initial state for addresses
addresses.forEach(address => {
addresses.forEach((address) => {
accounts[address] = {}
})
// save accounts state
@ -145,7 +145,7 @@ class AccountTracker {
removeAccount (addresses) {
const accounts = this.store.getState().accounts
// remove each state object
addresses.forEach(address => {
addresses.forEach((address) => {
delete accounts[address]
})
// save accounts state

View File

@ -11,7 +11,7 @@ function createDnodeRemoteGetter (dnode) {
if (remote) {
return remote
}
return await new Promise(resolve => dnode.once('remote', resolve))
return await new Promise((resolve) => dnode.once('remote', resolve))
}
return getRemote

View File

@ -9,7 +9,7 @@ export default setupEnsIpfsResolver
function setupEnsIpfsResolver ({ provider, getCurrentNetwork, getIpfsGateway }) {
// install listener
const urlPatterns = supportedTopLevelDomains.map(tld => `*://*.${tld}/*`)
const urlPatterns = supportedTopLevelDomains.map((tld) => `*://*.${tld}/*`)
extension.webRequest.onErrorOccurred.addListener(webRequestDidFail, { urls: urlPatterns, types: ['main_frame'] })
// return api object

View File

@ -9,7 +9,7 @@ const getPreferredLocales = extension.i18n ? promisify(
// mapping some browsers return hyphen instead underscore in locale codes (e.g. zh_TW -> zh-tw)
const existingLocaleCodes = {}
allLocales.forEach(locale => {
allLocales.forEach((locale) => {
if (locale && locale.code) {
existingLocaleCodes[locale.code.toLowerCase().replace('_', '-')] = locale.code
}
@ -39,8 +39,8 @@ async function getFirstPreferredLangCode () {
}
const firstPreferredLangCode = userPreferredLocaleCodes
.map(code => code.toLowerCase().replace('_', '-'))
.find(code => existingLocaleCodes.hasOwnProperty(code))
.map((code) => code.toLowerCase().replace('_', '-'))
.find((code) => existingLocaleCodes.hasOwnProperty(code))
return existingLocaleCodes[firstPreferredLangCode] || 'en'
}

View File

@ -61,7 +61,7 @@ export default class MessageManager extends EventEmitter {
*
*/
getUnapprovedMsgs () {
return this.messages.filter(msg => msg.status === 'unapproved')
return this.messages.filter((msg) => msg.status === 'unapproved')
.reduce((result, msg) => {
result[msg.id] = msg; return result
}, {})
@ -145,7 +145,7 @@ export default class MessageManager extends EventEmitter {
*
*/
getMsg (msgId) {
return this.messages.find(msg => msg.id === msgId)
return this.messages.find((msg) => msg.id === msgId)
}
/**

View File

@ -65,7 +65,7 @@ export default class PersonalMessageManager extends EventEmitter {
*
*/
getUnapprovedMsgs () {
return this.messages.filter(msg => msg.status === 'unapproved')
return this.messages.filter((msg) => msg.status === 'unapproved')
.reduce((result, msg) => {
result[msg.id] = msg; return result
}, {})
@ -155,7 +155,7 @@ export default class PersonalMessageManager extends EventEmitter {
*
*/
getMsg (msgId) {
return this.messages.find(msg => msg.id === msgId)
return this.messages.find((msg) => msg.id === msgId)
}
/**

View File

@ -37,7 +37,7 @@ function setupSentry (opts) {
beforeSend: (report) => rewriteReport(report),
})
Sentry.configureScope(scope => {
Sentry.configureScope((scope) => {
scope.setExtra('isBrave', isBrave)
})
@ -81,7 +81,7 @@ function rewriteErrorMessages (report, rewriteFn) {
}
// rewrite each exception message
if (report.exception && report.exception.values) {
report.exception.values.forEach(item => {
report.exception.values.forEach((item) => {
if (typeof item.value === 'string') {
item.value = rewriteFn(item.value)
}
@ -94,8 +94,8 @@ function rewriteReportUrls (report) {
report.request.url = toMetamaskUrl(report.request.url)
// update exception stack trace
if (report.exception && report.exception.values) {
report.exception.values.forEach(item => {
item.stacktrace.frames.forEach(frame => {
report.exception.values.forEach((item) => {
item.stacktrace.frames.forEach((frame) => {
frame.filename = toMetamaskUrl(frame.filename)
})
})

View File

@ -57,7 +57,7 @@ export default class TypedMessageManager extends EventEmitter {
*
*/
getUnapprovedMsgs () {
return this.messages.filter(msg => msg.status === 'unapproved')
return this.messages.filter((msg) => msg.status === 'unapproved')
.reduce((result, msg) => {
result[msg.id] = msg; return result
}, {})
@ -189,7 +189,7 @@ export default class TypedMessageManager extends EventEmitter {
*
*/
getMsg (msgId) {
return this.messages.find(msg => msg.id === msgId)
return this.messages.find((msg) => msg.id === msgId)
}
/**

View File

@ -44,7 +44,7 @@ const getEnvironmentType = (url = window.location.href) => {
* @returns {string} - the platform ENUM
*
*/
const getPlatform = _ => {
const getPlatform = (_) => {
const ua = navigator.userAgent
if (ua.search('Firefox') !== -1) {
return PLATFORM_FIREFOX
@ -135,7 +135,7 @@ function getRandomArrayItem (array) {
function mapObjectValues (object, cb) {
const mappedObject = {}
Object.keys(object).forEach(key => {
Object.keys(object).forEach((key) => {
mappedObject[key] = cb(key, object[key])
})
return mappedObject

View File

@ -697,11 +697,11 @@ export default class MetamaskController extends EventEmitter {
// Filter ERC20 tokens
const filteredAccountTokens = {}
Object.keys(accountTokens).forEach(address => {
Object.keys(accountTokens).forEach((address) => {
const checksummedAddress = ethUtil.toChecksumAddress(address)
filteredAccountTokens[checksummedAddress] = {}
Object.keys(accountTokens[address]).forEach(
networkType => (filteredAccountTokens[checksummedAddress][networkType] = networkType !== 'mainnet' ?
(networkType) => (filteredAccountTokens[checksummedAddress][networkType] = networkType !== 'mainnet' ?
accountTokens[address][networkType] :
accountTokens[address][networkType].filter(({ address }) => {
const tokenAddress = ethUtil.toChecksumAddress(address)
@ -724,7 +724,7 @@ export default class MetamaskController extends EventEmitter {
const hdKeyring = this.keyringController.getKeyringsByType('HD Key Tree')[0]
const hdAccounts = await hdKeyring.getAccounts()
const accounts = {
hd: hdAccounts.filter((item, pos) => (hdAccounts.indexOf(item) === pos)).map(address => ethUtil.toChecksumAddress(address)),
hd: hdAccounts.filter((item, pos) => (hdAccounts.indexOf(item) === pos)).map((address) => ethUtil.toChecksumAddress(address)),
simpleKeyPair: [],
ledger: [],
trezor: [],
@ -734,7 +734,7 @@ export default class MetamaskController extends EventEmitter {
let transactions = this.txController.store.getState().transactions
// delete tx for other accounts that we're not importing
transactions = transactions.filter(tx => {
transactions = transactions.filter((tx) => {
const checksummedTxFrom = ethUtil.toChecksumAddress(tx.txParams.from)
return (
accounts.hd.includes(checksummedTxFrom)
@ -762,7 +762,7 @@ export default class MetamaskController extends EventEmitter {
const accounts = await this.keyringController.getAccounts()
// verify keyrings
const nonSimpleKeyrings = this.keyringController.keyrings.filter(keyring => keyring.type !== 'Simple Key Pair')
const nonSimpleKeyrings = this.keyringController.keyrings.filter((keyring) => keyring.type !== 'Simple Key Pair')
if (nonSimpleKeyrings.length > 1 && this.diagnostics) {
await this.diagnostics.reportMultipleKeyrings(nonSimpleKeyrings)
}
@ -855,7 +855,7 @@ export default class MetamaskController extends EventEmitter {
// Merge with existing accounts
// and make sure addresses are not repeated
const oldAccounts = await this.keyringController.getAccounts()
const accountsToTrack = [...new Set(oldAccounts.concat(accounts.map(a => a.address.toLowerCase())))]
const accountsToTrack = [...new Set(oldAccounts.concat(accounts.map((a) => a.address.toLowerCase())))]
this.accountTracker.syncWithAddresses(accountsToTrack)
return accounts
}
@ -895,7 +895,7 @@ export default class MetamaskController extends EventEmitter {
const keyState = await this.keyringController.addNewAccount(keyring)
const newAccounts = await this.keyringController.getAccounts()
this.preferencesController.setAddresses(newAccounts)
newAccounts.forEach(address => {
newAccounts.forEach((address) => {
if (!oldAccounts.includes(address)) {
// Set the account label to Trezor 1 / Ledger 1, etc
this.preferencesController.setAccountLabel(address, `${deviceName[0].toUpperCase()}${deviceName.slice(1)} ${parseInt(index, 10) + 1}`)
@ -1580,7 +1580,7 @@ export default class MetamaskController extends EventEmitter {
return
}
Object.values(connections).forEach(conn => {
Object.values(connections).forEach((conn) => {
conn.engine && conn.engine.emit('notification', payload)
})
}
@ -1599,8 +1599,8 @@ export default class MetamaskController extends EventEmitter {
return
}
Object.values(this.connections).forEach(origin => {
Object.values(origin).forEach(conn => {
Object.values(this.connections).forEach((origin) => {
Object.values(origin).forEach((conn) => {
conn.engine && conn.engine.emit('notification', payload)
})
})
@ -1671,13 +1671,13 @@ export default class MetamaskController extends EventEmitter {
return GWEI_BN
}
return block.gasPrices
.map(hexPrefix => hexPrefix.substr(2))
.map(hex => new BN(hex, 16))
.map((hexPrefix) => hexPrefix.substr(2))
.map((hex) => new BN(hex, 16))
.sort((a, b) => {
return a.gt(b) ? 1 : -1
})[0]
})
.map(number => number.div(GWEI_BN).toNumber())
.map((number) => number.div(GWEI_BN).toNumber())
const percentileNum = percentile(65, lowestPrices)
const percentileNumBn = new BN(percentileNum)

View File

@ -45,13 +45,13 @@ function transformState (state) {
function normalizeTxParams (txParams) {
// functions that handle normalizing of that key in txParams
const whiteList = {
from: from => ethUtil.addHexPrefix(from).toLowerCase(),
from: (from) => ethUtil.addHexPrefix(from).toLowerCase(),
to: () => ethUtil.addHexPrefix(txParams.to).toLowerCase(),
nonce: nonce => ethUtil.addHexPrefix(nonce),
value: value => ethUtil.addHexPrefix(value),
data: data => ethUtil.addHexPrefix(data),
gas: gas => ethUtil.addHexPrefix(gas),
gasPrice: gasPrice => ethUtil.addHexPrefix(gasPrice),
nonce: (nonce) => ethUtil.addHexPrefix(nonce),
value: (value) => ethUtil.addHexPrefix(value),
data: (data) => ethUtil.addHexPrefix(data),
gas: (gas) => ethUtil.addHexPrefix(gas),
gasPrice: (gasPrice) => ethUtil.addHexPrefix(gasPrice),
}
// apply only keys in the whiteList

View File

@ -67,7 +67,7 @@ class ExtensionPlatform {
currentTab () {
return new Promise((resolve, reject) => {
extension.tabs.getCurrent(tab => {
extension.tabs.getCurrent((tab) => {
const err = checkForError()
if (err) {
reject(err)

View File

@ -33,14 +33,14 @@ async function start () {
// links to extension builds
const platforms = ['chrome', 'firefox', 'opera']
const buildLinks = platforms.map(platform => {
const buildLinks = platforms.map((platform) => {
const url = `${BUILD_LINK_BASE}/builds/metamask-${platform}-${VERSION}.zip`
return `<a href="${url}">${platform}</a>`
}).join(', ')
// links to bundle browser builds
const bundles = ['background', 'ui', 'inpage', 'contentscript', 'ui-libs', 'bg-libs', 'phishing-detect']
const bundleLinks = bundles.map(bundle => {
const bundleLinks = bundles.map((bundle) => {
const url = `${BUILD_LINK_BASE}/build-artifacts/source-map-explorer/${bundle}.html`
return `<a href="${url}">${bundle}</a>`
}).join(', ')
@ -58,7 +58,7 @@ async function start () {
`dep viz: ${depVizLink}`,
`<a href="${allArtifactsUrl}">all artifacts</a>`,
]
const hiddenContent = `<ul>` + contentRows.map(row => `<li>${row}</li>`).join('\n') + `</ul>`
const hiddenContent = `<ul>` + contentRows.map((row) => `<li>${row}</li>`).join('\n') + `</ul>`
const exposedContent = `Builds ready [${SHORT_SHA1}]`
const artifactsBody = `<details><summary>${exposedContent}</summary>${hiddenContent}</details>`
@ -136,7 +136,7 @@ async function start () {
for (const measure of allMeasures) {
benchmarkTableHeaders.push(`${capitalizeFirstLetter(measure)} (ms)`)
}
const benchmarkTableHeader = `<thead><tr>${benchmarkTableHeaders.map(header => `<th>${header}</th>`).join('')}</tr></thead>`
const benchmarkTableHeader = `<thead><tr>${benchmarkTableHeaders.map((header) => `<th>${header}</th>`).join('')}</tr></thead>`
const benchmarkTableBody = `<tbody>${tableRows.join('')}</tbody>`
const benchmarkTable = `<table>${benchmarkTableHeader}${benchmarkTableBody}</table>`
const benchmarkBody = `<details><summary>${benchmarkSummary}</summary>${benchmarkTable}</details>`

View File

@ -1,5 +1,5 @@
function delay (time) {
return new Promise(resolve => setTimeout(resolve, time))
return new Promise((resolve) => setTimeout(resolve, time))
}
async function loadFromMock3Box (key) {
@ -24,7 +24,7 @@ class Mock3Box {
static openBox (address) {
this.address = address
return Promise.resolve({
onSyncDone: cb => {
onSyncDone: (cb) => {
setTimeout(cb, 200)
},
openSpace: async (spaceName, config) => {

View File

@ -14,7 +14,7 @@ readInstalled('./', { dev: true }, function (err, data) {
const packageScripts = packageData.scripts || {}
const scriptKeys = Reflect.ownKeys(packageScripts)
const hasInstallScript = installScripts.some(installKey => scriptKeys.includes(installKey))
const hasInstallScript = installScripts.some((installKey) => scriptKeys.includes(installKey))
if (!hasInstallScript) {
return
}

View File

@ -63,7 +63,7 @@ async function validateSourcemapForFile ({ buildName }) {
const buildLines = rawBuild.split('\n')
const targetString = 'new Error'
// const targetString = 'null'
const matchesPerLine = buildLines.map(line => indicesOf(targetString, line))
const matchesPerLine = buildLines.map((line) => indicesOf(targetString, line))
matchesPerLine.forEach((matchIndices, lineIndex) => {
matchIndices.forEach((matchColumn) => {
sampleCount++

View File

@ -47,7 +47,7 @@ for (const arg of process.argv.slice(2)) {
}
main(specifiedLocale, fix)
.catch(error => {
.catch((error) => {
log.error(error)
process.exit(1)
})
@ -55,7 +55,7 @@ main(specifiedLocale, fix)
async function main (specifiedLocale, fix) {
if (specifiedLocale) {
log.info(`Verifying selected locale "${specifiedLocale}":\n`)
const locale = localeIndex.find(localeMeta => localeMeta.code === specifiedLocale)
const locale = localeIndex.find((localeMeta) => localeMeta.code === specifiedLocale)
const failed = locale.code === 'en' ?
await verifyEnglishLocale(fix) :
await verifyLocale(locale, fix)
@ -66,8 +66,8 @@ async function main (specifiedLocale, fix) {
log.info('Verifying all locales:\n')
let failed = await verifyEnglishLocale(fix)
const localeCodes = localeIndex
.filter(localeMeta => localeMeta.code !== 'en')
.map(localeMeta => localeMeta.code)
.filter((localeMeta) => localeMeta.code !== 'en')
.map((localeMeta) => localeMeta.code)
for (const code of localeCodes) {
log.info() // Separate each locale report by a newline when not in '--quiet' mode
@ -179,7 +179,7 @@ async function verifyEnglishLocale (fix = false) {
const templateMatches = fileContents.match(templateStringRegex)
if (templateMatches) {
// concat doesn't work here for some reason
templateMatches.forEach(match => templateUsage.push(match))
templateMatches.forEach((match) => templateUsage.push(match))
}
}
@ -188,7 +188,7 @@ async function verifyEnglishLocale (fix = false) {
const englishMessages = Object.keys(englishLocale)
const unusedMessages = englishMessages
.filter(message => !messageExceptions.includes(message) && !usedMessages.has(message))
.filter((message) => !messageExceptions.includes(message) && !usedMessages.has(message))
if (unusedMessages.length) {
console.log(`**en**: ${unusedMessages.length} unused messages`)

View File

@ -33,7 +33,7 @@ sass.compiler = require('node-sass')
const dependencies = Object.keys(packageJSON && packageJSON.dependencies || {})
const materialUIDependencies = ['@material-ui/core']
const reactDepenendencies = dependencies.filter(dep => dep.match(/react/))
const reactDepenendencies = dependencies.filter((dep) => dep.match(/react/))
const d3Dependencies = ['c3', 'd3']
const externalDependenciesMap = {
@ -77,38 +77,38 @@ const copyDevTaskNames = []
createCopyTasks('locales', {
source: './app/_locales/',
destinations: commonPlatforms.map(platform => `./dist/${platform}/_locales`),
destinations: commonPlatforms.map((platform) => `./dist/${platform}/_locales`),
})
createCopyTasks('images', {
source: './app/images/',
destinations: commonPlatforms.map(platform => `./dist/${platform}/images`),
destinations: commonPlatforms.map((platform) => `./dist/${platform}/images`),
})
createCopyTasks('contractImages', {
source: './node_modules/eth-contract-metadata/images/',
destinations: commonPlatforms.map(platform => `./dist/${platform}/images/contract`),
destinations: commonPlatforms.map((platform) => `./dist/${platform}/images/contract`),
})
createCopyTasks('fonts', {
source: './app/fonts/',
destinations: commonPlatforms.map(platform => `./dist/${platform}/fonts`),
destinations: commonPlatforms.map((platform) => `./dist/${platform}/fonts`),
})
createCopyTasks('vendor', {
source: './app/vendor/',
destinations: commonPlatforms.map(platform => `./dist/${platform}/vendor`),
destinations: commonPlatforms.map((platform) => `./dist/${platform}/vendor`),
})
createCopyTasks('css', {
source: './ui/app/css/output/',
destinations: commonPlatforms.map(platform => `./dist/${platform}`),
destinations: commonPlatforms.map((platform) => `./dist/${platform}`),
})
createCopyTasks('reload', {
devOnly: true,
source: './app/scripts/',
pattern: '/chromereload.js',
destinations: commonPlatforms.map(platform => `./dist/${platform}`),
destinations: commonPlatforms.map((platform) => `./dist/${platform}`),
})
createCopyTasks('html', {
source: './app/',
pattern: '/*.html',
destinations: commonPlatforms.map(platform => `./dist/${platform}`),
destinations: commonPlatforms.map((platform) => `./dist/${platform}`),
})
// copy extension
@ -116,7 +116,7 @@ createCopyTasks('html', {
createCopyTasks('manifest', {
source: './app/',
pattern: '/*.json',
destinations: browserPlatforms.map(platform => `./dist/${platform}`),
destinations: browserPlatforms.map((platform) => `./dist/${platform}`),
})
function createCopyTasks (label, opts) {
@ -235,7 +235,7 @@ gulp.task('manifest:testing-local', function () {
.pipe(jsoneditor(function (json) {
json.background = {
...json.background,
scripts: json.background.scripts.filter(scriptName => !scriptsToExcludeFromBackgroundDevBuild[scriptName]),
scripts: json.background.scripts.filter((scriptName) => !scriptsToExcludeFromBackgroundDevBuild[scriptName]),
}
json.permissions = [...json.permissions, 'webRequestBlocking', 'http://localhost/*']
return json
@ -254,7 +254,7 @@ gulp.task('manifest:dev', function () {
.pipe(jsoneditor(function (json) {
json.background = {
...json.background,
scripts: json.background.scripts.filter(scriptName => !scriptsToExcludeFromBackgroundDevBuild[scriptName]),
scripts: json.background.scripts.filter((scriptName) => !scriptsToExcludeFromBackgroundDevBuild[scriptName]),
}
json.permissions = [...json.permissions, 'webRequestBlocking']
return json
@ -378,7 +378,7 @@ createTasksForBuildJsExtension({ buildJsFiles, taskPrefix: 'build:extension:js'
createTasksForBuildJsExtension({ buildJsFiles, taskPrefix: 'build:test:extension:js', testing: 'true' })
function createTasksForBuildJsDeps ({ key, filename }) {
const destinations = browserPlatforms.map(platform => `./dist/${platform}`)
const destinations = browserPlatforms.map((platform) => `./dist/${platform}`)
const bundleTaskOpts = Object.assign({
buildSourceMaps: true,
@ -400,10 +400,10 @@ function createTasksForBuildJsDeps ({ key, filename }) {
function createTasksForBuildJsExtension ({ buildJsFiles, taskPrefix, devMode, testing, bundleTaskOpts = {} }) {
// inpage must be built before all other scripts:
const rootDir = './app/scripts'
const nonInpageFiles = buildJsFiles.filter(file => file !== 'inpage')
const nonInpageFiles = buildJsFiles.filter((file) => file !== 'inpage')
const buildPhase1 = ['inpage']
const buildPhase2 = nonInpageFiles
const destinations = browserPlatforms.map(platform => `./dist/${platform}`)
const destinations = browserPlatforms.map((platform) => `./dist/${platform}`)
bundleTaskOpts = Object.assign({
buildSourceMaps: true,
sourceMapDir: '../sourcemaps',
@ -430,9 +430,9 @@ function createTasksForBuildJs ({ rootDir, taskPrefix, bundleTaskOpts, destinati
})
// compose into larger task
const subtasks = []
subtasks.push(gulp.parallel(buildPhase1.map(file => `${taskPrefix}:${file}`)))
subtasks.push(gulp.parallel(buildPhase1.map((file) => `${taskPrefix}:${file}`)))
if (buildPhase2.length) {
subtasks.push(gulp.parallel(buildPhase2.map(file => `${taskPrefix}:${file}`)))
subtasks.push(gulp.parallel(buildPhase2.map((file) => `${taskPrefix}:${file}`)))
}
gulp.task(taskPrefix, gulp.series(subtasks))

View File

@ -37,7 +37,7 @@ describe('MetaMask', function () {
if (process.env.SELENIUM_BROWSER === 'chrome') {
const errors = await driver.checkBrowserForConsoleErrors()
if (errors.length) {
const errorReports = errors.map(err => err.message)
const errorReports = errors.map((err) => err.message)
const errorMessage = `Errors found in browser console:\n${errorReports.join('\n')}`
console.error(new Error(errorMessage))
}

View File

@ -37,10 +37,10 @@ const calculateSum = (array) => array.reduce((sum, val) => sum + val)
const calculateAverage = (array) => calculateSum(array) / array.length
const minResult = calculateResult((array) => Math.min(...array))
const maxResult = calculateResult((array) => Math.max(...array))
const averageResult = calculateResult(array => calculateAverage(array))
const averageResult = calculateResult((array) => calculateAverage(array))
const standardDeviationResult = calculateResult((array) => {
const average = calculateAverage(array)
const squareDiffs = array.map(value => Math.pow(value - average, 2))
const squareDiffs = array.map((value) => Math.pow(value - average, 2))
return Math.sqrt(calculateAverage(squareDiffs))
})
// 95% margin of error calculated using Student's t-distrbution
@ -55,17 +55,17 @@ async function profilePageLoad (pages, numSamples) {
runResults.push(await measurePage(pageName))
}
if (runResults.some(result => result.navigation.lenth > 1)) {
if (runResults.some((result) => result.navigation.lenth > 1)) {
throw new Error(`Multiple navigations not supported`)
} else if (runResults.some(result => result.navigation[0].type !== 'navigate')) {
throw new Error(`Navigation type ${runResults.find(result => result.navigation[0].type !== 'navigate').navigation[0].type} not supported`)
} else if (runResults.some((result) => result.navigation[0].type !== 'navigate')) {
throw new Error(`Navigation type ${runResults.find((result) => result.navigation[0].type !== 'navigate').navigation[0].type} not supported`)
}
const result = {
firstPaint: runResults.map(result => result.paint['first-paint']),
domContentLoaded: runResults.map(result => result.navigation[0] && result.navigation[0].domContentLoaded),
load: runResults.map(result => result.navigation[0] && result.navigation[0].load),
domInteractive: runResults.map(result => result.navigation[0] && result.navigation[0].domInteractive),
firstPaint: runResults.map((result) => result.paint['first-paint']),
domContentLoaded: runResults.map((result) => result.navigation[0] && result.navigation[0].domContentLoaded),
load: runResults.map((result) => result.navigation[0] && result.navigation[0].load),
domInteractive: runResults.map((result) => result.navigation[0] && result.navigation[0].domInteractive),
}
results[pageName] = {
@ -166,7 +166,7 @@ async function main () {
}
main()
.catch(e => {
.catch((e) => {
console.error(e)
process.exit(1)
})

View File

@ -36,7 +36,7 @@ describe('MetaMask', function () {
if (process.env.SELENIUM_BROWSER === 'chrome') {
const errors = await driver.checkBrowserForConsoleErrors(driver)
if (errors.length) {
const errorReports = errors.map(err => err.message)
const errorReports = errors.map((err) => err.message)
const errorMessage = `Errors found in browser console:\n${errorReports.join('\n')}`
console.error(new Error(errorMessage))
}
@ -119,7 +119,7 @@ describe('MetaMask', function () {
extension = windowHandles[0]
dapp = await driver.switchToWindowWithTitle('E2E Test Dapp', windowHandles)
popup = windowHandles.find(handle => handle !== extension && handle !== dapp)
popup = windowHandles.find((handle) => handle !== extension && handle !== dapp)
await driver.switchToWindow(popup)

View File

@ -41,7 +41,7 @@ describe('Using MetaMask with an existing account', function () {
if (process.env.SELENIUM_BROWSER === 'chrome') {
const errors = await driver.checkBrowserForConsoleErrors(driver)
if (errors.length) {
const errorReports = errors.map(err => err.message)
const errorReports = errors.map((err) => err.message)
const errorMessage = `Errors found in browser console:\n${errorReports.join('\n')}`
console.error(new Error(errorMessage))
}

View File

@ -41,7 +41,7 @@ describe('MetaMask', function () {
if (process.env.SELENIUM_BROWSER === 'chrome') {
const errors = await driver.checkBrowserForConsoleErrors(driver)
if (errors.length) {
const errorReports = errors.map(err => err.message)
const errorReports = errors.map((err) => err.message)
const errorMessage = `Errors found in browser console:\n${errorReports.join('\n')}`
console.error(new Error(errorMessage))
}

View File

@ -31,7 +31,7 @@ describe('MetaMask', function () {
if (process.env.SELENIUM_BROWSER === 'chrome') {
const errors = await driver.checkBrowserForConsoleErrors(driver)
if (errors.length) {
const errorReports = errors.map(err => err.message)
const errorReports = errors.map((err) => err.message)
const errorMessage = `Errors found in browser console:\n${errorReports.join('\n')}`
console.error(new Error(errorMessage))
}

View File

@ -32,7 +32,7 @@ describe('MetaMask', function () {
if (process.env.SELENIUM_BROWSER === 'chrome') {
const errors = await driver.checkBrowserForConsoleErrors(driver)
if (errors.length) {
const errorReports = errors.map(err => err.message)
const errorReports = errors.map((err) => err.message)
const errorMessage = `Errors found in browser console:\n${errorReports.join('\n')}`
console.error(new Error(errorMessage))
}
@ -407,7 +407,7 @@ describe('MetaMask', function () {
extension = windowHandles[0]
dapp = await driver.switchToWindowWithTitle('E2E Test Dapp', windowHandles)
popup = windowHandles.find(handle => handle !== extension && handle !== dapp)
popup = windowHandles.find((handle) => handle !== extension && handle !== dapp)
await driver.switchToWindow(popup)
@ -1273,7 +1273,7 @@ describe('MetaMask', function () {
'http://127.0.0.1:8545/4',
]
customRpcUrls.forEach(customRpcUrl => {
customRpcUrls.forEach((customRpcUrl) => {
it(`creates custom RPC: ${customRpcUrl}`, async function () {
await driver.clickElement(By.css('.network-name'))
await driver.delay(regularDelayMs)

View File

@ -9,7 +9,7 @@ const requestHandler = (request, response) => {
response.setHeader('Content-Type', 'application/json')
if (request.method === 'POST') {
let body = ''
request.on('data', chunk => {
request.on('data', (chunk) => {
body += chunk.toString() // convert Buffer to string
})
request.on('end', () => {

View File

@ -36,7 +36,7 @@ describe('MetaMask', function () {
if (process.env.SELENIUM_BROWSER === 'chrome') {
const errors = await driver.checkBrowserForConsoleErrors(driver)
if (errors.length) {
const errorReports = errors.map(err => err.message)
const errorReports = errors.map((err) => err.message)
const errorMessage = `Errors found in browser console:\n${errorReports.join('\n')}`
console.error(new Error(errorMessage))
}
@ -117,7 +117,7 @@ describe('MetaMask', function () {
extension = windowHandles[0]
dapp = await driver.switchToWindowWithTitle('E2E Test Dapp', windowHandles)
popup = windowHandles.find(handle => handle !== extension && handle !== dapp)
popup = windowHandles.find((handle) => handle !== extension && handle !== dapp)
await driver.switchToWindow(popup)

View File

@ -38,7 +38,7 @@ describe('Using MetaMask with an existing account', function () {
if (process.env.SELENIUM_BROWSER === 'chrome') {
const errors = await driver.checkBrowserForConsoleErrors(driver)
if (errors.length) {
const errorReports = errors.map(err => err.message)
const errorReports = errors.map((err) => err.message)
const errorMessage = `Errors found in browser console:\n${errorReports.join('\n')}`
console.error(new Error(errorMessage))
}

View File

@ -35,7 +35,7 @@ describe('MetaMask', function () {
if (process.env.SELENIUM_BROWSER === 'chrome') {
const errors = await driver.checkBrowserForConsoleErrors(driver)
if (errors.length) {
const errorReports = errors.map(err => err.message)
const errorReports = errors.map((err) => err.message)
const errorMessage = `Errors found in browser console:\n${errorReports.join('\n')}`
console.error(new Error(errorMessage))
}
@ -78,7 +78,7 @@ describe('MetaMask', function () {
extension = windowHandles[0]
dapp = await driver.switchToWindowWithTitle('E2E Test Dapp', windowHandles)
popup = windowHandles.find(handle => handle !== extension && handle !== dapp)
popup = windowHandles.find((handle) => handle !== extension && handle !== dapp)
await driver.switchToWindow(popup)

View File

@ -39,7 +39,7 @@ describe('MetaMask', function () {
if (process.env.SELENIUM_BROWSER === 'chrome') {
const errors = await driver.checkBrowserForConsoleErrors(driver)
if (errors.length) {
const errorReports = errors.map(err => err.message)
const errorReports = errors.map((err) => err.message)
const errorMessage = `Errors found in browser console:\n${errorReports.join('\n')}`
console.error(new Error(errorMessage))
}

View File

@ -38,7 +38,7 @@ describe('Using MetaMask with an existing account', function () {
if (process.env.SELENIUM_BROWSER === 'chrome') {
const errors = await driver.checkBrowserForConsoleErrors(driver)
if (errors.length) {
const errorReports = errors.map(err => err.message)
const errorReports = errors.map((err) => err.message)
const errorMessage = `Errors found in browser console:\n${errorReports.join('\n')}`
console.error(new Error(errorMessage))
}
@ -116,7 +116,7 @@ describe('Using MetaMask with an existing account', function () {
const extension = windowHandles[0]
const popup = await driver.switchToWindowWithTitle('MetaMask Notification', windowHandles)
const dapp = windowHandles.find(handle => handle !== extension && handle !== popup)
const dapp = windowHandles.find((handle) => handle !== extension && handle !== popup)
await driver.delay(regularDelayMs)
await driver.clickElement(By.xpath(`//button[contains(text(), 'Connect')]`))

View File

@ -16,7 +16,7 @@ class Driver {
}
async delay (time) {
await new Promise(resolve => setTimeout(resolve, time))
await new Promise((resolve) => setTimeout(resolve, time))
}
async wait (condition, timeout = this.timeout) {
@ -180,9 +180,9 @@ class Driver {
'favicon.ico - Failed to load resource: the server responded with a status of 404 (Not Found)',
]
const browserLogs = await this.driver.manage().logs().get('browser')
const errorEntries = browserLogs.filter(entry => !ignoredLogTypes.includes(entry.level.toString()))
const errorObjects = errorEntries.map(entry => entry.toJSON())
return errorObjects.filter(entry => !ignoredErrorMessages.some(message => entry.message.includes(message)))
const errorEntries = browserLogs.filter((entry) => !ignoredLogTypes.includes(entry.level.toString()))
const errorObjects = errorEntries.map((entry) => entry.toJSON())
return errorObjects.filter((entry) => !ignoredErrorMessages.some((message) => entry.message.includes(message)))
}
}

View File

@ -26,8 +26,8 @@ export function mountWithRouter (component, store = {}, pathname = '/') {
const createContext = () => ({
context: {
router,
t: str => str,
tOrKey: str => str,
t: (str) => str,
tOrKey: (str) => str,
metricsEvent: () => {},
store,
},

View File

@ -1,5 +1,5 @@
require('@babel/register')({
ignore: [name => name.includes('node_modules') && !name.includes('obs-store')],
ignore: [(name) => name.includes('node_modules') && !name.includes('obs-store')],
})
require('./helper')

View File

@ -903,7 +903,7 @@ describe('MetaMaskController', function () {
function deferredPromise () {
let resolve
const promise = new Promise(_resolve => {
const promise = new Promise((_resolve) => {
resolve = _resolve
})
return { promise, resolve }

View File

@ -226,7 +226,7 @@ describe('PendingTransactionTracker', function () {
it('should emit \'tx:warning\' if it encountered a real error', function (done) {
pendingTxTracker.once('tx:warning', (txMeta, err) => {
if (err.message === 'im some real error') {
const matchingTx = txList.find(tx => tx.id === txMeta.id)
const matchingTx = txList.find((tx) => tx.id === txMeta.id)
matchingTx.resolve()
} else {
done(err)

View File

@ -683,7 +683,7 @@ describe('Transaction Controller', function () {
])
assert(txController.pendingTxTracker.getPendingTransactions().length, 2)
const states = txController.pendingTxTracker.getPendingTransactions().map(tx => tx.status)
const states = txController.pendingTxTracker.getPendingTransactions().map((tx) => tx.status)
assert(states.includes('approved'), 'includes approved')
assert(states.includes('submitted'), 'includes submitted')
})

View File

@ -27,7 +27,7 @@ describe('fetchWithTimeout', function () {
})
try {
await fetch('https://api.infura.io/moon').then(r => r.json())
await fetch('https://api.infura.io/moon').then((r) => r.json())
assert.fail('Request should throw')
} catch (e) {
assert.ok(e)
@ -45,7 +45,7 @@ describe('fetchWithTimeout', function () {
})
try {
await fetch('https://api.infura.io/moon').then(r => r.json())
await fetch('https://api.infura.io/moon').then((r) => r.json())
assert.fail('Request should be aborted')
} catch (e) {
assert.deepEqual(e.message, 'Aborted')

View File

@ -24,7 +24,7 @@ describe('migration #31', function () {
}
migration31.migrate(oldStorage)
.then(newStorage => {
.then((newStorage) => {
assert.equal(newStorage.data.PreferencesController.completedOnboarding, true)
done()
})
@ -47,7 +47,7 @@ describe('migration #31', function () {
}
migration31.migrate(oldStorage)
.then(newStorage => {
.then((newStorage) => {
assert.equal(newStorage.data.PreferencesController.completedOnboarding, false)
done()
})

View File

@ -33,7 +33,7 @@ describe('Migration to delete notice controller', function () {
it('removes notice controller from state', function () {
migration33.migrate(oldStorage)
.then(newStorage => {
.then((newStorage) => {
assert.equal(newStorage.data.NoticeController, undefined)
})
})

View File

@ -44,7 +44,7 @@ const firstTimeState = {
describe('migrations', function () {
describe('liveMigrations require list', function () {
it('should include all the migrations', async function () {
const fileNames = await pify(cb => fs.readdir('./app/scripts/migrations/', cb))()
const fileNames = await pify((cb) => fs.readdir('./app/scripts/migrations/', cb))()
const migrationNumbers = fileNames.reduce((agg, filename) => {
const name = filename.split('.')[0]
if (/^\d+$/.test(name)) {

View File

@ -119,7 +119,7 @@ describe('Actions', function () {
const unlockFailedError = [ { type: 'UNLOCK_FAILED', value: 'error' } ]
verifySeedPhraseSpy = sinon.stub(background, 'verifySeedPhrase')
verifySeedPhraseSpy.callsFake(callback => {
verifySeedPhraseSpy.callsFake((callback) => {
callback(new Error('error'))
})
@ -128,8 +128,8 @@ describe('Actions', function () {
assert.fail('Should have thrown error')
} catch (_) {
const actions1 = store.getActions()
const warning = actions1.filter(action => action.type === 'DISPLAY_WARNING')
const unlockFailed = actions1.filter(action => action.type === 'UNLOCK_FAILED')
const warning = actions1.filter((action) => action.type === 'DISPLAY_WARNING')
const unlockFailed = actions1.filter((action) => action.type === 'UNLOCK_FAILED')
assert.deepEqual(warning, displayWarningError)
assert.deepEqual(unlockFailed, unlockFailedError)
}
@ -245,7 +245,7 @@ describe('Actions', function () {
assert(removeAccountSpy.calledOnce)
const actionTypes = store
.getActions()
.map(action => action.type)
.map((action) => action.type)
assert.deepEqual(actionTypes, expectedActions)
})
@ -269,7 +269,7 @@ describe('Actions', function () {
} catch (_) {
const actionTypes = store
.getActions()
.map(action => action.type)
.map((action) => action.type)
assert.deepEqual(actionTypes, expectedActions)
}
@ -995,7 +995,7 @@ describe('Actions', function () {
{ type: 'LOCK_METAMASK' },
]
backgroundSetLockedSpy = sinon.stub(background, 'setLocked')
backgroundSetLockedSpy.callsFake(callback => {
backgroundSetLockedSpy.callsFake((callback) => {
callback(new Error('error'))
})
@ -1375,7 +1375,7 @@ describe('Actions', function () {
describe('#setCompletedOnboarding', function () {
it('completes onboarding', async function () {
const completeOnboardingSpy = sinon.stub(background, 'completeOnboarding')
completeOnboardingSpy.callsFake(cb => cb())
completeOnboardingSpy.callsFake((cb) => cb())
const store = mockStore()
await store.dispatch(actions.setCompletedOnboarding())
assert.equal(completeOnboardingSpy.callCount, 1)

View File

@ -4,12 +4,12 @@ const json = methods
web3.currentProvider.enable().then(() => {
Object.keys(json).forEach(methodGroupKey => {
Object.keys(json).forEach((methodGroupKey) => {
console.log(methodGroupKey)
const methodGroup = json[methodGroupKey]
console.log(methodGroup)
Object.keys(methodGroup).forEach(methodKey => {
Object.keys(methodGroup).forEach((methodKey) => {
const methodButton = document.getElementById(methodKey)
methodButton.addEventListener('click', () => {

View File

@ -103,7 +103,7 @@ export default class AccountMenu extends Component {
placeholder={this.context.t('searchAccounts')}
type="text"
value={this.state.searchQuery}
onChange={e => this.setSearchQuery(e.target.value)}
onChange={(e) => this.setSearchQuery(e.target.value)}
startAdornment={inputAdornment}
fullWidth
theme="material-white-padded"
@ -133,12 +133,12 @@ export default class AccountMenu extends Component {
return <p className="account-menu__no-accounts">{this.context.t('noAccountsFound')}</p>
}
return filteredIdentities.map(identity => {
return filteredIdentities.map((identity) => {
const isSelected = identity.address === selectedAddress
const simpleAddress = identity.address.substring(2).toLowerCase()
const keyring = keyrings.find(kr => {
const keyring = keyrings.find((kr) => {
return kr.accounts.includes(simpleAddress) || kr.accounts.includes(identity.address)
})
const addressDomains = addressConnectedDomainMap[identity.address] || {}
@ -210,7 +210,7 @@ export default class AccountMenu extends Component {
>
<a
className="remove-account-icon"
onClick={e => this.removeAccount(e, identity)}
onClick={(e) => this.removeAccount(e, identity)}
/>
</Tooltip>
)
@ -275,7 +275,7 @@ export default class AccountMenu extends Component {
onScroll = debounce(this.setShouldShowScrollButton, 25)
handleScrollDown = e => {
handleScrollDown = (e) => {
e.stopPropagation()
const { scrollHeight } = this.accountsRef
@ -336,7 +336,7 @@ export default class AccountMenu extends Component {
<div
className="account-menu__accounts"
onScroll={this.onScroll}
ref={ref => {
ref={(ref) => {
this.accountsRef = ref
}}
>

View File

@ -53,7 +53,7 @@ function mapStateToProps (state) {
function mapDispatchToProps (dispatch) {
return {
toggleAccountMenu: () => dispatch(toggleAccountMenu()),
showAccountDetail: address => {
showAccountDetail: (address) => {
dispatch(showAccountDetail(address))
dispatch(hideSidebar())
dispatch(toggleAccountMenu())
@ -64,7 +64,7 @@ function mapDispatchToProps (dispatch) {
dispatch(hideSidebar())
dispatch(toggleAccountMenu())
},
showRemoveAccountConfirmationModal: identity => {
showRemoveAccountConfirmationModal: (identity) => {
return dispatch(showModal({ name: 'CONFIRM_REMOVE_ACCOUNT', identity }))
},
}

View File

@ -103,7 +103,7 @@ export default class AppHeader extends PureComponent {
<NetworkIndicator
network={network}
provider={provider}
onClick={event => this.handleNetworkIndicatorClick(event)}
onClick={(event) => this.handleNetworkIndicatorClick(event)}
disabled={disabled}
/>
</div>

View File

@ -5,7 +5,7 @@ import { compose } from 'recompose'
import AppHeader from './app-header.component'
import * as actions from '../../../store/actions'
const mapStateToProps = state => {
const mapStateToProps = (state) => {
const { appState, metamask } = state
const { networkDropdownOpen } = appState
const {
@ -26,7 +26,7 @@ const mapStateToProps = state => {
}
}
const mapDispatchToProps = dispatch => {
const mapDispatchToProps = (dispatch) => {
return {
showNetworkDropdown: () => dispatch(actions.showNetworkDropdown()),
hideNetworkDropdown: () => dispatch(actions.hideNetworkDropdown()),

View File

@ -29,7 +29,7 @@ describe('App Header', function () {
wrapper = shallow(
<AppHeader.WrappedComponent {...props} />, {
context: {
t: str => str,
t: (str) => str,
metricsEvent: () => {},
},
}

View File

@ -4,7 +4,7 @@ import classnames from 'classnames'
import UserPreferencedCurrencyDisplay from '../../user-preferenced-currency-display'
import { PRIMARY, SECONDARY } from '../../../../helpers/constants/common'
const ConfirmDetailRow = props => {
const ConfirmDetailRow = (props) => {
const {
label,
primaryText,

View File

@ -3,7 +3,7 @@ import PropTypes from 'prop-types'
import classnames from 'classnames'
import Identicon from '../../../../ui/identicon'
const ConfirmPageContainerSummary = props => {
const ConfirmPageContainerSummary = (props) => {
const {
action,
title,

View File

@ -1,7 +1,7 @@
import React from 'react'
import PropTypes from 'prop-types'
const ConfirmPageContainerWarning = props => {
const ConfirmPageContainerWarning = (props) => {
return (
<div className="confirm-page-container-warning">
<img

View File

@ -1,7 +1,7 @@
import React from 'react'
import PropTypes from 'prop-types'
const ConfirmPageContainerNavigation = props => {
const ConfirmPageContainerNavigation = (props) => {
const { onNextTx, totalTx, positionOfCurrentTx, nextTxId, prevTxId, showNavigation, firstTx, lastTx, ofText, requestsWaitingText } = props
return (

View File

@ -14,7 +14,7 @@ import {
} from '../../../selectors/selectors'
import { getOriginFromUrl } from '../../../helpers/utils/util'
const mapStateToProps = state => {
const mapStateToProps = (state) => {
const addressConnectedToCurrentTab = getAddressConnectedToCurrentTab(state)
const { openMetaMaskTabs } = state.appState
const { title, url, id } = state.activeTab
@ -36,7 +36,7 @@ const mapStateToProps = state => {
}
}
const mapDispatchToProps = dispatch => {
const mapDispatchToProps = (dispatch) => {
return {
showDisconnectAccountModal: (domainKey, domain) => {
dispatch(showModal({ name: 'DISCONNECT_ACCOUNT', domainKey, domain }))

View File

@ -39,7 +39,7 @@ function mapDispatchToProps (dispatch) {
dispatch(actions.delRpcTarget(target))
},
hideNetworkDropdown: () => dispatch(actions.hideNetworkDropdown()),
setNetworksTabAddMode: isInAddMode => dispatch(actions.setNetworksTabAddMode(isInAddMode)),
setNetworksTabAddMode: (isInAddMode) => dispatch(actions.setNetworksTabAddMode(isInAddMode)),
}
}
@ -216,7 +216,7 @@ class NetworkDropdown extends Component {
isOpen={isOpen}
onClickOutside={(event) => {
const { classList } = event.target
const isInClassList = className => classList.contains(className)
const isInClassList = (className) => classList.contains(className)
const notToggleElementIndex = R.findIndex(isInClassList)(notToggleElementClassnames)
if (notToggleElementIndex === -1) {

View File

@ -17,7 +17,7 @@ class SimpleDropdown extends Component {
getDisplayValue () {
const { selectedOption, options } = this.props
const matchesOption = option => option.value === selectedOption
const matchesOption = (option) => option.value === selectedOption
const matchingOption = R.find(matchesOption)(options)
return matchingOption
? matchingOption.displayValue || matchingOption.value
@ -41,7 +41,7 @@ class SimpleDropdown extends Component {
<div>
<div
className="simple-dropdown__close-area"
onClick={event => {
onClick={(event) => {
event.stopPropagation()
this.handleClose()
}}

View File

@ -15,7 +15,7 @@ function convertGasLimitForInputs (gasLimitInHexWEI) {
return parseInt(gasLimitInHexWEI, 16) || 0
}
const mapDispatchToProps = dispatch => {
const mapDispatchToProps = (dispatch) => {
return {
showGasPriceInfoModal: () => dispatch(showModal({ name: 'GAS_PRICE_INFO_MODAL' })),
showGasLimitInfoModal: () => dispatch(showModal({ name: 'GAS_LIMIT_INFO_MODAL' })),

View File

@ -27,7 +27,7 @@ describe('Advanced Gas Inputs', function () {
{...props}
/>, {
context: {
t: str => str,
t: (str) => str,
},
})
})

View File

@ -32,7 +32,7 @@ const mockGasPriceButtonGroupProps = {
gasEstimateType: GAS_ESTIMATE_TYPES.AVERAGE,
},
],
handleGasPriceSelection: newPrice => console.log('NewPrice: ', newPrice),
handleGasPriceSelection: (newPrice) => console.log('NewPrice: ', newPrice),
noButtonActiveByDefault: true,
showCheck: true,
}

View File

@ -49,10 +49,10 @@ export default class GasModalPageContainer extends Component {
const promise = this.props.hideBasic
? Promise.resolve(this.props.blockTime)
: this.props.fetchBasicGasAndTimeEstimates()
.then(basicEstimates => basicEstimates.blockTime)
.then((basicEstimates) => basicEstimates.blockTime)
promise
.then(blockTime => {
.then((blockTime) => {
this.props.fetchGasEstimates(blockTime)
})
}

View File

@ -165,8 +165,8 @@ const mapStateToProps = (state, ownProps) => {
}
}
const mapDispatchToProps = dispatch => {
const updateCustomGasPrice = newPrice => dispatch(setCustomGasPrice(addHexPrefix(newPrice)))
const mapDispatchToProps = (dispatch) => {
const updateCustomGasPrice = (newPrice) => dispatch(setCustomGasPrice(addHexPrefix(newPrice)))
return {
cancelAndClose: () => {
@ -175,7 +175,7 @@ const mapDispatchToProps = dispatch => {
},
hideModal: () => dispatch(hideModal()),
updateCustomGasPrice,
updateCustomGasLimit: newLimit => dispatch(setCustomGasLimit(addHexPrefix(newLimit))),
updateCustomGasLimit: (newLimit) => dispatch(setCustomGasLimit(addHexPrefix(newLimit))),
setGasData: (newLimit, newPrice) => {
dispatch(setGasLimit(newLimit))
dispatch(setGasPrice(newPrice))

View File

@ -261,7 +261,7 @@ export function generateChart (gasPrices, estimatedTimes, gasPricesMax, estimate
contents: function (d) {
const titleFormat = this.config.tooltip_format_title
let text
d.forEach(el => {
d.forEach((el) => {
if (el && (el.value || el.value === 0) && !text) {
text = "<table class='" + 'custom-tooltip' + "'>" + "<tr><th colspan='2'>" + titleFormat(el.x) + '</th></tr>'
}

View File

@ -33,7 +33,7 @@ export default class GasSlider extends Component {
min={min}
value={value}
id="gasSlider"
onChange={event => onChange(event.target.value)}
onChange={(event) => onChange(event.target.value)}
/>
<div className="gas-slider__bar">
<div className="gas-slider__colored" />

View File

@ -3,7 +3,7 @@ import LoadingNetworkScreen from './loading-network-screen.component'
import * as actions from '../../../store/actions'
import { getNetworkIdentifier } from '../../../selectors/selectors'
const mapStateToProps = state => {
const mapStateToProps = (state) => {
const {
loadingMessage,
} = state.appState
@ -28,7 +28,7 @@ const mapStateToProps = state => {
}
}
const mapDispatchToProps = dispatch => {
const mapDispatchToProps = (dispatch) => {
return {
setProviderType: (type) => {
dispatch(actions.setProviderType(type))

View File

@ -3,7 +3,7 @@ import { WALLET_VIEW_SIDEBAR } from '../sidebars/sidebar.constants'
import MenuBar from './menu-bar.component'
import { showSidebar, hideSidebar } from '../../../store/actions'
const mapStateToProps = state => {
const mapStateToProps = (state) => {
const { appState: { sidebar: { isOpen } } } = state
return {
@ -11,7 +11,7 @@ const mapStateToProps = state => {
}
}
const mapDispatchToProps = dispatch => {
const mapDispatchToProps = (dispatch) => {
return {
showSidebar: () => {
dispatch(showSidebar({

View File

@ -46,7 +46,7 @@ export default class AccountDetailsModal extends Component {
<EditableLabel
className="account-modal__name"
defaultValue={name}
onSubmit={label => setAccountLabel(address, label)}
onSubmit={(label) => setAccountLabel(address, label)}
/>
<QrView

View File

@ -24,13 +24,13 @@ export default class AddToAddressBookModal extends Component {
hideModal()
}
onChange = e => {
onChange = (e) => {
this.setState({
alias: e.target.value,
})
}
onKeyPress = e => {
onKeyPress = (e) => {
if (e.key === 'Enter' && this.state.alias) {
this.onSave()
}

View File

@ -33,7 +33,7 @@ const mapStateToProps = (state, ownProps) => {
}
}
const mapDispatchToProps = dispatch => {
const mapDispatchToProps = (dispatch) => {
return {
createCancelTransaction: (txId, customGasPrice) => {
return dispatch(createCancelTransaction(txId, customGasPrice))

View File

@ -7,7 +7,7 @@ import CancelTransactionGasFee from '../cancel-transaction-gas-fee'
import Modal from '../../../modal'
describe('CancelTransaction Component', function () {
const t = key => key
const t = (key) => key
it('should render a CancelTransaction modal', function () {
const wrapper = shallow(

View File

@ -4,7 +4,7 @@ import withModalProps from '../../../../helpers/higher-order-components/with-mod
import ConfirmDeleteNetwork from './confirm-delete-network.component'
import { delRpcTarget } from '../../../../store/actions'
const mapDispatchToProps = dispatch => {
const mapDispatchToProps = (dispatch) => {
return {
delRpcTarget: (target) => dispatch(delRpcTarget(target)),
}

View File

@ -18,7 +18,7 @@ describe('Confirm Delete Network', function () {
wrapper = mount(
<ConfirmDeleteNetwork.WrappedComponent {...props} />, {
context: {
t: str => str,
t: (str) => str,
},
}
)

View File

@ -4,13 +4,13 @@ import ConfirmRemoveAccount from './confirm-remove-account.component'
import withModalProps from '../../../../helpers/higher-order-components/with-modal-props'
import { removeAccount } from '../../../../store/actions'
const mapStateToProps = state => {
const mapStateToProps = (state) => {
return {
network: state.metamask.network,
}
}
const mapDispatchToProps = dispatch => {
const mapDispatchToProps = (dispatch) => {
return {
removeAccount: (address) => dispatch(removeAccount(address)),
}

View File

@ -37,7 +37,7 @@ describe('Confirm Remove Account', function () {
<ConfirmRemoveAccount.WrappedComponent {...props} />
</Provider>, {
context: {
t: str => str,
t: (str) => str,
store,
},
childContextTypes: {

View File

@ -4,7 +4,7 @@ import withModalProps from '../../../../helpers/higher-order-components/with-mod
import ConfirmResetAccount from './confirm-reset-account.component'
import { resetAccount } from '../../../../store/actions'
const mapDispatchToProps = dispatch => {
const mapDispatchToProps = (dispatch) => {
return {
resetAccount: () => dispatch(resetAccount()),
}

View File

@ -16,7 +16,7 @@ describe('Confirm Reset Account', function () {
wrapper = mount(
<ConfirmResetAccount.WrappedComponent {...props} />, {
context: {
t: str => str,
t: (str) => str,
},
}
)

View File

@ -79,7 +79,7 @@ export default class DepositEtherModal extends Component {
render () {
const { network, toWyre, toCoinSwitch, address, toFaucet } = this.props
const isTestNetwork = ['3', '4', '5', '42'].find(n => n === network)
const isTestNetwork = ['3', '4', '5', '42'].find((n) => n === network)
const networkName = getNetworkDisplayName(network)
return (

View File

@ -26,7 +26,7 @@ function mapDispatchToProps (dispatch) {
showAccountDetailModal: () => {
dispatch(showModal({ name: 'ACCOUNT_DETAILS' }))
},
toFaucet: network => dispatch(buyEth({ network })),
toFaucet: (network) => dispatch(buyEth({ network })),
}
}

View File

@ -5,17 +5,17 @@ import DisconnectAccount from './disconnect-account.component'
import { getCurrentAccountWithSendEtherInfo } from '../../../../selectors/selectors'
import { removePermissionsFor } from '../../../../store/actions'
const mapStateToProps = state => {
const mapStateToProps = (state) => {
return {
...(state.appState.modal.modalState.props || {}),
accountLabel: getCurrentAccountWithSendEtherInfo(state).name,
}
}
const mapDispatchToProps = dispatch => {
const mapDispatchToProps = (dispatch) => {
return {
disconnectAccount: (domainKey, domain) => {
const permissionMethodNames = domain.permissions.map(perm => perm.parentCapability)
const permissionMethodNames = domain.permissions.map((perm) => perm.parentCapability)
dispatch(removePermissionsFor({ [domainKey]: permissionMethodNames }))
},
}

View File

@ -5,7 +5,7 @@ import withModalProps from '../../../../helpers/higher-order-components/with-mod
import DisconnectAll from './disconnect-all.component'
import { clearPermissions } from '../../../../store/actions'
const mapDispatchToProps = dispatch => {
const mapDispatchToProps = (dispatch) => {
return {
disconnectAll: () => {
dispatch(clearPermissions())

View File

@ -38,7 +38,7 @@ export default class ExportPrivateKeyModal extends Component {
const { exportAccount } = this.props
exportAccount(password, address)
.then(privateKey => this.setState({
.then((privateKey) => this.setState({
privateKey,
showWarning: false,
}))
@ -65,7 +65,7 @@ export default class ExportPrivateKeyModal extends Component {
<input
type="password"
className="private-key-password-input"
onChange={event => this.setState({ password: event.target.value })}
onChange={(event) => this.setState({ password: event.target.value })}
/>
)
}

View File

@ -4,7 +4,7 @@ import PropTypes from 'prop-types'
let index = 0
let extraSheet
const insertRule = css => {
const insertRule = (css) => {
if (!extraSheet) {
// First time, create an extra stylesheet for adding rules
@ -20,7 +20,7 @@ const insertRule = css => {
return extraSheet
}
const insertKeyframesRule = keyframes => {
const insertKeyframesRule = (keyframes) => {
// random name
const name = 'anim_' + (++index) + (+new Date())
let css = '@' + 'keyframes ' + name + ' {'
@ -212,7 +212,7 @@ class FadeModal extends Component {
<div className="modal" style={modalStyle}>
<div
className="content"
ref={el => (this.content = el)}
ref={(el) => (this.content = el)}
tabIndex="-1"
style={contentStyle}
>

View File

@ -15,7 +15,7 @@ function mapStateToProps (state) {
function mapDispatchToProps (dispatch) {
return {
hideModal: () => dispatch(actions.hideModal()),
hideToken: address => {
hideToken: (address) => {
dispatch(actions.removeToken(address))
.then(() => {
dispatch(actions.hideModal())

View File

@ -12,7 +12,7 @@ const mapStateToProps = (_, ownProps) => {
}
}
const mapDispatchToProps = dispatch => {
const mapDispatchToProps = (dispatch) => {
return {
setParticipateInMetaMetrics: (val) => dispatch(setParticipateInMetaMetrics(val)),
}

View File

@ -18,7 +18,7 @@ export default class NewAccountModal extends Component {
alias: '',
}
onChange = e => {
onChange = (e) => {
this.setState({
alias: e.target.value,
})
@ -29,7 +29,7 @@ export default class NewAccountModal extends Component {
.then(this.props.hideModal)
}
onKeyPress = e => {
onKeyPress = (e) => {
if (e.key === 'Enter' && this.state.alias) {
this.onSubmit()
}

View File

@ -11,9 +11,9 @@ function mapStateToProps (state) {
function mapDispatchToProps (dispatch) {
return {
hideModal: () => dispatch(actions.hideModal()),
createAccount: newAccountName => {
createAccount: (newAccountName) => {
return dispatch(actions.addNewAccount())
.then(newAccountAddress => {
.then((newAccountAddress) => {
if (newAccountName) {
dispatch(actions.setAccountLabel(newAccountAddress, newAccountName))
}
@ -36,7 +36,7 @@ function mergeProps (stateProps, dispatchProps) {
...dispatchProps,
onSave: (newAccountName) => {
return createAccount(newAccountName)
.then(newAccountAddress => onCreateNewAccount(newAccountAddress))
.then((newAccountAddress) => onCreateNewAccount(newAccountAddress))
},
}
}

View File

@ -72,7 +72,7 @@ NotificationModal.propTypes = {
onConfirm: PropTypes.func,
}
const mapDispatchToProps = dispatch => {
const mapDispatchToProps = (dispatch) => {
return {
hideModal: () => {
dispatch(hideModal())

Some files were not shown because too many files have changed in this diff Show More