Skip to content

Commit 096c4e0

Browse files
committed
address comments
1 parent 4433e8e commit 096c4e0

File tree

9 files changed

+207
-96
lines changed

9 files changed

+207
-96
lines changed

.github/workflows/espresso-devnet-tests.yaml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,18 @@ jobs:
3838
- name: Compile contracts
3939
run: just compile-contracts
4040

41+
- name: Load environment variables
42+
run: |
43+
while IFS= read -r line; do
44+
# Skip comments and empty lines
45+
if [[ ! "$line" =~ ^#.* ]] && [[ -n "$line" ]]; then
46+
# Remove quotes from values
47+
line=$(echo "$line" | sed 's/"\(.*\)"/\1/')
48+
echo "$line" >> $GITHUB_ENV
49+
fi
50+
done < ./espresso/.env
51+
shell: bash
52+
4153
- name: Build Devnet without TEE
4254
run: |
4355
cd op-deployer

.github/workflows/espresso-integration.yaml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,18 @@ jobs:
3737
- name: Compile contracts
3838
run: just compile-contracts
3939

40+
- name: Load environment variables
41+
run: |
42+
while IFS= read -r line; do
43+
# Skip comments and empty lines
44+
if [[ ! "$line" =~ ^#.* ]] && [[ -n "$line" ]]; then
45+
# Remove quotes from values
46+
line=$(echo "$line" | sed 's/"\(.*\)"/\1/')
47+
echo "$line" >> $GITHUB_ENV
48+
fi
49+
done < ./espresso/.env
50+
shell: bash
51+
4052
- name: Generate test slice
4153
id: test_split
4254
uses: hashicorp-forge/go-test-split-action@v1

espresso/.env

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,20 @@ ESPRESSO_SEQUENCER_API_PORT=24000
2626
ESPRESSO_DEV_NODE_PORT=24002
2727
ESPRESSO_BUILDER_PORT=31003
2828

29+
30+
##### Espresso Attestation Verifier Service ######
31+
ESPRESSO_ATTESTATION_VERIFIER_PORT=8080
32+
ESPRESSO_ATTESTATION_VERIFIER_RPC_URL="https://rpc.ankr.com/eth_sepolia/ece75e2d2d01c537031b3b31a619b7830674b9cd1b9fe6bc957a3d393c035dbb"
33+
ESPRESSO_ATTESTATION_VERIFIER_SP1_PROVER="mock"
34+
ESPRESSO_ATTESTATION_VERIFIER_NITRO_VERIFIER_ADDRESS="0x2D7fbBAD6792698Ba92e67b7e180f8010B9Ec788"
35+
ESPRESSO_ATTESTATION_VERIFIER_SKIP_TIME_VALIDITY_CHECK=true
36+
ESPRESSO_ATTESTATION_VERIFIER_HOST="0.0.0.0"
37+
ESPRESSO_ATTESTATION_VERIFIER_NETWORK_PRIVATE_KEY="0x71f8e55f7555c946eadd5a2b5897465a9813b3ee493d6ef4ba6f1505a6e97af3"
38+
ESPRESSO_ATTESTATION_VERIFIER_NETWORK_RPC_URL="https://rpc.mainnet.succinct.xyz"
39+
ESPRESSO_ATTESTATION_VERIFIER_NETWORK_USE_DOCKER=1
40+
ESPRESSO_ATTESTATION_VERIFIER_RUST_LOG="info"
41+
ESPRESSO_ATTESTATION_VERIFIER_DOCKER_IMAGE="ghcr.io/espressosystems/attestation-verifier-zk:sha-0e987c3"
42+
2943
L1_ENGINE_PORT=8551
3044
L1_HTTP_PORT=8545
3145
L1_BEACON_PORT=5052

espresso/docker-compose.yml

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -376,7 +376,7 @@ services:
376376
- --espresso.enabled=true
377377
- --espresso.fetch-api=true
378378
- --espresso.poll-interval=1s
379-
- --espresso.espresso-attestation-service=http://attestation-service-zk:8080
379+
- --espresso.espresso-attestation-service=http://attestation-service-zk:${ESPRESSO_ATTESTATION_VERIFIER_PORT}
380380
- --espresso.light-client-addr=0x703848f4c85f18e3acd8196c8ec91eb0b7bd0797
381381
- --espresso.testing-batcher-private-key=${OP_TESTING_BATCHER_PRIVATE_KEY:-$OPERATOR_PRIVATE_KEY}
382382
- --private-key=${OP_BATCHER_PRIVATE_KEY:-$OPERATOR_PRIVATE_KEY}
@@ -449,7 +449,7 @@ services:
449449
export L2_RPC_URL="http://127.0.0.1:${OP_HTTP_PORT}"
450450
export ROLLUP_RPC_URL="http://127.0.0.1:${ROLLUP_PORT}"
451451
export ESPRESSO_URL1="http://127.0.0.1:${ESPRESSO_SEQUENCER_API_PORT}"
452-
export ATTESTATION_SERVICE_URL="http://127.0.0.1:8080"
452+
export ESPRESSO_ATTESTATION_SERVICE_URL="http://127.0.0.1:${ESPRESSO_ATTESTATION_VERIFIER_PORT}"
453453
/source/espresso/docker/op-batcher-tee/run-enclave.sh
454454
455455
# Legacy op-proposer (for non-succinct mode)
@@ -637,29 +637,31 @@ services:
637637
image: ghcr.io/espressosystems/attestation-verifier-zk:sha-0e987c3
638638
platform: linux/amd64
639639
ports:
640-
- "8080:8080"
640+
- "${ESPRESSO_ATTESTATION_VERIFIER_PORT}:${ESPRESSO_ATTESTATION_VERIFIER_PORT}"
641641
healthcheck:
642642
test:
643643
[
644644
"CMD-SHELL",
645-
"timeout 2 bash -c 'cat < /dev/null > /dev/tcp/localhost/8080' || exit 1",
645+
"timeout 2 bash -c 'cat < /dev/null > /dev/tcp/localhost/${ESPRESSO_ATTESTATION_VERIFIER_PORT}' || exit 1",
646646
]
647647
interval: 5s
648648
timeout: 3s
649649
retries: 30
650650
start_period: 150s
651+
env_file:
652+
- ./.env
651653
environment:
652654
# This is a demo private key for tests, it doesnt contain any funds
653-
NETWORK_PRIVATE_KEY: "0x71f8e55f7555c946eadd5a2b5897465a9813b3ee493d6ef4ba6f1505a6e97af3"
654-
NETWORK_RPC_URL: "https://rpc.mainnet.succinct.xyz"
655-
SP1_PROVER: "mock"
656-
RPC_URL: "https://rpc.ankr.com/eth_sepolia/ece75e2d2d01c537031b3b31a619b7830674b9cd1b9fe6bc957a3d393c035dbb"
657-
NITRO_VERIFIER_ADDRESS: "0x2D7fbBAD6792698Ba92e67b7e180f8010B9Ec788"
658-
USE_DOCKER: "1"
659-
SKIP_TIME_VALIDITY_CHECK: "true"
660-
RUST_LOG: "info"
661-
HOST: "0.0.0.0"
662-
PORT: "8080"
655+
NETWORK_PRIVATE_KEY: "${ESPRESSO_ATTESTATION_VERIFIER_NETWORK_PRIVATE_KEY}"
656+
NETWORK_RPC_URL: "${ESPRESSO_ATTESTATION_VERIFIER_NETWORK_RPC_URL}"
657+
SP1_PROVER: "${ESPRESSO_ATTESTATION_VERIFIER_SP1_PROVER}"
658+
RPC_URL: "${ESPRESSO_ATTESTATION_VERIFIER_RPC_URL}"
659+
NITRO_VERIFIER_ADDRESS: "${ESPRESSO_ATTESTATION_VERIFIER_NITRO_VERIFIER_ADDRESS}"
660+
USE_DOCKER: "${ESPRESSO_ATTESTATION_VERIFIER_NETWORK_USE_DOCKER}"
661+
SKIP_TIME_VALIDITY_CHECK: "${ESPRESSO_ATTESTATION_VERIFIER_SKIP_TIME_VALIDITY_CHECK}"
662+
RUST_LOG: "${ESPRESSO_ATTESTATION_VERIFIER_RUST_LOG}"
663+
HOST: "${ESPRESSO_ATTESTATION_VERIFIER_HOST}"
664+
PORT: "${ESPRESSO_ATTESTATION_VERIFIER_PORT}"
663665

664666
espresso-dev-node:
665667
image: ${ESPRESSO_DEV_NODE_IMAGE}

espresso/docker/op-batcher-tee/run-enclave.sh

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ set -e
1010
: ${ROLLUP_RPC_URL:?Error: ROLLUP_RPC_URL is required}
1111
: ${ESPRESSO_URL1:?Error: ESPRESSO_URL1 is required}
1212
: ${OPERATOR_PRIVATE_KEY:?Error: OPERATOR_PRIVATE_KEY is required}
13-
: ${ATTESTATION_SERVICE_URL:?Error: ATTESTATION_SERVICE_URL is required}
13+
: ${ESPRESSO_ATTESTATION_SERVICE_URL:?Error: ESPRESSO_ATTESTATION_SERVICE_URL is required}
1414

1515
# Optional configuration with defaults
1616
TAG="${TAG:-op-batcher-enclavetool}"
@@ -29,7 +29,7 @@ echo "L1 RPC URL: $L1_RPC_URL"
2929
echo "L2 RPC URL: $L2_RPC_URL"
3030
echo "Rollup RPC URL: $ROLLUP_RPC_URL"
3131
echo "Espresso URLs: $ESPRESSO_URL1, $ESPRESSO_URL2"
32-
echo "Attestation service url: $ATTESTATION_SERVICE_URL"
32+
echo "Attestation service url: $ESPRESSO_ATTESTATION_SERVICE_URL"
3333
echo "Debug Mode: $ENCLAVE_DEBUG"
3434
echo "Monitor Interval: $MONITOR_INTERVAL seconds"
3535
echo "Memory: ${MEMORY_MB}MB"
@@ -50,7 +50,7 @@ BATCHER_ARGS="$BATCHER_ARGS,--max-channel-duration=1"
5050
BATCHER_ARGS="$BATCHER_ARGS,--target-num-frames=1"
5151
BATCHER_ARGS="$BATCHER_ARGS,--espresso.fetch-api=true"
5252
BATCHER_ARGS="$BATCHER_ARGS,--espresso.light-client-addr=0x703848f4c85f18e3acd8196c8ec91eb0b7bd0797"
53-
BATCHER_ARGS="$BATCHER_ARGS,--espresso.espresso-attestation-service=$ATTESTATION_SERVICE_URL"
53+
BATCHER_ARGS="$BATCHER_ARGS,--espresso.espresso-attestation-service=$ESPRESSO_ATTESTATION_SERVICE_URL"
5454

5555
# Add debug arguments if enabled
5656
if [ "$ENCLAVE_DEBUG" = "true" ]; then

espresso/environment/5_batch_authentication_test.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,12 @@ func TestE2eDevnetWithUnattestedBatcherKey(t *testing.T) {
6363

6464
launcher := new(env.EspressoDevNodeLauncherDocker)
6565

66+
// This is a random private key belonging to address 0xe16d5c4080C0faD6D2Ef4eb07C657674a217271C that will result in Mock Nitro verifier to return `false`
67+
// because the given key is not registered as an attested batcher.
68+
// Check the following code in Mock Espresso Nitro verifier:
69+
// if (signer == address(0xe16d5c4080C0faD6D2Ef4eb07C657674a217271C)) {
70+
// return false;
71+
// }
6672
privateKey, err := crypto.HexToECDSA("841c29acb9520a7ea8a48e7686cd825b93e8a3ecd966b62cb396ff8a2cd7e80e")
6773
if err != nil {
6874
t.Fatalf("failed to parse private key: %v", err)

0 commit comments

Comments
 (0)