From e7f3536a69d40825edc9097b5aadd09ed2e88d9b Mon Sep 17 00:00:00 2001 From: ryanml Date: Tue, 12 May 2020 11:03:17 -0700 Subject: [PATCH] Overriding PhishingController to use brave proxy for phishing blacklist --- brave/gulpfile.js/brave-replace-paths.js | 6 +++++ brave/lib/gaba/index.js | 31 ++++++++++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 brave/lib/gaba/index.js diff --git a/brave/gulpfile.js/brave-replace-paths.js b/brave/gulpfile.js/brave-replace-paths.js index 839c613e8..fbb5c3069 100644 --- a/brave/gulpfile.js/brave-replace-paths.js +++ b/brave/gulpfile.js/brave-replace-paths.js @@ -267,6 +267,12 @@ const createBraveReplacePathsTask = () => { `'${bravePrefix}app/scripts/controllers/recent-blocks'` ) ) + .pipe( + replace( + /'gaba'/gm, + `'${bravePrefix}lib/gaba'` + ) + ) .pipe(gulp.dest(file => file.base)) }) } diff --git a/brave/lib/gaba/index.js b/brave/lib/gaba/index.js new file mode 100644 index 000000000..88a67d86b --- /dev/null +++ b/brave/lib/gaba/index.js @@ -0,0 +1,31 @@ +const { + AddressBookController, + CurrencyRateController, + ShapeShiftController, + PhishingController, +} = require('gaba') +const PhishingDetector = require('eth-phishing-detect/src/detector'); + +class BravePhishingController extends PhishingController { + + async updatePhishingLists () { + if (this.disabled) { + return + } + + const response = await fetch('https://mainnet-infura-api.brave.com/blacklist') + const parsedResponse = await response.json() + + if (parsedResponse) { + this.detector = new PhishingDetector(parsedResponse) + this.update({ parsedResponse }) + } + } +} + +module.exports = { + AddressBookController, + CurrencyRateController, + ShapeShiftController, + PhishingController: BravePhishingController +}