aboutsummaryrefslogtreecommitdiffstats
path: root/ui/app/metametrics/metametrics.util.js
diff options
context:
space:
mode:
authorChi Kei Chan <chikeichan@gmail.com>2019-03-22 07:03:30 +0800
committerDan J Miller <danjm.com@gmail.com>2019-03-22 07:03:30 +0800
commit31175625b446cb5d18b17db23018bca8b14d280c (patch)
treef54e159883deef003fb281267025edf796eb8004 /ui/app/metametrics/metametrics.util.js
parent7287133e15fab22299e07704206e85bc855d1064 (diff)
downloadtangerine-wallet-browser-31175625b446cb5d18b17db23018bca8b14d280c.tar.gz
tangerine-wallet-browser-31175625b446cb5d18b17db23018bca8b14d280c.tar.zst
tangerine-wallet-browser-31175625b446cb5d18b17db23018bca8b14d280c.zip
Folder restructure (#6304)
* Remove ui/app/keychains/ * Remove ui/app/img/ (unused images) * Move conversion-util to helpers/utils/ * Move token-util to helpers/utils/ * Move /helpers/*.js inside /helpers/utils/ * Move util tests inside /helpers/utils/ * Renameand move confirm-transaction/util.js to helpers/utils/ * Move higher-order-components to helpers/higher-order-components/ * Move infura-conversion.json to helpers/constants/ * Move all utility functions to helpers/utils/ * Move pages directory to top-level * Move all constants to helpers/constants/ * Move metametrics inside helpers/ * Move app and root inside pages/ * Move routes inside helpers/ * Re-organize ducks/ * Move reducers to ducks/ * Move selectors inside selectors/ * Move test out of test folder * Move action, reducer, store inside store/ * Move ui components inside ui/ * Move UI components inside ui/ * Move connected components inside components/app/ * Move i18n-helper inside helpers/ * Fix unit tests * Fix unit test * Move pages components * Rename routes component * Move reducers to ducks/index * Fix bad path in unit test
Diffstat (limited to 'ui/app/metametrics/metametrics.util.js')
-rw-r--r--ui/app/metametrics/metametrics.util.js184
1 files changed, 0 insertions, 184 deletions
diff --git a/ui/app/metametrics/metametrics.util.js b/ui/app/metametrics/metametrics.util.js
deleted file mode 100644
index 01984bd5e..000000000
--- a/ui/app/metametrics/metametrics.util.js
+++ /dev/null
@@ -1,184 +0,0 @@
-/* eslint camelcase: 0 */
-
-const ethUtil = require('ethereumjs-util')
-
-const inDevelopment = process.env.NODE_ENV === 'development'
-
-const METAMETRICS_BASE_URL = 'https://chromeextensionmm.innocraft.cloud/piwik.php'
-const METAMETRICS_REQUIRED_PARAMS = `?idsite=${inDevelopment ? 1 : 2}&rec=1&apiv=1`
-const METAMETRICS_BASE_FULL = METAMETRICS_BASE_URL + METAMETRICS_REQUIRED_PARAMS
-
-const METAMETRICS_TRACKING_URL = inDevelopment
- ? 'http://www.metamask.io/metametrics'
- : 'http://www.metamask.io/metametrics-prod'
-
-const METAMETRICS_CUSTOM_GAS_LIMIT_CHANGE = 'gasLimitChange'
-const METAMETRICS_CUSTOM_GAS_PRICE_CHANGE = 'gasPriceChange'
-const METAMETRICS_CUSTOM_FUNCTION_TYPE = 'functionType'
-const METAMETRICS_CUSTOM_RECIPIENT_KNOWN = 'recipientKnown'
-const METAMETRICS_CUSTOM_CONFIRM_SCREEN_ORIGIN = 'origin'
-const METAMETRICS_CUSTOM_FROM_NETWORK = 'fromNetwork'
-const METAMETRICS_CUSTOM_TO_NETWORK = 'toNetwork'
-const METAMETRICS_CUSTOM_ERROR_FIELD = 'errorField'
-const METAMETRICS_CUSTOM_ERROR_MESSAGE = 'errorMessage'
-const METAMETRICS_CUSTOM_RPC_NETWORK_ID = 'networkId'
-const METAMETRICS_CUSTOM_RPC_CHAIN_ID = 'chainId'
-
-const METAMETRICS_CUSTOM_NETWORK = 'network'
-const METAMETRICS_CUSTOM_ENVIRONMENT_TYPE = 'environmentType'
-const METAMETRICS_CUSTOM_ACTIVE_CURRENCY = 'activeCurrency'
-const METAMETRICS_CUSTOM_ACCOUNT_TYPE = 'accountType'
-const METAMETRICS_CUSTOM_NUMBER_OF_TOKENS = 'numberOfTokens'
-const METAMETRICS_CUSTOM_NUMBER_OF_ACCOUNTS = 'numberOfAccounts'
-
-const customVariableNameIdMap = {
- [METAMETRICS_CUSTOM_FUNCTION_TYPE]: 1,
- [METAMETRICS_CUSTOM_RECIPIENT_KNOWN]: 2,
- [METAMETRICS_CUSTOM_CONFIRM_SCREEN_ORIGIN]: 3,
- [METAMETRICS_CUSTOM_GAS_LIMIT_CHANGE]: 4,
- [METAMETRICS_CUSTOM_GAS_PRICE_CHANGE]: 5,
- [METAMETRICS_CUSTOM_FROM_NETWORK]: 1,
- [METAMETRICS_CUSTOM_TO_NETWORK]: 2,
- [METAMETRICS_CUSTOM_RPC_NETWORK_ID]: 1,
- [METAMETRICS_CUSTOM_RPC_CHAIN_ID]: 2,
- [METAMETRICS_CUSTOM_ERROR_FIELD]: 1,
- [METAMETRICS_CUSTOM_ERROR_MESSAGE]: 2,
-}
-
-const customDimensionsNameIdMap = {
- [METAMETRICS_CUSTOM_NETWORK]: 5,
- [METAMETRICS_CUSTOM_ENVIRONMENT_TYPE]: 6,
- [METAMETRICS_CUSTOM_ACTIVE_CURRENCY]: 7,
- [METAMETRICS_CUSTOM_ACCOUNT_TYPE]: 8,
- [METAMETRICS_CUSTOM_NUMBER_OF_TOKENS]: 9,
- [METAMETRICS_CUSTOM_NUMBER_OF_ACCOUNTS]: 10,
-}
-
-function composeUrlRefParamAddition (previousPath, confirmTransactionOrigin) {
- const externalOrigin = confirmTransactionOrigin && confirmTransactionOrigin !== 'MetaMask'
- return `&urlref=${externalOrigin ? 'EXTERNAL' : encodeURIComponent(previousPath.replace(/chrome-extension:\/\/\w+/, METAMETRICS_TRACKING_URL))}`
-}
-
-function composeCustomDimensionParamAddition (customDimensions) {
- const customDimensionParamStrings = Object.keys(customDimensions).reduce((acc, name) => {
- return [...acc, `dimension${customDimensionsNameIdMap[name]}=${customDimensions[name]}`]
- }, [])
- return `&${customDimensionParamStrings.join('&')}`
-}
-
-function composeCustomVarParamAddition (customVariables) {
- const customVariableIdValuePairs = Object.keys(customVariables).reduce((acc, name) => {
- return {
- [customVariableNameIdMap[name]]: [name, customVariables[name]],
- ...acc,
- }
- }, {})
- return `&cvar=${encodeURIComponent(JSON.stringify(customVariableIdValuePairs))}`
-}
-
-function composeParamAddition (paramValue, paramName) {
- return paramValue !== 0 && !paramValue
- ? ''
- : `&${paramName}=${paramValue}`
-}
-
-function composeUrl (config, permissionPreferences = {}) {
- const {
- eventOpts = {},
- customVariables = '',
- pageOpts = '',
- network,
- environmentType,
- activeCurrency,
- accountType,
- numberOfTokens,
- numberOfAccounts,
- previousPath = '',
- currentPath,
- metaMetricsId,
- confirmTransactionOrigin,
- url: configUrl,
- excludeMetaMetricsId,
- isNewVisit,
- } = config
- const base = METAMETRICS_BASE_FULL
-
- const e_c = composeParamAddition(eventOpts.category, 'e_c')
- const e_a = composeParamAddition(eventOpts.action, 'e_a')
- const e_n = composeParamAddition(eventOpts.name, 'e_n')
- const new_visit = isNewVisit ? `&new_visit=1` : ''
-
- const cvar = customVariables && composeCustomVarParamAddition(customVariables) || ''
-
- const action_name = ''
-
- const urlref = previousPath && composeUrlRefParamAddition(previousPath, confirmTransactionOrigin)
-
- const dimensions = !pageOpts.hideDimensions ? composeCustomDimensionParamAddition({
- network,
- environmentType,
- activeCurrency,
- accountType,
- numberOfTokens: customVariables && customVariables.numberOfTokens || numberOfTokens,
- numberOfAccounts: customVariables && customVariables.numberOfAccounts || numberOfAccounts,
- }) : ''
- const url = configUrl || `&url=${encodeURIComponent(currentPath.replace(/chrome-extension:\/\/\w+/, METAMETRICS_TRACKING_URL))}`
- const _id = metaMetricsId && !excludeMetaMetricsId ? `&_id=${metaMetricsId.slice(2, 18)}` : ''
- const rand = `&rand=${String(Math.random()).slice(2)}`
- const pv_id = `&pv_id=${ethUtil.bufferToHex(ethUtil.sha3(url || currentPath.match(/chrome-extension:\/\/\w+\/(.+)/)[0])).slice(2, 8)}`
- const uid = metaMetricsId && !excludeMetaMetricsId
- ? `&uid=${metaMetricsId.slice(2, 18)}`
- : excludeMetaMetricsId
- ? '&uid=0000000000000000'
- : ''
-
- return [ base, e_c, e_a, e_n, cvar, action_name, urlref, dimensions, url, _id, rand, pv_id, uid, new_visit ].join('')
-}
-
-export function sendMetaMetricsEvent (config, permissionPreferences) {
- return fetch(composeUrl(config, permissionPreferences), {
- 'headers': {},
- 'method': 'GET',
- })
-}
-
-export function verifyUserPermission (config, props) {
- const {
- eventOpts = {},
- } = config
- const { userPermissionPreferences } = props
- const {
- allowAll,
- allowNone,
- allowSendMetrics,
- } = userPermissionPreferences
-
- if (allowNone) {
- return false
- } else if (allowAll) {
- return true
- } else if (allowSendMetrics && eventOpts.name === 'send') {
- return true
- } else {
- return false
- }
-}
-
-const trackableSendCounts = {
- 1: true,
- 10: true,
- 30: true,
- 50: true,
- 100: true,
- 250: true,
- 500: true,
- 1000: true,
- 2500: true,
- 5000: true,
- 10000: true,
- 25000: true,
-}
-
-export function sendCountIsTrackable (sendCount) {
- return Boolean(trackableSendCounts[sendCount])
-}