aboutsummaryrefslogtreecommitdiffstats
path: root/app/scripts/metamask-controller.js
diff options
context:
space:
mode:
authorkumavis <aaron@kumavis.me>2018-06-06 02:51:27 +0800
committerkumavis <aaron@kumavis.me>2018-06-06 02:51:27 +0800
commit20bdba3d1710a070d06c2a395f92d948b9396d47 (patch)
tree2eef359c3e3c3959339f043eb3c99a6b83b27dec /app/scripts/metamask-controller.js
parent6247e54fcc11d4d8d857a977d00eee8012afb92f (diff)
downloadtangerine-wallet-browser-20bdba3d1710a070d06c2a395f92d948b9396d47.tar
tangerine-wallet-browser-20bdba3d1710a070d06c2a395f92d948b9396d47.tar.gz
tangerine-wallet-browser-20bdba3d1710a070d06c2a395f92d948b9396d47.tar.bz2
tangerine-wallet-browser-20bdba3d1710a070d06c2a395f92d948b9396d47.tar.lz
tangerine-wallet-browser-20bdba3d1710a070d06c2a395f92d948b9396d47.tar.xz
tangerine-wallet-browser-20bdba3d1710a070d06c2a395f92d948b9396d47.tar.zst
tangerine-wallet-browser-20bdba3d1710a070d06c2a395f92d948b9396d47.zip
diagnostics - rewrite bug-notifier as diagnostics-reporter
Diffstat (limited to 'app/scripts/metamask-controller.js')
-rw-r--r--app/scripts/metamask-controller.js38
1 files changed, 9 insertions, 29 deletions
diff --git a/app/scripts/metamask-controller.js b/app/scripts/metamask-controller.js
index ad1d6d6a7..4b0b00306 100644
--- a/app/scripts/metamask-controller.js
+++ b/app/scripts/metamask-controller.js
@@ -46,7 +46,7 @@ const GWEI_BN = new BN('1000000000')
const percentile = require('percentile')
const seedPhraseVerifier = require('./lib/seed-phrase-verifier')
const cleanErrorStack = require('./lib/cleanErrorStack')
-const notifier = require('./lib/bug-notifier')
+const DiagnosticsReporter = require('./lib/diagnostics-reporter')
const log = require('loglevel')
module.exports = class MetamaskController extends EventEmitter {
@@ -66,7 +66,10 @@ module.exports = class MetamaskController extends EventEmitter {
this.recordFirstTimeInfo(initState)
// metamask diagnostics reporter
- this.notifier = opts.notifier || notifier
+ this.diagnostics = opts.diagnostics || new DiagnosticsReporter({
+ firstTimeInfo: initState.firstTimeInfo,
+ version,
+ })
// platform-specific api
this.platform = opts.platform
@@ -89,7 +92,7 @@ module.exports = class MetamaskController extends EventEmitter {
this.preferencesController = new PreferencesController({
initState: initState.PreferencesController,
initLangCode: opts.initLangCode,
- getFirstTimeInfo: () => initState.firstTimeInfo,
+ diagnostics: this.diagnostics,
})
// currency controller
@@ -492,32 +495,9 @@ module.exports = class MetamaskController extends EventEmitter {
const accounts = await this.keyringController.getAccounts()
// verify keyrings
- try {
- const nonSimpleKeyrings = this.keyringController.keyrings.filter(keyring => keyring.type !== 'Simple Key Pair')
- if (nonSimpleKeyrings.length > 1) {
- const keyrings = await Promise.all(nonSimpleKeyrings.map(async (keyring, index) => {
- return {
- index,
- type: keyring.type,
- accounts: await keyring.getAccounts()
- }
- }))
- // unexpected number of keyrings, report to diagnostics
- const uri = 'https://diagnostics.metamask.io/v1/orphanedAccounts'
- const firstTimeInfo = this.getFirstTimeInfo ? this.getFirstTimeInfo() : {}
- await this.notifier.notify(uri, {
- accounts: [],
- metadata: {
- type: 'keyrings',
- keyrings,
- version,
- firstTimeInfo,
- },
- })
- }
- } catch (err) {
- console.error('Keyring validation error:')
- console.error(err)
+ const nonSimpleKeyrings = this.keyringController.keyrings.filter(keyring => keyring.type !== 'Simple Key Pair')
+ if (nonSimpleKeyrings.length > 1) {
+ if (this.diagnostics) await this.reportMultipleKeyrings(nonSimpleKeyrings)
}
await this.preferencesController.syncAddresses(accounts)