diff options
author | Hsuan Lee <boczeratul@gmail.com> | 2018-10-01 16:30:24 +0800 |
---|---|---|
committer | Hsuan Lee <hsuan@cobinhood.com> | 2018-12-10 17:01:40 +0800 |
commit | 6f7edf0849faf68b6ea2dafc97ba42dd64d5bca2 (patch) | |
tree | 945809cca22b8c01c657cfbb4f62cc1b1a1fa7f3 | |
parent | 7c14785f784e94be57c2ac9adda0759b649a998e (diff) | |
download | dexon-wallet-6f7edf0849faf68b6ea2dafc97ba42dd64d5bca2.tar.gz dexon-wallet-6f7edf0849faf68b6ea2dafc97ba42dd64d5bca2.tar.zst dexon-wallet-6f7edf0849faf68b6ea2dafc97ba42dd64d5bca2.zip |
Deprecate global web3 object
-rw-r--r-- | app/scripts/inpage.js | 60 | ||||
-rw-r--r-- | app/scripts/lib/auto-reload.js | 2 |
2 files changed, 5 insertions, 57 deletions
diff --git a/app/scripts/inpage.js b/app/scripts/inpage.js index f8c6cf57..b2556a27 100644 --- a/app/scripts/inpage.js +++ b/app/scripts/inpage.js @@ -1,9 +1,5 @@ -/*global Web3*/ cleanContextForImports() -require('web3/dist/web3.min.js') -const log = require('loglevel') const LocalMessageDuplexStream = require('post-message-stream') -const setupDappAutoReload = require('./lib/auto-reload.js') const MetamaskInpageProvider = require('metamask-inpage-provider') let isEnabled = false @@ -13,15 +9,6 @@ let isApprovedHandle let isUnlockedHandle restoreContextAfterImports() - -log.setDefaultLevel(process.env.METAMASK_DEBUG ? 'debug' : 'warn') - -console.warn('ATTENTION: In an effort to improve user privacy, MetaMask ' + -'stopped exposing user accounts to dapps if "privacy mode" is enabled on ' + -'November 2nd, 2018. Dapps should now call provider.enable() in order to view and use ' + -'accounts. Please see https://bit.ly/2QQHXvF for complete information and up-to-date ' + -'example code.') - /** * Adds a postMessage listener for a specific message type * @@ -92,8 +79,8 @@ inpageProvider.enable = function ({ force } = {}) { }) } -// add metamask-specific convenience methods -inpageProvider._metamask = new Proxy({ +// add dekusan-specific convenience methods +inpageProvider._dekusan = new Proxy({ /** * Determines if this domain is currently enabled * @@ -169,51 +156,12 @@ function detectAccountRequest (method) { detectAccountRequest('send') detectAccountRequest('sendAsync') -// -// setup web3 -// - -if (typeof window.web3 !== 'undefined') { - throw new Error(`MetaMask detected another web3. - MetaMask will not work reliably with another web3 extension. - This usually happens if you have two MetaMasks installed, - or MetaMask and another web3 extension. Please remove one - and try again.`) -} - -var web3 = new Web3(proxiedInpageProvider) -web3.setProvider = function () { - log.debug('MetaMask - overrode web3.setProvider') -} -log.debug('MetaMask - injected web3') - -setupDappAutoReload(web3, inpageProvider.publicConfigStore) - -// export global web3, with usage-detection and deprecation warning - -/* TODO: Uncomment this area once auto-reload.js has been deprecated: -let hasBeenWarned = false -global.web3 = new Proxy(web3, { - get: (_web3, key) => { - // show warning once on web3 access - if (!hasBeenWarned && key !== 'currentProvider') { - console.warn('MetaMask: web3 will be deprecated in the near future in favor of the ethereumProvider \nhttps://github.com/MetaMask/faq/blob/master/detecting_metamask.md#web3-deprecation') - hasBeenWarned = true - } - // return value normally - return _web3[key] - }, - set: (_web3, key, value) => { - // set value normally - _web3[key] = value - }, -}) -*/ - // set web3 defaultAccount inpageProvider.publicConfigStore.subscribe(function (state) { web3.eth.defaultAccount = state.selectedAddress }) +// expose provider +window.dexon = inpageProvider // need to make sure we aren't affected by overlapping namespaces // and that we dont affect the app with our namespace diff --git a/app/scripts/lib/auto-reload.js b/app/scripts/lib/auto-reload.js index 558391a0..31c3cebc 100644 --- a/app/scripts/lib/auto-reload.js +++ b/app/scripts/lib/auto-reload.js @@ -6,7 +6,7 @@ function setupDappAutoReload (web3, observable) { let lastTimeUsed let lastSeenNetwork - global.web3 = new Proxy(web3, { + global.web3dexon = new Proxy(web3, { get: (_web3, key) => { // get the time of use lastTimeUsed = Date.now() |