Skip to content

Conversation

@refcell
Copy link
Contributor

@refcell refcell commented Dec 15, 2025

Description

Introduces base-flashtypes, a new crate containing the core primitive types for flashblocks. This extracts Flashblock, Metadata, FlashblockDecodeError, and the execution payload types from rollup-boost-types (which is an unpublished crate we previously depended on) into their own minimal crate.

The main motivation is to remove the rollup-boost dependency from the workspace, and base-reth-flashblocks specifically. By defining these types locally, we avoid pulling in the full rollup-boost crate and its transitive dependencies just for a handful of type definitions. This reduces the dependency tree and gives us more control over flashblocks type wire format.

Eventually, once rollup-boost-types is a published crate, we can deprecate the payload types in base-flashtypes, re-using the types from rollup-boost-types. We could also upstream types from base-flashtypes into rollup-boost-types and deprecate this crate entirely.

Usage

use base_flashtypes::{Flashblock, FlashblocksPayloadV1};

@refcell refcell requested a review from danyalprout December 15, 2025 16:09
@refcell refcell self-assigned this Dec 15, 2025
@cb-heimdall
Copy link
Collaborator

cb-heimdall commented Dec 15, 2025

✅ Heimdall Review Status

Requirement Status More Info
Reviews 1/1
Denominator calculation
Show calculation
1 if user is bot 0
1 if user is external 0
2 if repo is sensitive 0
From .codeflow.yml 1
Additional review requirements
Show calculation
Max 0
0
From CODEOWNERS 0
Global minimum 0
Max 1
1
1 if commit is unverified 1
Sum 2

danyalprout
danyalprout previously approved these changes Dec 17, 2025
@cb-heimdall cb-heimdall dismissed danyalprout’s stale review December 22, 2025 16:15

Approved review 3586033602 from danyalprout is now dismissed due to new commit. Re-request for approval.

@refcell refcell requested a review from danyalprout December 22, 2025 16:15
@danyalprout
Copy link
Collaborator

There are types for this in alloy.

There maybe value in using our own types for this, as it'll be easier for us to add BAL's etc.

cc @haardikk21 for input

@haardikk21
Copy link
Collaborator

There are types for this in alloy.

There maybe value in using our own types for this, as it'll be easier for us to add BAL's etc.

cc @haardikk21 for input

We use alloys types for BAL too for the most part. Its the metadata of the FB payload we need to maintain control over. Dont think there's a good way to "modify" a struct to go from a looser typed field in an external crate (serde::Value) to a more stricter typed one so this is fine with me

danyalprout
danyalprout previously approved these changes Dec 22, 2025
@cb-heimdall cb-heimdall dismissed danyalprout’s stale review December 22, 2025 16:53

Approved review 3604818637 from danyalprout is now dismissed due to new commit. Re-request for approval.

@refcell refcell merged commit a338a9f into main Dec 22, 2025
19 checks passed
@refcell refcell deleted the rf/flashtypes branch December 22, 2025 17:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants