diff --git a/src/el/geth/geth_launcher.star b/src/el/geth/geth_launcher.star index ee46f9dc6..a62597e3d 100644 --- a/src/el/geth/geth_launcher.star +++ b/src/el/geth/geth_launcher.star @@ -197,6 +197,10 @@ def get_config( tolerations, node_selectors, ): + if "--gcmode=archive" in extra_params or "--gcmode archive" in extra_params: + gcmode_archive = True + else: + gcmode_archive = False # TODO: Remove this once electra fork has path based storage scheme implemented if ( constants.NETWORK_NAME.verkle in network @@ -217,9 +221,7 @@ def get_config( elif constants.NETWORK_NAME.shadowfork in network: init_datadir_cmd_str = "echo shadowfork" - elif ( - "--gcmode archive" in extra_params - ): # Disable path based storage scheme archive mode + elif gcmode_archive: # Disable path based storage scheme archive mode init_datadir_cmd_str = "geth init --state.scheme=hash --datadir={0} {1}".format( EXECUTION_DATA_DIRPATH_ON_CLIENT_CONTAINER, constants.GENESIS_CONFIG_MOUNT_PATH_ON_CONTAINER + "/genesis.json", @@ -236,7 +238,7 @@ def get_config( # TODO: REMOVE Once geth default db is path based, and builder rebased "{0}".format( "--state.scheme=path" - if "verkle" not in network and "--gcmode archive" not in extra_params + if "verkle" not in network and not gcmode_archive else "" ), # Override prague fork timestamp for electra fork @@ -275,7 +277,7 @@ def get_config( "--authrpc.addr=0.0.0.0", "--authrpc.vhosts=*", "--authrpc.jwtsecret=" + constants.JWT_MOUNT_PATH_ON_CONTAINER, - "--syncmode=full", + "--syncmode=full" if not gcmode_archive else "--gcmode=archive", "--rpc.allow-unprotected-txs", "--metrics", "--metrics.addr=0.0.0.0",