Skip to content

Simplify ExecutionMode #196

Open
@0xKitsune

Description

@0xKitsune

Rollup Boost supports four ExecutionMode variants that seek to control how rollup-boost interacts with the external builder during block production. Currently the four modes are Enabled, DryRun, Fallback, and Disabled where the differences between DryRun and Fallback are minimal. Execution modes could be simplified to the following:

  • Enabled

    • rollup-boost forwards all Engine API requests to both the builder and default execution client.
    • Optimistically selects the builder’s payload for validation and block publication.
    • Falls back to the local execution client only if the builder fails to produce a payload or the payload is invalid.
    • Default setting for normal external block production.
  • DryRun

    • rollup-boost forwards all Engine API requests to both the builder and default execution client.
    • Builder payloads are validated with the local execution client but the default execution client block will always be returned to op-node to propagate to the network.
    • Useful during deployments, dry runs, or to validate builder behavior without publishing builder blocks to the network.
  • Disabled

    • rollup-boost does not forward any Engine API requests to the builder.
    • Block construction is handled exclusively by the default execution client.
    • Useful as an emergency shutoff switch in the case of critical failures/emergencies.
pub enum ExecutionMode {
    /// Forward Engine API requests to the builder, validate builder payloads and propagate to the network 
    Enabled,
    /// Forward Engine API requests to the builder, validate builder payloads but
    /// fallback to default execution payload
    DryRun,
    // Do not forward Engine API requests to the builder 
    Disabled,
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions