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
28 changes: 23 additions & 5 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,22 @@ start-gateway: build-follower-op-node build-follower-op-geth build-gateway
$(PORTAL) | docker run -i imega/jq -r '.result' > .local_gateway_and_follower/config/rollup.json; \
curl -s -X POST -H "Content-Type: application/json" \
--data '{"jsonrpc":"2.0","method":"portal_fileGenesis","params":[],"id":1}' \
$(PORTAL) | docker run -i imega/jq -r '.result' > .local_gateway_and_follower/config/genesis.json; \
$(PORTAL) | docker run --rm -i imega/jq -r '.result' > .local_gateway_and_follower/config/genesis.json; \
else \
NEW_GOSSIP=$$(curl -s -X POST -H 'Content-Type: application/json' \
--data '{"jsonrpc":"2.0","method":"portal_opNodeGossipStatic","params":[],"id":1}' \
$(PORTAL) | docker run --rm -i imega/jq -r '.result'); \
NEW_ENR=$$(curl -s -X POST -H 'Content-Type: application/json' \
--data '{"jsonrpc":"2.0","method":"portal_opNodeBootnodeEnr","params":[],"id":1}' \
$(PORTAL) | docker run --rm -i imega/jq -r '.result'); \
NEW_GETH=$$(curl -s -X POST -H 'Content-Type: application/json' \
--data '{"jsonrpc":"2.0","method":"portal_opGethBootnodeEnode","params":[],"id":1}' \
$(PORTAL) | docker run --rm -i imega/jq -r '.result'); \
sed -i -E \
-e "s#^MAIN_OP_NODE_GOSSIP_STATIC=.*#MAIN_OP_NODE_GOSSIP_STATIC=$${NEW_GOSSIP}#" \
-e "s#^MAIN_OP_NODE_ENR=.*#MAIN_OP_NODE_ENR=$${NEW_ENR}#" \
-e "s#^MAIN_OP_GETH_ENODE=.*#MAIN_OP_GETH_ENODE=$${NEW_GETH}#" \
.local_gateway_and_follower/.env; \
fi
@mkdir -p .local_gateway_and_follower/data
@if [ "$(BASED_OP_GETH_DATA_DIR)" != ".local_gateway_and_follower/data/geth" ] && [ -d "$(BASED_OP_GETH_DATA_DIR)" ] && [ ! -d ".local_gateway_and_follower/data/geth" ]; then \
Expand Down Expand Up @@ -164,12 +179,14 @@ start-gateway: build-follower-op-node build-follower-op-geth build-gateway


L1_CHAIN_ID?=11155111
L2_CHAIN_ID?=2151908
L2_CHAIN_ID?=$(shell \
RAW=$$(od -An -N2 -tu2 /dev/urandom | tr -d ' '); \
echo $$((RAW % 50000 + 1)); \
)
L2_CHAIN_ID_HEX := $(shell printf "0x%064x" $(L2_CHAIN_ID))
L1_RPC_URL?=https://ethereum-sepolia-rpc.publicnode.com
L1_BEACON_RPC_URL?=https://ethereum-sepolia-beacon-api.publicnode.com


# ────────────────────────────────────────────────────────────────────────────────
# Only perform these parse-time checks if the user asked for deploy-chain
# or start-main-node on the command line.
Expand Down Expand Up @@ -199,6 +216,7 @@ deploy-chain:
echo "❌ Seems like information of a previous chain is already present. Please remove .local_main_node to deploy a new one."; \
exit 1; \
fi
@echo "Deploying new Chain with id: $(L2_CHAIN_ID)"
@mkdir -p .local_main_node/config
@docker run -v $$(pwd)/.local_main_node/config:/config --entrypoint sh --rm us-docker.pkg.dev/oplabs-tools-artifacts/images/op-deployer:v0.0.11 -c "/op-deployer init --l1-chain-id $(L1_CHAIN_ID) --l2-chain-ids $(L2_CHAIN_ID) --workdir /config && chmod 666 /config/*"
@wallet_batcher=$$(cd based && cargo run --bin key_to_address $(OP_BATCHER_KEY)); \
Expand All @@ -214,8 +232,8 @@ deploy-chain:
> .local_main_node/config/intent.toml

@docker run -v $$(pwd)/.local_main_node/config:/config --rm us-docker.pkg.dev/oplabs-tools-artifacts/images/op-deployer:v0.0.11 apply --workdir /config --l1-rpc-url $(L1_RPC_URL) --private-key $(MAIN_KEY)
@docker run -v $$(pwd)/.local_main_node/config:/config --rm us-docker.pkg.dev/oplabs-tools-artifacts/images/op-deployer:v0.2.0 inspect genesis --workdir /config $(L2_CHAIN_ID) > $$(pwd)/.local_main_node/config/genesis.json
@docker run -v $$(pwd)/.local_main_node/config:/config --rm us-docker.pkg.dev/oplabs-tools-artifacts/images/op-deployer:v0.2.0 inspect rollup --workdir /config $(L2_CHAIN_ID) > $$(pwd)/.local_main_node/config/rollup.json
@docker run -v $$(pwd)/.local_main_node/config:/config --rm us-docker.pkg.dev/oplabs-tools-artifacts/images/op-deployer:v0.2.0 inspect genesis --workdir /config $(L2_CHAIN_ID_HEX) > $$(pwd)/.local_main_node/config/genesis.json
@docker run -v $$(pwd)/.local_main_node/config:/config --rm us-docker.pkg.dev/oplabs-tools-artifacts/images/op-deployer:v0.2.0 inspect rollup --workdir /config $(L2_CHAIN_ID_HEX) > $$(pwd)/.local_main_node/config/rollup.json
@docker run -v $$(pwd)/.local_main_node/config:/config --entrypoint sh --rm us-docker.pkg.dev/oplabs-tools-artifacts/images/op-deployer:v0.2.0 -c "chmod 666 /config/*"
@docker run -v $$(pwd)/.local_main_node/config:/config -i imega/jq '.chain_op_config = {"eip1559Elasticity":6, "eip1559Denominator":50, "eip1559DenominatorCanyon":250}' /config/rollup.json \
> $$(pwd)/.local_main_node/config/rollup.json.tmp && mv $$(pwd)/.local_main_node/config/rollup.json.tmp $$(pwd)/.local_main_node/config/config.json
Expand Down
3 changes: 2 additions & 1 deletion based/bin/portal/src/server.rs
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ impl fmt::Debug for Gateway {

/// If we get fcus faster than this threshold we assume that we are in sync mode and will
/// not propagate anything to the gateways
const SYNC_FCU_DT_THRESHOLD: Nanos = Nanos::from_millis(1500);
const SYNC_FCU_DT_THRESHOLD: Nanos = Nanos::from_millis(999);

#[derive(Clone)]
pub struct PortalServer {
Expand Down Expand Up @@ -506,6 +506,7 @@ impl EngineApiServer for PortalServer {
async fn get_payload_v3(&self, payload_id: PayloadId) -> RpcResult<OpExecutionPayloadEnvelopeV3> {
debug!(%payload_id, "new request");
if self.syncing() {
error!("syncing");
return Ok(self.fallback_client.clone().get_payload_v3(payload_id).await?);
}

Expand Down
Loading