diff --git a/pallets/route-executor/src/lib.rs b/pallets/route-executor/src/lib.rs index b7f31c6e3..5e8713ddb 100644 --- a/pallets/route-executor/src/lib.rs +++ b/pallets/route-executor/src/lib.rs @@ -260,7 +260,7 @@ pub mod pallet { ensure!(first_trade.amount_in <= max_amount_in, Error::::TradingLimitReached); let route_length = route.len(); - let next_event_id = T::BatchIdProvider::next_id(); + let next_event_id = T::BatchIdProvider::next_id().map_err(|_| ArithmeticError::Overflow)?; for (trade_index, (trade_amount, trade)) in trade_amounts.iter().rev().zip(route).enumerate() { Self::disable_ed_handling_for_insufficient_assets(route_length, trade_index, trade); let user_balance_of_asset_out_before_trade = @@ -493,7 +493,7 @@ impl Pallet { ); let route_length = route.len(); - let next_event_id = T::BatchIdProvider::next_id(); + let next_event_id = T::BatchIdProvider::next_id().map_err(|_| ArithmeticError::Overflow)?; for (trade_index, (trade_amount, trade)) in trade_amounts.iter().zip(route.clone()).enumerate() { Self::disable_ed_handling_for_insufficient_assets(route_length, trade_index, trade);