diff options
author | Jeffrey Wilcke <jeffrey@ethereum.org> | 2016-01-05 19:26:38 +0800 |
---|---|---|
committer | Jeffrey Wilcke <jeffrey@ethereum.org> | 2016-01-05 19:26:38 +0800 |
commit | 32226f1b0cb98286cfd3f2898c344df1dfca45ec (patch) | |
tree | 4eeb1c35b75915fa3686d0e9ae3fd75796fdf4a0 /eth/handler.go | |
parent | a7fc4fa9b7c72059d7f58d705488c9de35413907 (diff) | |
parent | 9e011ff1cd7fe060e106608d0823e48431ef12e9 (diff) | |
download | dexon-32226f1b0cb98286cfd3f2898c344df1dfca45ec.tar dexon-32226f1b0cb98286cfd3f2898c344df1dfca45ec.tar.gz dexon-32226f1b0cb98286cfd3f2898c344df1dfca45ec.tar.bz2 dexon-32226f1b0cb98286cfd3f2898c344df1dfca45ec.tar.lz dexon-32226f1b0cb98286cfd3f2898c344df1dfca45ec.tar.xz dexon-32226f1b0cb98286cfd3f2898c344df1dfca45ec.tar.zst dexon-32226f1b0cb98286cfd3f2898c344df1dfca45ec.zip |
Merge pull request #2097 from karalabe/block-state-checks
core, eth/downloader: ensure state presence in ancestor lookup
Diffstat (limited to 'eth/handler.go')
-rw-r--r-- | eth/handler.go | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/eth/handler.go b/eth/handler.go index d04f79105..108a6679c 100644 --- a/eth/handler.go +++ b/eth/handler.go @@ -138,9 +138,10 @@ func NewProtocolManager(fastSync bool, networkId int, mux *event.TypeMux, txpool return nil, errIncompatibleConfig } // Construct the different synchronisation mechanisms - manager.downloader = downloader.New(chaindb, manager.eventMux, blockchain.HasHeader, blockchain.HasBlock, blockchain.GetHeader, blockchain.GetBlock, - blockchain.CurrentHeader, blockchain.CurrentBlock, blockchain.CurrentFastBlock, blockchain.FastSyncCommitHead, blockchain.GetTd, - blockchain.InsertHeaderChain, blockchain.InsertChain, blockchain.InsertReceiptChain, blockchain.Rollback, manager.removePeer) + manager.downloader = downloader.New(chaindb, manager.eventMux, blockchain.HasHeader, blockchain.HasBlockAndState, blockchain.GetHeader, + blockchain.GetBlock, blockchain.CurrentHeader, blockchain.CurrentBlock, blockchain.CurrentFastBlock, blockchain.FastSyncCommitHead, + blockchain.GetTd, blockchain.InsertHeaderChain, blockchain.InsertChain, blockchain.InsertReceiptChain, blockchain.Rollback, + manager.removePeer) validator := func(block *types.Block, parent *types.Block) error { return core.ValidateHeader(pow, block.Header(), parent.Header(), true, false) |