Skip to content

Commit acf71de

Browse files
committed
fix(test-suite): gateway keygen
1 parent e4e34e7 commit acf71de

8 files changed

Lines changed: 122 additions & 219 deletions

File tree

.github/workflows/test-suite-e2e-tests.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -197,6 +197,9 @@ jobs:
197197
echo "::group::Host Listener"
198198
./fhevm-cli logs host-listener
199199
echo "::endgroup::"
200+
echo "::group::Gateway Listener"
201+
./fhevm-cli logs gw-listener
202+
echo "::endgroup::"
200203
201204
- name: Cleanup
202205
working-directory: test-suite/fhevm

coprocessor/fhevm-engine/db-migration/Dockerfile

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,18 +20,18 @@ WORKDIR /app/coprocessor/fhevm-engine
2020
# Build utils binary
2121
# Currently, this utils is used only for keys converting.
2222
# Later on, it will be extended to replace initialize_db.sh completely
23-
RUN mkdir /fhevm-keys && \
24-
cargo fetch && \
25-
SQLX_OFFLINE=true cargo build --release -p tfhe-worker --bin utils
23+
# RUN mkdir /fhevm-keys && \
24+
# cargo fetch && \
25+
# SQLX_OFFLINE=true cargo build --release -p tfhe-worker --bin utils
2626

2727
# Stage 2: Runtime image
2828
FROM cgr.dev/zama.ai/postgres:17 AS prod
2929

30-
COPY --from=builder --chown=fhevm:fhevm /app/coprocessor/fhevm-engine/target/release/utils /usr/local/bin/utils
30+
# COPY --from=builder --chown=fhevm:fhevm /app/coprocessor/fhevm-engine/target/release/utils /usr/local/bin/utils
3131
COPY --from=builder --chown=fhevm:fhevm /usr/local/cargo/bin/sqlx /usr/local/bin/sqlx
3232
COPY --from=builder --chown=fhevm:fhevm /app/initialize_db.sh /initialize_db.sh
3333
COPY --from=builder --chown=fhevm:fhevm /app/migrations /migrations
34-
COPY --from=builder --chown=fhevm:fhevm /fhevm-keys /fhevm-keys
34+
# COPY --from=builder --chown=fhevm:fhevm /fhevm-keys /fhevm-keys
3535
COPY --from=builder /etc/group /etc/group
3636
COPY --from=builder /etc/passwd /etc/passwd
3737

coprocessor/fhevm-engine/db-migration/initialize_db.sh

Lines changed: 23 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -31,21 +31,22 @@ echo "-------------- Start inserting keys for tenant: $TENANT_API_KEY ----------
3131

3232

3333
CHAIN_ID=${CHAIN_ID:-"12345"}
34-
PKS_FILE=${PKS_FILE:-"$KEY_DIR/pks"}
35-
PUBLIC_PARAMS_FILE=${PUBLIC_PARAMS_FILE:-"$KEY_DIR/pp"}
36-
SNS_PK_FILE=${SNS_PK_FILE:-"$KEY_DIR/sns_pk"}
37-
KEY_ID=${KEY_ID:-"10f49fdf75a123370ce2e2b1c5cc0615fb6e78dd829d0d850470cdbc84f15c11"}
38-
KEY_ID_HEX="\\x${KEY_ID}"
39-
40-
# Extract small ServerKey from ServerKey with noise squashing keys
41-
SKS_FILE="/tmp/sks"
42-
/usr/local/bin/utils extract-sks-without-noise --src-path $SNS_PK_FILE --dst-path $SKS_FILE
43-
44-
for file in "$PKS_FILE" "$SKS_FILE" "$PUBLIC_PARAMS_FILE" "$SNS_PK_FILE"; do
45-
if [[ ! -f $file ]]; then
46-
echo "Error: Key file $file not found."; exit 1;
47-
fi
48-
done
34+
# PKS_FILE=${PKS_FILE:-"$KEY_DIR/pks"}
35+
# PUBLIC_PARAMS_FILE=${PUBLIC_PARAMS_FILE:-"$KEY_DIR/pp"}
36+
# SNS_PK_FILE=${SNS_PK_FILE:-"$KEY_DIR/sns_pk"}
37+
# KEY_ID=${KEY_ID:-"10f49fdf75a123370ce2e2b1c5cc0615fb6e78dd829d0d850470cdbc84f15c11"}
38+
# KEY_ID_HEX="\\x${KEY_ID}"
39+
40+
echo "Skip extract-sks-without-noise"
41+
# # Extract small ServerKey from ServerKey with noise squashing keys
42+
# SKS_FILE="/tmp/sks"
43+
# /usr/local/bin/utils extract-sks-without-noise --src-path $SNS_PK_FILE --dst-path $SKS_FILE
44+
45+
# for file in "$PKS_FILE" "$SKS_FILE" "$PUBLIC_PARAMS_FILE" "$SNS_PK_FILE"; do
46+
# if [[ ! -f $file ]]; then
47+
# echo "Error: Key file $file not found."; exit 1;
48+
# fi
49+
# done
4950

5051
if [[ -z "$DATABASE_URL" || -z "$TENANT_API_KEY" || -z "$ACL_CONTRACT_ADDRESS" || -z "$INPUT_VERIFIER_ADDRESS" ]]; then
5152
echo "Error: One or more required environment variables are missing."; exit 1;
@@ -58,10 +59,6 @@ if [ "$TENANT_EXISTS" = "1" ]; then
5859
exit 0
5960
fi
6061

61-
TMP_CSV="/tmp/tenant_data.csv"
62-
echo "tenant_api_key,chain_id,acl_contract_address,verifying_contract_address,pks_key,sks_key,public_params,sns_pk,key_id" > $TMP_CSV
63-
64-
6562
import_large_file() {
6663
local file="$1"
6764
local db_url="$2"
@@ -121,40 +118,18 @@ EOF
121118
echo "$oid"
122119
}
123120

124-
echo "Importing large object from $SNS_PK_FILE ($(du -h "$SNS_PK_FILE" | cut -f1))..."
125-
SNS_PK_OID=$(import_large_file "$SNS_PK_FILE" "$DATABASE_URL")
126-
127-
128-
echo "$TENANT_API_KEY,$CHAIN_ID,$ACL_CONTRACT_ADDRESS,$INPUT_VERIFIER_ADDRESS,\
129-
\"\\x$(< "$PKS_FILE" xxd -p | tr -d '\n')\",\
130-
\"\\x$(< "$SKS_FILE" xxd -p | tr -d '\n')\",\
131-
\"\\x$(< "$PUBLIC_PARAMS_FILE" xxd -p | tr -d '\n')\",\
132-
$SNS_PK_OID,\"$KEY_ID_HEX\"" >> $TMP_CSV
121+
echo "Fake OID"
122+
FAKE_KEY_FILE=$(mktemp)
123+
touch "$FAKE_KEY_FILE"
124+
SNS_PK_OID=$(import_large_file "$FAKE_KEY_FILE" "$DATABASE_URL")
133125

134126
echo "----------- Tenant data prepared for insertion: $TMP_CSV -----------"
135-
136-
137127

138128
echo "Inserting tenant data from CSV using \COPY..."
139-
psql "$DATABASE_URL" -c "\COPY tenants (tenant_api_key, chain_id, acl_contract_address, verifying_contract_address, pks_key, sks_key, public_params, sns_pk, key_id) FROM '$TMP_CSV' CSV HEADER;" || {
129+
psql "$DATABASE_URL" -c \
130+
"INSERT INTO tenants (tenant_api_key, chain_id, acl_contract_address, verifying_contract_address,pks_key,sks_key,public_params,sns_pk,key_id) \
131+
VALUES ('$TENANT_API_KEY',$CHAIN_ID,'$ACL_CONTRACT_ADDRESS','$INPUT_VERIFIER_ADDRESS','','','',$SNS_PK_OID,'');" || {
140132
echo "Error: Failed to insert tenant data."; exit 1;
141133
}
142134

143-
echo "Checking large object creation..."
144-
psql "$DATABASE_URL" -c "SELECT loid as oid,
145-
pg_size_pretty(SUM(octet_length(data))) as size
146-
FROM pg_largeobject
147-
GROUP BY loid;"
148-
149-
echo "Checking tenant entry references correct OID..."
150-
psql "$DATABASE_URL" -c "SELECT t.tenant_id,
151-
t.tenant_api_key,
152-
t.sns_pk,
153-
pg_size_pretty((SELECT SUM(octet_length(lo.data))
154-
FROM pg_largeobject lo
155-
WHERE lo.loid = t.sns_pk)) as sns_pk_size
156-
FROM tenants t
157-
WHERE t.tenant_api_key = '$TENANT_API_KEY';"
158-
159-
rm -f $TMP_CSV
160135
echo "Database initialization keys insertion complete successfully."

coprocessor/fhevm-engine/gw-listener/Dockerfile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@ COPY gateway-contracts ./gateway-contracts
99

1010
# Compiled gateway-contracts for gw-listener
1111
WORKDIR /app/gateway-contracts
12-
RUN npm install && DEPLOYER_PRIVATE_KEY="0x7136d8dc72f873124f4eded25f3525a20f6cee4296564c76b44f1d582c57640f" npx hardhat task:deployEmptyUUPSProxies && npx hardhat compile
12+
RUN npm install && \
13+
DOTENV_CONFIG_PATH=.env.example npx hardhat task:deployAllGatewayContracts
1314

1415
# Stage 1: Build GW Listener
1516
FROM ghcr.io/zama-ai/fhevm/gci/rust-glibc:1.90.0 AS builder

test-suite/fhevm/docker-compose/coprocessor-docker-compose.yml

Lines changed: 0 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,4 @@
11
services:
2-
####################### DATABASE SETUP #######################
3-
db:
4-
container_name: fhevm-coprocessor-db
5-
image: postgres:15.7
6-
restart: always
7-
env_file:
8-
- ../env/staging/.env.coprocessor.local
9-
ports:
10-
- '5432:5432'
11-
healthcheck:
12-
test: ["CMD-SHELL", "pg_isready -U postgres"]
13-
interval: 10s
14-
timeout: 5s
15-
retries: 3
16-
volumes:
17-
- db:/var/lib/postgresql/data
18-
192
db-migration:
203
container_name: fhevm-db-migration
214
image: ghcr.io/zama-ai/fhevm/coprocessor/db-migration:${DB_MIGRATION_VERSION}
@@ -34,11 +17,6 @@ services:
3417
- /initialize_db.sh
3518
volumes:
3619
- keys-cache:/fhevm-keys
37-
depends_on:
38-
db:
39-
condition: service_healthy
40-
key-downloader:
41-
condition: service_completed_successfully
4220

4321
####################### COPROCESSOR SERVICES #######################
4422
host-listener:
@@ -62,8 +40,6 @@ services:
6240
- --url=${RPC_URL}
6341
- --initial-block-time=1
6442
depends_on:
65-
db:
66-
condition: service_healthy
6743
db-migration:
6844
condition: service_completed_successfully
6945

@@ -95,8 +71,6 @@ services:
9571
- --error-sleep-initial-secs=1
9672
- --error-sleep-max-secs=10
9773
depends_on:
98-
db:
99-
condition: service_healthy
10074
db-migration:
10175
condition: service_completed_successfully
10276

@@ -123,8 +97,6 @@ services:
12397
- --coprocessor-fhe-threads=8
12498
- --tokio-threads=4
12599
depends_on:
126-
db:
127-
condition: service_healthy
128100
db-migration:
129101
condition: service_completed_successfully
130102

@@ -149,8 +121,6 @@ services:
149121
- --pg-pool-connections=5
150122
- --worker-thread-count=4
151123
depends_on:
152-
db:
153-
condition: service_healthy
154124
db-migration:
155125
condition: service_completed_successfully
156126

@@ -188,8 +158,6 @@ services:
188158
- --s3-regular-recheck-duration=120s
189159
- --enable-compression
190160
depends_on:
191-
db:
192-
condition: service_healthy
193161
db-migration:
194162
condition: service_completed_successfully
195163

@@ -222,11 +190,8 @@ services:
222190
- --verify-proof-remove-after-max-retries
223191
- --signer-type=private-key
224192
depends_on:
225-
db:
226-
condition: service_healthy
227193
db-migration:
228194
condition: service_completed_successfully
229195

230196
volumes:
231-
db:
232197
keys-cache:

test-suite/fhevm/env/staging/.env.relayer

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@ APP_TRANSACTION__PRIVATE_KEY_GATEWAY=0xcb97ef45d352446a6adf810cf8f63c73ada027160
88

99
# Key URL configuration
1010
APP_KEYURL__FHE_PUBLIC_KEY__DATA_ID="fhe-public-key-data-id"
11-
APP_KEYURL__FHE_PUBLIC_KEY__URL="http://minio:9000/kms-public/PUB/PublicKey/bdef3ae02c2a49472724c9f0caee201eb8ede7e29b9408f3b819eeb0082a9709"
11+
APP_KEYURL__FHE_PUBLIC_KEY__URL=http://minio:9000/kms-public/PUB/PublicKey/0400000000000000000000000000000000000000000000000000000000000001
1212
APP_KEYURL__CRS__DATA_ID="crs-data-id"
13-
APP_KEYURL__CRS__URL="http://minio:9000/kms-public/PUB/CRS/d76cca547619b54696469dfa08839fb1c94c0af017145bd85fb4208efeda9769"
13+
APP_KEYURL__CRS__URL=http://minio:9000/kms-public/PUB/CRS/0500000000000000000000000000000000000000000000000000000000000001
1414

1515

1616
# Network configuration

test-suite/fhevm/fhevm-cli

Lines changed: 15 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -15,33 +15,27 @@ SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
1515
PROJECT="fhevm"
1616

1717
# Default versions for the fhevm stack.
18-
# export CONNECTOR_DB_MIGRATION_VERSION=${CONNECTOR_DB_MIGRATION_VERSION:-"v0.8.0"}
19-
# export CONNECTOR_GW_LISTENER_VERSION=${CONNECTOR_GW_LISTENER_VERSION:-"v0.8.0"}
20-
# export CONNECTOR_KMS_WORKER_VERSION=${CONNECTOR_KMS_WORKER_VERSION:-"v0.8.0"}
21-
# export CONNECTOR_TX_SENDER_VERSION=${CONNECTOR_TX_SENDER_VERSION:-"v0.8.0"}
2218

2319
# KMS services.
24-
export CONNECTOR_DB_MIGRATION_VERSION="06603be"
25-
export CONNECTOR_GW_LISTENER_VERSION="06603be"
26-
export CONNECTOR_KMS_WORKER_VERSION="06603be"
27-
export CONNECTOR_TX_SENDER_VERSION="06603be"
20+
export CONNECTOR_DB_MIGRATION_VERSION=${CONNECTOR_DB_MIGRATION_VERSION:-"06603be"}
21+
export CONNECTOR_GW_LISTENER_VERSION=${CONNECTOR_GW_LISTENER_VERSION:-"06603be"}
22+
export CONNECTOR_KMS_WORKER_VERSION=${CONNECTOR_KMS_WORKER_VERSION:-"06603be"}
23+
export CONNECTOR_TX_SENDER_VERSION=${CONNECTOR_TX_SENDER_VERSION:-"06603be"}
2824

2925
# Coprocessor services.
30-
export DB_MIGRATION_VERSION=${DB_MIGRATION_VERSION:-"v0.8.0"}
31-
export GW_LISTENER_VERSION=${GW_LISTENER_VERSION:-"v0.8.0"}
32-
export HOST_LISTENER_VERSION=${HOST_LISTENER_VERSION:-"v0.8.0"}
33-
export TX_SENDER_VERSION=${TX_SENDER_VERSION:-"v0.8.0"}
26+
export DB_MIGRATION_VERSION=${DB_MIGRATION_VERSION:-"b12a580"}
27+
export GW_LISTENER_VERSION=${GW_LISTENER_VERSION:-"b12a580"}
28+
export HOST_LISTENER_VERSION=${HOST_LISTENER_VERSION:-"b12a580"}
29+
export TX_SENDER_VERSION=${TX_SENDER_VERSION:-"b12a580"}
3430

3531
# Other services.
36-
# export GATEWAY_VERSION=${GATEWAY_VERSION:-"v0.8.0"}
37-
export GATEWAY_VERSION="03401a4"
38-
export HOST_VERSION=${HOST_VERSION:-"v0.8.0"}
39-
export TFHE_WORKER_VERSION=${TFHE_WORKER_VERSION:-"v0.8.0"}
40-
export SNS_WORKER_VERSION=${SNS_WORKER_VERSION:-"v0.8.0"}
41-
export ZKPROOF_WORKER_VERSION=${ZKPROOF_WORKER_VERSION:-"v0.8.0"}
42-
export TEST_SUITE_VERSION=${TEST_SUITE_VERSION:-"v0.8.0"}
43-
# export CORE_VERSION=${CORE_VERSION:-"v0.11.0-26"}
44-
export CORE_VERSION="bc02d56"
32+
export GATEWAY_VERSION=${GATEWAY_VERSION:-"03401a4"}
33+
export HOST_VERSION=${HOST_VERSION:-"v0.8.0-6"}
34+
export TFHE_WORKER_VERSION=${TFHE_WORKER_VERSION:-"b12a580"}
35+
export SNS_WORKER_VERSION=${SNS_WORKER_VERSION:-"b12a580"}
36+
export ZKPROOF_WORKER_VERSION=${ZKPROOF_WORKER_VERSION:-"b12a580"}
37+
export TEST_SUITE_VERSION=${TEST_SUITE_VERSION:-"v0.8.0-6"}
38+
export CORE_VERSION=${CORE_VERSION:-"bc02d56"}
4539
export RELAYER_VERSION=${RELAYER_VERSION:-"v0.3.1"}
4640

4741

0 commit comments

Comments
 (0)