Skip to content

bump optimism dependencies & update genesis deployer script #33

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

Merged
merged 1 commit into from
Jan 16, 2024
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
9 changes: 5 additions & 4 deletions genesis-deployer/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
ARG OPTIMISM_VERSION="v1.1.4"
ARG OPTIMISM_CONTRACTS_HEAD="op-node/v1.4.2"
ARG OP_NODE_VERSION="v1.4.2"

FROM us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node:${OPTIMISM_VERSION} as op-node
FROM us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node:${OP_NODE_VERSION} as op-node

FROM buildpack-deps:scm as foundry
ARG TARGETARCH
Expand All @@ -10,10 +11,10 @@ RUN curl -L ${FOUNDRY_URL} | tar -xz -C /usr/local/bin
FROM --platform=$BUILDPLATFORM node:lts as builder
ARG BUILDARCH
ARG FOUNDRY_URL="https://github.com/foundry-rs/foundry/releases/download/nightly/foundry_nightly_linux_${BUILDARCH}.tar.gz"
ARG OPTIMISM_VERSION
ARG OPTIMISM_CONTRACTS_HEAD
RUN curl -L ${FOUNDRY_URL} | tar -xz -C /usr/local/bin \
&& git clone https://github.com/ethereum-optimism/optimism.git /optimism \
-b ${OPTIMISM_VERSION} --no-checkout --depth=1 \
-b ${OPTIMISM_CONTRACTS_HEAD} --no-checkout --depth=1 \
&& cd /optimism \
&& git sparse-checkout init --cone \
&& git sparse-checkout set packages/contracts-bedrock \
Expand Down
41 changes: 19 additions & 22 deletions genesis-deployer/deploy.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,33 +6,30 @@ test -e /data/genesis.json && exit 0
mkdir -p /data
openssl rand -hex 32 > /data/jwt.txt

cast block finalized --json --rpc-url ${L1_RPC} > l1_finalized
export blockHash="$(cat l1_finalized | jq -r .hash)"
export timestamp="$(printf %d $(cat l1_finalized | jq -r .timestamp))"
export l1ChainId="$(cast chain-id --rpc-url ${L1_RPC})"

export ETH_RPC_URL="${L1_RPC}"
export PRIVATE_KEY="${ADMIN_KEY}"
export GS_ADMIN_ADDRESS="$(cast wallet address --private-key ${ADMIN_KEY})";
export GS_PROPOSER_ADDRESS="$(cast wallet address --private-key ${PROPOSER_KEY})";
export GS_BATCHER_ADDRESS="$(cast wallet address --private-key ${BATCHER_KEY})";
export GS_SEQUENCER_ADDRESS="$(cast wallet address --private-key ${SEQUENCER_KEY})";

export L1_RPC_URL="${L1_RPC}"
export L1_CHAIN_ID="$(cast chain-id --rpc-url ${L1_RPC_URL})"
export IMPL_SALT=$(openssl rand -hex 32)
export DEPLOYMENT_CONTEXT="getting-started"

cd /deploy
cat deploy-config/${DEPLOYMENT_CONTEXT}.json \
| sed "s/ADMIN/$(cast wallet address --private-key ${ADMIN_KEY})/" \
| sed "s/PROPOSER/$(cast wallet address --private-key ${PROPOSER_KEY})/" \
| sed "s/BATCHER/$(cast wallet address --private-key ${BATCHER_KEY})/" \
| sed "s/SEQUENCER/$(cast wallet address --private-key ${SEQUENCER_KEY})/" \
| sed "s/\"\\?TIMESTAMP\"\\?/\"TIMESTAMP\"/" \
| jq ".l1BlockTime=12" \
| jq ".l1StartingBlockTag=\"${blockHash}\"" \
| jq ".l1ChainID=$(printf %d ${l1ChainId})" \
./scripts/getting-started/config.sh
mv deploy-config/getting-started.json deploy-config/${DEPLOYMENT_CONTEXT}.json.old

cat deploy-config/${DEPLOYMENT_CONTEXT}.json.old \
| jq ".l1ChainID=$(printf %d ${L1_CHAIN_ID})" \
| jq ".l2ChainID=$(printf %d ${L2_CHAIN_ID})" \
| jq ".l2OutputOracleStartingTimestamp=${timestamp}" \
> deploy-config/${DEPLOYMENT_CONTEXT}.json.new
mv deploy-config/${DEPLOYMENT_CONTEXT}.json.new deploy-config/${DEPLOYMENT_CONTEXT}.json
> deploy-config/${DEPLOYMENT_CONTEXT}.json

cat deploy-config/${DEPLOYMENT_CONTEXT}.json

mkdir -p deployments/${DEPLOYMENT_CONTEXT}
forge script scripts/Deploy.s.sol:Deploy --private-key ${ADMIN_KEY} --broadcast --rpc-url ${L1_RPC}
forge script scripts/Deploy.s.sol:Deploy --sig 'sync()' --private-key ${ADMIN_KEY} --broadcast --rpc-url ${L1_RPC}
forge script scripts/Deploy.s.sol:Deploy --private-key ${ADMIN_KEY} --broadcast --rpc-url ${L1_RPC_URL}
forge script scripts/Deploy.s.sol:Deploy --sig 'sync()' --private-key ${ADMIN_KEY} --broadcast --rpc-url ${L1_RPC_URL}

cat deployments/${DEPLOYMENT_CONTEXT}/L2OutputOracleProxy.json \
| jq -r .address \
Expand All @@ -43,4 +40,4 @@ op-node genesis l2 \
--deployment-dir deployments/${DEPLOYMENT_CONTEXT} \
--outfile.l2 /data/genesis.json \
--outfile.rollup /data/rollup.json \
--l1-rpc ${L1_RPC}
--l1-rpc ${L1_RPC_URL}
2 changes: 1 addition & 1 deletion genesis-init-predeploy/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
ARG OP_GETH_VERSION="v1.101200.1"
ARG OP_GETH_VERSION="v1.101305.0"

FROM us-docker.pkg.dev/oplabs-tools-artifacts/images/op-geth:${OP_GETH_VERSION} as op-geth

Expand Down