diff --git a/app/scripts/inpage.js b/app/scripts/inpage.js index e15c08671..121246d6a 100644 --- a/app/scripts/inpage.js +++ b/app/scripts/inpage.js @@ -32,7 +32,9 @@ remoteProvider.on('error', console.error.bind(console)) // // handle accounts cache -var accountsCache = [] +var accountsCache = JSON.parse(localStorage['MetaMask-Accounts'] || '[]') +web3.eth.defaultAccount = accounts[0] + setInterval(populateAccountsCache, 4000) function populateAccountsCache(){ remoteProvider.sendAsync(createPayload({ @@ -44,6 +46,7 @@ function populateAccountsCache(){ // update localStorage var accounts = response.result if (accounts.toString() !== accountsCache.toString()) { + web3.eth.defaultAccount = accounts[0] accountsCache = accounts localStorage['MetaMask-Accounts'] = JSON.stringify(accounts) } @@ -58,13 +61,11 @@ remoteProvider.send = function(payload){ case 'eth_accounts': // read from localStorage - accountsCache = JSON.parse(localStorage['MetaMask-Accounts'] || '[]') result = accountsCache break case 'eth_coinbase': // read from localStorage - accountsCache = JSON.parse(localStorage['MetaMask-Accounts'] || '[]') result = accountsCache[0] || '0x0000000000000000000000000000000000000000' break