diff --git a/app/manifest.json b/app/manifest.json index f37d4663d..915295914 100644 --- a/app/manifest.json +++ b/app/manifest.json @@ -1,7 +1,6 @@ { "name": "__MSG_appName__", - "short_name": "Metamask", - "version": "1.3.0", + "version": "1.2.1", "manifest_version": 2, "description": "__MSG_appDescription__", "icons": { diff --git a/app/scripts/background.js b/app/scripts/background.js index 14293ab05..772c1de89 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('./lib/zero.js') +const MetaMaskProvider = require('web3-provider-engine/zero.js') const IdentityStore = require('./lib/idStore') const createTxNotification = require('./lib/tx-notification.js') const configManager = require('./lib/config-manager-singleton') @@ -36,9 +36,8 @@ function handleEthRpcRequestStream(stream){ // state and network // -var providerConfig = configManager.getProvider() var idStore = new IdentityStore() -var providerOpts = { +var zeroClient = MetaMaskProvider({ rpcUrl: configManager.getCurrentRpcAddress(), getAccounts: function(cb){ var selectedAddress = idStore.getSelectedAddress() @@ -47,16 +46,14 @@ var providerOpts = { }, approveTransaction: addUnconfirmedTx, signTransaction: idStore.signTransaction.bind(idStore), - etherscan: providerConfig.type === 'etherscan', -} -var provider = MetaMaskProvider(providerOpts) +}) // log new blocks -provider.on('block', function(block){ +zeroClient.on('block', function(block){ console.log('BLOCK CHANGED:', '#'+block.number.toString('hex'), '0x'+block.hash.toString('hex')) }) -var ethStore = new EthStore(provider) +var ethStore = new EthStore(zeroClient) idStore.setStore(ethStore) function getState(){ @@ -71,7 +68,7 @@ function getState(){ // handle rpc requests function onRpcRequest(remoteStream, payload){ // console.log('MetaMaskPlugin - incoming payload:', payload) - provider.sendAsync(payload, function onPayloadHandled(err, response){ + zeroClient.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 { @@ -114,7 +111,6 @@ 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), @@ -183,11 +179,6 @@ function setRpcTarget(rpcTarget){ chrome.runtime.reload() } -function useEtherscanProvider() { - configManager.useEtherscanProvider() - chrome.runtime.reload() -} - // util function jsonParseStream(){ diff --git a/app/scripts/lib/config-manager.js b/app/scripts/lib/config-manager.js index 121ede838..682b34637 100644 --- a/app/scripts/lib/config-manager.js +++ b/app/scripts/lib/config-manager.js @@ -47,6 +47,15 @@ ConfigManager.prototype.setConfig = function(config) { this.setData(data) } +ConfigManager.prototype.setRpcTarget = function(rpcUrl) { + var config = this.getConfig() + config.provider = { + type: 'rpc', + rpcTarget: rpcUrl, + } + this.setConfig(config) +} + ConfigManager.prototype.getConfig = function() { var data = this.migrator.getData() if ('config' in data) { @@ -61,28 +70,6 @@ ConfigManager.prototype.getConfig = function() { } } -ConfigManager.prototype.setRpcTarget = function(rpcUrl) { - var config = this.getConfig() - config.provider = { - type: 'rpc', - rpcTarget: rpcUrl, - } - this.setConfig(config) -} - -ConfigManager.prototype.useEtherscanProvider = function() { - var config = this.getConfig() - config.provider = { - type: 'etherscan', - } - this.setConfig(config) -} - -ConfigManager.prototype.getProvider = function() { - var config = this.getConfig() - return config.provider -} - ConfigManager.prototype.setData = function(data) { this.migrator.saveData(data) } diff --git a/app/scripts/lib/zero.js b/app/scripts/lib/zero.js deleted file mode 100644 index d33f099d3..000000000 --- a/app/scripts/lib/zero.js +++ /dev/null @@ -1,65 +0,0 @@ -const ProviderEngine = require('web3-provider-engine/index.js') -const DefaultFixture = require('web3-provider-engine/subproviders/default-fixture.js') -const NonceTrackerSubprovider = require('web3-provider-engine/subproviders/nonce-tracker.js') -const CacheSubprovider = require('web3-provider-engine/subproviders/cache.js') -const FilterSubprovider = require('web3-provider-engine/subproviders/filters.js') -const HookedWalletSubprovider = require('web3-provider-engine/subproviders/hooked-wallet.js') -const RpcSubprovider = require('web3-provider-engine/subproviders/rpc.js') -const EtherscanSubprovider = require('web3-provider-engine/subproviders/etherscan.js') - - -module.exports = ZeroClientProvider - - -function ZeroClientProvider(opts){ - opts = opts || {} - - var engine = new ProviderEngine() - - // static - var staticSubprovider = new DefaultFixture() - engine.addProvider(staticSubprovider) - - // nonce tracker - engine.addProvider(new NonceTrackerSubprovider()) - - // cache layer - var cacheSubprovider = new CacheSubprovider() - engine.addProvider(cacheSubprovider) - - // filters - var filterSubprovider = new FilterSubprovider() - engine.addProvider(filterSubprovider) - - // id mgmt - var idmgmtSubprovider = new HookedWalletSubprovider({ - getAccounts: opts.getAccounts, - approveTransaction: opts.approveTransaction, - signTransaction: opts.signTransaction, - }) - engine.addProvider(idmgmtSubprovider) - - // data source - var dataProvider - if (!opts.etherscan) { - dataProvider = new RpcSubprovider({ - rpcUrl: opts.rpcUrl || 'https://testrpc.metamask.io/', - }) - } else { - dataProvider = new EtherscanSubprovider() - } - engine.addProvider(dataProvider) - - // // log new blocks - // engine.on('block', function(block){ - // console.log('================================') - // console.log('BLOCK CHANGED:', '#'+block.number.toString('hex'), '0x'+block.hash.toString('hex')) - // console.log('================================') - // }) - - // start polling - engine.start() - - return engine - -} diff --git a/package.json b/package.json index 83d563633..be61f1d14 100644 --- a/package.json +++ b/package.json @@ -27,7 +27,7 @@ "readable-stream": "^2.0.5", "through2": "^2.0.1", "web3": "^0.15.1", - "web3-provider-engine": "^7.2.1", + "web3-provider-engine": "^7.0.0", "xtend": "^4.0.1" }, "devDependencies": {