#[derive(RuntimeDebug, PartialEq, Eq, Encode, Decode, Clone, TypeInfo, Serialize, Deserialize)]
/// Validate if particular account id and public key pair belongs to a collator and the collator
/// Additional ttl for in flight orders (total would be CoreBuyingXCMQueryTtl + AdditionalTtlForInflightOrders)
/// Used to avoid 2 collators buying a core at the same time, because it is only possible to buy
#[pallet::weight(T::WeightInfo::clean_up_expired_in_flight_orders(expired_pending_blocks_para_id.len() as u32))]
#[pallet::weight(T::WeightInfo::clean_up_expired_in_flight_orders(expired_in_flight_orders.len() as u32))]
// Need to use `builder_unsafe` because safe `builder` does not allow `descend_origin` as first instruction.
.map_err(|_| Error::<T>::LocationInversionFailed)?, // This location from the point of view of destination