aboutsummaryrefslogtreecommitdiffstats
path: root/app/scripts/metamask-controller.js
diff options
context:
space:
mode:
authorDan J Miller <danjm.com@gmail.com>2019-04-29 14:18:40 +0800
committerGitHub <noreply@github.com>2019-04-29 14:18:40 +0800
commit4fea9d0cc2ec9c6914931d5e310665aca8e273b6 (patch)
treec2ff2c9bdb90179c5583cd59a1e77631c25f3a35 /app/scripts/metamask-controller.js
parent00958894087a9af845f3746de6698130facd7654 (diff)
downloadtangerine-wallet-browser-4fea9d0cc2ec9c6914931d5e310665aca8e273b6.tar
tangerine-wallet-browser-4fea9d0cc2ec9c6914931d5e310665aca8e273b6.tar.gz
tangerine-wallet-browser-4fea9d0cc2ec9c6914931d5e310665aca8e273b6.tar.bz2
tangerine-wallet-browser-4fea9d0cc2ec9c6914931d5e310665aca8e273b6.tar.lz
tangerine-wallet-browser-4fea9d0cc2ec9c6914931d5e310665aca8e273b6.tar.xz
tangerine-wallet-browser-4fea9d0cc2ec9c6914931d5e310665aca8e273b6.tar.zst
tangerine-wallet-browser-4fea9d0cc2ec9c6914931d5e310665aca8e273b6.zip
Send metrics event from backend for on chain transaction failures (#6500)
* Send metrics event from backend for on chain transaction failures * Passes state object to backEndMetaMetricsEvent, and adds getMetaMetricState selector
Diffstat (limited to 'app/scripts/metamask-controller.js')
-rw-r--r--app/scripts/metamask-controller.js19
1 files changed, 18 insertions, 1 deletions
diff --git a/app/scripts/metamask-controller.js b/app/scripts/metamask-controller.js
index 0506e3116..be2090f63 100644
--- a/app/scripts/metamask-controller.js
+++ b/app/scripts/metamask-controller.js
@@ -54,6 +54,7 @@ const EthQuery = require('eth-query')
const ethUtil = require('ethereumjs-util')
const sigUtil = require('eth-sig-util')
const { AddressBookController } = require('gaba')
+const backEndMetaMetricsEvent = require('./lib/backend-metametrics')
module.exports = class MetamaskController extends EventEmitter {
@@ -190,10 +191,26 @@ module.exports = class MetamaskController extends EventEmitter {
})
this.txController.on('newUnapprovedTx', () => opts.showUnapprovedTx())
- this.txController.on(`tx:status-update`, (txId, status) => {
+ this.txController.on(`tx:status-update`, async (txId, status) => {
if (status === 'confirmed' || status === 'failed') {
const txMeta = this.txController.txStateManager.getTx(txId)
this.platform.showTransactionNotification(txMeta)
+
+ const { txReceipt } = txMeta
+ const participateInMetaMetrics = this.preferencesController.getParticipateInMetaMetrics()
+ if (txReceipt && txReceipt.status === '0x0' && participateInMetaMetrics) {
+ const metamaskState = await this.getState()
+ backEndMetaMetricsEvent(metamaskState, {
+ customVariables: {
+ errorMessage: txMeta.simulationFails.reason,
+ },
+ eventOpts: {
+ category: 'backend',
+ action: 'Transactions',
+ name: 'On Chain Failure',
+ },
+ })
+ }
}
})