Documentation
¶
Index ¶
- Variables
- func ForceEngineReset(ec ResetEngineControl, ...)
- func ValidEngineKind(value Kind) bool
- type AttributesForceResetter
- type BlockInsertionErrType
- type BuildCancelEvent
- type BuildInvalidEvent
- type BuildSealEvent
- type BuildSealedEvent
- type BuildStartEvent
- type BuildStartedEvent
- type CrossUpdateHandler
- type Engine
- type EngineController
- func (e *EngineController) BackupUnsafeL2Head() eth.L2BlockRef
- func (ec *EngineController) CancelBlock(ctx context.Context, id eth.PayloadInfo) error
- func (ec *EngineController) CommitBlock(ctx context.Context, signed *opsigner.SignedExecutionPayloadEnvelope) error
- func (e *EngineController) CrossUnsafeL2Head() eth.L2BlockRef
- func (e *EngineController) Finalized() eth.L2BlockRef
- func (e *EngineController) ForceReset(ctx context.Context, ...)
- func (e *EngineController) InsertUnsafePayload(ctx context.Context, envelope *eth.ExecutionPayloadEnvelope, ...) error
- func (e *EngineController) IsEngineSyncing() bool
- func (e *EngineController) LocalSafeL2Head() eth.L2BlockRef
- func (d *EngineController) OnEvent(ctx context.Context, ev event.Event) bool
- func (ec *EngineController) OpenBlock(ctx context.Context, parent eth.BlockID, attrs *eth.PayloadAttributes) (eth.PayloadInfo, error)
- func (e *EngineController) PendingSafeL2Head() eth.L2BlockRef
- func (e *EngineController) PromoteFinalized(ctx context.Context, ref eth.L2BlockRef)
- func (e *EngineController) PromoteSafe(ctx context.Context, ref eth.L2BlockRef, source eth.L1BlockRef)
- func (e *EngineController) RequestForkchoiceUpdate(ctx context.Context)
- func (d *EngineController) RequestPendingSafeUpdate(ctx context.Context)
- func (e *EngineController) SafeL2Head() eth.L2BlockRef
- func (ec *EngineController) SealBlock(ctx context.Context, id eth.PayloadInfo) (*eth.ExecutionPayloadEnvelope, error)
- func (e *EngineController) SetAttributesResetter(resetter AttributesForceResetter)
- func (e *EngineController) SetBackupUnsafeL2Head(r eth.L2BlockRef, triggerReorg bool)
- func (e *EngineController) SetCrossUnsafeHead(r eth.L2BlockRef)
- func (e *EngineController) SetCrossUpdateHandler(handler CrossUpdateHandler)
- func (e *EngineController) SetFinalizedHead(r eth.L2BlockRef)
- func (e *EngineController) SetLocalSafeHead(r eth.L2BlockRef)
- func (e *EngineController) SetOriginSelectorResetter(resetter OriginSelectorForceResetter)
- func (e *EngineController) SetPendingSafeL2Head(r eth.L2BlockRef)
- func (e *EngineController) SetPipelineResetter(resetter PipelineForceResetter)
- func (e *EngineController) SetSafeHead(r eth.L2BlockRef)
- func (e *EngineController) SetUnsafeHead(r eth.L2BlockRef)
- func (e *EngineController) TryBackupUnsafeReorg(ctx context.Context) (bool, error)
- func (d *EngineController) TryUpdateEngine(ctx context.Context)
- func (e *EngineController) TryUpdateLocalSafe(ctx context.Context, ref eth.L2BlockRef, concluding bool, ...)
- func (e *EngineController) TryUpdatePendingSafe(ctx context.Context, ref eth.L2BlockRef, concluding bool, ...)
- func (e *EngineController) TryUpdateUnsafe(ctx context.Context, ref eth.L2BlockRef)
- func (e *EngineController) UnsafeL2Head() eth.L2BlockRef
- type EngineResetConfirmedEvent
- type EngineResetDeriver
- type EngineState
- type ExecEngine
- type FinalizedUpdateEvent
- type ForkchoiceUpdateEvent
- type InteropInvalidateBlockEvent
- type InteropReplacedBlockEvent
- type InvalidPayloadAttributesEvent
- type Kind
- type LocalEngineControl
- type LocalEngineState
- type LocalSafeUpdateEvent
- type OriginSelectorForceResetter
- type PayloadInvalidEvent
- type PayloadProcessEvent
- type PayloadSealExpiredErrorEvent
- type PayloadSealInvalidEvent
- type PayloadSuccessEvent
- type PendingSafeUpdateEvent
- type PipelineForceResetter
- type ProcessUnsafePayloadEvent
- type PromoteCrossUnsafeEvent
- type ResetEngineControl
- type ResetEngineRequestEvent
- type RollupAPI
- type SafeDerivedEvent
- type SyncDeriver
- type UnsafeUpdateEvent
Constants ¶
This section is empty.
Variables ¶
var ErrEngineSyncing = errors.New("engine is syncing")
var ErrNoFCUNeeded = errors.New("no FCU call was needed")
var Kinds = []Kind{ Geth, Reth, Erigon, }
var ReplaceBlockSource = eth.L1BlockRef{ Hash: common.HexToHash("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"), Number: ^uint64(0), ParentHash: common.Hash{}, Time: 0, }
ReplaceBlockSource is a magic value for the "Source" attribute, used when a L2 block is a replacement of an invalidated block. After the replacement has been processed, a reset is performed to derive the next L2 blocks.
Functions ¶
func ForceEngineReset ¶
func ForceEngineReset(ec ResetEngineControl, localUnsafe, crossUnsafe, localSafe, crossSafe, finalized eth.L2BlockRef)
func ValidEngineKind ¶
Types ¶
type AttributesForceResetter ¶ added in v1.13.6
type AttributesForceResetter interface {
ForceReset(ctx context.Context, localUnsafe, crossUnsafe, localSafe, crossSafe, finalized eth.L2BlockRef)
}
type BlockInsertionErrType ¶
type BlockInsertionErrType uint
const ( // BlockInsertOK indicates that the payload was successfully executed and appended to the canonical chain. BlockInsertOK BlockInsertionErrType = iota // BlockInsertTemporaryErr indicates that the insertion failed but may succeed at a later time without changes to the payload. BlockInsertTemporaryErr // BlockInsertPrestateErr indicates that the pre-state to insert the payload could not be prepared, e.g. due to missing chain data. BlockInsertPrestateErr // BlockInsertPayloadErr indicates that the payload was invalid and cannot become canonical. BlockInsertPayloadErr )
type BuildCancelEvent ¶
type BuildCancelEvent struct {
Info eth.PayloadInfo
Force bool
}
func (BuildCancelEvent) String ¶
func (ev BuildCancelEvent) String() string
type BuildInvalidEvent ¶
type BuildInvalidEvent struct {
Attributes *derive.AttributesWithParent
Err error
}
BuildInvalidEvent is an internal engine event, to post-process upon invalid attributes. Not for temporary processing problems.
func (BuildInvalidEvent) String ¶
func (ev BuildInvalidEvent) String() string
type BuildSealEvent ¶
type BuildSealEvent struct {
Info eth.PayloadInfo
BuildStarted time.Time
// if payload should be promoted to safe (must also be pending safe, see DerivedFrom)
Concluding bool
// payload is promoted to pending-safe if non-zero
DerivedFrom eth.L1BlockRef
}
func (BuildSealEvent) String ¶
func (ev BuildSealEvent) String() string
type BuildSealedEvent ¶
type BuildSealedEvent struct {
// 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
BuildStarted time.Time
Info eth.PayloadInfo
Envelope *eth.ExecutionPayloadEnvelope
Ref eth.L2BlockRef
}
BuildSealedEvent is emitted by the engine when a payload finished building, but is not locally inserted as canonical block yet
func (BuildSealedEvent) String ¶
func (ev BuildSealedEvent) String() string
type BuildStartEvent ¶
type BuildStartEvent struct {
Attributes *derive.AttributesWithParent
}
func (BuildStartEvent) String ¶
func (ev BuildStartEvent) String() string
type BuildStartedEvent ¶
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 (BuildStartedEvent) String ¶
func (ev BuildStartedEvent) String() string
type CrossUpdateHandler ¶ added in v1.13.6
type CrossUpdateHandler interface {
OnCrossUnsafeUpdate(ctx context.Context, crossUnsafe eth.L2BlockRef, localUnsafe eth.L2BlockRef)
OnCrossSafeUpdate(ctx context.Context, crossSafe eth.L2BlockRef, localSafe eth.L2BlockRef)
}
CrossUpdateHandler handles both cross-unsafe and cross-safe L2 head changes. Nil check required because op-program omits this handler.
type Engine ¶
type Engine interface {
ExecEngine
derive.L2Source
}
type EngineController ¶
type EngineController struct {
// For clearing safe head db when EL sync started
// EngineController is first initialized and used to initialize SyncDeriver.
// Embed SyncDeriver into EngineController after initializing SyncDeriver
SyncDeriver SyncDeriver
// contains filtered or unexported fields
}
func NewEngineController ¶
func (*EngineController) BackupUnsafeL2Head ¶
func (e *EngineController) BackupUnsafeL2Head() eth.L2BlockRef
func (*EngineController) CancelBlock ¶ added in v1.13.3
func (ec *EngineController) CancelBlock(ctx context.Context, id eth.PayloadInfo) error
func (*EngineController) CommitBlock ¶ added in v1.13.3
func (ec *EngineController) CommitBlock(ctx context.Context, signed *opsigner.SignedExecutionPayloadEnvelope) error
func (*EngineController) CrossUnsafeL2Head ¶ added in v1.9.3
func (e *EngineController) CrossUnsafeL2Head() eth.L2BlockRef
func (*EngineController) Finalized ¶
func (e *EngineController) Finalized() eth.L2BlockRef
func (*EngineController) ForceReset ¶ added in v1.13.6
func (e *EngineController) ForceReset(ctx context.Context, localUnsafe, crossUnsafe, localSafe, crossSafe, finalized eth.L2BlockRef)
ForceReset performs a forced reset to the specified block references
func (*EngineController) InsertUnsafePayload ¶
func (e *EngineController) InsertUnsafePayload(ctx context.Context, envelope *eth.ExecutionPayloadEnvelope, ref eth.L2BlockRef) error
func (*EngineController) IsEngineSyncing ¶
func (e *EngineController) IsEngineSyncing() bool
func (*EngineController) LocalSafeL2Head ¶ added in v1.9.3
func (e *EngineController) LocalSafeL2Head() eth.L2BlockRef
func (*EngineController) OnEvent ¶ added in v1.13.6
TODO(#16917) Remove Event System Refactor Comments OnEvent implements event.Deriver (moved from EngDeriver) TryUpdateEngineEvent is replaced with TryUpdateEngine
func (*EngineController) OpenBlock ¶ added in v1.13.3
func (ec *EngineController) OpenBlock(ctx context.Context, parent eth.BlockID, attrs *eth.PayloadAttributes) (eth.PayloadInfo, error)
func (*EngineController) PendingSafeL2Head ¶
func (e *EngineController) PendingSafeL2Head() eth.L2BlockRef
func (*EngineController) PromoteFinalized ¶ added in v1.13.6
func (e *EngineController) PromoteFinalized(ctx context.Context, ref eth.L2BlockRef)
func (*EngineController) PromoteSafe ¶ added in v1.13.6
func (e *EngineController) PromoteSafe(ctx context.Context, ref eth.L2BlockRef, source eth.L1BlockRef)
func (*EngineController) RequestForkchoiceUpdate ¶ added in v1.13.6
func (e *EngineController) RequestForkchoiceUpdate(ctx context.Context)
func (*EngineController) RequestPendingSafeUpdate ¶ added in v1.13.6
func (d *EngineController) RequestPendingSafeUpdate(ctx context.Context)
func (*EngineController) SafeL2Head ¶
func (e *EngineController) SafeL2Head() eth.L2BlockRef
func (*EngineController) SealBlock ¶ added in v1.13.3
func (ec *EngineController) SealBlock(ctx context.Context, id eth.PayloadInfo) (*eth.ExecutionPayloadEnvelope, error)
func (*EngineController) SetAttributesResetter ¶ added in v1.13.6
func (e *EngineController) SetAttributesResetter(resetter AttributesForceResetter)
SetAttributesResetter sets the attributes component that needs force reset notifications
func (*EngineController) SetBackupUnsafeL2Head ¶
func (e *EngineController) SetBackupUnsafeL2Head(r eth.L2BlockRef, triggerReorg bool)
SetBackupUnsafeL2Head implements LocalEngineControl.
func (*EngineController) SetCrossUnsafeHead ¶ added in v1.9.3
func (e *EngineController) SetCrossUnsafeHead(r eth.L2BlockRef)
SetCrossUnsafeHead the cross-unsafe head.
func (*EngineController) SetCrossUpdateHandler ¶ added in v1.13.6
func (e *EngineController) SetCrossUpdateHandler(handler CrossUpdateHandler)
func (*EngineController) SetFinalizedHead ¶
func (e *EngineController) SetFinalizedHead(r eth.L2BlockRef)
SetFinalizedHead implements LocalEngineControl.
func (*EngineController) SetLocalSafeHead ¶ added in v1.9.3
func (e *EngineController) SetLocalSafeHead(r eth.L2BlockRef)
SetLocalSafeHead sets the local-safe head.
func (*EngineController) SetOriginSelectorResetter ¶ added in v1.13.6
func (e *EngineController) SetOriginSelectorResetter(resetter OriginSelectorForceResetter)
SetOriginSelectorResetter sets the origin selector component that needs force reset notifications
func (*EngineController) SetPendingSafeL2Head ¶
func (e *EngineController) SetPendingSafeL2Head(r eth.L2BlockRef)
SetPendingSafeL2Head implements LocalEngineControl.
func (*EngineController) SetPipelineResetter ¶ added in v1.13.6
func (e *EngineController) SetPipelineResetter(resetter PipelineForceResetter)
SetPipelineResetter sets the pipeline component that needs force reset notifications
func (*EngineController) SetSafeHead ¶
func (e *EngineController) SetSafeHead(r eth.L2BlockRef)
SetSafeHead sets the cross-safe head.
func (*EngineController) SetUnsafeHead ¶
func (e *EngineController) SetUnsafeHead(r eth.L2BlockRef)
SetUnsafeHead sets the local-unsafe head.
func (*EngineController) TryBackupUnsafeReorg ¶
func (e *EngineController) TryBackupUnsafeReorg(ctx context.Context) (bool, error)
TryBackupUnsafeReorg attempts to reorg(restore) unsafe head to backupUnsafeHead. If succeeds, update current forkchoice state to the rollup node.
func (*EngineController) TryUpdateEngine ¶
func (d *EngineController) TryUpdateEngine(ctx context.Context)
func (*EngineController) TryUpdateLocalSafe ¶ added in v1.13.6
func (e *EngineController) TryUpdateLocalSafe(ctx context.Context, ref eth.L2BlockRef, concluding bool, source eth.L1BlockRef)
TryUpdateLocalSafe updates the local safe head if the new reference is newer and concluding
func (*EngineController) TryUpdatePendingSafe ¶ added in v1.13.6
func (e *EngineController) TryUpdatePendingSafe(ctx context.Context, ref eth.L2BlockRef, concluding bool, source eth.L1BlockRef)
TryUpdatePendingSafe updates the pending safe head if the new reference is newer
func (*EngineController) TryUpdateUnsafe ¶ added in v1.13.6
func (e *EngineController) TryUpdateUnsafe(ctx context.Context, ref eth.L2BlockRef)
TryUpdateUnsafe updates the unsafe head and backs up the previous one if needed
func (*EngineController) UnsafeL2Head ¶
func (e *EngineController) UnsafeL2Head() eth.L2BlockRef
type EngineResetConfirmedEvent ¶
type EngineResetConfirmedEvent struct {
LocalUnsafe eth.L2BlockRef
CrossUnsafe eth.L2BlockRef
LocalSafe eth.L2BlockRef
CrossSafe eth.L2BlockRef
Finalized eth.L2BlockRef
}
func (EngineResetConfirmedEvent) String ¶
func (ev EngineResetConfirmedEvent) String() string
type EngineResetDeriver ¶
type EngineResetDeriver struct {
// contains filtered or unexported fields
}
func NewEngineResetDeriver ¶
func (*EngineResetDeriver) AttachEmitter ¶
func (d *EngineResetDeriver) AttachEmitter(em event.Emitter)
func (*EngineResetDeriver) SetEngController ¶ added in v1.13.6
func (d *EngineResetDeriver) SetEngController(engController *EngineController)
type EngineState ¶
type EngineState interface {
Finalized() eth.L2BlockRef
UnsafeL2Head() eth.L2BlockRef
SafeL2Head() eth.L2BlockRef
}
EngineState provides a read-only interface of the forkchoice state properties of the L2 Engine.
type ExecEngine ¶
type ExecEngine interface {
GetPayload(ctx context.Context, payloadInfo eth.PayloadInfo) (*eth.ExecutionPayloadEnvelope, error)
ForkchoiceUpdate(ctx context.Context, state *eth.ForkchoiceState, attr *eth.PayloadAttributes) (*eth.ForkchoiceUpdatedResult, error)
NewPayload(ctx context.Context, payload *eth.ExecutionPayload, parentBeaconBlockRoot *common.Hash) (*eth.PayloadStatusV1, error)
L2BlockRefByLabel(ctx context.Context, label eth.BlockLabel) (eth.L2BlockRef, error)
L2BlockRefByHash(ctx context.Context, hash common.Hash) (eth.L2BlockRef, error)
}
type FinalizedUpdateEvent ¶ added in v1.9.5
type FinalizedUpdateEvent struct {
Ref eth.L2BlockRef
}
FinalizedUpdateEvent signals that a block has been marked as finalized.
func (FinalizedUpdateEvent) String ¶ added in v1.9.5
func (ev FinalizedUpdateEvent) String() string
type ForkchoiceUpdateEvent ¶
type ForkchoiceUpdateEvent struct {
UnsafeL2Head, SafeL2Head, FinalizedL2Head eth.L2BlockRef
}
func (ForkchoiceUpdateEvent) String ¶
func (ev ForkchoiceUpdateEvent) String() string
type InteropInvalidateBlockEvent ¶ added in v1.11.0
type InteropInvalidateBlockEvent struct {
Invalidated eth.BlockRef
Attributes *derive.AttributesWithParent
}
InteropInvalidateBlockEvent is emitted when a block needs to be invalidated, and a replacement is needed.
func (InteropInvalidateBlockEvent) String ¶ added in v1.11.0
func (ev InteropInvalidateBlockEvent) String() string
type InteropReplacedBlockEvent ¶ added in v1.11.0
type InteropReplacedBlockEvent struct {
Ref eth.BlockRef
Envelope *eth.ExecutionPayloadEnvelope
}
InteropReplacedBlockEvent is emitted when a replacement is done.
func (InteropReplacedBlockEvent) String ¶ added in v1.11.0
func (ev InteropReplacedBlockEvent) String() string
type InvalidPayloadAttributesEvent ¶
type InvalidPayloadAttributesEvent struct {
Attributes *derive.AttributesWithParent
Err error
}
InvalidPayloadAttributesEvent is a signal to external derivers that the attributes were invalid.
func (InvalidPayloadAttributesEvent) String ¶
func (ev InvalidPayloadAttributesEvent) String() string
type Kind ¶
type Kind string
Kind identifies the engine client's kind, used to control the behavior of optimism in different engine clients.
func (Kind) SupportsPostFinalizationELSync ¶
type LocalEngineControl ¶
type LocalEngineControl interface {
LocalEngineState
ResetEngineControl
}
type LocalEngineState ¶
type LocalEngineState interface {
EngineState
PendingSafeL2Head() eth.L2BlockRef
BackupUnsafeL2Head() eth.L2BlockRef
}
type LocalSafeUpdateEvent ¶ added in v1.9.3
type LocalSafeUpdateEvent struct {
Ref eth.L2BlockRef
Source eth.L1BlockRef
}
LocalSafeUpdateEvent signals that a block is now considered to be local-safe.
func (LocalSafeUpdateEvent) String ¶ added in v1.9.3
func (ev LocalSafeUpdateEvent) String() string
type OriginSelectorForceResetter ¶ added in v1.13.6
type OriginSelectorForceResetter interface {
ResetOrigins()
}
type PayloadInvalidEvent ¶
type PayloadInvalidEvent struct {
Envelope *eth.ExecutionPayloadEnvelope
Err error
}
func (PayloadInvalidEvent) String ¶
func (ev PayloadInvalidEvent) String() string
type PayloadProcessEvent ¶
type PayloadProcessEvent struct {
// 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
BuildStarted time.Time
Envelope *eth.ExecutionPayloadEnvelope
Ref eth.L2BlockRef
}
func (PayloadProcessEvent) String ¶
func (ev PayloadProcessEvent) String() string
type PayloadSealExpiredErrorEvent ¶
type PayloadSealExpiredErrorEvent struct {
Info eth.PayloadInfo
Err error
Concluding bool
DerivedFrom eth.L1BlockRef
}
PayloadSealExpiredErrorEvent identifies a form of failed payload-sealing that is not coupled to the attributes themselves, but rather the build-job process. The user should re-attempt by starting a new build process. The payload-sealing job should not be re-attempted, as it most likely expired, timed out, or referenced an otherwise invalidated block-building job identifier.
func (PayloadSealExpiredErrorEvent) String ¶
func (ev PayloadSealExpiredErrorEvent) String() string
type PayloadSealInvalidEvent ¶
type PayloadSealInvalidEvent struct {
Info eth.PayloadInfo
Err error
Concluding bool
DerivedFrom eth.L1BlockRef
}
PayloadSealInvalidEvent identifies a permanent in-consensus problem with the payload sealing.
func (PayloadSealInvalidEvent) String ¶
func (ev PayloadSealInvalidEvent) String() string
type PayloadSuccessEvent ¶
type PayloadSuccessEvent struct {
// 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
BuildStarted time.Time
InsertStarted time.Time
Envelope *eth.ExecutionPayloadEnvelope
Ref eth.L2BlockRef
}
func (PayloadSuccessEvent) String ¶
func (ev PayloadSuccessEvent) String() string
type PendingSafeUpdateEvent ¶
type PendingSafeUpdateEvent struct {
PendingSafe eth.L2BlockRef
Unsafe eth.L2BlockRef // tip, added to the signal, to determine if there are existing blocks to consolidate
}
func (PendingSafeUpdateEvent) String ¶
func (ev PendingSafeUpdateEvent) String() string
type PipelineForceResetter ¶ added in v1.13.6
type PipelineForceResetter interface {
ResetPipeline()
}
type ProcessUnsafePayloadEvent ¶
type ProcessUnsafePayloadEvent struct {
Envelope *eth.ExecutionPayloadEnvelope
}
func (ProcessUnsafePayloadEvent) String ¶
func (ev ProcessUnsafePayloadEvent) String() string
type PromoteCrossUnsafeEvent ¶ added in v1.9.3
type PromoteCrossUnsafeEvent struct {
Ref eth.L2BlockRef
}
PromoteCrossUnsafeEvent signals that the given block may be promoted to cross-unsafe.
func (PromoteCrossUnsafeEvent) String ¶ added in v1.9.3
func (ev PromoteCrossUnsafeEvent) String() string
type ResetEngineControl ¶
type ResetEngineControl interface {
SetUnsafeHead(eth.L2BlockRef)
SetCrossUnsafeHead(ref eth.L2BlockRef)
SetLocalSafeHead(ref eth.L2BlockRef)
SetSafeHead(eth.L2BlockRef)
SetFinalizedHead(eth.L2BlockRef)
SetBackupUnsafeL2Head(block eth.L2BlockRef, triggerReorg bool)
SetPendingSafeL2Head(eth.L2BlockRef)
}
type ResetEngineRequestEvent ¶
type ResetEngineRequestEvent struct {
}
ResetEngineRequestEvent requests the EngineResetDeriver to walk the L2 chain backwards until it finds a plausible unsafe head, and find an L2 safe block that is guaranteed to still be from the L1 chain. This event is not used in interop.
func (ResetEngineRequestEvent) String ¶
func (ev ResetEngineRequestEvent) String() string
type RollupAPI ¶ added in v1.13.3
RollupAPI is the API we serve as rollup-node to interact with the execution engine and forkchoice state.
type SafeDerivedEvent ¶
type SafeDerivedEvent struct {
Safe eth.L2BlockRef
Source eth.L1BlockRef
}
SafeDerivedEvent signals that a block was determined to be safe, and derived from the given L1 block. This is signaled upon procedural call of PromoteSafe method
func (SafeDerivedEvent) String ¶
func (ev SafeDerivedEvent) String() string
type SyncDeriver ¶ added in v1.13.6
type SyncDeriver interface {
OnELSyncStarted()
}
type UnsafeUpdateEvent ¶ added in v1.9.3
type UnsafeUpdateEvent struct {
Ref eth.L2BlockRef
}
UnsafeUpdateEvent signals that the given block is now considered safe. This is pre-forkchoice update; the change may not be reflected yet in the EL.
func (UnsafeUpdateEvent) String ¶ added in v1.9.3
func (ev UnsafeUpdateEvent) String() string