Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
12 changes: 11 additions & 1 deletion kona/docker/fpvm-prestates/justfile
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,18 @@ build-client-prestate-cannon-artifacts \
mkdir -p $OUTPUT_DIR

echo "Building kona-client (variant: {{kona_client_variant}}) prestate artifacts for the cannon target. 🔫 Cannon Tag: {{cannon_tag}}"

# Build the --allow flag conditionally (requires Docker Buildx v0.15.0+)
ALLOW_FLAG=""
BUILDX_VERSION=$(docker buildx version 2>/dev/null | grep -oE '[0-9]+\.[0-9]+\.[0-9]+' | head -1 || echo "0.0.0")
MAJOR=$(echo "$BUILDX_VERSION" | cut -d. -f1)
MINOR=$(echo "$BUILDX_VERSION" | cut -d. -f2)
if [[ "$MAJOR" -gt 0 ]] || [[ "$MAJOR" -eq 0 && "$MINOR" -ge 15 ]]; then
ALLOW_FLAG="--allow fs=${CUSTOM_CONFIGS_CONTEXT}"
fi

docker buildx bake \
--set "*.output=$OUTPUT_DIR" \
-f docker/docker-bake.hcl \
--allow fs=${CUSTOM_CONFIGS_CONTEXT} \
$ALLOW_FLAG \
kona-cannon-prestate
16 changes: 2 additions & 14 deletions op-devstack/sysgo/l1_nodes.go
Original file line number Diff line number Diff line change
Expand Up @@ -131,11 +131,8 @@ func WithL1NodesInProcess(l1ELID stack.L1ELNodeID, l1CLID stack.L1CLNodeID) stac
})

l1ELNode := &L1Geth{
id: l1ELID,
// Use WS for user RPC so op-node components (and op-supernode virtual nodes)
// can subscribe to L1 head updates. Using HTTP here causes HeadL1 to remain zero,
// which can stall components like the batcher that wait for initialized sync status.
userRPC: firstNonEmpty(l1Geth.Node.WSEndpoint(), l1Geth.Node.HTTPEndpoint()),
id: l1ELID,
userRPC: l1Geth.Node.HTTPEndpoint(),
authRPC: l1Geth.Node.HTTPAuthEndpoint(),
l1Geth: l1Geth,
blobPath: blobPath,
Expand All @@ -152,15 +149,6 @@ func WithL1NodesInProcess(l1ELID stack.L1ELNodeID, l1CLID stack.L1CLNodeID) stac
})
}

func firstNonEmpty(values ...string) string {
for _, v := range values {
if v != "" {
return v
}
}
return ""
}

// WithExtL1Nodes initializes L1 EL and CL nodes that connect to external RPC endpoints
func WithExtL1Nodes(l1ELID stack.L1ELNodeID, l1CLID stack.L1CLNodeID, elRPCEndpoint string, clRPCEndpoint string) stack.Option[*Orchestrator] {
return stack.AfterDeploy(func(orch *Orchestrator) {
Expand Down
Loading