aboutsummaryrefslogtreecommitdiffstats
path: root/app/scripts/metamask-controller.js
diff options
context:
space:
mode:
authorkumavis <aaron@kumavis.me>2017-09-14 06:17:26 +0800
committerkumavis <aaron@kumavis.me>2017-09-14 06:17:26 +0800
commit245c0f0c2741d1dcb706faa93ff681333a40b9c8 (patch)
treee963a47d0e96579e0a610854a4fd1c79f24a00c9 /app/scripts/metamask-controller.js
parent96d1175834bb5d400f6a70d228cebbd23bded4db (diff)
downloadtangerine-wallet-browser-245c0f0c2741d1dcb706faa93ff681333a40b9c8.tar
tangerine-wallet-browser-245c0f0c2741d1dcb706faa93ff681333a40b9c8.tar.gz
tangerine-wallet-browser-245c0f0c2741d1dcb706faa93ff681333a40b9c8.tar.bz2
tangerine-wallet-browser-245c0f0c2741d1dcb706faa93ff681333a40b9c8.tar.lz
tangerine-wallet-browser-245c0f0c2741d1dcb706faa93ff681333a40b9c8.tar.xz
tangerine-wallet-browser-245c0f0c2741d1dcb706faa93ff681333a40b9c8.tar.zst
tangerine-wallet-browser-245c0f0c2741d1dcb706faa93ff681333a40b9c8.zip
metamask controller - move middleware into seperate files
Diffstat (limited to 'app/scripts/metamask-controller.js')
-rw-r--r--app/scripts/metamask-controller.js41
1 files changed, 7 insertions, 34 deletions
diff --git a/app/scripts/metamask-controller.js b/app/scripts/metamask-controller.js
index 0c9602568..f114d22f3 100644
--- a/app/scripts/metamask-controller.js
+++ b/app/scripts/metamask-controller.js
@@ -7,8 +7,12 @@ const ObservableStore = require('obs-store')
const EthStore = require('./lib/eth-store')
const EthQuery = require('eth-query')
const RpcEngine = require('json-rpc-engine')
+const debounce = require('debounce')
const createEngineStream = require('json-rpc-middleware-stream/engineStream')
const createFilterMiddleware = require('eth-json-rpc-filters')
+const createOriginMiddleware = require('./lib/createOriginMiddleware')
+const createLoggerMiddleware = require('./lib/createLoggerMiddleware')
+const createProviderMiddleware = require('./lib/createProviderMiddleware')
const setupMultiplex = require('./lib/stream-utils.js').setupMultiplex
const KeyringController = require('./keyring-controller')
const NetworkController = require('./controllers/network')
@@ -26,8 +30,6 @@ const ConfigManager = require('./lib/config-manager')
const nodeify = require('./lib/nodeify')
const accountImporter = require('./account-import-strategies')
const getBuyEthUrl = require('./lib/buy-eth-url')
-const debounce = require('debounce')
-
const version = require('../manifest.json').version
module.exports = class MetamaskController extends EventEmitter {
@@ -384,11 +386,11 @@ module.exports = class MetamaskController extends EventEmitter {
})
}
- setupProviderConnection (outStream, originDomain) {
+ setupProviderConnection (outStream, origin) {
// setup json rpc engine stack
const engine = new RpcEngine()
- engine.push(originMiddleware)
- engine.push(loggerMiddleware)
+ engine.push(createOriginMiddleware({ origin }))
+ engine.push(createLoggerMiddleware({ origin }))
engine.push(createFilterMiddleware({
provider: this.provider,
blockTracker: this.blockTracker,
@@ -405,35 +407,6 @@ module.exports = class MetamaskController extends EventEmitter {
if (err) log.error(err)
}
)
-
- // append dapp origin domain to request
- function originMiddleware (req, res, next, end) {
- req.origin = originDomain
- next()
- }
-
- // log rpc activity
- function loggerMiddleware (req, res, next, end) {
- next((cb) => {
- if (res.error) {
- log.error('Error in RPC response:\n', res)
- }
- if (req.isMetamaskInternal) return
- log.info(`RPC (${originDomain}):`, req, '->', res)
- cb()
- })
- }
-
- // forward requests to provider
- function createProviderMiddleware({ provider }) {
- return (req, res, next, end) => {
- provider.sendAsync(req, (err, _res) => {
- if (err) return end(err)
- res.result = _res.result
- end()
- })
- }
- }
}
setupPublicConfig (outStream) {