@@ -23,7 +23,7 @@ use timeboost_sequencer::{Output, Sequencer};
23
23
use timeboost_types:: { BundleVariant , ConsensusTime , KeyStore } ;
24
24
use tokio:: select;
25
25
use tokio:: sync:: mpsc:: { self , Receiver , Sender } ;
26
- use tracing:: { info, warn} ;
26
+ use tracing:: { error , info, warn} ;
27
27
28
28
pub use conf:: { TimeboostConfig , TimeboostConfigBuilder } ;
29
29
pub use timeboost_builder as builder;
@@ -101,13 +101,26 @@ impl Timeboost {
101
101
// setup the websocket for contract event stream
102
102
let ws = WsConnect :: new ( self . config . chain_config . parent . ws_url . clone ( ) ) ;
103
103
// spawn the pubsub service (and backend) and the frontend is registered at the provider
104
- let provider = ProviderBuilder :: new ( ) . connect_pubsub_with ( ws) . await ?;
104
+ let provider = ProviderBuilder :: new ( )
105
+ . connect_pubsub_with ( ws)
106
+ . await
107
+ . map_err ( |err| {
108
+ error ! ( ?err, "event pubsub failed to start" ) ;
109
+ err
110
+ } ) ?;
105
111
106
112
let filter = Filter :: new ( )
107
113
. address ( self . config . chain_config . parent . key_manager_contract )
108
114
. event ( KeyManager :: CommitteeCreated :: SIGNATURE )
109
115
. from_block ( BlockNumberOrTag :: Finalized ) ;
110
- let mut events = provider. subscribe_logs ( & filter) . await ?. into_stream ( ) ;
116
+ let mut events = provider
117
+ . subscribe_logs ( & filter)
118
+ . await
119
+ . map_err ( |err| {
120
+ error ! ( ?err, "pubsub subscription failed" ) ;
121
+ err
122
+ } ) ?
123
+ . into_stream ( ) ;
111
124
112
125
loop {
113
126
select ! {
0 commit comments