diff options
author | Erik Marks <rekmarks@kolabnow.com> | 2018-06-13 00:28:50 +0800 |
---|---|---|
committer | Erik Marks <rekmarks@kolabnow.com> | 2018-06-13 00:28:50 +0800 |
commit | f461bd881259183b1f76af27e7662d1c37da672f (patch) | |
tree | f4802f97ce266f7e991946fa94fe79f1ae57ec01 /app | |
parent | aea9491f6a7888bd15a9d3dd7858bcda16f1e532 (diff) | |
download | tangerine-wallet-browser-f461bd881259183b1f76af27e7662d1c37da672f.tar tangerine-wallet-browser-f461bd881259183b1f76af27e7662d1c37da672f.tar.gz tangerine-wallet-browser-f461bd881259183b1f76af27e7662d1c37da672f.tar.bz2 tangerine-wallet-browser-f461bd881259183b1f76af27e7662d1c37da672f.tar.lz tangerine-wallet-browser-f461bd881259183b1f76af27e7662d1c37da672f.tar.xz tangerine-wallet-browser-f461bd881259183b1f76af27e7662d1c37da672f.tar.zst tangerine-wallet-browser-f461bd881259183b1f76af27e7662d1c37da672f.zip |
wip
Diffstat (limited to 'app')
-rw-r--r-- | app/scripts/inpage.js | 23 | ||||
-rw-r--r-- | app/scripts/lib/auto-reload.js | 40 |
2 files changed, 22 insertions, 41 deletions
diff --git a/app/scripts/inpage.js b/app/scripts/inpage.js index 6d16eebd4..cbbcbb00e 100644 --- a/app/scripts/inpage.js +++ b/app/scripts/inpage.js @@ -3,7 +3,7 @@ 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 exportWeb3Global = require('./lib/auto-reload.js') const MetamaskInpageProvider = require('./lib/inpage-provider.js') restoreContextAfterImports() @@ -38,8 +38,25 @@ web3.setProvider = function () { log.debug('MetaMask - overrode web3.setProvider') } log.debug('MetaMask - injected web3') -// export global web3, with usage-detection -setupDappAutoReload(web3, inpageProvider.publicConfigStore) + +// export global web3, with usage-detection and deprecation warning +exportWeb3Global(web3) +// 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) { diff --git a/app/scripts/lib/auto-reload.js b/app/scripts/lib/auto-reload.js index cce31c3d2..63dc3e921 100644 --- a/app/scripts/lib/auto-reload.js +++ b/app/scripts/lib/auto-reload.js @@ -1,11 +1,9 @@ -module.exports = setupDappAutoReload +module.exports = exportWeb3Global -function setupDappAutoReload (web3, observable) { +function exportWeb3Global (web3) { // export web3 as a global, checking for usage let hasBeenWarned = false - let reloadInProgress = false let lastTimeUsed - let lastSeenNetwork global.web3 = new Proxy(web3, { get: (_web3, key) => { @@ -24,38 +22,4 @@ function setupDappAutoReload (web3, observable) { _web3[key] = value }, }) - - observable.subscribe(function (state) { - // if reload in progress, no need to check reload logic - if (reloadInProgress) return - - const currentNetwork = state.networkVersion - - // set the initial network - if (!lastSeenNetwork) { - lastSeenNetwork = currentNetwork - return - } - - // skip reload logic if web3 not used - if (!lastTimeUsed) return - - // if network did not change, exit - if (currentNetwork === lastSeenNetwork) return - - // initiate page reload - reloadInProgress = true - const timeSinceUse = Date.now() - lastTimeUsed - // if web3 was recently used then delay the reloading of the page - if (timeSinceUse > 500) { - triggerReset() - } else { - setTimeout(triggerReset, 500) - } - }) -} - -// reload the page -function triggerReset () { - global.location.reload() } |