forked from cerc-io/plugeth
Merge pull request #2267 from karalabe/pending-state-events
core, miner: add PendingStateEvent to track non-log updates.
This commit is contained in:
commit
5adc461d58
@ -35,6 +35,9 @@ type PendingLogsEvent struct {
|
||||
Logs vm.Logs
|
||||
}
|
||||
|
||||
// PendingStateEvent is posted pre mining and notifies of pending state changes.
|
||||
type PendingStateEvent struct{}
|
||||
|
||||
// NewBlockEvent is posted when a block has been imported.
|
||||
type NewBlockEvent struct{ Block *types.Block }
|
||||
|
||||
|
@ -649,8 +649,15 @@ func (env *Work) commitTransactions(mux *event.TypeMux, transactions types.Trans
|
||||
coalescedLogs = append(coalescedLogs, logs...)
|
||||
}
|
||||
}
|
||||
if len(coalescedLogs) > 0 {
|
||||
go mux.Post(core.PendingLogsEvent{Logs: coalescedLogs})
|
||||
if len(coalescedLogs) > 0 || env.tcount > 0 {
|
||||
go func(logs vm.Logs, tcount int) {
|
||||
if len(logs) > 0 {
|
||||
mux.Post(core.PendingLogsEvent{Logs: logs})
|
||||
}
|
||||
if tcount > 0 {
|
||||
mux.Post(core.PendingStateEvent{})
|
||||
}
|
||||
}(coalescedLogs, env.tcount)
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user