diff options
author | Paul Bouchon <mail@bitpshr.net> | 2019-02-20 08:42:08 +0800 |
---|---|---|
committer | Dan Finlay <542863+danfinlay@users.noreply.github.com> | 2019-02-20 08:42:08 +0800 |
commit | 2f7d4494278ad809c1cc9fcc0d9438182003b22d (patch) | |
tree | cf3a9a60c84ee8dd53bbb0fdc115f1285da40d01 /app/scripts/inpage.js | |
parent | 1eebe54c6422845ec90e6bdb8bffc7c1a7da440c (diff) | |
download | tangerine-wallet-browser-2f7d4494278ad809c1cc9fcc0d9438182003b22d.tar.gz tangerine-wallet-browser-2f7d4494278ad809c1cc9fcc0d9438182003b22d.tar.zst tangerine-wallet-browser-2f7d4494278ad809c1cc9fcc0d9438182003b22d.zip |
EIP-1193: standard provider API (#6170)
* EIP-1193: Implement new provider API
* EIP-1193: Updated implementation
* Remove test file
* Fix tests
* Update ping check
* Update logic
* PR feedback
Diffstat (limited to 'app/scripts/inpage.js')
-rw-r--r-- | app/scripts/inpage.js | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/app/scripts/inpage.js b/app/scripts/inpage.js index ae5a375b0..c7f0c5669 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') +const createStandardProvider = require('./createStandardProvider').default let isEnabled = false let warned = false @@ -16,12 +17,6 @@ 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 * @@ -70,7 +65,10 @@ inpageProvider.enable = function ({ force } = {}) { return new Promise((resolve, reject) => { providerHandle = ({ data: { error, selectedAddress } }) => { if (typeof error !== 'undefined') { - reject(error) + reject({ + message: error, + code: 4001, + }) } else { window.removeEventListener('message', providerHandle) setTimeout(() => { @@ -155,7 +153,7 @@ const proxiedInpageProvider = new Proxy(inpageProvider, { deleteProperty: () => true, }) -window.ethereum = proxiedInpageProvider +window.ethereum = createStandardProvider(proxiedInpageProvider) // detect eth_requestAccounts and pipe to enable for now function detectAccountRequest (method) { |