1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-10-22 11:22:43 +02:00

background - use provider-engine zero client

This commit is contained in:
kumavis 2016-03-02 16:58:47 -08:00
parent ffdf9135d2
commit 92987b4407
2 changed files with 8 additions and 63 deletions

View File

@ -3,7 +3,7 @@ const eos = require('end-of-stream')
const extend = require('xtend')
const EthStore = require('eth-store')
const PortStream = require('./lib/port-stream.js')
const MetaMaskProvider = require('./lib/metamask-provider')
const MetaMaskProvider = require('web3-provider-engine/zero.js')
const IdentityStore = require('./lib/idStore')
console.log('ready to roll')
@ -40,9 +40,15 @@ var zeroClient = MetaMaskProvider({
var result = selectedAddress ? [selectedAddress] : []
cb(null, result)
},
approveTx: idStore.addUnconfirmedTransaction.bind(idStore),
approveTransaction: idStore.addUnconfirmedTransaction.bind(idStore),
signTransaction: idStore.signTransaction.bind(idStore),
})
// log new blocks
zeroClient.on('block', function(block){
console.log('BLOCK CHANGED:', '#'+block.number.toString('hex'), '0x'+block.hash.toString('hex'))
})
var ethStore = new EthStore(zeroClient)
idStore.setStore(ethStore)

View File

@ -1,61 +0,0 @@
const ProviderEngine = require('web3-provider-engine')
const NonceTrackerSubprovider = require('web3-provider-engine/subproviders/nonce-tracker.js')
const CacheSubprovider = require('web3-provider-engine/subproviders/cache.js')
const FixtureSubprovider = require('web3-provider-engine/subproviders/fixture.js')
const FilterSubprovider = require('web3-provider-engine/subproviders/filters.js')
const VmSubprovider = require('web3-provider-engine/subproviders/vm.js')
const HookedWalletSubprovider = require('web3-provider-engine/subproviders/hooked-wallet.js')
const RpcSubprovider = require('web3-provider-engine/subproviders/rpc.js')
module.exports = metamaskProvider
function metamaskProvider(opts){
var engine = new ProviderEngine()
// nonce tracker
engine.addProvider(new NonceTrackerSubprovider())
// cache layer
engine.addProvider(new CacheSubprovider())
// static results
engine.addProvider(new FixtureSubprovider({
web3_clientVersion: 'MetaMask-ProviderEngine/v0.0.0/javascript',
net_listening: true,
eth_hashrate: '0x0',
eth_mining: false,
eth_syncing: true,
}))
// filters
engine.addProvider(new FilterSubprovider())
// vm
engine.addProvider(new VmSubprovider())
// id mgmt
engine.addProvider(new HookedWalletSubprovider({
getAccounts: opts.getAccounts,
approveTx: opts.approveTx,
signTransaction: opts.signTransaction,
}))
// data source
engine.addProvider(new RpcSubprovider({
rpcUrl: opts.rpcUrl,
}))
// 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 for blocks
engine.start()
return engine
}