diff options
author | Dan Finlay <somniac@me.com> | 2016-07-21 05:54:07 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-07-21 05:54:07 +0800 |
commit | cdd7e40545af8e62fc586f8da120e8d05ca90653 (patch) | |
tree | 410279980ea926c3bd15a06c1cd6ddc7c4ab40e9 /app | |
parent | 5567ea8dc5f387d971b51bd4cf46abd6e7979688 (diff) | |
download | dexon-wallet-cdd7e40545af8e62fc586f8da120e8d05ca90653.tar.gz dexon-wallet-cdd7e40545af8e62fc586f8da120e8d05ca90653.tar.zst dexon-wallet-cdd7e40545af8e62fc586f8da120e8d05ca90653.zip |
Make injected web3 fail hard on sync methods (#471)
Make injected web3 fail hard on sync methods
Diffstat (limited to 'app')
-rw-r--r-- | app/scripts/lib/inpage-provider.js | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/app/scripts/lib/inpage-provider.js b/app/scripts/lib/inpage-provider.js index 3b6ec154..e387be89 100644 --- a/app/scripts/lib/inpage-provider.js +++ b/app/scripts/lib/inpage-provider.js @@ -107,7 +107,15 @@ function createSyncProvider (providerConfig) { syncProviderUrl = MetamaskConfig.network.default } } - return new HttpProvider(syncProviderUrl) + + const provider = new HttpProvider(syncProviderUrl) + // Stubbing out the send method to throw on sync methods: + provider.send = function() { + var message = 'The MetaMask Web3 object does not support synchronous methods. See https://github.com/MetaMask/faq#all-async---think-of-metamask-as-a-light-client for details.' + throw new Error(message) + } + + return provider } function remoteStoreWithLocalStorageCache (storageKey) { |