@@ -22,7 +22,7 @@ pub struct Stage {
2222 storage : Arc < SqliteTransaction > ,
2323 priority : Arc < Priority > ,
2424 u5c_adapter : Arc < dyn U5cDataAdapter > ,
25- secret_adapter : Arc < dyn SigningAdapter > ,
25+ signing_adapter : Option < Arc < dyn SigningAdapter > > ,
2626 config : Config ,
2727 pub output : OutputPort < Vec < u8 > > ,
2828}
@@ -32,14 +32,14 @@ impl Stage {
3232 storage : Arc < SqliteTransaction > ,
3333 priority : Arc < Priority > ,
3434 u5c_adapter : Arc < dyn U5cDataAdapter > ,
35- secret_adapter : Arc < dyn SigningAdapter > ,
35+ signing_adapter : Option < Arc < dyn SigningAdapter > > ,
3636 config : Config ,
3737 ) -> Self {
3838 Self {
3939 storage,
4040 priority,
4141 u5c_adapter,
42- secret_adapter ,
42+ signing_adapter ,
4343 config,
4444 output : Default :: default ( ) ,
4545 }
@@ -91,13 +91,13 @@ impl gasket::framework::Worker<Stage> for Worker {
9191 . config
9292 . queues
9393 . get ( & tx. queue )
94- . map ( |config| config . server_signing )
95- . unwrap_or ( false ) ;
94+ . ok_or ( WorkerError :: Retry ) ?
95+ . server_signing ;
9696
9797 if should_sign {
98- info ! ( "Signing transaction {} with server key" , tx . id ) ;
99- tx. raw = stage . secret_adapter . sign ( tx. raw ) . await . or_retry ( ) ?;
100- info ! ( "Transaction {} signed successfully" , tx . id ) ;
98+ let signer = stage . signing_adapter . as_ref ( ) . ok_or ( WorkerError :: Retry ) ? ;
99+ tx. raw = signer . sign ( tx. raw ) . await . or_retry ( ) ?;
100+ info ! ( tx_id = %tx . id , "Transaction signed with server key" ) ;
101101 }
102102
103103 let metx = MultiEraTx :: decode ( & tx. raw ) . map_err ( |_| WorkerError :: Recv ) ?;
0 commit comments