From 32c5f7faa8cf70671b7a148c551c6f7592fb9911 Mon Sep 17 00:00:00 2001 From: Goran Vladika Date: Wed, 20 Mar 2024 11:25:57 +0100 Subject: [PATCH 01/21] Add rollupcreator container --- docker-compose.yaml | 12 ++++++++++++ rollupcreator/Dockerfile | 8 ++++++++ test-node.bash | 2 +- 3 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 rollupcreator/Dockerfile diff --git a/docker-compose.yaml b/docker-compose.yaml index b84101e..6c6d271 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -161,6 +161,7 @@ services: - "l1keystore:/home/user/l1keystore" - "config:/config" - "tokenbridge-data:/tokenbridge-data" + - "rollupcreator-data:/rollupcreator-data" command: --conf.file /config/sequencer_config.json --node.feed.output.enable --node.feed.output.port 9642 --http.api net,web3,eth,txpool,debug --node.seq-coordinator.my-url ws://sequencer:8548 --graphql.enable --graphql.vhosts * --graphql.corsdomain * depends_on: - geth @@ -336,6 +337,16 @@ services: - "tokenbridge-data:/workspace" - /var/run/docker.sock:/var/run/docker.sock + rollupcreator: + depends_on: + - geth + - sequencer + pid: host + build: rollupcreator/ + volumes: + - "rollupcreator-data:/workspace" + - /var/run/docker.sock:/var/run/docker.sock + volumes: l1data: consensus: @@ -352,3 +363,4 @@ volumes: config: postgres-data: tokenbridge-data: + rollupcreator-data: diff --git a/rollupcreator/Dockerfile b/rollupcreator/Dockerfile new file mode 100644 index 0000000..07f5946 --- /dev/null +++ b/rollupcreator/Dockerfile @@ -0,0 +1,8 @@ +FROM node:16-bullseye-slim +RUN apt-get update && \ + apt-get install -y git docker.io python3 build-essential +WORKDIR /workspace +RUN git clone https://github.com/OffchainLabs/nitro-contracts.git ./ +RUN yarn install +RUN yarn build +ENTRYPOINT ["yarn"] diff --git a/test-node.bash b/test-node.bash index a48c61f..599ca28 100755 --- a/test-node.bash +++ b/test-node.bash @@ -198,7 +198,7 @@ if $dev_build_blockscout; then fi fi -NODES="sequencer" +NODES="sequencer rollupcreator" INITIAL_SEQ_NODES="sequencer" if ! $simple; then From d269f8c03ec57fc2fef23531a9473967d9005501 Mon Sep 17 00:00:00 2001 From: Goran Vladika Date: Thu, 21 Mar 2024 13:57:30 +0100 Subject: [PATCH 02/21] Update Dockerfile --- rollupcreator/Dockerfile | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/rollupcreator/Dockerfile b/rollupcreator/Dockerfile index 07f5946..8a58ec3 100644 --- a/rollupcreator/Dockerfile +++ b/rollupcreator/Dockerfile @@ -1,8 +1,12 @@ FROM node:16-bullseye-slim RUN apt-get update && \ - apt-get install -y git docker.io python3 build-essential + apt-get install -y git docker.io python3 build-essential curl WORKDIR /workspace -RUN git clone https://github.com/OffchainLabs/nitro-contracts.git ./ +RUN git clone -b testnode-deploy https://github.com/OffchainLabs/nitro-contracts.git ./ +RUN curl -L https://foundry.paradigm.xyz | bash +ENV PATH="${PATH}:/root/.foundry/bin" +RUN foundryup +RUN touch scripts/config.ts RUN yarn install -RUN yarn build +RUN yarn build:all ENTRYPOINT ["yarn"] From bf17161fee94ca48af8fe23e493985c74edb3148 Mon Sep 17 00:00:00 2001 From: Goran Vladika Date: Thu, 21 Mar 2024 13:57:59 +0100 Subject: [PATCH 03/21] Draft rollup creation call --- test-node.bash | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/test-node.bash b/test-node.bash index 599ca28..05640a0 100755 --- a/test-node.bash +++ b/test-node.bash @@ -340,8 +340,12 @@ if $force_init; then sequenceraddress=`docker compose run scripts print-address --account sequencer | tail -n 1 | tr -d '\r\n'` l2ownerAddress=`docker compose run scripts print-address --account l2owner | tail -n 1 | tr -d '\r\n'` + l2ownerKey=`docker compose run scripts print-private-key --account l2owner | tail -n 1 | tr -d '\r\n'` - docker compose run --entrypoint /usr/local/bin/deploy sequencer --l1conn ws://geth:8546 --l1keystore /home/user/l1keystore --sequencerAddress $sequenceraddress --ownerAddress $l2ownerAddress --l1DeployAccount $l2ownerAddress --l1deployment /config/deployment.json --authorizevalidators 10 --wasmrootpath /home/user/target/machines --l1chainid=$l1chainid --l2chainconfig /config/l2_chain_config.json --l2chainname arb-dev-test --l2chaininfo /config/deployed_chain_info.json + sleep 20 + docker compose run -e DEPLOYER_PRIVKEY=$l2ownerKey rollupcreator deploy-factory --network testnode_l1 + #docker compose run -e OWNER_ADDRESS=$l2ownerAddress -e MAX_DATA_SIZE=$maxDataSize -e WASM_MODULE_ROOT=0xf4389b835497a910d7ba3ebfb77aa93da985634f3c052de1290360635be40c4a -e SEQUENCER_ADDRESS=$sequenceraddress -e AUTHORIZE_VALIDATORS=10 -e CHILD_CHAIN_CONFIG_PATH="/config/deployment.json" -e L1_CHAIN_ID=$l1chainid -e DEPLOYER_PRIVKEY=$l2ownerKey -e ROLLUP_CREATOR_ADDRESS=0x8569CADe473FD633310d7899c0F5025e1F21f664 rollupcreator deploy-eth-rollup --network testnode_l1 + #docker compose run --entrypoint /usr/local/bin/deploy sequencer --l1conn ws://geth:8546 --l1keystore /home/user/l1keystore --sequencerAddress $sequenceraddress --ownerAddress $l2ownerAddress --l1DeployAccount $l2ownerAddress --l1deployment /config/deployment.json --authorizevalidators 10 --wasmrootpath /home/user/target/machines --l1chainid=$l1chainid --l2chainconfig /config/l2_chain_config.json --l2chainname arb-dev-test --l2chaininfo /config/deployed_chain_info.json docker compose run --entrypoint sh sequencer -c "jq [.[]] /config/deployed_chain_info.json > /config/l2_chain_info.json" if $simple; then @@ -365,7 +369,6 @@ if $force_init; then echo == Deploying L1-L2 token bridge sleep 10 # no idea why this sleep is needed but without it the deploy fails randomly rollupAddress=`docker compose run --entrypoint sh poster -c "jq -r '.[0].rollup.rollup' /config/deployed_chain_info.json | tail -n 1 | tr -d '\r\n'"` - l2ownerKey=`docker compose run scripts print-private-key --account l2owner | tail -n 1 | tr -d '\r\n'` docker compose run -e ROLLUP_OWNER_KEY=$l2ownerKey -e ROLLUP_ADDRESS=$rollupAddress -e PARENT_KEY=$devprivkey -e PARENT_RPC=http://geth:8545 -e CHILD_KEY=$devprivkey -e CHILD_RPC=http://sequencer:8547 tokenbridge deploy:local:token-bridge docker compose run --entrypoint sh tokenbridge -c "cat network.json && cp network.json l1l2_network.json && cp network.json localNetwork.json" echo From ea799293b93a8d5885886df83a4d85367c18ff21 Mon Sep 17 00:00:00 2001 From: Goran Vladika Date: Tue, 26 Mar 2024 13:12:45 +0100 Subject: [PATCH 04/21] Update create rollup call --- test-node.bash | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/test-node.bash b/test-node.bash index 05640a0..27826ff 100755 --- a/test-node.bash +++ b/test-node.bash @@ -342,8 +342,13 @@ if $force_init; then l2ownerAddress=`docker compose run scripts print-address --account l2owner | tail -n 1 | tr -d '\r\n'` l2ownerKey=`docker compose run scripts print-private-key --account l2owner | tail -n 1 | tr -d '\r\n'` - sleep 20 - docker compose run -e DEPLOYER_PRIVKEY=$l2ownerKey rollupcreator deploy-factory --network testnode_l1 + echo == Deploying + docker compose run -e DEPLOYER_PRIVKEY=$l2ownerKey -e PARENT_CHAIN_RPC="http://geth:8545" -e MAX_DATA_SIZE=117964 -e OWNER_ADDRESS=$l2ownerAddress -e WASM_MODULE_ROOT=0xf4389b835497a910d7ba3ebfb77aa93da985634f3c052de1290360635be40c4a -e SEQUENCER_ADDRESS=$sequenceraddress -e AUTHORIZE_VALIDATORS=10 -e CHILD_CHAIN_CONFIG_PATH="/config/deployment.json" -e L1_CHAIN_ID=$l1chainid rollupcreator create-rollup-testnode + # docker compose run -e DEPLOYER_PRIVKEY=$l2ownerKey -e MAX_DATA_SIZE=117964 rollupcreator deploy-factory --network testnode_l1 + # docker compose run -e OWNER_ADDRESS=$l2ownerAddress -e MAX_DATA_SIZE=117964 -e WASM_MODULE_ROOT=0xf4389b835497a910d7ba3ebfb77aa93da985634f3c052de1290360635be40c4a -e SEQUENCER_ADDRESS=$sequenceraddress -e AUTHORIZE_VALIDATORS=10 -e CHILD_CHAIN_CONFIG_PATH="/config/deployment.json" -e L1_CHAIN_ID=$l1chainid -e DEPLOYER_PRIVKEY=$l2ownerKey -e ROLLUP_CREATOR_ADDRESS=0x82A3c114b40ecF1FC34745400A1B9B9115c33d31 rollupcreator deploy-eth-rollup --network testnode_l1 + echo == Deployment done + #docker compose run -e DEPLOYER_PRIVKEY=$l2ownerKey -e MAX_DATA_SIZE=$maxDataSize -e WASM_MODULE_ROOT=0xf4389b835497a910d7ba3ebfb77aa93da985634f3c052de1290360635be40c4a -e SEQUENCER_ADDRESS=$sequenceraddress -e AUTHORIZE_VALIDATORS=10 -e CHILD_CHAIN_CONFIG_PATH="/config/deployment.json" -e L1_CHAIN_ID=$l1chainid -e DEPLOYER_PRIVKEY=$l2ownerKey -e ROLLUP_CREATOR_ADDRESS=0x8569CADe473FD633310d7899c0F5025e1F21f664 rollupcreator deploy-eth-rollup --network testnode_l1 + #docker compose run --entrypoint /usr/local/bin/deploy sequencer --l1conn ws://getrollupcreator deploy-factory --network testnode_l1 #docker compose run -e OWNER_ADDRESS=$l2ownerAddress -e MAX_DATA_SIZE=$maxDataSize -e WASM_MODULE_ROOT=0xf4389b835497a910d7ba3ebfb77aa93da985634f3c052de1290360635be40c4a -e SEQUENCER_ADDRESS=$sequenceraddress -e AUTHORIZE_VALIDATORS=10 -e CHILD_CHAIN_CONFIG_PATH="/config/deployment.json" -e L1_CHAIN_ID=$l1chainid -e DEPLOYER_PRIVKEY=$l2ownerKey -e ROLLUP_CREATOR_ADDRESS=0x8569CADe473FD633310d7899c0F5025e1F21f664 rollupcreator deploy-eth-rollup --network testnode_l1 #docker compose run --entrypoint /usr/local/bin/deploy sequencer --l1conn ws://geth:8546 --l1keystore /home/user/l1keystore --sequencerAddress $sequenceraddress --ownerAddress $l2ownerAddress --l1DeployAccount $l2ownerAddress --l1deployment /config/deployment.json --authorizevalidators 10 --wasmrootpath /home/user/target/machines --l1chainid=$l1chainid --l2chainconfig /config/l2_chain_config.json --l2chainname arb-dev-test --l2chaininfo /config/deployed_chain_info.json docker compose run --entrypoint sh sequencer -c "jq [.[]] /config/deployed_chain_info.json > /config/l2_chain_info.json" From 8885c423f9789606e40b1b3ec7bd883c096b2e7a Mon Sep 17 00:00:00 2001 From: Goran Vladika Date: Wed, 27 Mar 2024 11:27:52 +0100 Subject: [PATCH 05/21] Update rollupcreator config --- docker-compose.yaml | 1 + rollupcreator/Dockerfile | 2 +- test-node.bash | 4 ++-- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/docker-compose.yaml b/docker-compose.yaml index 6c6d271..85080fa 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -344,6 +344,7 @@ services: pid: host build: rollupcreator/ volumes: + - "config:/config" - "rollupcreator-data:/workspace" - /var/run/docker.sock:/var/run/docker.sock diff --git a/rollupcreator/Dockerfile b/rollupcreator/Dockerfile index 8a58ec3..a1764f8 100644 --- a/rollupcreator/Dockerfile +++ b/rollupcreator/Dockerfile @@ -1,6 +1,6 @@ FROM node:16-bullseye-slim RUN apt-get update && \ - apt-get install -y git docker.io python3 build-essential curl + apt-get install -y git docker.io python3 build-essential curl jq WORKDIR /workspace RUN git clone -b testnode-deploy https://github.com/OffchainLabs/nitro-contracts.git ./ RUN curl -L https://foundry.paradigm.xyz | bash diff --git a/test-node.bash b/test-node.bash index 27826ff..f8fb63f 100755 --- a/test-node.bash +++ b/test-node.bash @@ -343,7 +343,7 @@ if $force_init; then l2ownerKey=`docker compose run scripts print-private-key --account l2owner | tail -n 1 | tr -d '\r\n'` echo == Deploying - docker compose run -e DEPLOYER_PRIVKEY=$l2ownerKey -e PARENT_CHAIN_RPC="http://geth:8545" -e MAX_DATA_SIZE=117964 -e OWNER_ADDRESS=$l2ownerAddress -e WASM_MODULE_ROOT=0xf4389b835497a910d7ba3ebfb77aa93da985634f3c052de1290360635be40c4a -e SEQUENCER_ADDRESS=$sequenceraddress -e AUTHORIZE_VALIDATORS=10 -e CHILD_CHAIN_CONFIG_PATH="/config/deployment.json" -e L1_CHAIN_ID=$l1chainid rollupcreator create-rollup-testnode + docker compose run -e PARENT_CHAIN_RPC="http://geth:8545" -e DEPLOYER_PRIVKEY=$l2ownerKey -e L1_CHAIN_ID=$l1chainid -e CHILD_CHAIN_NAME="arb-dev-test" -e MAX_DATA_SIZE=117964 -e OWNER_ADDRESS=$l2ownerAddress -e WASM_MODULE_ROOT=0xf4389b835497a910d7ba3ebfb77aa93da985634f3c052de1290360635be40c4a -e SEQUENCER_ADDRESS=$sequenceraddress -e AUTHORIZE_VALIDATORS=10 -e CHILD_CHAIN_CONFIG_PATH="/config/l2_chain_config.json" -e CHAIN_DEPLOYMENT_INFO="/config/deployment.json" -e CHILD_CHAIN_INFO="/config/deployed_chain_info.json" rollupcreator create-rollup-testnode # docker compose run -e DEPLOYER_PRIVKEY=$l2ownerKey -e MAX_DATA_SIZE=117964 rollupcreator deploy-factory --network testnode_l1 # docker compose run -e OWNER_ADDRESS=$l2ownerAddress -e MAX_DATA_SIZE=117964 -e WASM_MODULE_ROOT=0xf4389b835497a910d7ba3ebfb77aa93da985634f3c052de1290360635be40c4a -e SEQUENCER_ADDRESS=$sequenceraddress -e AUTHORIZE_VALIDATORS=10 -e CHILD_CHAIN_CONFIG_PATH="/config/deployment.json" -e L1_CHAIN_ID=$l1chainid -e DEPLOYER_PRIVKEY=$l2ownerKey -e ROLLUP_CREATOR_ADDRESS=0x82A3c114b40ecF1FC34745400A1B9B9115c33d31 rollupcreator deploy-eth-rollup --network testnode_l1 echo == Deployment done @@ -351,7 +351,7 @@ if $force_init; then #docker compose run --entrypoint /usr/local/bin/deploy sequencer --l1conn ws://getrollupcreator deploy-factory --network testnode_l1 #docker compose run -e OWNER_ADDRESS=$l2ownerAddress -e MAX_DATA_SIZE=$maxDataSize -e WASM_MODULE_ROOT=0xf4389b835497a910d7ba3ebfb77aa93da985634f3c052de1290360635be40c4a -e SEQUENCER_ADDRESS=$sequenceraddress -e AUTHORIZE_VALIDATORS=10 -e CHILD_CHAIN_CONFIG_PATH="/config/deployment.json" -e L1_CHAIN_ID=$l1chainid -e DEPLOYER_PRIVKEY=$l2ownerKey -e ROLLUP_CREATOR_ADDRESS=0x8569CADe473FD633310d7899c0F5025e1F21f664 rollupcreator deploy-eth-rollup --network testnode_l1 #docker compose run --entrypoint /usr/local/bin/deploy sequencer --l1conn ws://geth:8546 --l1keystore /home/user/l1keystore --sequencerAddress $sequenceraddress --ownerAddress $l2ownerAddress --l1DeployAccount $l2ownerAddress --l1deployment /config/deployment.json --authorizevalidators 10 --wasmrootpath /home/user/target/machines --l1chainid=$l1chainid --l2chainconfig /config/l2_chain_config.json --l2chainname arb-dev-test --l2chaininfo /config/deployed_chain_info.json - docker compose run --entrypoint sh sequencer -c "jq [.[]] /config/deployed_chain_info.json > /config/l2_chain_info.json" + docker compose run --entrypoint sh rollupcreator -c "jq [.[]] /config/deployed_chain_info.json > /config/l2_chain_info.json" if $simple; then echo == Writing configs From 999eb3885da7d9181ff15e0214afaa6fc3bc554a Mon Sep 17 00:00:00 2001 From: Goran Vladika Date: Wed, 27 Mar 2024 14:31:10 +0100 Subject: [PATCH 06/21] Fix command --- test-node.bash | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/test-node.bash b/test-node.bash index f8fb63f..2af6a4a 100755 --- a/test-node.bash +++ b/test-node.bash @@ -198,7 +198,7 @@ if $dev_build_blockscout; then fi fi -NODES="sequencer rollupcreator" +NODES="sequencer" INITIAL_SEQ_NODES="sequencer" if ! $simple; then @@ -255,7 +255,7 @@ if $force_build; then docker build blockscout -t blockscout -f blockscout/docker/Dockerfile fi fi - LOCAL_BUILD_NODES=scripts + LOCAL_BUILD_NODES="scripts rollupcreator" if $tokenbridge || $l3_token_bridge; then LOCAL_BUILD_NODES="$LOCAL_BUILD_NODES tokenbridge" fi @@ -342,15 +342,8 @@ if $force_init; then l2ownerAddress=`docker compose run scripts print-address --account l2owner | tail -n 1 | tr -d '\r\n'` l2ownerKey=`docker compose run scripts print-private-key --account l2owner | tail -n 1 | tr -d '\r\n'` - echo == Deploying - docker compose run -e PARENT_CHAIN_RPC="http://geth:8545" -e DEPLOYER_PRIVKEY=$l2ownerKey -e L1_CHAIN_ID=$l1chainid -e CHILD_CHAIN_NAME="arb-dev-test" -e MAX_DATA_SIZE=117964 -e OWNER_ADDRESS=$l2ownerAddress -e WASM_MODULE_ROOT=0xf4389b835497a910d7ba3ebfb77aa93da985634f3c052de1290360635be40c4a -e SEQUENCER_ADDRESS=$sequenceraddress -e AUTHORIZE_VALIDATORS=10 -e CHILD_CHAIN_CONFIG_PATH="/config/l2_chain_config.json" -e CHAIN_DEPLOYMENT_INFO="/config/deployment.json" -e CHILD_CHAIN_INFO="/config/deployed_chain_info.json" rollupcreator create-rollup-testnode - # docker compose run -e DEPLOYER_PRIVKEY=$l2ownerKey -e MAX_DATA_SIZE=117964 rollupcreator deploy-factory --network testnode_l1 - # docker compose run -e OWNER_ADDRESS=$l2ownerAddress -e MAX_DATA_SIZE=117964 -e WASM_MODULE_ROOT=0xf4389b835497a910d7ba3ebfb77aa93da985634f3c052de1290360635be40c4a -e SEQUENCER_ADDRESS=$sequenceraddress -e AUTHORIZE_VALIDATORS=10 -e CHILD_CHAIN_CONFIG_PATH="/config/deployment.json" -e L1_CHAIN_ID=$l1chainid -e DEPLOYER_PRIVKEY=$l2ownerKey -e ROLLUP_CREATOR_ADDRESS=0x82A3c114b40ecF1FC34745400A1B9B9115c33d31 rollupcreator deploy-eth-rollup --network testnode_l1 - echo == Deployment done - #docker compose run -e DEPLOYER_PRIVKEY=$l2ownerKey -e MAX_DATA_SIZE=$maxDataSize -e WASM_MODULE_ROOT=0xf4389b835497a910d7ba3ebfb77aa93da985634f3c052de1290360635be40c4a -e SEQUENCER_ADDRESS=$sequenceraddress -e AUTHORIZE_VALIDATORS=10 -e CHILD_CHAIN_CONFIG_PATH="/config/deployment.json" -e L1_CHAIN_ID=$l1chainid -e DEPLOYER_PRIVKEY=$l2ownerKey -e ROLLUP_CREATOR_ADDRESS=0x8569CADe473FD633310d7899c0F5025e1F21f664 rollupcreator deploy-eth-rollup --network testnode_l1 - #docker compose run --entrypoint /usr/local/bin/deploy sequencer --l1conn ws://getrollupcreator deploy-factory --network testnode_l1 - #docker compose run -e OWNER_ADDRESS=$l2ownerAddress -e MAX_DATA_SIZE=$maxDataSize -e WASM_MODULE_ROOT=0xf4389b835497a910d7ba3ebfb77aa93da985634f3c052de1290360635be40c4a -e SEQUENCER_ADDRESS=$sequenceraddress -e AUTHORIZE_VALIDATORS=10 -e CHILD_CHAIN_CONFIG_PATH="/config/deployment.json" -e L1_CHAIN_ID=$l1chainid -e DEPLOYER_PRIVKEY=$l2ownerKey -e ROLLUP_CREATOR_ADDRESS=0x8569CADe473FD633310d7899c0F5025e1F21f664 rollupcreator deploy-eth-rollup --network testnode_l1 - #docker compose run --entrypoint /usr/local/bin/deploy sequencer --l1conn ws://geth:8546 --l1keystore /home/user/l1keystore --sequencerAddress $sequenceraddress --ownerAddress $l2ownerAddress --l1DeployAccount $l2ownerAddress --l1deployment /config/deployment.json --authorizevalidators 10 --wasmrootpath /home/user/target/machines --l1chainid=$l1chainid --l2chainconfig /config/l2_chain_config.json --l2chainname arb-dev-test --l2chaininfo /config/deployed_chain_info.json + echo == Deploying L2 chain + docker compose run -e PARENT_CHAIN_RPC="http://geth:8545" -e DEPLOYER_PRIVKEY=$l2ownerKey -e PARENT_CHAIN_ID=$l1chainid -e CHILD_CHAIN_NAME="arb-dev-test" -e MAX_DATA_SIZE=117964 -e OWNER_ADDRESS=$l2ownerAddress -e WASM_MODULE_ROOT=0xf4389b835497a910d7ba3ebfb77aa93da985634f3c052de1290360635be40c4a -e SEQUENCER_ADDRESS=$sequenceraddress -e AUTHORIZE_VALIDATORS=10 -e CHILD_CHAIN_CONFIG_PATH="/config/l2_chain_config.json" -e CHAIN_DEPLOYMENT_INFO="/config/deployment.json" -e CHILD_CHAIN_INFO="/config/deployed_chain_info.json" rollupcreator create-rollup-testnode docker compose run --entrypoint sh rollupcreator -c "jq [.[]] /config/deployed_chain_info.json > /config/l2_chain_info.json" if $simple; then From c3d3d6401e95cb1346edf49de92fd10e7718adaf Mon Sep 17 00:00:00 2001 From: Goran Vladika Date: Wed, 27 Mar 2024 16:46:37 +0100 Subject: [PATCH 07/21] Adjust l3node creation command --- test-node.bash | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/test-node.bash b/test-node.bash index 2af6a4a..369d3da 100755 --- a/test-node.bash +++ b/test-node.bash @@ -402,8 +402,9 @@ if $force_init; then l3owneraddress=`docker compose run scripts print-address --account l3owner | tail -n 1 | tr -d '\r\n'` l3ownerkey=`docker compose run scripts print-private-key --account l3owner | tail -n 1 | tr -d '\r\n'` l3sequenceraddress=`docker compose run scripts print-address --account l3sequencer | tail -n 1 | tr -d '\r\n'` - docker compose run --entrypoint /usr/local/bin/deploy sequencer --l1conn ws://sequencer:8548 --l1keystore /home/user/l1keystore --sequencerAddress $l3sequenceraddress --ownerAddress $l3owneraddress --l1DeployAccount $l3owneraddress --l1deployment /config/l3deployment.json --authorizevalidators 10 --wasmrootpath /home/user/target/machines --l1chainid=412346 --l2chainconfig /config/l3_chain_config.json --l2chainname orbit-dev-test --l2chaininfo /config/deployed_l3_chain_info.json --maxDataSize 104857 $EXTRA_L3_DEPLOY_FLAG - docker compose run --entrypoint sh sequencer -c "jq [.[]] /config/deployed_l3_chain_info.json > /config/l3_chain_info.json" + + docker compose run -e DEPLOYER_PRIVKEY=$l3ownerkey -e PARENT_CHAIN_RPC="http://sequencer:8547" -e PARENT_CHAIN_ID=412346 -e CHILD_CHAIN_NAME="orbit-dev-test" -e MAX_DATA_SIZE=104857 -e OWNER_ADDRESS=$l3owneraddress -e WASM_MODULE_ROOT=0xf4389b835497a910d7ba3ebfb77aa93da985634f3c052de1290360635be40c4a -e SEQUENCER_ADDRESS=$l3sequenceraddress -e AUTHORIZE_VALIDATORS=10 -e CHILD_CHAIN_CONFIG_PATH="/config/l3_chain_config.json" -e CHAIN_DEPLOYMENT_INFO="/config/l3deployment.json" -e CHILD_CHAIN_INFO="/config/deployed_l3_chain_info.json" rollupcreator create-rollup-testnode + docker compose run --entrypoint sh rollupcreator -c "jq [.[]] /config/deployed_l3_chain_info.json > /config/l3_chain_info.json" echo == Funding l3 funnel and dev key docker compose up --wait l3node sequencer From 7ea4b74d895b29a3f85f3c8a34a126ce07103a6a Mon Sep 17 00:00:00 2001 From: Goran Vladika Date: Thu, 28 Mar 2024 12:31:25 +0100 Subject: [PATCH 08/21] Fund deployers with fee token --- scripts/ethcommands.ts | 32 ++++++++++++++++++++++++++++++++ scripts/index.ts | 2 ++ test-node.bash | 1 + 3 files changed, 35 insertions(+) diff --git a/scripts/ethcommands.ts b/scripts/ethcommands.ts index 00fdbb1..82eeadb 100644 --- a/scripts/ethcommands.ts +++ b/scripts/ethcommands.ts @@ -279,6 +279,38 @@ export const createERC20Command = { }, }; +export const transferERC20Command = { + command: "transfer-erc20", + describe: "transfers ERC20 token", + builder: { + token: { + string: true, + describe: "token address", + }, + amount: { + string: true, + describe: "amount to transfer", + }, + from: { + string: true, + describe: "account (see general help)", + }, + to: { + string: true, + describe: "address (see general help)", + }, + }, + handler: async (argv: any) => { + console.log("transfer-erc20"); + + argv.provider = new ethers.providers.WebSocketProvider(argv.l2url); + const account = namedAccount(argv.from).connect(argv.provider); + const tokenContract = new ethers.Contract(argv.token, ERC20.abi, account); + const decimals = await tokenContract.decimals(); + await(await tokenContract.transfer(namedAccount(argv.to).address, ethers.utils.parseUnits(argv.amount, decimals))).wait(); + argv.provider.destroy(); + }, +}; export const sendL1Command = { command: "send-l1", diff --git a/scripts/index.ts b/scripts/index.ts index 9f25c6e..2fd189f 100644 --- a/scripts/index.ts +++ b/scripts/index.ts @@ -14,6 +14,7 @@ import { bridgeNativeTokenToL3Command, bridgeToL3Command, createERC20Command, + transferERC20Command, sendL1Command, sendL2Command, sendL3Command, @@ -35,6 +36,7 @@ async function main() { .command(bridgeToL3Command) .command(bridgeNativeTokenToL3Command) .command(createERC20Command) + .command(transferERC20Command) .command(sendL1Command) .command(sendL2Command) .command(sendL3Command) diff --git a/test-node.bash b/test-node.bash index 369d3da..19232ba 100755 --- a/test-node.bash +++ b/test-node.bash @@ -395,6 +395,7 @@ if $force_init; then if $l3_custom_fee_token; then echo == Deploying custom fee token nativeTokenAddress=`docker compose run scripts create-erc20 --deployer user_fee_token_deployer --mintTo user_token_bridge_deployer --bridgeable $tokenbridge | tail -n 1 | awk '{ print $NF }'` + docker compose run scripts transfer-erc20 --token $nativeTokenAddress --amount 100 --from user_token_bridge_deployer --to l3owner EXTRA_L3_DEPLOY_FLAG="--nativeTokenAddress $nativeTokenAddress" fi From de506e168050693ddc1e60e8747bf7caa74c1344 Mon Sep 17 00:00:00 2001 From: Goran Vladika Date: Thu, 28 Mar 2024 12:38:51 +0100 Subject: [PATCH 09/21] Properly provide fee token arg --- test-node.bash | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test-node.bash b/test-node.bash index 19232ba..fcb567a 100755 --- a/test-node.bash +++ b/test-node.bash @@ -396,7 +396,7 @@ if $force_init; then echo == Deploying custom fee token nativeTokenAddress=`docker compose run scripts create-erc20 --deployer user_fee_token_deployer --mintTo user_token_bridge_deployer --bridgeable $tokenbridge | tail -n 1 | awk '{ print $NF }'` docker compose run scripts transfer-erc20 --token $nativeTokenAddress --amount 100 --from user_token_bridge_deployer --to l3owner - EXTRA_L3_DEPLOY_FLAG="--nativeTokenAddress $nativeTokenAddress" + EXTRA_L3_DEPLOY_FLAG="-e FEE_TOKEN_ADDRESS=$nativeTokenAddress" fi echo == Deploying L3 @@ -404,7 +404,7 @@ if $force_init; then l3ownerkey=`docker compose run scripts print-private-key --account l3owner | tail -n 1 | tr -d '\r\n'` l3sequenceraddress=`docker compose run scripts print-address --account l3sequencer | tail -n 1 | tr -d '\r\n'` - docker compose run -e DEPLOYER_PRIVKEY=$l3ownerkey -e PARENT_CHAIN_RPC="http://sequencer:8547" -e PARENT_CHAIN_ID=412346 -e CHILD_CHAIN_NAME="orbit-dev-test" -e MAX_DATA_SIZE=104857 -e OWNER_ADDRESS=$l3owneraddress -e WASM_MODULE_ROOT=0xf4389b835497a910d7ba3ebfb77aa93da985634f3c052de1290360635be40c4a -e SEQUENCER_ADDRESS=$l3sequenceraddress -e AUTHORIZE_VALIDATORS=10 -e CHILD_CHAIN_CONFIG_PATH="/config/l3_chain_config.json" -e CHAIN_DEPLOYMENT_INFO="/config/l3deployment.json" -e CHILD_CHAIN_INFO="/config/deployed_l3_chain_info.json" rollupcreator create-rollup-testnode + docker compose run -e DEPLOYER_PRIVKEY=$l3ownerkey -e PARENT_CHAIN_RPC="http://sequencer:8547" -e PARENT_CHAIN_ID=412346 -e CHILD_CHAIN_NAME="orbit-dev-test" -e MAX_DATA_SIZE=104857 -e OWNER_ADDRESS=$l3owneraddress -e WASM_MODULE_ROOT=0xf4389b835497a910d7ba3ebfb77aa93da985634f3c052de1290360635be40c4a -e SEQUENCER_ADDRESS=$l3sequenceraddress -e AUTHORIZE_VALIDATORS=10 -e CHILD_CHAIN_CONFIG_PATH="/config/l3_chain_config.json" -e CHAIN_DEPLOYMENT_INFO="/config/l3deployment.json" -e CHILD_CHAIN_INFO="/config/deployed_l3_chain_info.json" $EXTRA_L3_DEPLOY_FLAG rollupcreator create-rollup-testnode docker compose run --entrypoint sh rollupcreator -c "jq [.[]] /config/deployed_l3_chain_info.json > /config/l3_chain_info.json" echo == Funding l3 funnel and dev key From 3b3ce1a0e417cf7606aedbc7f4132650930a80cc Mon Sep 17 00:00:00 2001 From: Goran Vladika Date: Thu, 28 Mar 2024 13:14:08 +0100 Subject: [PATCH 10/21] Use latest wasmroot --- test-node.bash | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/test-node.bash b/test-node.bash index fcb567a..f105842 100755 --- a/test-node.bash +++ b/test-node.bash @@ -341,9 +341,10 @@ if $force_init; then sequenceraddress=`docker compose run scripts print-address --account sequencer | tail -n 1 | tr -d '\r\n'` l2ownerAddress=`docker compose run scripts print-address --account l2owner | tail -n 1 | tr -d '\r\n'` l2ownerKey=`docker compose run scripts print-private-key --account l2owner | tail -n 1 | tr -d '\r\n'` + wasmroot=`docker compose run --entrypoint sh sequencer -c "cat /home/user/target/machines/latest/module-root.txt"` echo == Deploying L2 chain - docker compose run -e PARENT_CHAIN_RPC="http://geth:8545" -e DEPLOYER_PRIVKEY=$l2ownerKey -e PARENT_CHAIN_ID=$l1chainid -e CHILD_CHAIN_NAME="arb-dev-test" -e MAX_DATA_SIZE=117964 -e OWNER_ADDRESS=$l2ownerAddress -e WASM_MODULE_ROOT=0xf4389b835497a910d7ba3ebfb77aa93da985634f3c052de1290360635be40c4a -e SEQUENCER_ADDRESS=$sequenceraddress -e AUTHORIZE_VALIDATORS=10 -e CHILD_CHAIN_CONFIG_PATH="/config/l2_chain_config.json" -e CHAIN_DEPLOYMENT_INFO="/config/deployment.json" -e CHILD_CHAIN_INFO="/config/deployed_chain_info.json" rollupcreator create-rollup-testnode + docker compose run -e PARENT_CHAIN_RPC="http://geth:8545" -e DEPLOYER_PRIVKEY=$l2ownerKey -e PARENT_CHAIN_ID=$l1chainid -e CHILD_CHAIN_NAME="arb-dev-test" -e MAX_DATA_SIZE=117964 -e OWNER_ADDRESS=$l2ownerAddress -e WASM_MODULE_ROOT=$wasmroot -e SEQUENCER_ADDRESS=$sequenceraddress -e AUTHORIZE_VALIDATORS=10 -e CHILD_CHAIN_CONFIG_PATH="/config/l2_chain_config.json" -e CHAIN_DEPLOYMENT_INFO="/config/deployment.json" -e CHILD_CHAIN_INFO="/config/deployed_chain_info.json" rollupcreator create-rollup-testnode docker compose run --entrypoint sh rollupcreator -c "jq [.[]] /config/deployed_chain_info.json > /config/l2_chain_info.json" if $simple; then @@ -404,7 +405,7 @@ if $force_init; then l3ownerkey=`docker compose run scripts print-private-key --account l3owner | tail -n 1 | tr -d '\r\n'` l3sequenceraddress=`docker compose run scripts print-address --account l3sequencer | tail -n 1 | tr -d '\r\n'` - docker compose run -e DEPLOYER_PRIVKEY=$l3ownerkey -e PARENT_CHAIN_RPC="http://sequencer:8547" -e PARENT_CHAIN_ID=412346 -e CHILD_CHAIN_NAME="orbit-dev-test" -e MAX_DATA_SIZE=104857 -e OWNER_ADDRESS=$l3owneraddress -e WASM_MODULE_ROOT=0xf4389b835497a910d7ba3ebfb77aa93da985634f3c052de1290360635be40c4a -e SEQUENCER_ADDRESS=$l3sequenceraddress -e AUTHORIZE_VALIDATORS=10 -e CHILD_CHAIN_CONFIG_PATH="/config/l3_chain_config.json" -e CHAIN_DEPLOYMENT_INFO="/config/l3deployment.json" -e CHILD_CHAIN_INFO="/config/deployed_l3_chain_info.json" $EXTRA_L3_DEPLOY_FLAG rollupcreator create-rollup-testnode + docker compose run -e DEPLOYER_PRIVKEY=$l3ownerkey -e PARENT_CHAIN_RPC="http://sequencer:8547" -e PARENT_CHAIN_ID=412346 -e CHILD_CHAIN_NAME="orbit-dev-test" -e MAX_DATA_SIZE=104857 -e OWNER_ADDRESS=$l3owneraddress -e WASM_MODULE_ROOT=$wasmroot -e SEQUENCER_ADDRESS=$l3sequenceraddress -e AUTHORIZE_VALIDATORS=10 -e CHILD_CHAIN_CONFIG_PATH="/config/l3_chain_config.json" -e CHAIN_DEPLOYMENT_INFO="/config/l3deployment.json" -e CHILD_CHAIN_INFO="/config/deployed_l3_chain_info.json" $EXTRA_L3_DEPLOY_FLAG rollupcreator create-rollup-testnode docker compose run --entrypoint sh rollupcreator -c "jq [.[]] /config/deployed_l3_chain_info.json > /config/l3_chain_info.json" echo == Funding l3 funnel and dev key From 6f70432afcd58df6343b4daf6c5399f54a09ffe2 Mon Sep 17 00:00:00 2001 From: Goran Vladika Date: Thu, 28 Mar 2024 14:06:08 +0100 Subject: [PATCH 11/21] Make nitro-contracts branch configurable --- docker-compose.yaml | 5 ++++- rollupcreator/Dockerfile | 3 ++- test-node.bash | 4 ++++ 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/docker-compose.yaml b/docker-compose.yaml index 85080fa..2eb00ac 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -342,7 +342,10 @@ services: - geth - sequencer pid: host - build: rollupcreator/ + build: + context: rollupcreator/ + args: + NITRO_CONTRACTS_BRANCH: ${NITRO_CONTRACTS_BRANCH:-main} volumes: - "config:/config" - "rollupcreator-data:/workspace" diff --git a/rollupcreator/Dockerfile b/rollupcreator/Dockerfile index a1764f8..51f012e 100644 --- a/rollupcreator/Dockerfile +++ b/rollupcreator/Dockerfile @@ -1,8 +1,9 @@ FROM node:16-bullseye-slim +ARG NITRO_CONTRACTS_BRANCH=main RUN apt-get update && \ apt-get install -y git docker.io python3 build-essential curl jq WORKDIR /workspace -RUN git clone -b testnode-deploy https://github.com/OffchainLabs/nitro-contracts.git ./ +RUN git clone -b ${NITRO_CONTRACTS_BRANCH} https://github.com/OffchainLabs/nitro-contracts.git ./ RUN curl -L https://foundry.paradigm.xyz | bash ENV PATH="${PATH}:/root/.foundry/bin" RUN foundryup diff --git a/test-node.bash b/test-node.bash index f105842..ad2737c 100755 --- a/test-node.bash +++ b/test-node.bash @@ -255,6 +255,10 @@ if $force_build; then docker build blockscout -t blockscout -f blockscout/docker/Dockerfile fi fi + + NITRO_CONTRACTS_BRANCH="testnode-deploy" + export NITRO_CONTRACTS_BRANCH + LOCAL_BUILD_NODES="scripts rollupcreator" if $tokenbridge || $l3_token_bridge; then LOCAL_BUILD_NODES="$LOCAL_BUILD_NODES tokenbridge" From 8246819e19251255f9698b0f9e8878d1b791e2c2 Mon Sep 17 00:00:00 2001 From: Goran Vladika Date: Thu, 28 Mar 2024 18:03:07 +0100 Subject: [PATCH 12/21] Temp change for test --- scripts/config.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/config.ts b/scripts/config.ts index 23ecff4..2efba17 100644 --- a/scripts/config.ts +++ b/scripts/config.ts @@ -182,7 +182,7 @@ function writeConfigs(argv: any) { "sequencer": false, "dangerous": { "no-sequencer-coordinator": false, - "disable-blob-reader": true, + // "disable-blob-reader": true, }, "delayed-sequencer": { "enable": false From 00862c2b157a617c238bd0669055ae79fe991030 Mon Sep 17 00:00:00 2001 From: Goran Vladika Date: Thu, 28 Mar 2024 18:20:20 +0100 Subject: [PATCH 13/21] Add option to customize token bridge branch --- docker-compose.yaml | 5 ++++- tokenbridge/Dockerfile | 3 ++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/docker-compose.yaml b/docker-compose.yaml index 2eb00ac..27b6167 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -329,7 +329,10 @@ services: - geth - sequencer pid: host - build: tokenbridge/ + build: + context: tokenbridge/ + args: + TOKEN_BRIDGE_BRANCH: ${TOKEN_BRIDGE_BRANCH:-main} environment: - ARB_URL=http://sequencer:8547 - ETH_URL=http://geth:8545 diff --git a/tokenbridge/Dockerfile b/tokenbridge/Dockerfile index 344e537..ed53eae 100644 --- a/tokenbridge/Dockerfile +++ b/tokenbridge/Dockerfile @@ -1,8 +1,9 @@ FROM node:16-bullseye-slim +ARG TOKEN_BRIDGE_BRANCH=main RUN apt-get update && \ apt-get install -y git docker.io python3 build-essential WORKDIR /workspace -RUN git clone https://github.com/OffchainLabs/token-bridge-contracts.git ./ +RUN git clone -b ${TOKEN_BRIDGE_BRANCH} https://github.com/OffchainLabs/token-bridge-contracts.git ./ RUN yarn install RUN yarn build ENTRYPOINT ["yarn"] From 4197b54121141715155bc0a2c39caf4be5ec3516 Mon Sep 17 00:00:00 2001 From: Goran Vladika Date: Thu, 28 Mar 2024 18:59:25 +0100 Subject: [PATCH 14/21] Unused --- docker-compose.yaml | 3 --- test-node.bash | 3 --- 2 files changed, 6 deletions(-) diff --git a/docker-compose.yaml b/docker-compose.yaml index 27b6167..a93662e 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -161,7 +161,6 @@ services: - "l1keystore:/home/user/l1keystore" - "config:/config" - "tokenbridge-data:/tokenbridge-data" - - "rollupcreator-data:/rollupcreator-data" command: --conf.file /config/sequencer_config.json --node.feed.output.enable --node.feed.output.port 9642 --http.api net,web3,eth,txpool,debug --node.seq-coordinator.my-url ws://sequencer:8548 --graphql.enable --graphql.vhosts * --graphql.corsdomain * depends_on: - geth @@ -351,7 +350,6 @@ services: NITRO_CONTRACTS_BRANCH: ${NITRO_CONTRACTS_BRANCH:-main} volumes: - "config:/config" - - "rollupcreator-data:/workspace" - /var/run/docker.sock:/var/run/docker.sock volumes: @@ -370,4 +368,3 @@ volumes: config: postgres-data: tokenbridge-data: - rollupcreator-data: diff --git a/test-node.bash b/test-node.bash index ad2737c..89b3b85 100755 --- a/test-node.bash +++ b/test-node.bash @@ -256,9 +256,6 @@ if $force_build; then fi fi - NITRO_CONTRACTS_BRANCH="testnode-deploy" - export NITRO_CONTRACTS_BRANCH - LOCAL_BUILD_NODES="scripts rollupcreator" if $tokenbridge || $l3_token_bridge; then LOCAL_BUILD_NODES="$LOCAL_BUILD_NODES tokenbridge" From c258219d9db16f52639d2ae19d5f6f66e690e5a1 Mon Sep 17 00:00:00 2001 From: Goran Vladika Date: Tue, 23 Apr 2024 11:15:42 +0200 Subject: [PATCH 15/21] Separate checkout step --- rollupcreator/Dockerfile | 3 ++- tokenbridge/Dockerfile | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/rollupcreator/Dockerfile b/rollupcreator/Dockerfile index 51f012e..17b065a 100644 --- a/rollupcreator/Dockerfile +++ b/rollupcreator/Dockerfile @@ -3,7 +3,8 @@ ARG NITRO_CONTRACTS_BRANCH=main RUN apt-get update && \ apt-get install -y git docker.io python3 build-essential curl jq WORKDIR /workspace -RUN git clone -b ${NITRO_CONTRACTS_BRANCH} https://github.com/OffchainLabs/nitro-contracts.git ./ +RUN git clone --no-checkout https://github.com/OffchainLabs/nitro-contracts.git ./ +RUN git checkout ${NITRO_CONTRACTS_BRANCH} RUN curl -L https://foundry.paradigm.xyz | bash ENV PATH="${PATH}:/root/.foundry/bin" RUN foundryup diff --git a/tokenbridge/Dockerfile b/tokenbridge/Dockerfile index ed53eae..3d8cbac 100644 --- a/tokenbridge/Dockerfile +++ b/tokenbridge/Dockerfile @@ -3,7 +3,8 @@ ARG TOKEN_BRIDGE_BRANCH=main RUN apt-get update && \ apt-get install -y git docker.io python3 build-essential WORKDIR /workspace -RUN git clone -b ${TOKEN_BRIDGE_BRANCH} https://github.com/OffchainLabs/token-bridge-contracts.git ./ +RUN git clone --no-checkout https://github.com/OffchainLabs/token-bridge-contracts.git ./ +RUN git checkout ${TOKEN_BRIDGE_BRANCH} RUN yarn install RUN yarn build ENTRYPOINT ["yarn"] From fb6eac390df36ff432051019197f32cc2b303865 Mon Sep 17 00:00:00 2001 From: Goran Vladika Date: Tue, 23 Apr 2024 11:34:14 +0200 Subject: [PATCH 16/21] Disable blobs --- scripts/config.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/config.ts b/scripts/config.ts index 2efba17..23ecff4 100644 --- a/scripts/config.ts +++ b/scripts/config.ts @@ -182,7 +182,7 @@ function writeConfigs(argv: any) { "sequencer": false, "dangerous": { "no-sequencer-coordinator": false, - // "disable-blob-reader": true, + "disable-blob-reader": true, }, "delayed-sequencer": { "enable": false From 2d516bcf547eb762d916bc724cb5c838cf6c8ffd Mon Sep 17 00:00:00 2001 From: Goran Vladika Date: Tue, 23 Apr 2024 12:50:48 +0200 Subject: [PATCH 17/21] Temporary use custom nitro-contracts branch 'e2e-to-ci' 'e2e-to-ci' implements support for testnode to use custom nitro-contracts branches Once 'e2e-to-ci' is in master, 'NITRO_CONTRACTS_BRANCH' env var can be removed from CI --- .github/workflows/testnode.bash | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/testnode.bash b/.github/workflows/testnode.bash index 29525cb..1ebfd6a 100755 --- a/.github/workflows/testnode.bash +++ b/.github/workflows/testnode.bash @@ -5,7 +5,8 @@ # Start the test node and get PID, to terminate it once send-l2 is done. cd ${GITHUB_WORKSPACE} -./test-node.bash --init-force --detach +# TODO once e2e-to-ci is merged into master, remove the NITRO_CONTRACTS_BRANCH env var +NITRO_CONTRACTS_BRANCH=e2e-to-ci ./test-node.bash --init-force --detach START=$(date +%s) SUCCEDED=0 From 8f9881cadad437a4c52e6fe839907e81ab15271a Mon Sep 17 00:00:00 2001 From: Goran Vladika Date: Tue, 23 Apr 2024 13:19:50 +0200 Subject: [PATCH 18/21] Use nitro-contract's develop temporary --- .github/workflows/testnode.bash | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/testnode.bash b/.github/workflows/testnode.bash index 1ebfd6a..9ce6934 100755 --- a/.github/workflows/testnode.bash +++ b/.github/workflows/testnode.bash @@ -5,8 +5,8 @@ # Start the test node and get PID, to terminate it once send-l2 is done. cd ${GITHUB_WORKSPACE} -# TODO once e2e-to-ci is merged into master, remove the NITRO_CONTRACTS_BRANCH env var -NITRO_CONTRACTS_BRANCH=e2e-to-ci ./test-node.bash --init-force --detach +# TODO once develop is merged into nitro-contract's master, remove the NITRO_CONTRACTS_BRANCH env var +NITRO_CONTRACTS_BRANCH=develop ./test-node.bash --init-force --detach START=$(date +%s) SUCCEDED=0 From 04ada288994aed98abbbdb9fe9c60b5493e77c96 Mon Sep 17 00:00:00 2001 From: Goran Vladika Date: Fri, 26 Apr 2024 14:33:23 +0200 Subject: [PATCH 19/21] Set default contracts versions in the test-node.bash --- docker-compose.yaml | 4 ++-- test-node.bash | 14 ++++++++++++++ 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/docker-compose.yaml b/docker-compose.yaml index a93662e..3d4ad9b 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -331,7 +331,7 @@ services: build: context: tokenbridge/ args: - TOKEN_BRIDGE_BRANCH: ${TOKEN_BRIDGE_BRANCH:-main} + TOKEN_BRIDGE_BRANCH: ${TOKEN_BRIDGE_BRANCH:-} environment: - ARB_URL=http://sequencer:8547 - ETH_URL=http://geth:8545 @@ -347,7 +347,7 @@ services: build: context: rollupcreator/ args: - NITRO_CONTRACTS_BRANCH: ${NITRO_CONTRACTS_BRANCH:-main} + NITRO_CONTRACTS_BRANCH: ${NITRO_CONTRACTS_BRANCH:-} volumes: - "config:/config" - /var/run/docker.sock:/var/run/docker.sock diff --git a/test-node.bash b/test-node.bash index 79fd300..8776d45 100755 --- a/test-node.bash +++ b/test-node.bash @@ -5,6 +5,20 @@ set -e NITRO_NODE_VERSION=offchainlabs/nitro-node:v2.3.3-6a1c1a7-dev BLOCKSCOUT_VERSION=offchainlabs/blockscout:v1.0.0-c8db5b1 +# This commit matches the v1.2.1 contracts, with additional fixes for rollup deployment script. +# Once v1.2.2 is released, we can switch to that version. +DEFAULT_NITRO_CONTRACTS_VERSION="2e8eeb9f28104465de0557851aa7607b037cafcf" +DEFAULT_TOKEN_BRIDGE_VERSION="v1.2.1" + +# Set default versions if not overriden by provided env vars +: ${NITRO_CONTRACTS_BRANCH:=$DEFAULT_NITRO_CONTRACTS_VERSION} +: ${TOKEN_BRIDGE_BRANCH:=$DEFAULT_TOKEN_BRIDGE_VERSION} +export NITRO_CONTRACTS_BRANCH +export TOKEN_BRIDGE_BRANCH + +echo "Using NITRO_CONTRACTS_BRANCH: $NITRO_CONTRACTS_BRANCH" +echo "Using TOKEN_BRIDGE_BRANCH: $TOKEN_BRIDGE_BRANCH" + mydir=`dirname $0` cd "$mydir" From 5efefbedde2febc602c89dedeb71cfb601f285a1 Mon Sep 17 00:00:00 2001 From: Goran Vladika Date: Fri, 26 Apr 2024 14:58:25 +0200 Subject: [PATCH 20/21] Use default version --- .github/workflows/testnode.bash | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/testnode.bash b/.github/workflows/testnode.bash index 9ce6934..b6d1f59 100755 --- a/.github/workflows/testnode.bash +++ b/.github/workflows/testnode.bash @@ -6,7 +6,7 @@ cd ${GITHUB_WORKSPACE} # TODO once develop is merged into nitro-contract's master, remove the NITRO_CONTRACTS_BRANCH env var -NITRO_CONTRACTS_BRANCH=develop ./test-node.bash --init-force --detach +./test-node.bash --init-force --detach START=$(date +%s) SUCCEDED=0 From b42aae0ae353039edc8dd531556394b5d94270a7 Mon Sep 17 00:00:00 2001 From: Goran Vladika Date: Wed, 8 May 2024 15:12:39 +0200 Subject: [PATCH 21/21] Bump default nitro-contracts version to include fix for a blocker Fix: https://github.com/OffchainLabs/nitro-contracts/commit/a00d2faac01e050339ff7b0ac5bc91df06e8dbff --- test-node.bash | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test-node.bash b/test-node.bash index 8776d45..0b5f3d8 100755 --- a/test-node.bash +++ b/test-node.bash @@ -7,7 +7,7 @@ BLOCKSCOUT_VERSION=offchainlabs/blockscout:v1.0.0-c8db5b1 # This commit matches the v1.2.1 contracts, with additional fixes for rollup deployment script. # Once v1.2.2 is released, we can switch to that version. -DEFAULT_NITRO_CONTRACTS_VERSION="2e8eeb9f28104465de0557851aa7607b037cafcf" +DEFAULT_NITRO_CONTRACTS_VERSION="a00d2faac01e050339ff7b0ac5bc91df06e8dbff" DEFAULT_TOKEN_BRIDGE_VERSION="v1.2.1" # Set default versions if not overriden by provided env vars