diff --git a/.github/workflows/espresso-devnet-tests.yaml b/.github/workflows/espresso-devnet-tests.yaml index 6705523a65276..f7db0fe23f82c 100644 --- a/.github/workflows/espresso-devnet-tests.yaml +++ b/.github/workflows/espresso-devnet-tests.yaml @@ -13,13 +13,13 @@ jobs: test: runs-on: ubuntu-24.04-8core env: - ESPRESSO_DEVNET_TESTS_LIVENESS_PERIOD: '1m' - ESPRESSO_DEVNET_TESTS_OUTAGE_PERIOD: '1m' + ESPRESSO_DEVNET_TESTS_LIVENESS_PERIOD: "1m" + ESPRESSO_DEVNET_TESTS_OUTAGE_PERIOD: "1m" steps: - name: Checkout repository uses: actions/checkout@v4 with: - submodules: 'recursive' + submodules: "recursive" - name: Install Nix uses: nixbuild/nix-quick-install-action@v30 diff --git a/espresso/.env b/espresso/.env index e118a8de685f1..27765b82f1430 100644 --- a/espresso/.env +++ b/espresso/.env @@ -30,9 +30,13 @@ CAFF_PORT=9547 OP_ENGINE_PORT=8552 OP_HTTP_PORT=8546 -OPERATOR_PRIVATE_KEY=0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80 +OPERATOR_PRIVATE_KEY=0x7c852118294e51e653712a81e05800f419141751be58f605c371e15141b007a6 # cast wallet address --private-key $OPERATOR_PRIVATE_KEY -OPERATOR_ADDRESS=0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266 +OPERATOR_ADDRESS=0x90F79bf6EB2c4f870365E785982E1f101E93b906 + +OP_BATCHER_PRIVATE_KEY=$OPERATOR_PRIVATE_KEY +# cast wallet address --private-key $OPERATOR_PRIVATE_KEY +OP_BATCHER_ADDRESS=0x90F79bf6EB2c4f870365E785982E1f101E93b906 # cast wallet address --mnemonic "test test ... junk" --hd-path "m/44'/60'/0'/0/1" PROPOSER_ADDRESS=0x70997970C51812dc3A010C7d01b50e0d17dc79C8 diff --git a/espresso/devnet-tests/key_rotation_test.go b/espresso/devnet-tests/key_rotation_test.go index e9d3084b751c0..63afb115377e4 100644 --- a/espresso/devnet-tests/key_rotation_test.go +++ b/espresso/devnet-tests/key_rotation_test.go @@ -68,10 +68,16 @@ func TestChangeBatchInboxOwner(t *testing.T) { config, err := d.RollupConfig(ctx) require.NoError(t, err) + // Get the deployer's account to sign our next transaction with + _, deployer, err := d.SystemConfig(ctx) + if err != nil { + t.Fatal(err) + } + // Change the BatchAuthenticator's owner batchAuthenticator, err := bindings.NewBatchAuthenticator(config.BatchAuthenticatorAddress, d.L1) require.NoError(t, err) - tx, err := batchAuthenticator.TransferOwnership(&bind.TransactOpts{}, d.secrets.Addresses().Bob) + tx, err := batchAuthenticator.TransferOwnership(deployer, d.secrets.Addresses().Bob) require.NoError(t, err) _, err = d.SendL1Tx(ctx, tx) require.NoError(t, err) diff --git a/espresso/docker-compose.yml b/espresso/docker-compose.yml index aae279323aeee..1b903455b950c 100644 --- a/espresso/docker-compose.yml +++ b/espresso/docker-compose.yml @@ -81,7 +81,7 @@ services: l1-genesis: condition: service_completed_successfully healthcheck: - test: [ "CMD", "curl", "-f", "http://localhost:${L1_HTTP_PORT}" ] + test: ["CMD", "curl", "-f", "http://localhost:${L1_HTTP_PORT}"] interval: 3s timeout: 2s retries: 40 @@ -174,7 +174,7 @@ services: dockerfile: espresso/docker/op-stack/Dockerfile target: op-node-target healthcheck: - test: [ "CMD", "curl", "-f", "http://localhost:${ROLLUP_PORT}" ] + test: ["CMD", "curl", "-f", "http://localhost:${ROLLUP_PORT}"] interval: 3s timeout: 2s retries: 40 @@ -215,7 +215,7 @@ services: dockerfile: espresso/docker/op-stack/Dockerfile target: op-node-target healthcheck: - test: [ "CMD", "curl", "-f", "http://localhost:${VERIFIER_PORT}" ] + test: ["CMD", "curl", "-f", "http://localhost:${VERIFIER_PORT}"] interval: 3s timeout: 2s retries: 40 @@ -252,7 +252,7 @@ services: dockerfile: espresso/docker/op-stack/Dockerfile target: op-node-target healthcheck: - test: [ "CMD", "curl", "-f", "http://localhost:${CAFF_PORT}" ] + test: ["CMD", "curl", "-f", "http://localhost:${CAFF_PORT}"] interval: 3s timeout: 2s retries: 40 @@ -297,7 +297,7 @@ services: restart: "no" op-batcher: - profiles: [ "default" ] + profiles: ["default"] build: context: ../ dockerfile: espresso/docker/op-stack/Dockerfile @@ -327,7 +327,7 @@ services: - op-batcher - --espresso-light-client-addr=0x703848f4c85f18e3acd8196c8ec91eb0b7bd0797 - --testing-espresso-batcher-private-key=${OP_TESTING_BATCHER_PRIVATE_KEY:-$OPERATOR_PRIVATE_KEY} - - --private-key=${OP_BATCHER_PRIVATE_KEY:-$OPERATOR_PRIVATE_KEY} + - --private-key=${OP_BATCHER_PRIVATE_KEY:-$OP_BATCHER_PRIVATE_KEY} - --throttle-threshold=0 - --max-channel-duration=2 - --target-num-frames=1 @@ -348,14 +348,18 @@ services: - proxy op-batcher-tee: - profiles: [ "tee" ] + profiles: ["tee"] build: context: ../ dockerfile: espresso/docker/op-stack/Dockerfile target: op-batcher-enclave-target image: op-batcher-tee:espresso healthcheck: - test: [ "CMD-SHELL", "test -f /tmp/enclave-tools.pid && kill -0 $(cat /tmp/enclave-tools.pid) 2>/dev/null || exit 1" ] + test: + [ + "CMD-SHELL", + "test -f /tmp/enclave-tools.pid && kill -0 $(cat /tmp/enclave-tools.pid) 2>/dev/null || exit 1", + ] interval: 30s timeout: 10s retries: 3 @@ -403,7 +407,7 @@ services: /source/espresso/docker/op-batcher-tee/run-enclave.sh op-proposer: - profiles: [ "default" ] + profiles: ["default"] build: context: ../ dockerfile: espresso/docker/op-stack/Dockerfile @@ -425,10 +429,10 @@ services: OP_PROPOSER_PROPOSAL_INTERVAL: 6s OP_PROPOSER_MNEMONIC: "test test test test test test test test test test test junk" OP_PROPOSER_HD_PATH: "m/44'/60'/0'/0/1" - OP_PROPOSER_GAME_TYPE: '1' + OP_PROPOSER_GAME_TYPE: "1" op-challenger: - profiles: [ "default" ] + profiles: ["default"] build: context: ../ dockerfile: espresso/docker/op-stack/Dockerfile diff --git a/espresso/scripts/prepare-allocs.sh b/espresso/scripts/prepare-allocs.sh index 053050b5934ef..a32a229960ff8 100755 --- a/espresso/scripts/prepare-allocs.sh +++ b/espresso/scripts/prepare-allocs.sh @@ -80,7 +80,7 @@ dasel put -f "${DEPLOYER_DIR}/intent.toml" -s .chains.[0].l1FeeVaultRecipient -v dasel put -f "${DEPLOYER_DIR}/intent.toml" -s .chains.[0].sequencerFeeVaultRecipient -v "${OPERATOR_ADDRESS}" dasel put -f "${DEPLOYER_DIR}/intent.toml" -s .chains.[0].roles.systemConfigOwner -v "${OPERATOR_ADDRESS}" dasel put -f "${DEPLOYER_DIR}/intent.toml" -s .chains.[0].roles.unsafeBlockSigner -v "${OPERATOR_ADDRESS}" -dasel put -f "${DEPLOYER_DIR}/intent.toml" -s .chains.[0].roles.batcher -v "${OPERATOR_ADDRESS}" +dasel put -f "${DEPLOYER_DIR}/intent.toml" -s .chains.[0].roles.batcher -v "${OP_BATCHER_ADDRESS}" dasel put -f "${DEPLOYER_DIR}/intent.toml" -s .chains.[0].roles.proposer -v "${PROPOSER_ADDRESS}" # Fill in a specified create2Salt for the deployer, in order to ensure that the