From e9c1ecc8dd4cc1d967be5f551ea9064e55ea0316 Mon Sep 17 00:00:00 2001 From: bitpshr Date: Thu, 13 Sep 2018 14:48:36 -0400 Subject: [PATCH 1/3] Add mock EIP-1102 support --- app/scripts/inpage.js | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/app/scripts/inpage.js b/app/scripts/inpage.js index 1a170c617e87..c65506fc54db 100644 --- a/app/scripts/inpage.js +++ b/app/scripts/inpage.js @@ -22,6 +22,15 @@ var metamaskStream = new LocalMessageDuplexStream({ // compose the inpage provider var inpageProvider = new MetamaskInpageProvider(metamaskStream) +// Augment the provider with its enable method +inpageProvider.enable = function () { + return new Promise((resolve) => { + resolve(inpageProvider.send({ method: 'eth_accounts' }).result) + }) +} + +window.ethereum = inpageProvider + // // setup web3 // From 32fbd047179070453e3709c0cd6c7b77b71ede01 Mon Sep 17 00:00:00 2001 From: bitpshr Date: Thu, 13 Sep 2018 15:21:29 -0400 Subject: [PATCH 2/3] PR feedback --- app/scripts/inpage.js | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/app/scripts/inpage.js b/app/scripts/inpage.js index c65506fc54db..d9fda1feba77 100644 --- a/app/scripts/inpage.js +++ b/app/scripts/inpage.js @@ -23,9 +23,19 @@ var metamaskStream = new LocalMessageDuplexStream({ var inpageProvider = new MetamaskInpageProvider(metamaskStream) // Augment the provider with its enable method -inpageProvider.enable = function () { - return new Promise((resolve) => { - resolve(inpageProvider.send({ method: 'eth_accounts' }).result) +inpageProvider.enable = function (options = {}) { + 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) + } + }) + } }) } From 2d74a6cc01b56dc0889d7b260038ee5fa7919d1a Mon Sep 17 00:00:00 2001 From: bitpshr Date: Thu, 13 Sep 2018 16:01:25 -0400 Subject: [PATCH 3/3] Add changelog entry --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7a73467203c8..fbc7f9d52671 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,7 @@ - [#4606](https://github.com/MetaMask/metamask-extension/pull/4606): Add new metamask_watchAsset method. - [#5189](https://github.com/MetaMask/metamask-extension/pull/5189): Fix bug where Ropsten loading message is shown when connecting to Kovan. +- [#5256](https://github.com/MetaMask/metamask-extension/pull/5256): Add mock EIP-1102 support ## 4.9.3 Wed Aug 15 2018