@@ -36,20 +36,21 @@ def launch(
3636 challenger_params ,
3737 interop_params ,
3838 observability_helper ,
39+ prestates_url = None ,
3940):
4041 config = get_challenger_config (
41- plan ,
42- l2_num ,
43- service_name ,
44- image ,
45- el_context ,
46- cl_context ,
47- l1_config_env_vars ,
48- deployment_output ,
49- network_params ,
50- challenger_params ,
51- interop_params ,
52- observability_helper ,
42+ plan = plan ,
43+ l2_num = l2_num ,
44+ image = image ,
45+ el_context = el_context ,
46+ cl_context = cl_context ,
47+ l1_config_env_vars = l1_config_env_vars ,
48+ deployment_output = deployment_output ,
49+ network_params = network_params ,
50+ challenger_params = challenger_params ,
51+ interop_params = interop_params ,
52+ observability_helper = observability_helper ,
53+ prestates_url = prestates_url ,
5354 )
5455
5556 service = plan .add_service (service_name , config )
@@ -58,13 +59,12 @@ def launch(
5859 observability_helper , service , network_params .network
5960 )
6061
61- return "op_challenger "
62+ return "op-challenger "
6263
6364
6465def get_challenger_config (
6566 plan ,
6667 l2_num ,
67- service_name ,
6868 image ,
6969 el_context ,
7070 cl_context ,
@@ -74,6 +74,7 @@ def get_challenger_config(
7474 challenger_params ,
7575 interop_params ,
7676 observability_helper ,
77+ prestates_url ,
7778):
7879 ports = dict (get_used_ports ())
7980
@@ -131,22 +132,12 @@ def get_challenger_config(
131132 # Tracked at issue https://github.com/ethpandaops/optimism-package/issues/189
132133 cmd .append ("--cannon-depset-config=dummy-file.json" )
133134
134- if (
135- challenger_params .cannon_prestate_path
136- and challenger_params .cannon_prestates_url
137- ):
138- fail ("Only one of cannon_prestate_path and cannon_prestates_url can be set" )
139- elif challenger_params .cannon_prestate_path :
140- cannon_prestate_artifact = plan .upload_files (
141- src = challenger_params .cannon_prestate_path ,
142- name = "{}-prestates" .format (service_name ),
135+ cmd .append (
136+ get_prestates_flag (
137+ prestates_url ,
138+ challenger_params ,
143139 )
144- files ["/prestates" ] = cannon_prestate_artifact
145- cmd .append ("--cannon-prestate=/prestates/prestate-proof.json" )
146- elif challenger_params .cannon_prestates_url :
147- cmd .append ("--cannon-prestates-url=" + challenger_params .cannon_prestates_url )
148- else :
149- fail ("One of cannon_prestate_path or cannon_prestates_url must be set" )
140+ )
150141
151142 cmd += challenger_params .extra_params
152143 cmd = "mkdir -p {0} && {1}" .format (
@@ -161,3 +152,21 @@ def get_challenger_config(
161152 files = files ,
162153 private_ip_address_placeholder = ethereum_package_constants .PRIVATE_IP_ADDRESS_PLACEHOLDER ,
163154 )
155+
156+
157+ def get_prestates_flag (prestates_url , challenger_params ):
158+ if (
159+ challenger_params .cannon_prestate_path
160+ and challenger_params .cannon_prestates_url
161+ ):
162+ fail ("Only one of cannon_prestate_path and cannon_prestates_url can be set" )
163+
164+ if prestates_url :
165+ # this takes precedence over cannon_prestate_path and cannon_prestates_url
166+ return "--cannon-prestates-url=" + prestates_url
167+
168+ if challenger_params .cannon_prestate_path :
169+ return "--cannon-prestate=/prestates/prestate-proof.json"
170+
171+ # we have default for cannon_prestates_url, so it's a safe fallback
172+ return "--cannon-prestates-url=" + challenger_params .cannon_prestates_url
0 commit comments