aboutsummaryrefslogtreecommitdiffstats
path: root/app/scripts/background.js
diff options
context:
space:
mode:
authorDan Finlay <somniac@me.com>2016-04-01 07:32:35 +0800
committerDan Finlay <somniac@me.com>2016-04-01 07:32:35 +0800
commitb3e5fc2cf6b054f1e30f3bcdd0149fbade01caad (patch)
tree99d9a7549ec9a0f9967aa688d6a9c88791ed9990 /app/scripts/background.js
parent888ade6a1d0fde9fe7a029124007d08dc337578f (diff)
downloadtangerine-wallet-browser-b3e5fc2cf6b054f1e30f3bcdd0149fbade01caad.tar
tangerine-wallet-browser-b3e5fc2cf6b054f1e30f3bcdd0149fbade01caad.tar.gz
tangerine-wallet-browser-b3e5fc2cf6b054f1e30f3bcdd0149fbade01caad.tar.bz2
tangerine-wallet-browser-b3e5fc2cf6b054f1e30f3bcdd0149fbade01caad.tar.lz
tangerine-wallet-browser-b3e5fc2cf6b054f1e30f3bcdd0149fbade01caad.tar.xz
tangerine-wallet-browser-b3e5fc2cf6b054f1e30f3bcdd0149fbade01caad.tar.zst
tangerine-wallet-browser-b3e5fc2cf6b054f1e30f3bcdd0149fbade01caad.zip
Revert "Revert "Etherscan provider""
Diffstat (limited to 'app/scripts/background.js')
-rw-r--r--app/scripts/background.js21
1 files changed, 15 insertions, 6 deletions
diff --git a/app/scripts/background.js b/app/scripts/background.js
index 772c1de89..14293ab05 100644
--- a/app/scripts/background.js
+++ b/app/scripts/background.js
@@ -6,7 +6,7 @@ const combineStreams = require('pumpify')
const extend = require('xtend')
const EthStore = require('eth-store')
const PortStream = require('./lib/port-stream.js')
-const MetaMaskProvider = require('web3-provider-engine/zero.js')
+const MetaMaskProvider = require('./lib/zero.js')
const IdentityStore = require('./lib/idStore')
const createTxNotification = require('./lib/tx-notification.js')
const configManager = require('./lib/config-manager-singleton')
@@ -36,8 +36,9 @@ function handleEthRpcRequestStream(stream){
// state and network
//
+var providerConfig = configManager.getProvider()
var idStore = new IdentityStore()
-var zeroClient = MetaMaskProvider({
+var providerOpts = {
rpcUrl: configManager.getCurrentRpcAddress(),
getAccounts: function(cb){
var selectedAddress = idStore.getSelectedAddress()
@@ -46,14 +47,16 @@ var zeroClient = MetaMaskProvider({
},
approveTransaction: addUnconfirmedTx,
signTransaction: idStore.signTransaction.bind(idStore),
-})
+ etherscan: providerConfig.type === 'etherscan',
+}
+var provider = MetaMaskProvider(providerOpts)
// log new blocks
-zeroClient.on('block', function(block){
+provider.on('block', function(block){
console.log('BLOCK CHANGED:', '#'+block.number.toString('hex'), '0x'+block.hash.toString('hex'))
})
-var ethStore = new EthStore(zeroClient)
+var ethStore = new EthStore(provider)
idStore.setStore(ethStore)
function getState(){
@@ -68,7 +71,7 @@ function getState(){
// handle rpc requests
function onRpcRequest(remoteStream, payload){
// console.log('MetaMaskPlugin - incoming payload:', payload)
- zeroClient.sendAsync(payload, function onPayloadHandled(err, response){
+ provider.sendAsync(payload, function onPayloadHandled(err, response){
// provider engine errors are included in response objects
if (!payload.isMetamaskInternal) console.log('MetaMaskPlugin - RPC complete:', payload, '->', response)
try {
@@ -111,6 +114,7 @@ function linkDnode(stream){
var connection = Dnode({
getState: function(cb){ cb(null, getState()) },
setRpcTarget: setRpcTarget,
+ useEtherscanProvider: useEtherscanProvider,
// forward directly to idStore
createNewVault: idStore.createNewVault.bind(idStore),
recoverFromSeed: idStore.recoverFromSeed.bind(idStore),
@@ -179,6 +183,11 @@ function setRpcTarget(rpcTarget){
chrome.runtime.reload()
}
+function useEtherscanProvider() {
+ configManager.useEtherscanProvider()
+ chrome.runtime.reload()
+}
+
// util
function jsonParseStream(){