aboutsummaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
authorPéter Szilágyi <peterke@gmail.com>2015-05-28 18:06:10 +0800
committerPéter Szilágyi <peterke@gmail.com>2015-05-28 19:03:10 +0800
commit29b0480cfb2f2bd6c350fdce0063312ad691d7b8 (patch)
treeacffafea6ff39c6e1cad36120bc00d7378565f4c /core
parent27e0d2a97325edc9a870a747412d0b9a2abd1ed1 (diff)
downloaddexon-29b0480cfb2f2bd6c350fdce0063312ad691d7b8.tar.gz
dexon-29b0480cfb2f2bd6c350fdce0063312ad691d7b8.tar.zst
dexon-29b0480cfb2f2bd6c350fdce0063312ad691d7b8.zip
core, eth/downloader: expose the bad hashes, check in downloader
Diffstat (limited to 'core')
-rw-r--r--core/blocks.go7
-rw-r--r--core/chain_manager.go2
-rw-r--r--core/manager.go6
3 files changed, 5 insertions, 10 deletions
diff --git a/core/blocks.go b/core/blocks.go
index d09242a07..35e170af3 100644
--- a/core/blocks.go
+++ b/core/blocks.go
@@ -2,7 +2,8 @@ package core
import "github.com/ethereum/go-ethereum/common"
-var badHashes = []common.Hash{
- common.HexToHash("f269c503aed286caaa0d114d6a5320e70abbc2febe37953207e76a2873f2ba79"),
- common.HexToHash("38f5bbbffd74804820ffa4bab0cd540e9de229725afb98c1a7e57936f4a714bc"),
+// Set of manually tracked bad hashes (usually hard forks)
+var BadHashes = map[common.Hash]bool{
+ common.HexToHash("f269c503aed286caaa0d114d6a5320e70abbc2febe37953207e76a2873f2ba79"): true,
+ common.HexToHash("38f5bbbffd74804820ffa4bab0cd540e9de229725afb98c1a7e57936f4a714bc"): true,
}
diff --git a/core/chain_manager.go b/core/chain_manager.go
index ee73145c1..edf8825f3 100644
--- a/core/chain_manager.go
+++ b/core/chain_manager.go
@@ -121,7 +121,7 @@ func NewChainManager(blockDb, stateDb common.Database, pow pow.PoW, mux *event.T
bc.setLastState()
// Check the current state of the block hashes and make sure that we do not have any of the bad blocks in our chain
- for _, hash := range badHashes {
+ for hash, _ := range BadHashes {
if block := bc.GetBlock(hash); block != nil {
glog.V(logger.Error).Infof("Found bad hash. Reorganising chain to state %x\n", block.ParentHash().Bytes()[:4])
block = bc.GetBlock(block.ParentHash())
diff --git a/core/manager.go b/core/manager.go
index 695f0e99c..ba0ecf9d1 100644
--- a/core/manager.go
+++ b/core/manager.go
@@ -3,9 +3,7 @@ package core
import (
"github.com/ethereum/go-ethereum/accounts"
"github.com/ethereum/go-ethereum/common"
- "github.com/ethereum/go-ethereum/eth/downloader"
"github.com/ethereum/go-ethereum/event"
- "github.com/ethereum/go-ethereum/p2p"
)
// TODO move this to types?
@@ -14,11 +12,7 @@ type Backend interface {
BlockProcessor() *BlockProcessor
ChainManager() *ChainManager
TxPool() *TxPool
- PeerCount() int
- IsListening() bool
- Peers() []*p2p.Peer
BlockDb() common.Database
StateDb() common.Database
EventMux() *event.TypeMux
- Downloader() *downloader.Downloader
}