From 50ec58115674dced97f9159123ba7e2b044518d4 Mon Sep 17 00:00:00 2001 From: Barnabas Busa Date: Fri, 13 Dec 2024 15:33:59 +0100 Subject: [PATCH 1/3] fix: dora override (#857) --- src/dora/dora_launcher.star | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/dora/dora_launcher.star b/src/dora/dora_launcher.star index 3299a1737..037d94c74 100644 --- a/src/dora/dora_launcher.star +++ b/src/dora/dora_launcher.star @@ -122,9 +122,6 @@ def get_config( IMAGE_NAME = dora_params.image - if network_params.electra_fork_epoch < constants.ELECTRA_FORK_EPOCH: - IMAGE_NAME = "ethpandaops/dora:master" - return ServiceConfig( image=IMAGE_NAME, ports=USED_PORTS, From d6bec165b9bbb3e2a63cbafb063fd52197b23af9 Mon Sep 17 00:00:00 2001 From: Barnabas Busa Date: Fri, 13 Dec 2024 16:05:16 +0100 Subject: [PATCH 2/3] fix: add fulu overrides automatically for assertoor and dora if fulu is active (#858) Signed-off-by: Barnabas Busa --- src/assertoor/assertoor_launcher.star | 4 ++++ src/dora/dora_launcher.star | 4 ++++ src/package_io/constants.star | 3 ++- src/package_io/input_parser.star | 4 ++-- 4 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/assertoor/assertoor_launcher.star b/src/assertoor/assertoor_launcher.star index 9d93f52a1..a5be9d7db 100644 --- a/src/assertoor/assertoor_launcher.star +++ b/src/assertoor/assertoor_launcher.star @@ -121,6 +121,10 @@ def get_config( IMAGE_NAME = assertoor_params.image + if assertoor_params.image == constants.DEFAULT_ASSERTOOR_IMAGE: + if network_params.fulu_fork_epoch < constants.FULU_FORK_EPOCH: + IMAGE_NAME = "ethpandaops/assertoor:fulu-support" + return ServiceConfig( image=IMAGE_NAME, ports=USED_PORTS, diff --git a/src/dora/dora_launcher.star b/src/dora/dora_launcher.star index 037d94c74..b46113bdf 100644 --- a/src/dora/dora_launcher.star +++ b/src/dora/dora_launcher.star @@ -122,6 +122,10 @@ def get_config( IMAGE_NAME = dora_params.image + if dora_params.image == constants.DEFAULT_DORA_IMAGE: + if network_params.fulu_fork_epoch < constants.FULU_FORK_EPOCH: + IMAGE_NAME = "ethpandaops/dora:fulu-support" + return ServiceConfig( image=IMAGE_NAME, ports=USED_PORTS, diff --git a/src/package_io/constants.star b/src/package_io/constants.star index 44bb56181..00321a40f 100644 --- a/src/package_io/constants.star +++ b/src/package_io/constants.star @@ -85,7 +85,8 @@ MOCK_MEV_TYPE = "mock" FLASHBOTS_MEV_TYPE = "flashbots" MEV_RS_MEV_TYPE = "mev-rs" COMMIT_BOOST_MEV_TYPE = "commit-boost" - +DEFAULT_DORA_IMAGE = "ethpandaops/dora:latest" +DEFAULT_ASSERTOOR_IMAGE = "ethpandaops/assertoor:latest" DEFAULT_SNOOPER_IMAGE = "ethpandaops/rpc-snooper:latest" DEFAULT_FLASHBOTS_RELAY_IMAGE = "flashbots/mev-boost-relay:0.29.2a3" DEFAULT_FLASHBOTS_BUILDER_IMAGE = "ethpandaops/reth-rbuilder:develop" diff --git a/src/package_io/input_parser.star b/src/package_io/input_parser.star index 08428ab23..67db921a6 100644 --- a/src/package_io/input_parser.star +++ b/src/package_io/input_parser.star @@ -1028,7 +1028,7 @@ def get_default_blockscout_params(): def get_default_dora_params(): return { - "image": "ethpandaops/dora:latest", + "image": constants.DEFAULT_DORA_IMAGE, "env": {}, } @@ -1127,7 +1127,7 @@ def get_default_goomy_blob_params(): def get_default_assertoor_params(): return { - "image": "ethpandaops/assertoor:latest", + "image": constants.DEFAULT_ASSERTOOR_IMAGE, "run_stability_check": False, "run_block_proposal_check": False, "run_lifecycle_test": False, From e60afbeb7cefd1ee853c9bdca0041a6d4040fe78 Mon Sep 17 00:00:00 2001 From: Barnabas Busa Date: Fri, 13 Dec 2024 16:22:52 +0100 Subject: [PATCH 3/3] feat: add custom image for egg (#859) --- README.md | 5 +++++ network_params.yaml | 2 ++ src/network_launcher/kurtosis.star | 14 ++------------ src/package_io/constants.star | 9 +++------ src/package_io/input_parser.star | 15 +++++++++++++++ src/package_io/sanity_check.star | 3 +++ 6 files changed, 30 insertions(+), 18 deletions(-) diff --git a/README.md b/README.md index d8163730e..99a94d26e 100644 --- a/README.md +++ b/README.md @@ -957,6 +957,11 @@ spamoor_params: # Defaults to empty spamoor_extra_args: [] +# Ethereum genesis generator params +ethereum_genesis_generator_params: + # The image to use for ethereum genesis generator + image: ethpandaops/ethereum-genesis-generator:3.4.7 + # Global parameter to set the exit ip address of services and public ports port_publisher: # if you have a service that you want to expose on a specific interfact; set that IP here diff --git a/network_params.yaml b/network_params.yaml index a8648cb14..b0572c963 100644 --- a/network_params.yaml +++ b/network_params.yaml @@ -175,6 +175,8 @@ global_node_selectors: {} keymanager_enabled: false checkpoint_sync_enabled: false checkpoint_sync_url: "" +ethereum_genesis_generator_params: + image: ethpandaops/ethereum-genesis-generator:3.4.7 port_publisher: nat_exit_ip: KURTOSIS_IP_ADDR_PLACEHOLDER el: diff --git a/src/network_launcher/kurtosis.star b/src/network_launcher/kurtosis.star index 252868747..841f077bf 100644 --- a/src/network_launcher/kurtosis.star +++ b/src/network_launcher/kurtosis.star @@ -59,19 +59,9 @@ def launch( ethereum_genesis_generator_image = shared_utils.docker_cache_image_calc( args_with_right_defaults.docker_cache_params, - constants.ETHEREUM_GENESIS_GENERATOR.default_genesis_generator_image, + args_with_right_defaults.ethereum_genesis_generator_params.image, ) - # we are running electra - experimental - if network_params.electra_fork_epoch != None: - if network_params.electra_fork_epoch == 0: - ethereum_genesis_generator_image = shared_utils.docker_cache_image_calc( - args_with_right_defaults.docker_cache_params, - constants.ETHEREUM_GENESIS_GENERATOR.verkle_genesis, - ) - else: - fail( - "Unsupported fork epoch configuration, need to define either deneb_fork_epoch or electra_fork_epoch" - ) + return ( total_number_of_validator_keys, ethereum_genesis_generator_image, diff --git a/src/package_io/constants.star b/src/package_io/constants.star index 00321a40f..c200600e6 100644 --- a/src/package_io/constants.star +++ b/src/package_io/constants.star @@ -88,6 +88,9 @@ COMMIT_BOOST_MEV_TYPE = "commit-boost" DEFAULT_DORA_IMAGE = "ethpandaops/dora:latest" DEFAULT_ASSERTOOR_IMAGE = "ethpandaops/assertoor:latest" DEFAULT_SNOOPER_IMAGE = "ethpandaops/rpc-snooper:latest" +DEFAULT_ETHEREUM_GENESIS_GENERATOR_IMAGE = ( + "ethpandaops/ethereum-genesis-generator:3.4.7" +) DEFAULT_FLASHBOTS_RELAY_IMAGE = "flashbots/mev-boost-relay:0.29.2a3" DEFAULT_FLASHBOTS_BUILDER_IMAGE = "ethpandaops/reth-rbuilder:develop" DEFAULT_FLASHBOTS_MEV_BOOST_IMAGE = "flashbots/mev-boost" @@ -121,12 +124,6 @@ CONTAINER_REGISTRY = struct( gcr="gcr.io", ) - -ETHEREUM_GENESIS_GENERATOR = struct( - default_genesis_generator_image="ethpandaops/ethereum-genesis-generator:3.4.7", # Default - verkle_genesis="ethpandaops/ethereum-genesis-generator:verkle-gen-v1.0.0", -) - NETWORK_NAME = struct( mainnet="mainnet", sepolia="sepolia", diff --git a/src/package_io/input_parser.star b/src/package_io/input_parser.star index 67db921a6..e50fd932b 100644 --- a/src/package_io/input_parser.star +++ b/src/package_io/input_parser.star @@ -190,6 +190,10 @@ def input_parser(plan, input_args): for sub_attr in input_args["spamoor_params"]: sub_value = input_args["spamoor_params"][sub_attr] result["spamoor_params"][sub_attr] = sub_value + elif attr == "ethereum_genesis_generator_params": + for sub_attr in input_args["ethereum_genesis_generator_params"]: + sub_value = input_args["ethereum_genesis_generator_params"][sub_attr] + result["ethereum_genesis_generator_params"][sub_attr] = sub_value if result.get("disable_peer_scoring"): result = enrich_disable_peer_scoring(result) @@ -476,6 +480,9 @@ def input_parser(plan, input_args): keymanager_enabled=result["keymanager_enabled"], checkpoint_sync_enabled=result["checkpoint_sync_enabled"], checkpoint_sync_url=result["checkpoint_sync_url"], + ethereum_genesis_generator_params=struct( + image=result["ethereum_genesis_generator_params"]["image"], + ), port_publisher=struct( nat_exit_ip=result["port_publisher"]["nat_exit_ip"], cl_enabled=result["port_publisher"]["cl"]["enabled"], @@ -864,6 +871,7 @@ def default_input_args(input_args): "keymanager_enabled": False, "checkpoint_sync_enabled": False, "checkpoint_sync_url": "", + "ethereum_genesis_generator_params": get_default_ethereum_genesis_generator_params(), "port_publisher": { "nat_exit_ip": constants.PRIVATE_IP_ADDRESS_PLACEHOLDER, "public_port_start": None, @@ -1387,6 +1395,7 @@ def docker_cache_image_override(plan, result): "prometheus_params.image", "grafana_params.image", "spamoor_params.image", + "ethereum_genesis_generator_params.image", ] if result["docker_cache_params"]["url"] == "": @@ -1458,3 +1467,9 @@ def docker_cache_image_override(plan, result): tooling_image_key ) ) + + +def get_default_ethereum_genesis_generator_params(): + return { + "image": "ethpandaops/ethereum-genesis-generator:3.4.7", + } diff --git a/src/package_io/sanity_check.star b/src/package_io/sanity_check.star index 1edaad4c2..2dcafff8d 100644 --- a/src/package_io/sanity_check.star +++ b/src/package_io/sanity_check.star @@ -254,6 +254,9 @@ SUBCATEGORY_PARAMS = { "max_wallets", "spamoor_extra_args", ], + "ethereum_genesis_generator_params": [ + "image", + ], "port_publisher": [ "nat_exit_ip", "el",