package engine
import (
"time"
"github.com/ethereum-optimism/optimism/op-service/eth"
)
type BuildStartedEvent struct {
Info eth.PayloadInfo
BuildStarted time.Time
Parent eth.L2BlockRef
// if payload should be promoted to (local) safe (must also be pending safe, see DerivedFrom)
Concluding bool
// payload is promoted to pending-safe if non-zero
DerivedFrom eth.L1BlockRef
}
func (ev BuildStartedEvent) String() string {
return "build-started"
}
func (eq *EngDeriver) onBuildStarted(ev BuildStartedEvent) {
// If a (pending) safe block, immediately seal the block
if ev.DerivedFrom != (eth.L1BlockRef{}) {
eq.emitter.Emit(BuildSealEvent{
Info: ev.Info,
BuildStarted: ev.BuildStarted,
Concluding: ev.Concluding,
DerivedFrom: ev.DerivedFrom,
})
}
}
-
Sebastian Stammler authored
Also renames fields `IsLastInSpan` to `Safe` because that's semantically clearer. That a last batch in a span batch is pre-Holocene the indicator for a safe block promotion is an implementation detail. It's better to name the effect rather than the reason.
72c11daa