diff --git a/runner/network/consensus/sequencer_consensus.go b/runner/network/consensus/sequencer_consensus.go index 661bb5fa..f5ca8ac6 100644 --- a/runner/network/consensus/sequencer_consensus.go +++ b/runner/network/consensus/sequencer_consensus.go @@ -121,11 +121,12 @@ func (f *SequencerConsensusClient) generatePayloadAttributes(sequencerTxs [][]by var b8 eth.Bytes8 copy(b8[:], eip1559.EncodeHolocene1559Params(50, 1)) + // Always keep timestamps at or ahead of wall clock so the builder + // never sees "FCU arrived too late" and produces empty blocks. + now := uint64(time.Now().Unix()) lastTimestamp := f.lastTimestamp - - // if the last timestamp is more than 2 seconds in the past, set it to the current time - if int64(lastTimestamp)-time.Now().Unix() < -2 { - lastTimestamp = uint64(time.Now().Unix()) + if now > lastTimestamp { + lastTimestamp = now } timestamp := lastTimestamp + 1