Skip to content

Commit e342abe

Browse files
committed
feat: signer info for batcher, challenger, sequencer, proposer
1 parent 507a237 commit e342abe

File tree

9 files changed

+62
-25
lines changed

9 files changed

+62
-25
lines changed

src/batcher/op-batcher/op_batcher_launcher.star

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -120,9 +120,6 @@ def get_batcher_config(
120120
plan.print("Batcher params: " + str(batcher_params))
121121
plan.print(batcher_params.signer_endpoint)
122122
plan.print(batcher_params.signer_address)
123-
124-
# cmd.append("--private-key=" + gs_batcher_private_key)
125-
126123
if batcher_params.private_key:
127124
cmd.append("--private-key=" + gs_batcher_private_key)
128125
else:

src/challenger/op-challenger/op_challenger_launcher.star

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,11 +109,18 @@ def get_challenger_config(
109109
"--l1-beacon=" + l1_config_env_vars["CL_RPC_URL"],
110110
"--l1-eth-rpc=" + l1_config_env_vars["L1_RPC_URL"],
111111
"--l2-eth-rpc=" + el_context.rpc_http_url,
112-
"--private-key=" + challenger_key,
113112
"--rollup-rpc=" + cl_context.beacon_http_url,
114113
"--trace-type=" + ",".join(challenger_params.cannon_trace_types),
115114
]
116115

116+
if challenger_params.private_key:
117+
cmd.append("--private-key=" + challenger_key)
118+
else:
119+
cmd.append("--signer.endpoint=" + str(challenger_params.signer_endpoint))
120+
cmd.append("--signer.address=" + str(challenger_params.signer_address))
121+
cmd.append("--signer.tls.enabled=false")
122+
123+
plan.print(cmd)
117124
# configure files
118125

119126
files = {

src/cl/hildr/hildr_launcher.star

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ def launch(
7979
observability_helper,
8080
interop_params,
8181
da_server_context,
82+
sequencer_params,
8283
):
8384
# beacon_node_identity_recipe = PostHttpRequestRecipe(
8485
# endpoint="/",
@@ -111,6 +112,7 @@ def launch(
111112
sequencer_enabled,
112113
observability_helper,
113114
da_server_context,
115+
sequencer_params,
114116
)
115117

116118
beacon_service = plan.add_service(service_name, config)
@@ -158,6 +160,7 @@ def get_beacon_config(
158160
sequencer_enabled,
159161
observability_helper,
160162
da_server_context,
163+
sequencer_params,
161164
):
162165
EXECUTION_ENGINE_ENDPOINT = "http://{0}:{1}".format(
163166
el_context.ip_addr,
@@ -223,6 +226,7 @@ def get_beacon_config(
223226
observability.expose_metrics_port(ports)
224227

225228
if sequencer_enabled:
229+
# this value is never used so why is it set?????
226230
sequencer_private_key = util.read_network_config_value(
227231
plan,
228232
launcher.deployment_output,
@@ -279,9 +283,10 @@ def get_beacon_config(
279283
return ServiceConfig(**config_args)
280284

281285

282-
def new_hildr_launcher(deployment_output, jwt_file, network_params):
286+
def new_hildr_launcher(deployment_output, jwt_file, network_params, sequencer_params):
283287
return struct(
284288
deployment_output=deployment_output,
285289
jwt_file=jwt_file,
286290
network_params=network_params,
291+
sequencer_params=sequencer_params,
287292
)

src/cl/op-node/op_node_builder_launcher.star

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@ def launch(
7878
observability_helper,
7979
interop_params,
8080
da_server_context,
81+
sequencer_params,
8182
):
8283
beacon_node_identity_recipe = PostHttpRequestRecipe(
8384
endpoint="/",
@@ -112,6 +113,7 @@ def launch(
112113
observability_helper,
113114
interop_params,
114115
da_server_context,
116+
sequencer_params,
115117
)
116118

117119
beacon_service = plan.add_service(service_name, config)
@@ -161,6 +163,7 @@ def get_beacon_config(
161163
observability_helper,
162164
interop_params,
163165
da_server_context,
166+
sequencer_params,
164167
):
165168
ports = dict(get_used_ports(BEACON_DISCOVERY_PORT_NUM))
166169

@@ -247,15 +250,18 @@ def get_beacon_config(
247250
)
248251

249252
if sequencer_enabled:
250-
sequencer_private_key = util.read_network_config_value(
251-
plan,
252-
launcher.deployment_output,
253-
"sequencer-{0}".format(launcher.network_params.network_id),
254-
".privateKey",
255-
)
253+
if not sequencer_params.private_key:
254+
env_vars.update(
255+
{
256+
"OP_NODE_SIGNER_ADDRESS": str(sequencer_params.signer_address),
257+
"OP_NODE_SIGNER_ENDPOINT": str(sequencer_params.signer_endpoint),
258+
"OP_NODE_SIGNER_TLS_ENABLED": "false",
259+
}
260+
)
261+
else:
262+
cmd += ["--p2p.sequencer.key=" + sequencer_params.private_key]
256263

257264
cmd += [
258-
"--p2p.sequencer.key=" + sequencer_private_key,
259265
"--sequencer.enabled",
260266
"--sequencer.l1-confs=2",
261267
]
@@ -314,9 +320,12 @@ def get_beacon_config(
314320
return ServiceConfig(**config_args)
315321

316322

317-
def new_op_node_builder_launcher(deployment_output, jwt_file, network_params):
323+
def new_op_node_builder_launcher(
324+
deployment_output, jwt_file, network_params, sequencer_params
325+
):
318326
return struct(
319327
deployment_output=deployment_output,
320328
jwt_file=jwt_file,
321329
network_params=network_params,
330+
sequencer_params=sequencer_params,
322331
)

src/cl/op-node/op_node_launcher.star

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@ def launch(
7878
observability_helper,
7979
interop_params,
8080
da_server_context,
81+
sequencer_params,
8182
):
8283
beacon_node_identity_recipe = PostHttpRequestRecipe(
8384
endpoint="/",
@@ -112,6 +113,7 @@ def launch(
112113
observability_helper,
113114
interop_params,
114115
da_server_context,
116+
sequencer_params,
115117
)
116118

117119
beacon_service = plan.add_service(service_name, config)
@@ -161,6 +163,7 @@ def get_beacon_config(
161163
observability_helper,
162164
interop_params,
163165
da_server_context,
166+
sequencer_params,
164167
):
165168
ports = dict(get_used_ports(BEACON_DISCOVERY_PORT_NUM))
166169

@@ -248,15 +251,18 @@ def get_beacon_config(
248251
)
249252

250253
if sequencer_enabled:
251-
sequencer_private_key = util.read_network_config_value(
252-
plan,
253-
launcher.deployment_output,
254-
"sequencer-{0}".format(launcher.network_params.network_id),
255-
".privateKey",
256-
)
254+
if not sequencer_params.private_key:
255+
env_vars.update(
256+
{
257+
"OP_NODE_SIGNER_ADDRESS": str(sequencer_params.signer_address),
258+
"OP_NODE_SIGNER_ENDPOINT": str(sequencer_params.signer_endpoint),
259+
"OP_NODE_SIGNER_TLS_ENABLED": "false",
260+
}
261+
)
262+
else:
263+
cmd += ["--p2p.sequencer.key=" + sequencer_params.private_key]
257264

258265
cmd += [
259-
"--p2p.sequencer.key=" + sequencer_private_key,
260266
"--sequencer.enabled",
261267
"--sequencer.l1-confs=2",
262268
]
@@ -315,9 +321,10 @@ def get_beacon_config(
315321
return ServiceConfig(**config_args)
316322

317323

318-
def new_op_node_launcher(deployment_output, jwt_file, network_params):
324+
def new_op_node_launcher(deployment_output, jwt_file, network_params, sequencer_params):
319325
return struct(
320326
deployment_output=deployment_output,
321327
jwt_file=jwt_file,
322328
network_params=network_params,
329+
sequencer_params=sequencer_params,
323330
)

src/el_cl_launcher.star

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ def launch(
4545
observability_helper,
4646
interop_params,
4747
da_server_context,
48+
sequencer_params,
4849
):
4950
el_launchers = {
5051
"op-geth": {
@@ -118,13 +119,13 @@ def launch(
118119
cl_launchers = {
119120
"op-node": {
120121
"launcher": op_node.new_op_node_launcher(
121-
deployment_output, jwt_file, network_params
122+
deployment_output, jwt_file, network_params, sequencer_params
122123
),
123124
"launch_method": op_node.launch,
124125
},
125126
"hildr": {
126127
"launcher": hildr.new_hildr_launcher(
127-
deployment_output, jwt_file, network_params
128+
deployment_output, jwt_file, network_params, sequencer_params
128129
),
129130
"launch_method": hildr.launch,
130131
},
@@ -133,7 +134,7 @@ def launch(
133134
cl_builder_launchers = {
134135
"op-node": {
135136
"launcher": op_node_builder.new_op_node_builder_launcher(
136-
deployment_output, jwt_file, network_params
137+
deployment_output, jwt_file, network_params, sequencer_params
137138
),
138139
"launch_method": op_node_builder.launch,
139140
},
@@ -354,6 +355,7 @@ def launch(
354355
observability_helper,
355356
interop_params,
356357
da_server_context,
358+
sequencer_params,
357359
)
358360

359361
# We need to make sure that el_context and cl_context are first in the list, as down the line all_el_contexts[0]

src/l2.star

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ def launch_l2(
2828
batcher_params = l2_args.batcher_params
2929
challenger_params = l2_args.challenger_params
3030
proposer_params = l2_args.proposer_params
31+
sequencer_params = l2_args.sequencer_params
3132
mev_params = l2_args.mev_params
3233

3334
plan.print("Deploying L2 with name {0}".format(network_params.name))
@@ -52,6 +53,7 @@ def launch_l2(
5253
batcher_params,
5354
challenger_params,
5455
proposer_params,
56+
sequencer_params,
5557
mev_params,
5658
deployment_output,
5759
l1_config,

src/participant_network.star

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ def launch_participant_network(
1717
batcher_params,
1818
challenger_params,
1919
proposer_params,
20+
sequencer_params,
2021
mev_params,
2122
deployment_output,
2223
l1_config_env_vars,
@@ -52,6 +53,7 @@ def launch_participant_network(
5253
observability_helper,
5354
interop_params,
5455
da_server_context,
56+
sequencer_params,
5557
)
5658

5759
all_participants = []

src/proposer/op-proposer/op_proposer_launcher.star

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,14 +93,20 @@ def get_proposer_config(
9393
"--rpc.port=" + str(PROPOSER_HTTP_PORT_NUM),
9494
"--rollup-rpc=" + cl_context.beacon_http_url,
9595
"--game-factory-address=" + str(game_factory_address),
96-
"--private-key=" + gs_proposer_private_key,
9796
"--l1-eth-rpc=" + l1_config_env_vars["L1_RPC_URL"],
9897
"--allow-non-finalized=true",
9998
"--game-type={0}".format(proposer_params.game_type),
10099
"--proposal-interval=" + proposer_params.proposal_interval,
101100
"--wait-node-sync=true",
102101
]
103102

103+
if proposer_params.private_key:
104+
cmd.append("--private-key=" + proposer_params.private_key)
105+
else:
106+
cmd.append("--signer.endpoint=" + str(proposer_params.signer_endpoint))
107+
cmd.append("--signer.address=" + str(proposer_params.signer_address))
108+
cmd.append("--signer.tls.enabled=false")
109+
104110
# apply customizations
105111

106112
if observability_helper.enabled:

0 commit comments

Comments
 (0)