diff options
author | Bruno Barbieri <bruno.barbieri@consensys.net> | 2018-10-10 01:25:13 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-10-10 01:25:13 +0800 |
commit | 17b9f4c0dbfc5257c83a454f669e410856fedb9c (patch) | |
tree | 8519546920c1dd6caefab426d68ae5c2e9182193 /app/scripts/inpage.js | |
parent | cd91b45686864c5d38fc95e3a561ca66b36ade7c (diff) | |
parent | 45feb43f306f4b21ef007e0c8897cda384c28fc5 (diff) | |
download | tangerine-wallet-browser-17b9f4c0dbfc5257c83a454f669e410856fedb9c.tar tangerine-wallet-browser-17b9f4c0dbfc5257c83a454f669e410856fedb9c.tar.gz tangerine-wallet-browser-17b9f4c0dbfc5257c83a454f669e410856fedb9c.tar.bz2 tangerine-wallet-browser-17b9f4c0dbfc5257c83a454f669e410856fedb9c.tar.lz tangerine-wallet-browser-17b9f4c0dbfc5257c83a454f669e410856fedb9c.tar.xz tangerine-wallet-browser-17b9f4c0dbfc5257c83a454f669e410856fedb9c.tar.zst tangerine-wallet-browser-17b9f4c0dbfc5257c83a454f669e410856fedb9c.zip |
Merge pull request #5458 from MetaMask/provider-subs
Feature: Subscription support
Diffstat (limited to 'app/scripts/inpage.js')
-rw-r--r-- | app/scripts/inpage.js | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/app/scripts/inpage.js b/app/scripts/inpage.js index d924be516..431702d63 100644 --- a/app/scripts/inpage.js +++ b/app/scripts/inpage.js @@ -5,6 +5,7 @@ const log = require('loglevel') const LocalMessageDuplexStream = require('post-message-stream') const setupDappAutoReload = require('./lib/auto-reload.js') const MetamaskInpageProvider = require('metamask-inpage-provider') + restoreContextAfterImports() log.setDefaultLevel(process.env.METAMASK_DEBUG ? 'debug' : 'warn') @@ -44,7 +45,15 @@ inpageProvider.enable = function (options = {}) { }) } -window.ethereum = inpageProvider +// Work around for web3@1.0 deleting the bound `sendAsync` but not the unbound +// `sendAsync` method on the prototype, causing `this` reference issues with drizzle +const proxiedInpageProvider = new Proxy(inpageProvider, { + // straight up lie that we deleted the property so that it doesnt + // throw an error in strict mode + deleteProperty: () => true, +}) + +window.ethereum = proxiedInpageProvider // // setup web3 @@ -58,7 +67,7 @@ if (typeof window.web3 !== 'undefined') { and try again.`) } -var web3 = new Web3(inpageProvider) +var web3 = new Web3(proxiedInpageProvider) web3.setProvider = function () { log.debug('MetaMask - overrode web3.setProvider') } |