@@ -837,7 +837,10 @@ mod tests {
837837 } ,
838838 mock:: * ,
839839 } ;
840- use bp_messages:: { InboundLaneData , MessageNonce , OutboundLaneData , UnrewardedRelayersState } ;
840+ use bp_messages:: {
841+ DeliveredMessages , InboundLaneData , MessageNonce , OutboundLaneData , UnrewardedRelayer ,
842+ UnrewardedRelayersState ,
843+ } ;
841844 use bp_parachains:: { BestParaHeadHash , ParaInfo } ;
842845 use bp_polkadot_core:: parachains:: { ParaHeadsProof , ParaId } ;
843846 use bp_runtime:: HeaderId ;
@@ -2186,4 +2189,38 @@ mod tests {
21862189 ) ;
21872190 } ) ;
21882191 }
2192+
2193+ #[ test]
2194+ fn does_not_panic_on_boosting_priority_of_empty_message_delivery_transaction ( ) {
2195+ run_test ( || {
2196+ let best_delivered_message = MaxUnconfirmedMessagesAtInboundLane :: get ( ) ;
2197+ initialize_environment ( 100 , 100 , best_delivered_message) ;
2198+
2199+ // register relayer so it gets priority boost
2200+ BridgeRelayers :: register ( RuntimeOrigin :: signed ( relayer_account_at_this_chain ( ) ) , 1000 )
2201+ . unwrap ( ) ;
2202+
2203+ // allow empty message delivery transactions
2204+ let lane_id = TestLaneId :: get ( ) ;
2205+ let in_lane_data = InboundLaneData {
2206+ last_confirmed_nonce : 0 ,
2207+ relayers : vec ! [ UnrewardedRelayer {
2208+ relayer: relayer_account_at_bridged_chain( ) ,
2209+ messages: DeliveredMessages { begin: 1 , end: best_delivered_message } ,
2210+ } ]
2211+ . into ( ) ,
2212+ } ;
2213+ pallet_bridge_messages:: InboundLanes :: < TestRuntime > :: insert ( lane_id, in_lane_data) ;
2214+
2215+ // now check that the priority of empty tx is the same as priority of 1-message tx
2216+ let priority_of_zero_messages_delivery =
2217+ run_validate ( message_delivery_call ( best_delivered_message) ) . unwrap ( ) . priority ;
2218+ let priority_of_one_messages_delivery =
2219+ run_validate ( message_delivery_call ( best_delivered_message + 1 ) )
2220+ . unwrap ( )
2221+ . priority ;
2222+
2223+ assert_eq ! ( priority_of_zero_messages_delivery, priority_of_one_messages_delivery) ;
2224+ } ) ;
2225+ }
21892226}
0 commit comments