@@ -256,7 +256,12 @@ where
256256 let head_at_source =
257257 read_head_at_source ( & source_client, metrics. as_ref ( ) , & best_finalized_relay_block)
258258 . await ?;
259- let is_update_required = is_update_required :: < P > ( head_at_source, head_at_target) ;
259+ let is_update_required = is_update_required :: < P > (
260+ head_at_source,
261+ head_at_target,
262+ best_finalized_relay_block,
263+ best_target_block,
264+ ) ;
260265
261266 if is_update_required {
262267 let ( head_proof, head_hash) = source_client
@@ -274,10 +279,12 @@ where
274279 } ) ?;
275280 log:: info!(
276281 target: "bridge" ,
277- "Submitting {} parachain ParaId({}) head update transaction to {}" ,
282+ "Submitting {} parachain ParaId({}) head update transaction to {}. Para hash at source relay {:?}: {:?} " ,
278283 P :: SourceRelayChain :: NAME ,
279284 P :: SourceParachain :: PARACHAIN_ID ,
280285 P :: TargetChain :: NAME ,
286+ best_finalized_relay_block,
287+ head_hash,
281288 ) ;
282289
283290 let transaction_tracker = target_client
@@ -304,21 +311,25 @@ where
304311fn is_update_required < P : ParachainsPipeline > (
305312 head_at_source : AvailableHeader < HeaderIdOf < P :: SourceParachain > > ,
306313 head_at_target : Option < HeaderIdOf < P :: SourceParachain > > ,
314+ best_finalized_relay_block_at_source : HeaderIdOf < P :: SourceRelayChain > ,
315+ best_target_block : HeaderIdOf < P :: TargetChain > ,
307316) -> bool
308317where
309318 P :: SourceRelayChain : Chain < BlockNumber = RelayBlockNumber > ,
310319{
311320 log:: trace!(
312321 target: "bridge" ,
313322 "Checking if {} parachain ParaId({}) needs update at {}:\n \t \
314- At {}: {:?}\n \t \
315- At {}: {:?}",
323+ At {} ({:?}) : {:?}\n \t \
324+ At {} ({:?}) : {:?}",
316325 P :: SourceRelayChain :: NAME ,
317326 P :: SourceParachain :: PARACHAIN_ID ,
318327 P :: TargetChain :: NAME ,
319328 P :: SourceRelayChain :: NAME ,
329+ best_finalized_relay_block_at_source,
320330 head_at_source,
321331 P :: TargetChain :: NAME ,
332+ best_target_block,
322333 head_at_target,
323334 ) ;
324335
@@ -908,23 +919,37 @@ mod tests {
908919
909920 #[ test]
910921 fn parachain_is_not_updated_if_it_is_unavailable ( ) {
911- assert ! ( !is_update_required:: <TestParachainsPipeline >( AvailableHeader :: Unavailable , None ) ) ;
912922 assert ! ( !is_update_required:: <TestParachainsPipeline >(
913923 AvailableHeader :: Unavailable ,
914- Some ( HeaderId ( 10 , PARA_10_HASH ) )
924+ None ,
925+ Default :: default ( ) ,
926+ Default :: default ( ) ,
927+ ) ) ;
928+ assert ! ( !is_update_required:: <TestParachainsPipeline >(
929+ AvailableHeader :: Unavailable ,
930+ Some ( HeaderId ( 10 , PARA_10_HASH ) ) ,
931+ Default :: default ( ) ,
932+ Default :: default ( ) ,
915933 ) ) ;
916934 }
917935
918936 #[ test]
919937 fn parachain_is_not_updated_if_it_is_unknown_to_both_clients ( ) {
920- assert ! ( !is_update_required:: <TestParachainsPipeline >( AvailableHeader :: Missing , None ) , ) ;
938+ assert ! ( !is_update_required:: <TestParachainsPipeline >(
939+ AvailableHeader :: Missing ,
940+ None ,
941+ Default :: default ( ) ,
942+ Default :: default ( ) ,
943+ ) , ) ;
921944 }
922945
923946 #[ test]
924947 fn parachain_is_not_updated_if_target_has_better_head ( ) {
925948 assert ! ( !is_update_required:: <TestParachainsPipeline >(
926949 AvailableHeader :: Available ( HeaderId ( 10 , Default :: default ( ) ) ) ,
927950 Some ( HeaderId ( 20 , Default :: default ( ) ) ) ,
951+ Default :: default ( ) ,
952+ Default :: default ( ) ,
928953 ) , ) ;
929954 }
930955
@@ -933,6 +958,8 @@ mod tests {
933958 assert ! ( is_update_required:: <TestParachainsPipeline >(
934959 AvailableHeader :: Missing ,
935960 Some ( HeaderId ( 20 , Default :: default ( ) ) ) ,
961+ Default :: default ( ) ,
962+ Default :: default ( ) ,
936963 ) , ) ;
937964 }
938965
@@ -941,6 +968,8 @@ mod tests {
941968 assert ! ( is_update_required:: <TestParachainsPipeline >(
942969 AvailableHeader :: Available ( HeaderId ( 30 , Default :: default ( ) ) ) ,
943970 None ,
971+ Default :: default ( ) ,
972+ Default :: default ( ) ,
944973 ) , ) ;
945974 }
946975
@@ -949,6 +978,8 @@ mod tests {
949978 assert ! ( is_update_required:: <TestParachainsPipeline >(
950979 AvailableHeader :: Available ( HeaderId ( 40 , Default :: default ( ) ) ) ,
951980 Some ( HeaderId ( 30 , Default :: default ( ) ) ) ,
981+ Default :: default ( ) ,
982+ Default :: default ( ) ,
952983 ) , ) ;
953984 }
954985}
0 commit comments