Make injected web3 fail hard on sync methods (#471)

Make injected web3 fail hard on sync methods
feature/default_network_editable
Dan Finlay 8 years ago committed by GitHub
parent 5567ea8dc5
commit cdd7e40545
  1. 2
      CHANGELOG.md
  2. 10
      app/scripts/lib/inpage-provider.js

@ -2,6 +2,8 @@
## Current Master
- MetaMask now throws descriptive errors when apps try to use synchronous web3 methods.
## 2.6.2 2016-07-20
- Fixed bug that would prevent the plugin from reopening on the first try after receiving a new transaction while locked.

@ -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) {

Loading…
Cancel
Save