aboutsummaryrefslogtreecommitdiffstats
path: root/app/scripts/inpage.js
diff options
context:
space:
mode:
Diffstat (limited to 'app/scripts/inpage.js')
-rw-r--r--app/scripts/inpage.js23
1 files changed, 11 insertions, 12 deletions
diff --git a/app/scripts/inpage.js b/app/scripts/inpage.js
index b885a7e05..25bfe1416 100644
--- a/app/scripts/inpage.js
+++ b/app/scripts/inpage.js
@@ -31,19 +31,18 @@ var inpageProvider = new MetamaskInpageProvider(metamaskStream)
inpageProvider.setMaxListeners(100)
// Augment the provider with its enable method
-inpageProvider.enable = function (options = {}) {
+inpageProvider.enable = function () {
return new Promise((resolve, reject) => {
- if (options.mockRejection) {
- reject('User rejected account access')
- } else {
- inpageProvider.sendAsync({ method: 'eth_accounts', params: [] }, (error, response) => {
- if (error) {
- reject(error)
- } else {
- resolve(response.result)
- }
- })
- }
+ window.addEventListener('ethereumprovider', ({ detail }) => {
+ if (typeof detail.error !== 'undefined') {
+ reject(detail.error)
+ } else {
+ inpageProvider.publicConfigStore.once('update', () => {
+ resolve(inpageProvider.send({ method: 'eth_accounts' }).result)
+ })
+ }
+ })
+ window.postMessage({ type: 'ETHEREUM_ENABLE_PROVIDER' }, '*')
})
}