Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix: Broken Lido DV Exit and Lido validator ejector when a secondery CL client is added to Charon #1950

Merged
merged 8 commits into from
Oct 6, 2024
7 changes: 5 additions & 2 deletions default.env
Original file line number Diff line number Diff line change
Expand Up @@ -167,7 +167,9 @@ EL_NODE=http://execution:8551
CL_NODE=http://consensus:5052
# MEV-boost address. This would only be changed for Vouch setups
MEV_NODE=http://mev-boost:18550
# Consensus client address for Charon and Lido Validator Ejector in Obol setup
# Consensus client addresses for Charon in Obol setup
OBOL_CHARON_CL_ENDPOINTS=http://consensus:5052
cnupy marked this conversation as resolved.
Show resolved Hide resolved
# Consensus client address for Lido DV Exit and Lido Validator Ejector services in Obol setup
OBOL_CL_NODE=http://consensus:5052
# Execution client address (RPC) for Lido Validator Ejector in Obol setup
OBOL_EL_NODE=http://execution:8545
Expand Down Expand Up @@ -195,6 +197,7 @@ VE_LOCATOR_ADDRESS=
VE_ORACLE_ADDRESSES_ALLOWLIST=
ENABLE_DIST_ATTESTATION_AGGR=
LIDO_DV_EXIT_EXIT_EPOCH=
LIDO_DV_EXIT_VERSION=
cnupy marked this conversation as resolved.
Show resolved Hide resolved

# Commit-Boost
CB_PBS_DOCKER_TAG=latest
Expand Down Expand Up @@ -333,4 +336,4 @@ DDNS_TAG=v2
NODE_EXPORTER_IGNORE_MOUNT_REGEX='^/(dev|proc|sys|run|var/lib/docker/.+)($|/)'

# Used by ethd update - please do not adjust
ENV_VERSION=17
ENV_VERSION=18
16 changes: 12 additions & 4 deletions ethd
Original file line number Diff line number Diff line change
Expand Up @@ -1032,16 +1032,16 @@ __env_migrate() {
return 0
fi

__all_vars=( COMPOSE_FILE FEE_RECIPIENT EL_NODE EL_OBOL_NODE GRAFFITI DEFAULT_GRAFFITI NETWORK MEV_BOOST MEV_RELAYS MEV_MIN_BID \
__all_vars=( COMPOSE_FILE FEE_RECIPIENT EL_NODE OBOL_EL_NODE GRAFFITI DEFAULT_GRAFFITI NETWORK MEV_BOOST MEV_RELAYS MEV_MIN_BID \
MEV_NODE CL_MAX_PEER_COUNT CL_MIN_PEER_COUNT EL_MAX_PEER_COUNT EL_MIN_PEER_COUNT DOMAIN ACME_EMAIL ANCIENT_DIR \
AUTOPRUNE_NM LOGS_LABEL CF_DNS_API_TOKEN CF_ZONE_API_TOKEN CF_ZONE_ID AWS_PROFILE AWS_HOSTED_ZONE_ID \
GRAFANA_HOST SIREN_HOST DISTRIBUTED BESU_HEAP TEKU_HEAP PROM_HOST HOST_IP SHARE_IP PRYSM_HOST EE_HOST \
EL_HOST EL_LB EL_WS_HOST EL_WS_LB CL_HOST CL_LB VC_HOST DDNS_SUBDOMAIN IPV6 DDNS_PROXY RAPID_SYNC_URL \
CL_NODE CL_OBOL_NODE BEACON_STATS_API BEACON_STATS_MACHINE EL_P2P_PORT CL_P2P_PORT WEB3SIGNER PRYSM_PORT DOPPELGANGER \
CL_NODE OBOL_CL_NODE BEACON_STATS_API BEACON_STATS_MACHINE EL_P2P_PORT CL_P2P_PORT WEB3SIGNER PRYSM_PORT DOPPELGANGER \
PRYSM_UDP_PORT CL_QUIC_PORT GRAFANA_PORT SIREN_PORT PROMETHEUS_PORT KEY_API_PORT TRAEFIK_WEB_PORT \
TRAEFIK_WEB_HTTP_PORT CL_REST_PORT EL_RPC_PORT EL_WS_PORT EE_PORT ERIGON_TORRENT_PORT LOG_LEVEL JWT_SECRET \
EL_EXTRAS CL_EXTRAS VC_EXTRAS ARCHIVE_NODE SSV_P2P_PORT SSV_P2P_PORT_UDP OBOL_P2P_PORT ERIGON_P2P_PORT_2 \
ERIGON_P2P_PORT_3 LODESTAR_HEAP SSV_DKG_PORT SIREN_PASSWORD )
ERIGON_P2P_PORT_3 LODESTAR_HEAP SSV_DKG_PORT SIREN_PASSWORD LIDO_DV_EXIT_VERSION OBOL_CHARON_CL_ENDPOINTS)
cnupy marked this conversation as resolved.
Show resolved Hide resolved
__target_vars=( ETH_DOCKER_TAG NIM_SRC_BUILD_TARGET NIM_SRC_REPO NIM_DOCKER_TAG NIM_DOCKER_VC_TAG NIM_DOCKER_REPO \
NIM_DOCKER_VC_REPO NIM_DOCKERFILE TEKU_SRC_BUILD_TARGET TEKU_SRC_REPO TEKU_DOCKER_TAG TEKU_DOCKER_REPO \
TEKU_DOCKERFILE LH_SRC_BUILD_TARGET LH_SRC_REPO LH_DOCKER_TAG LH_DOCKER_REPO LH_DOCKERFILE SSV_NODE_REPO \
Expand Down Expand Up @@ -1104,7 +1104,8 @@ __env_migrate() {
for __var in "${__all_vars[@]}"; do
__value=$(sed -n -e "s/^${__var}=\(.*\)/\1/p" "${__env_file}.source" || true)
if [ -n "${__value}" ] || [ "${__var}" = "GRAFFITI" ] || [ "${__var}" = "MEV_RELAYS" ] \
|| [ "${__var}" = "ETH_DOCKER_TAG" ] || [ "${__var}" = "RAPID_SYNC_URL" ]; then
|| [ "${__var}" = "ETH_DOCKER_TAG" ] || [ "${__var}" = "RAPID_SYNC_URL" ] \
|| [ "${__var}" = "OBOL_CHARON_CL_ENDPOINTS" ]; then
cnupy marked this conversation as resolved.
Show resolved Hide resolved
if [ "${__var}" = "COMPOSE_FILE" ]; then
__migrate_compose_file
fi
Expand All @@ -1114,6 +1115,13 @@ __env_migrate() {
__value="true"
fi
fi
if [[ "${__source_ver}" -lt "18" && "${__var}" = "OBOL_CHARON_CL_ENDPOINTS" ]]; then
__obol_cl_node=$(sed -n -e "s/^OBOL_CL_NODE=\(.*\)/\1/p" "${__env_file}.source" || true)
if [ -n "${__obol_cl_node}" ]; then
__value="${__obol_cl_node}"
echo "Set OBOL_CHARON_CL_ENDPOINTS to ${__value}"
fi
fi
if [ "${__var}" = "CL_QUIC_PORT" ]; then
__cl_port=$(sed -n -e "s/^CL_P2P_PORT=\(.*\)/\1/p" "${__env_file}.source" || true)
if [ -n "${__cl_port}" ] && [ "${__cl_port}" = "${__value}" ]; then
Expand Down
2 changes: 1 addition & 1 deletion lido-obol.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ services:
- .eth:/opt/charon/.charon
<<: *logging
environment:
- CHARON_BEACON_NODE_ENDPOINTS=${OBOL_CL_NODE:-http://consensus:5052}
- CHARON_BEACON_NODE_ENDPOINTS=${OBOL_CHARON_CL_ENDPOINTS:-http://consensus:5052}
- CHARON_LOG_LEVEL=${OBOL_LOG_LEVEL:-debug}
- CHARON_LOG_FORMAT=${OBOL_LOG_FORMAT:-console}
- CHARON_P2P_RELAYS=${OBOL_P2P_RELAYS:-https://0.relay.obol.tech,https://1.relay.obol.tech/}
Expand Down