|
|
@ -628,7 +628,6 @@ type WriteStatus byte |
|
|
|
const ( |
|
|
|
const ( |
|
|
|
NonStatTy WriteStatus = iota |
|
|
|
NonStatTy WriteStatus = iota |
|
|
|
CanonStatTy |
|
|
|
CanonStatTy |
|
|
|
SplitStatTy |
|
|
|
|
|
|
|
SideStatTy |
|
|
|
SideStatTy |
|
|
|
) |
|
|
|
) |
|
|
|
|
|
|
|
|
|
|
@ -1029,9 +1028,6 @@ func (self *BlockChain) InsertChain(chain types.Blocks) (int, error) { |
|
|
|
|
|
|
|
|
|
|
|
blockInsertTimer.UpdateSince(bstart) |
|
|
|
blockInsertTimer.UpdateSince(bstart) |
|
|
|
events = append(events, ChainSideEvent{block}) |
|
|
|
events = append(events, ChainSideEvent{block}) |
|
|
|
|
|
|
|
|
|
|
|
case SplitStatTy: |
|
|
|
|
|
|
|
events = append(events, ChainSplitEvent{block, logs}) |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
stats.processed++ |
|
|
|
stats.processed++ |
|
|
|
stats.usedGas += usedGas.Uint64() |
|
|
|
stats.usedGas += usedGas.Uint64() |
|
|
@ -1226,8 +1222,9 @@ func (self *BlockChain) postChainEvents(events []interface{}, logs []*types.Log) |
|
|
|
self.eventMux.Post(logs) |
|
|
|
self.eventMux.Post(logs) |
|
|
|
for _, event := range events { |
|
|
|
for _, event := range events { |
|
|
|
if event, ok := event.(ChainEvent); ok { |
|
|
|
if event, ok := event.(ChainEvent); ok { |
|
|
|
// We need some control over the mining operation. Acquiring locks and waiting for the miner to create new block takes too long
|
|
|
|
// We need some control over the mining operation. Acquiring locks and waiting
|
|
|
|
// and in most cases isn't even necessary.
|
|
|
|
// for the miner to create new block takes too long and in most cases isn't
|
|
|
|
|
|
|
|
// even necessary.
|
|
|
|
if self.LastBlockHash() == event.Hash { |
|
|
|
if self.LastBlockHash() == event.Hash { |
|
|
|
self.eventMux.Post(ChainHeadEvent{event.Block}) |
|
|
|
self.eventMux.Post(ChainHeadEvent{event.Block}) |
|
|
|
} |
|
|
|
} |
|
|
|