Skip to content

Back port flashbots main branch #16

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 35 commits into
base: release
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
64a70be
Add docs on how to run Flashblocks (#331)
ferranbt Jun 18, 2025
26be051
fix: correct git sha in user agent
akundaz Jun 18, 2025
439eea0
Merge pull request #342 from flashbots/ash-mxqoxunrlosq
akundaz Jun 18, 2025
520d638
fix: tx_count_delta & block_building_gas_delta underflow metrics (#343)
0xOsiris Jun 19, 2025
d58212e
docs: add `rollup-boost` audit report (#344)
0xKitsune Jun 20, 2025
9601afe
feat: adds block proof description to spec (#285)
fnerdman Jun 24, 2025
2a1ec5d
Parametrise Dockerfile to build debug binaries (#339)
ferranbt Jun 24, 2025
6ccf941
Pin Kurtosis (#349)
ferranbt Jun 24, 2025
12d71a7
feat: use generics for builder client (#348)
0xKitsune Jun 25, 2025
8f68028
chore: minor tweaks to websocket-proxy (#353)
danyalprout Jun 26, 2025
9583386
feat(spec): Add Workload Metadata and Verification Flow (#354)
fnerdman Jun 26, 2025
17f60db
Add Flashblocks RPC overlay (#319)
ferranbt Jun 27, 2025
7fca09e
Update lint to latest nightly (#360)
ferranbt Jun 30, 2025
272ccea
Modify dockerfile to build flashblocks-rpc (#361)
ferranbt Jun 30, 2025
8a7404d
Add builder playground to CI (#263)
avalonche Jun 30, 2025
18737f4
Add Flashblocks builder test (#363)
ferranbt Jun 30, 2025
8f2d343
cicd: push container images to ghcr as well (#356)
0x416e746f6e Jun 30, 2025
7caffb9
fix: remove duplicate `outputs` from gh-workflow (#364)
0x416e746f6e Jun 30, 2025
0a3fe42
Use payload id optimism function from reth (#368)
SozinM Jul 2, 2025
33f55e8
Add metrics and message log to track number of flashblocks used (#367)
SozinM Jul 4, 2025
3b1fdf7
E2E tests for flashblocks RPC (#365)
ferranbt Jul 9, 2025
5d26a2b
chore: simplify `rollup-boost` args (#358)
0xKitsune Jul 9, 2025
b1e2c35
chore: minor cleanup flashblocks logic (#357)
0xKitsune Jul 9, 2025
0e7ccdc
Use arcswap to speed things up (#371)
SozinM Jul 10, 2025
64be33f
Skip "Payload ID mismatch" error if rollup-boost is inactive (not ser…
SozinM Jul 11, 2025
51b1395
Add Flashblocks RPC spec + readme (#377)
ferranbt Jul 16, 2025
eae7365
feat: add client ping/pong health checks (#366)
danyalprout Jul 16, 2025
03ea8f8
Improve FB metrics even more (#380)
SozinM Jul 21, 2025
e0cc8b2
Moves WorkloadId to policy and adds extended registration data (#382)
Ruteri Jul 29, 2025
98fff8e
Bump reth to 1.6 (#383)
krl Jul 29, 2025
da3c655
fix: ping/pong upstream server (#355)
danyalprout Jul 31, 2025
6d49ea6
Update flashtestations.md (#384)
MoeMahhouk Aug 3, 2025
98a1b51
Fix release workflow (#386)
sukoneck Aug 3, 2025
81c0699
Always send get_payload to builder (#385)
SozinM Aug 6, 2025
8ee4120
merge upstream main
cody-wang-cb Aug 14, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion .dockerignore
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
# Version control
.git
.github
.gitignore

# Include for vergen constants
!/.git

# Build artifacts
**/target
integration_logs
Expand Down
46 changes: 40 additions & 6 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,14 @@ name: Build Docker Image

on:
workflow_dispatch:
inputs:
service_name:
description: 'Name of the service to build'
default: 'rollup-boost'
type: choice
options:
- "rollup-boost"
- "flashblocks-rpc"
push:
branches:
- main
Expand All @@ -12,7 +20,7 @@ permissions:
contents: write

env:
REGISTRY_IMAGE: flashbots/rollup-boost
REGISTRY_IMAGE: flashbots/${{ inputs.service_name || 'rollup-boost' }}

jobs:
build:
Expand Down Expand Up @@ -46,13 +54,13 @@ jobs:
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

- name: Login to DockerHub
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.FLASHBOTS_DOCKERHUB_USERNAME }}
password: ${{ secrets.FLASHBOTS_DOCKERHUB_TOKEN }}

- name: Build and push
- name: Build and push to docker hub
id: build
uses: docker/build-push-action@v6
with:
Expand All @@ -61,7 +69,9 @@ jobs:
context: .
platforms: ${{ matrix.config.platform }}
labels: ${{ steps.meta.outputs.labels }}
outputs: type=image,name=${{ env.REGISTRY_IMAGE }},push-by-digest=true,name-canonical=true,push=true
build-args: |
SERVICE_NAME=${{ inputs.service_name || 'rollup-boost' }}
outputs: type=registry,name=${{ env.REGISTRY_IMAGE }},push-by-digest=true,name-canonical=true

- name: Export digest
run: |
Expand All @@ -79,6 +89,9 @@ jobs:

merge:
runs-on: warp-ubuntu-latest-x64-16x
permissions:
contents: read
packages: write
needs:
- build
steps:
Expand All @@ -95,6 +108,13 @@ jobs:
username: ${{ secrets.FLASHBOTS_DOCKERHUB_USERNAME }}
password: ${{ secrets.FLASHBOTS_DOCKERHUB_TOKEN }}

- name: Login to GHCR
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.FLASHBOTS_GHCR_TOKEN }}

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

Expand All @@ -110,8 +130,22 @@ jobs:
- name: Create manifest list and push
working-directory: /tmp/digests
run: |
docker buildx imagetools create $(jq -cr '.tags | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON") \
$(printf '${{ env.REGISTRY_IMAGE }}@sha256:%s ' *)
image=$(
jq -cr '.tags | first' <<< "$DOCKER_METADATA_OUTPUT_JSON"
)

docker buildx imagetools create -t $image $(
printf '${{ env.REGISTRY_IMAGE }}@sha256:%s ' *
)

- name: Install regctl
uses: regclient/actions/regctl-installer@main

- name: Push to GHCR
run: |
regctl image copy \
${{ env.REGISTRY_IMAGE }}:${{ steps.meta.outputs.version }} \
ghcr.io/${{ env.REGISTRY_IMAGE }}:${{ steps.meta.outputs.version }}

- name: Inspect image
run: |
Expand Down
45 changes: 45 additions & 0 deletions .github/workflows/builder-playground.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
name: Builder Playground Integration Tests

on:
# Allow manual trigger
workflow_dispatch:
# Run nightly at 00:00 UTC
schedule:
- cron: "0 0 * * *"
push:
branches:
- main
pull_request:
branches:
- main

jobs:
integration-tests:
name: Run Builder Playground Integration Tests
runs-on: warp-ubuntu-latest-x64-16x

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Install Builder playground
uses: flashbots/[email protected]
with:
builder-playground: latest

- name: Setup Rust
uses: actions-rs/toolchain@v1
with:
toolchain: stable
profile: minimal

- name: Install Just
uses: taiki-e/install-action@just

- name: Build Rollup boost image
run: |
just build

- name: Run Builder Playground
run: |
builder-playground cook opstack --override rollup-boost=flashbots/rollup-boost:develop --external-builder op-reth --timeout 5m --watchdog
8 changes: 4 additions & 4 deletions .github/workflows/kurtosis_integration.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ on:
workflow_dispatch:
# Run nightly at 00:00 UTC
schedule:
- cron: '0 0 * * *'
- cron: "0 0 * * *"
push:
branches:
- main
Expand Down Expand Up @@ -97,12 +97,12 @@ jobs:
- name: Devnet Up
run: |
eval $(minikube -p minikube docker-env)
just devnet-up
just kurtosis-devnet-up

- name: Stress Tests
run: |
just stress-test
just kurtosis-stress-test

- name: Devnet Down
run: |
just devnet-down
just kurtosis-devnet-down
34 changes: 27 additions & 7 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
name: Release

on:
workflow_dispatch:
push:
tags:
- 'v*'
Expand All @@ -25,7 +24,7 @@ jobs:
runs-on: ${{ matrix.config.runner }}
steps:
- name: Checkout sources
uses: actions/checkout@v2
uses: actions/checkout@v4.2.0

- name: Set env
run: |
Expand Down Expand Up @@ -67,7 +66,7 @@ jobs:
VERSION=${{ env.RELEASE_VERSION }}
platforms: ${{ matrix.config.platform }}
labels: ${{ steps.meta.outputs.labels }}
outputs: type=image,name=${{ env.REGISTRY_IMAGE }},push-by-digest=true,name-canonical=true,push=true
outputs: type=registry,name=${{ env.REGISTRY_IMAGE }},push-by-digest=true,name-canonical=true

- name: Export digest
run: |
Expand Down Expand Up @@ -101,6 +100,13 @@ jobs:
username: ${{ secrets.FLASHBOTS_DOCKERHUB_USERNAME }}
password: ${{ secrets.FLASHBOTS_DOCKERHUB_TOKEN }}

- name: Login to GHCR
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.FLASHBOTS_GHCR_TOKEN }} # PAT required for Organization policy

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

Expand All @@ -113,13 +119,27 @@ jobs:
type=sha
type=pep440,pattern={{version}}
type=pep440,pattern={{major}}.{{minor}}
type=raw,value=latest,enable=${{ !contains(env.RELEASE_VERSION, '-') }}
type=raw,value=latest,enable=${{ !contains(env.RELEASE_VERSION, '-rc') }}

- name: Create manifest list and push
working-directory: /tmp/digests
run: |
docker buildx imagetools create $(jq -cr '.tags | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON") \
$(printf '${{ env.REGISTRY_IMAGE }}@sha256:%s ' *)
image=$(
jq -cr '.tags | first' <<< "$DOCKER_METADATA_OUTPUT_JSON"
)

docker buildx imagetools create -t $image $(
printf '${{ env.REGISTRY_IMAGE }}@sha256:%s ' *
)

- name: Install regctl
uses: regclient/actions/regctl-installer@main

- name: Push to GHCR
run: |
regctl image copy \
${{ env.REGISTRY_IMAGE }}:${{ steps.meta.outputs.version }} \
ghcr.io/${{ env.REGISTRY_IMAGE }}:${{ steps.meta.outputs.version }}

- name: Inspect image
run: |
Expand All @@ -129,7 +149,7 @@ jobs:
runs-on: warp-ubuntu-latest-x64-16x
steps:
- name: Checkout sources
uses: actions/checkout@v4
uses: actions/checkout@v4.2.0

- name: Create release
id: create_release
Expand Down
3 changes: 3 additions & 0 deletions .github/workflows/websocket-proxy-ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,9 @@ jobs:
docker:
name: Docker Build
runs-on: warp-ubuntu-latest-x64-16x
defaults:
run:
working-directory: "./crates/websocket-proxy"
steps:
- uses: actions/checkout@v4

Expand Down
Loading
Loading