eq.log.Warn("L2 reorg: existing unsafe block does not match derived attributes from L1","err",err,"unsafe",eq.ec.UnsafeL2Head(),"pending_safe",eq.ec.PendingSafeL2Head(),"safe",eq.ec.SafeL2Head())
// geth cannot wind back a chain without reorging to a new, previously non-canonical, block
eq.log.Warn("L2 reorg: existing unsafe block does not match derived attributes from L1","err",err,"unsafe",eq.ec.UnsafeL2Head(),"pending_safe",eq.ec.PendingSafeL2Head(),"safe",eq.ec.SafeL2Head())
// geth cannot wind back a chain without reorging to a new, previously non-canonical, block
require.Equal(t,refB1,ec.SafeL2Head(),"L2 reset should go back to sequence window ago: blocks with origin E and D are not safe until we reconcile, C is extra, and B1 is the end we look for")
require.Equal(t,refB1,ec.SafeL2Head(),"L2 reset should go back to sequence window ago: blocks with origin E and D are not safe until we reconcile, C is extra, and B1 is the end we look for")
require.Equal(t,refB1,ec.SafeL2Head(),"L2 reset should go back to sequence window ago: blocks with origin E and D are not safe until we reconcile, C is extra, and B1 is the end we look for")
require.Equal(t,refB1,ec.SafeL2Head(),"L2 reset should go back to sequence window ago: blocks with origin E and D are not safe until we reconcile, C is extra, and B1 is the end we look for")