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
16 changes: 15 additions & 1 deletion Dockerfile-contracts
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,13 @@ RUN apt-get update && apt-get install -y \
bash \
&& apt-get clean && rm -rf /var/lib/apt/lists/*

# Update certificates
RUN apt-get update && apt-get install -y ca-certificates && update-ca-certificates

# Set environment variables for Go
ENV SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt
ENV SSL_CERT_DIR=/etc/ssl/certs

# Install foundry
RUN curl -L https://foundry.paradigm.xyz | bash && \
/root/.foundry/bin/foundryup && \
Expand All @@ -24,7 +31,7 @@ WORKDIR /app/packages/contracts-bedrock
RUN git submodule update --init --recursive || echo "No submodules found"
RUN --mount=type=cache,target=/root/.foundry \
--mount=type=cache,target=/root/.cache \
forge build
forge build --skip "/**/test/**"

# Build op-deployer
WORKDIR /app
Expand All @@ -42,6 +49,13 @@ RUN --mount=type=cache,target=/root/.cache \
FROM debian:bookworm-slim
WORKDIR /app

# Update certificates
RUN apt-get update && apt-get install -y ca-certificates && update-ca-certificates

# Set environment variables for Go
ENV SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt
ENV SSL_CERT_DIR=/etc/ssl/certs

# Copy foundry tools for runtime use
COPY --from=contracts-builder /usr/local/bin/forge /usr/local/bin/cast /usr/local/bin/anvil /usr/local/bin/

Expand Down
19 changes: 16 additions & 3 deletions test/2-deploy-op-contracts.sh
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,12 @@ source utils.sh

ROOT_DIR=$(git rev-parse --show-toplevel)

# Set global OP_CONTRACTS_IMAGE_TAG based on environment
if [ "$ENV" = "local" ]; then
# Use local image tag for local environment
DOCKER_NETWORK_ARG="$DOCKER_NETWORK"
else
# Use cert image tag for non-local environments
DOCKER_NETWORK_ARG="host"
fi

Expand Down Expand Up @@ -58,7 +61,7 @@ deploy_transactor_contract() {
FORGE_CMD="forge create --json --broadcast --legacy \
--rpc-url $L1_RPC_URL_IN_DOCKER \
--private-key $DEPLOYER_PRIVATE_KEY \
src/periphery/Transactor.sol:Transactor.0.8.30 \
src/periphery/Transactor.sol:Transactor \
--constructor-args $ADMIN_OWNER_ADDRESS"

echo "🔧 Executing Docker command..."
Expand Down Expand Up @@ -152,7 +155,13 @@ deploy_op_stack_bootstrap_implementations() {

DOCKER_ARGS+=("$OP_CONTRACTS_IMAGE_TAG")

BASH_CMD="set -e && export CURL_CA_BUNDLE= && export GIT_SSL_NO_VERIFY=true && /app/op-deployer/bin/op-deployer bootstrap implementations --artifacts-locator file:///app/packages/contracts-bedrock/forge-artifacts --l1-rpc-url $L1_RPC_URL_IN_DOCKER --outfile /deployments/implementations.json --mips-version \"7\" --private-key $DEPLOYER_PRIVATE_KEY --protocol-versions-proxy $PROTOCOL_VERSIONS_PROXY --superchain-config-proxy $SUPERCHAIN_CONFIG_PROXY --superchain-proxy-admin $PROXY_ADMIN --upgrade-controller $ADMIN_OWNER_ADDRESS --challenger $CHALLENGER_ADDRESS --challenge-period-seconds $CHALLENGE_PERIOD_SECONDS --withdrawal-delay-seconds $WITHDRAWAL_DELAY_SECONDS --proof-maturity-delay-seconds $PROOF_MATURITY_DELAY_SECONDS --dispute-game-finality-delay-seconds $DISPUTE_GAME_FINALITY_DELAY_SECONDS --dev-feature-bitmap 0x0000000000000000000000000000000000000000000000000000000000001000"
# Build the base command
BASH_CMD="set -e && export CURL_CA_BUNDLE= && export GIT_SSL_NO_VERIFY=true && /app/op-deployer/bin/op-deployer bootstrap implementations --artifacts-locator file:///app/packages/contracts-bedrock/forge-artifacts --l1-rpc-url $L1_RPC_URL_IN_DOCKER --outfile /deployments/implementations.json --mips-version \"7\" --private-key $DEPLOYER_PRIVATE_KEY --protocol-versions-proxy $PROTOCOL_VERSIONS_PROXY --superchain-config-proxy $SUPERCHAIN_CONFIG_PROXY --superchain-proxy-admin $PROXY_ADMIN --upgrade-controller $ADMIN_OWNER_ADDRESS --challenger $CHALLENGER_ADDRESS --challenge-period-seconds $CHALLENGE_PERIOD_SECONDS --withdrawal-delay-seconds $WITHDRAWAL_DELAY_SECONDS --proof-maturity-delay-seconds $PROOF_MATURITY_DELAY_SECONDS --dispute-game-finality-delay-seconds $DISPUTE_GAME_FINALITY_DELAY_SECONDS"

# Add dev-feature-bitmap only when CGT_ENABLED=true
if [ "$CGT_ENABLED" = "true" ]; then
BASH_CMD="$BASH_CMD --dev-feature-bitmap 0x0000000000000000000000000000000000000000000000000000000000001000"
fi

docker run "${DOCKER_ARGS[@]}" bash -c "$BASH_CMD"

Expand Down Expand Up @@ -240,6 +249,8 @@ deploy_custom_gas_token() {

}

echo "CGT_ENABLED: ${CGT_ENABLED}"

cp ./config-op/intent.${ENV}.toml.bak ./config-op/intent.toml
cp ./config-op/state.json.bak ./config-op/state.json

Expand All @@ -252,4 +263,6 @@ deploy_op_stack_bootstrap_superchain
deploy_op_stack_bootstrap_implementations
deploy_op_stack_contracts

deploy_custom_gas_token
if [ "$CGT_ENABLED" = "true" ]; then
deploy_custom_gas_token
fi
1 change: 0 additions & 1 deletion test/4-migrate-op.sh
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,6 @@ prepare() {

jq '.config.legacyXLayerBlock = '"$FORK_BLOCK" ./config-op/genesis.json > temp_genesis.json && mv temp_genesis.json ./config-op/genesis.json
sed_inplace 's/"parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000"/"parentHash": "'"$PARENT_HASH"'"/' ./config-op/genesis.json
sed_inplace '/"70997970c51812dc3a010c7d01b50e0d17dc79c8": {/,/}/ s/"balance": "[^"]*"/"balance": "0x446c3b15f9926687d2c40534fdb564000000000000"/' config-op/genesis.json
jq '.genesis.l2.number = '"$FORK_BLOCK" ./config-op/rollup.json > temp_rollup.json && mv temp_rollup.json ./config-op/rollup.json

cp ./config-op/genesis.json ./config-op/genesis-op-after-number.json
Expand Down
6 changes: 5 additions & 1 deletion test/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -142,6 +142,9 @@ clean: stop
rm -rf config-op/rollup.json
rm -rf config-op/state.json
rm -rf config-op/superchain.json
rm -rf config-op/genesis-op-before-number.json
rm -rf config-op/genesis-op-after-number.json
rm -rf config-op/merged.genesis.gz.json
rm -rf config-op/196-*
rm -rf config-op/195-*
rm -rf config-op/1952-*
Expand All @@ -150,7 +153,8 @@ clean: stop
rm -rf l1-geth/consensus/validatordata/
rm -rf l1-geth/execution/genesis.json
rm -rf l1-geth/execution/geth/
rm -rf init.log
rm -rf merged.genesis.json
rm -rf migrate.log
rm -rf .env

.PHONY: run
Expand Down
2 changes: 1 addition & 1 deletion test/build_images.sh
Original file line number Diff line number Diff line change
Expand Up @@ -193,7 +193,7 @@ build_op_stack_contract() {
cp $PWD_DIR/contracts/Transactor.sol ../packages/contracts-bedrock/src/periphery/Transactor.sol

cd ..
docker build --platform $ARCH -t $OP_CONTRACTS_IMAGE_TAG -f Dockerfile-contracts .
docker build $( [ "$FORCE" = true ] && echo --no-cache ) --platform $ARCH -t $OP_CONTRACTS_IMAGE_TAG -f Dockerfile-contracts .

cd $PWD_DIR

Expand Down
26 changes: 0 additions & 26 deletions test/clean.sh

This file was deleted.

6 changes: 3 additions & 3 deletions test/config/aggkit.toml
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,9 @@ AggregatorPrivateKeyPassword = "testonly"
SenderProofToL1Addr = "0x70997970c51812dc3a010c7d01b50e0d17dc79c8"
polygonBridgeAddr = "0xb2fAc1CE54bb9BF77A7FE106fA69F81453b72851"

rollupCreationBlockNumber = "96"
rollupManagerCreationBlockNumber = "105"
genesisBlockNumber = "96"
rollupCreationBlockNumber = "93"
rollupManagerCreationBlockNumber = "102"
genesisBlockNumber = "93"

[Common]
NetworkID = 1
Expand Down
2 changes: 1 addition & 1 deletion test/config/dynamic-mynetwork-conf.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"root": "0x6565265b546acdc3b714218d5bdb667725002a6fa07b5045f5ed4ad7595ebd62",
"timestamp": 1760436338,
"timestamp": 1760520703,
"gasLimit": 0,
"difficulty": 0
}
8 changes: 4 additions & 4 deletions test/config/first-batch-config.json
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
{
"batchL2Data": "0xf901e480808401c9c38094b2fac1ce54bb9bf77a7fe106fa69f81453b7285180b901c4f811bff700000000000000000000000000000000000000000000000000000000000000010000000000000000000000005fbdb2315678afecb367f032d93f642f64180aa30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a40d5f56745a118d0906a34e69aec8c0db1cb8fa000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000084f4b42546f6b656e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034f4b42000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005ca1ab1e0000000000000000000000000000000000000000000000000000000005ca1ab1e1bff",
"globalExitRoot": "0xad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5",
"timestamp": 1760436338,
"timestamp": 1760520703,
"sequencer": "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266",
"l1BlockNumber": 105,
"l1BlockHash": "0xddf01344a39e4a7eefb02e1594abe59267a81847fe9ce2439b8c721f782a1dea",
"l1ParentHash": "0x671bfe2c50d0f6e9bfb56edd463505e07ef2511aec8c0f4bdecb180b112bdd1d"
"l1BlockNumber": 102,
"l1BlockHash": "0x4ac541460183187d42d4506f23d0b45446cdb768c1d617a5f4d437ceac979151",
"l1ParentHash": "0x23e6bc6faaa8c55cee0549f26121b77c63ac189dc1bfc1444027102cfbf7a024"
}
2 changes: 1 addition & 1 deletion test/config/test.erigon.seq.config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ zkevm.address-rollup: "0xE96dBF374555C6993618906629988d39184716B3"
zkevm.address-ger-manager: "0xB8cedD4B9eF683f0887C44a6E4312dC7A6e2fcdB"

zkevm.l1-rollup-id: 1
zkevm.l1-first-block: 96
zkevm.l1-first-block: 93
zkevm.l1-block-range: 10
zkevm.l1-query-delay: 6000
zkevm.rpc-ratelimit: 0
Expand Down
6 changes: 3 additions & 3 deletions test/config/test.genesis.config.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@
"polTokenAddress": "0x5FbDB2315678afecb367f032d93F642f64180aa3",
"polygonZkEVMGlobalExitRootAddress": "0xB8cedD4B9eF683f0887C44a6E4312dC7A6e2fcdB"
},
"genesisBlockNumber": 96,
"rollupCreationBlockNumber": 105,
"rollupManagerCreationBlockNumber": 96,
"genesisBlockNumber": 93,
"rollupCreationBlockNumber": 102,
"rollupManagerCreationBlockNumber": 93,
"root": "0xef7bb96e820d4d8440f9bae6b1d58427c06e324ac9d5f7a5156438dd42e837c5",
"genesis": [
{
Expand Down
6 changes: 3 additions & 3 deletions test/docker-compose-local.yml
Original file line number Diff line number Diff line change
Expand Up @@ -563,7 +563,7 @@ services:
- ./config-op/rollup.json:/rollup.json
ports:
- "8547:8547" # RPC port
- "50050:50050" # Consensus port
# - "50050:50050" # Consensus port
command:
- /app/op-conductor/bin/op-conductor
- --log.level=debug
Expand Down Expand Up @@ -766,7 +766,7 @@ services:
- ./config-op/rollup.json:/rollup.json
ports:
- "8548:8547" # RPC port
- "50051:50050" # Consensus port
# - "50051:50050" # Consensus port
command:
- /app/op-conductor/bin/op-conductor
- --log.level=debug
Expand Down Expand Up @@ -879,7 +879,7 @@ services:
- ./config-op/rollup.json:/rollup.json
ports:
- "8549:8547" # RPC port
- "50052:50050" # Consensus port
# - "50052:50050" # Consensus port
command:
- /app/op-conductor/bin/op-conductor
- --log.level=debug
Expand Down
8 changes: 0 additions & 8 deletions test/dockerfile/Dockerfile-contract-certs

This file was deleted.

68 changes: 0 additions & 68 deletions test/example.env

This file was deleted.

61 changes: 0 additions & 61 deletions test/init.sh

This file was deleted.

Loading