mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-12-23 09:52:26 +01:00
background - use provider-engine zero client
This commit is contained in:
parent
ffdf9135d2
commit
92987b4407
@ -3,7 +3,7 @@ const eos = require('end-of-stream')
|
|||||||
const extend = require('xtend')
|
const extend = require('xtend')
|
||||||
const EthStore = require('eth-store')
|
const EthStore = require('eth-store')
|
||||||
const PortStream = require('./lib/port-stream.js')
|
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')
|
const IdentityStore = require('./lib/idStore')
|
||||||
|
|
||||||
console.log('ready to roll')
|
console.log('ready to roll')
|
||||||
@ -40,9 +40,15 @@ var zeroClient = MetaMaskProvider({
|
|||||||
var result = selectedAddress ? [selectedAddress] : []
|
var result = selectedAddress ? [selectedAddress] : []
|
||||||
cb(null, result)
|
cb(null, result)
|
||||||
},
|
},
|
||||||
approveTx: idStore.addUnconfirmedTransaction.bind(idStore),
|
approveTransaction: idStore.addUnconfirmedTransaction.bind(idStore),
|
||||||
signTransaction: idStore.signTransaction.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)
|
var ethStore = new EthStore(zeroClient)
|
||||||
idStore.setStore(ethStore)
|
idStore.setStore(ethStore)
|
||||||
|
|
||||||
|
@ -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
|
|
||||||
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user