diff --git a/src/el/erigon/erigon_launcher.star b/src/el/erigon/erigon_launcher.star index eb476ab66..17d02a970 100644 --- a/src/el/erigon/erigon_launcher.star +++ b/src/el/erigon/erigon_launcher.star @@ -169,10 +169,6 @@ def get_config( if network_params.gas_limit > 0: cmd.append("--miner.gaslimit={0}".format(network_params.gas_limit)) - if constants.NETWORK_NAME.shadowfork in network_params.network: # shadowfork - if launcher.osaka_enabled: - cmd.append("--override.osaka=" + str(launcher.osaka_time)) - files = { constants.GENESIS_DATA_MOUNTPOINT_ON_CLIENTS: launcher.el_cl_genesis_data.files_artifact_uuid, constants.JWT_MOUNTPOINT_ON_CLIENTS: launcher.jwt_file, @@ -235,11 +231,27 @@ def get_config( if len(participant.el_extra_params) > 0: cmd.extend([param for param in participant.el_extra_params]) + cmd_str = " ".join(cmd) + + # Handle osaka parameter conditionally for shadowfork + if constants.NETWORK_NAME.shadowfork in network_params.network: + # Create wrapper script that conditionally adds osaka parameter + wrapper_script = 'OSAKA_TIME="' + str(launcher.osaka_time) + '"; ' + wrapper_script += ( + 'if [ "$OSAKA_TIME" != "null" ] && [ "$OSAKA_TIME" != "" ]; then ' + ) + wrapper_script += 'OSAKA_PARAM="--override.osaka=$OSAKA_TIME"; ' + wrapper_script += 'else OSAKA_PARAM=""; fi; ' + wrapper_script += cmd_str + " $OSAKA_PARAM" + final_cmd_str = wrapper_script + else: + final_cmd_str = cmd_str + if network_params.network not in constants.PUBLIC_NETWORKS: - command_arg = [init_datadir_cmd_str, " ".join(cmd)] + command_arg = [init_datadir_cmd_str, final_cmd_str] command_arg_str = " && ".join(command_arg) else: - command_arg_str = " ".join(cmd) + command_arg_str = final_cmd_str env_vars = participant.el_extra_env_vars config_args = { @@ -316,5 +328,4 @@ def new_erigon_launcher(el_cl_genesis_data, jwt_file, networkid): jwt_file=jwt_file, networkid=networkid, osaka_time=el_cl_genesis_data.osaka_time, - osaka_enabled=el_cl_genesis_data.osaka_enabled, ) diff --git a/src/el/geth/geth_launcher.star b/src/el/geth/geth_launcher.star index e4ecbca9c..4a82ccda2 100644 --- a/src/el/geth/geth_launcher.star +++ b/src/el/geth/geth_launcher.star @@ -246,9 +246,6 @@ def get_config( ] ) ) - if constants.NETWORK_NAME.shadowfork in network_params.network: # shadowfork - if launcher.osaka_enabled: - cmd.append("--override.osaka=" + str(launcher.osaka_time)) elif ( network_params.network not in constants.PUBLIC_NETWORKS @@ -266,14 +263,29 @@ def get_config( cmd.extend([param for param in participant.el_extra_params]) cmd_str = " ".join(cmd) + + # Handle osaka parameter conditionally for shadowfork + if constants.NETWORK_NAME.shadowfork in network_params.network: + # Create wrapper script that conditionally adds osaka parameter + wrapper_script = 'OSAKA_TIME="' + str(launcher.osaka_time) + '"; ' + wrapper_script += ( + 'if [ "$OSAKA_TIME" != "null" ] && [ "$OSAKA_TIME" != "" ]; then ' + ) + wrapper_script += 'OSAKA_PARAM="--override.osaka=$OSAKA_TIME"; ' + wrapper_script += 'else OSAKA_PARAM=""; fi; ' + wrapper_script += cmd_str + " $OSAKA_PARAM" + final_cmd_str = wrapper_script + else: + final_cmd_str = cmd_str + if network_params.network not in constants.PUBLIC_NETWORKS: subcommand_strs = [ init_datadir_cmd_str, - cmd_str, + final_cmd_str, ] command_str = " && ".join(subcommand_strs) else: - command_str = cmd_str + command_str = final_cmd_str files = { constants.GENESIS_DATA_MOUNTPOINT_ON_CLIENTS: launcher.el_cl_genesis_data.files_artifact_uuid, @@ -377,5 +389,4 @@ def new_geth_launcher( jwt_file=jwt_file, networkid=networkid, osaka_time=el_cl_genesis_data.osaka_time, - osaka_enabled=el_cl_genesis_data.osaka_enabled, ) diff --git a/src/prelaunch_data_generator/el_cl_genesis/el_cl_genesis_data.star b/src/prelaunch_data_generator/el_cl_genesis/el_cl_genesis_data.star index c750ed114..b99df4815 100644 --- a/src/prelaunch_data_generator/el_cl_genesis/el_cl_genesis_data.star +++ b/src/prelaunch_data_generator/el_cl_genesis/el_cl_genesis_data.star @@ -2,11 +2,9 @@ def new_el_cl_genesis_data( files_artifact_uuid, genesis_validators_root, osaka_time=0, - osaka_enabled=False, ): return struct( files_artifact_uuid=files_artifact_uuid, genesis_validators_root=genesis_validators_root, osaka_time=osaka_time, - osaka_enabled=osaka_enabled, ) diff --git a/src/prelaunch_data_generator/el_cl_genesis/el_cl_genesis_generator.star b/src/prelaunch_data_generator/el_cl_genesis/el_cl_genesis_generator.star index 382e70584..4000f3795 100644 --- a/src/prelaunch_data_generator/el_cl_genesis/el_cl_genesis_generator.star +++ b/src/prelaunch_data_generator/el_cl_genesis/el_cl_genesis_generator.star @@ -101,20 +101,10 @@ def generate_el_cl_genesis_data( node_selectors=global_node_selectors, ) - osaka_enabled_check = plan.run_sh( - name="check-osaka-enabled", - description="Check if osaka time is enabled (not false)", - run="test \"$(jq '.config.osakaTime // false' /data/genesis.json | tr -d '\n')\" != \"false\" && echo true || echo false", - files={"/data": genesis.files_artifacts[0]}, - tolerations=shared_utils.get_tolerations(global_tolerations=global_tolerations), - node_selectors=global_node_selectors, - ) - result = el_cl_genesis_data.new_el_cl_genesis_data( genesis.files_artifacts[0], genesis_validators_root.output, osaka_time.output, - osaka_enabled_check.output == "true", ) return result