core, miner: add PendingStateEvent to track non-log updates
This commit is contained in:
parent
85865a51b6
commit
b534106cc8
|
@ -35,6 +35,9 @@ type PendingLogsEvent struct {
|
||||||
Logs vm.Logs
|
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.
|
// NewBlockEvent is posted when a block has been imported.
|
||||||
type NewBlockEvent struct{ Block *types.Block }
|
type NewBlockEvent struct{ Block *types.Block }
|
||||||
|
|
||||||
|
|
|
@ -649,8 +649,15 @@ func (env *Work) commitTransactions(mux *event.TypeMux, transactions types.Trans
|
||||||
coalescedLogs = append(coalescedLogs, logs...)
|
coalescedLogs = append(coalescedLogs, logs...)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if len(coalescedLogs) > 0 {
|
if len(coalescedLogs) > 0 || env.tcount > 0 {
|
||||||
go mux.Post(core.PendingLogsEvent{Logs: coalescedLogs})
|
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