11use clap:: Parser ;
2- use color_eyre:: eyre:: eyre;
32use eth2:: Timeouts ;
43use execution_layer:: Config ;
54use rustic_builder:: builder_impl:: RusticBuilder ;
6- use rustic_builder:: payload_creator:: get_header;
75use sensitive_url:: SensitiveUrl ;
86use std:: ops:: Deref ;
97use std:: path:: PathBuf ;
@@ -50,23 +48,18 @@ struct BuilderConfig {
5048 requires( "empty-payloads" )
5149 ) ]
5250 default_fee_recipient : Option < Address > ,
53- #[ clap( long, help = "Client mode" ) ]
54- client_mode : bool ,
5551}
5652
5753#[ instrument]
5854#[ tokio:: main]
59- async fn main ( ) -> color_eyre :: eyre :: Result < ( ) > {
55+ async fn main ( ) -> Result < ( ) , String > {
6056 let builder_config: BuilderConfig = BuilderConfig :: parse ( ) ;
6157 let log_level: LevelFilter = builder_config. log_level . into ( ) ;
6258
63- // Initialize logging.
64- // color_eyre::install()?;
65- // Create a filter that allows logs from the binary and the execution_layer
66- // Create filter with your existing log level
59+ // Initialize logging
6760 let filter = EnvFilter :: builder ( )
6861 . with_default_directive ( LevelFilter :: OFF . into ( ) )
69- . parse ( & format ! (
62+ . parse ( format ! (
7063 "rustic_builder={},execution_layer={}" ,
7164 log_level, log_level
7265 ) )
@@ -85,20 +78,22 @@ async fn main() -> color_eyre::eyre::Result<()> {
8578 tracing:: info!( "Starting mock relay" ) ;
8679
8780 let beacon_url = SensitiveUrl :: parse ( builder_config. beacon_node . as_str ( ) )
88- . map_err ( |e| eyre ! ( format!( "{e :?}" ) ) ) ?;
81+ . map_err ( |e| format ! ( "Failed to parse beacon URL: { :?}" , e ) ) ?;
8982 let beacon_client =
9083 eth2:: BeaconNodeHttpClient :: new ( beacon_url, Timeouts :: set_all ( Duration :: from_secs ( 12 ) ) ) ;
9184 let config = beacon_client
9285 . get_config_spec :: < types:: ConfigAndPreset > ( )
9386 . await
94- . map_err ( |e| eyre ! ( format!( "{e :?}" ) ) ) ?;
87+ . map_err ( |e| format ! ( "Failed to get config spec: { :?}" , e ) ) ?;
9588 let spec = ChainSpec :: from_config :: < MainnetEthSpec > ( config. data . config ( ) )
96- . ok_or ( eyre ! ( "unable to parse chain spec from config") ) ?;
89+ . ok_or_else ( || String :: from ( "Unable to parse chain spec from config") ) ?;
9790
9891 let url = SensitiveUrl :: parse ( builder_config. execution_endpoint . as_str ( ) )
99- . map_err ( |e| eyre ! ( format!( "{e :?}" ) ) ) ?;
92+ . map_err ( |e| format ! ( "Failed to parse execution endpoint URL: { :?}" , e ) ) ?;
10093
10194 // Convert slog logs from the EL to tracing logs.
95+ // TODO(pawan): get rid of this abomination once we switch
96+ // to tracing in lighthouse
10297 let drain = tracing_slog:: TracingSlogDrain ;
10398 let log_root = slog:: Logger :: root ( drain, slog:: o!( ) ) ;
10499
@@ -123,7 +118,7 @@ async fn main() -> color_eyre::eyre::Result<()> {
123118 task_executor. clone ( ) ,
124119 log_root. clone ( ) ,
125120 )
126- . map_err ( |e| eyre ! ( format!( "{e :?}" ) ) ) ?;
121+ . map_err ( |e| format ! ( "Failed to create execution layer: { :?}" , e ) ) ?;
127122
128123 let spec = Arc :: new ( spec) ;
129124 let mock_builder = execution_layer:: test_utils:: MockBuilder :: new (
@@ -152,33 +147,22 @@ async fn main() -> color_eyre::eyre::Result<()> {
152147 {
153148 async move {
154149 tracing:: info!( "Starting preparation service" ) ;
155- let result = builder_preparer. prepare_execution_layer ( ) . await ;
156- dbg ! ( & result ) ;
150+ let _result = builder_preparer. prepare_execution_layer ( ) . await ;
151+ tracing :: error! ( "Preparation service stopped" ) ;
157152 }
158153 } ,
159154 "preparation service" ,
160155 ) ;
161- tracing:: info!( "Listening on {listener :?}" ) ;
156+ tracing:: info!( "Listening on {:?}" , listener . local_addr ( ) ) ;
162157 let app = builder_server:: server:: new ( rustic_builder) ;
163158 task_executor. spawn (
164159 async {
165160 tracing:: info!( "Starting builder server" ) ;
166- axum:: serve ( listener, app) . await . expect ( "server failed" ) ; // or handle the error however you prefer
161+ axum:: serve ( listener, app) . await . expect ( "server failed" ) ;
167162 } ,
168163 "rustic_server" ,
169164 ) ;
170165
171- if builder_config. client_mode {
172- task_executor. spawn (
173- async move {
174- get_header :: < MainnetEthSpec > ( beacon_client. clone ( ) )
175- . await
176- . unwrap ( ) ;
177- } ,
178- "get_header_task" ,
179- ) ;
180- }
181-
182166 task_executor. exit ( ) . await ;
183167 tracing:: info!( "Shutdown complete." ) ;
184168
0 commit comments