forked from cerc-io/plugeth
Merge branch 'release/0.9.26'
This commit is contained in:
commit
0e703d92ac
@ -680,21 +680,20 @@ func (self *ChainManager) diff(oldBlock, newBlock *types.Block) (types.Blocks, e
|
|||||||
// first reduce whoever is higher bound
|
// first reduce whoever is higher bound
|
||||||
if oldBlock.NumberU64() > newBlock.NumberU64() {
|
if oldBlock.NumberU64() > newBlock.NumberU64() {
|
||||||
// reduce old chain
|
// reduce old chain
|
||||||
for oldBlock = oldBlock; oldBlock.NumberU64() != newBlock.NumberU64(); oldBlock = self.GetBlock(oldBlock.ParentHash()) {
|
for oldBlock = oldBlock; oldBlock != nil && oldBlock.NumberU64() != newBlock.NumberU64(); oldBlock = self.GetBlock(oldBlock.ParentHash()) {
|
||||||
if oldBlock == nil {
|
|
||||||
return nil, fmt.Errorf("Invalid old chain")
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// reduce new chain and append new chain blocks for inserting later on
|
// reduce new chain and append new chain blocks for inserting later on
|
||||||
for newBlock = newBlock; newBlock.NumberU64() != oldBlock.NumberU64(); newBlock = self.GetBlock(newBlock.ParentHash()) {
|
for newBlock = newBlock; newBlock != nil && newBlock.NumberU64() != oldBlock.NumberU64(); newBlock = self.GetBlock(newBlock.ParentHash()) {
|
||||||
if newBlock == nil {
|
|
||||||
return nil, fmt.Errorf("Invalid new chain")
|
|
||||||
}
|
|
||||||
|
|
||||||
newChain = append(newChain, newBlock)
|
newChain = append(newChain, newBlock)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if oldBlock == nil {
|
||||||
|
return nil, fmt.Errorf("Invalid old chain")
|
||||||
|
}
|
||||||
|
if newBlock == nil {
|
||||||
|
return nil, fmt.Errorf("Invalid new chain")
|
||||||
|
}
|
||||||
|
|
||||||
numSplit := newBlock.Number()
|
numSplit := newBlock.Number()
|
||||||
for {
|
for {
|
||||||
|
Loading…
Reference in New Issue
Block a user