/// It will ensure that the associated relay block number monotonically increases between Parachain
/// `host_config.max_upward_queue_size / THRESHOLD_FACTOR` is the threshold after which delivery
/// The segment length is limited by the capacity returned from the [`ConsensusHook`] configured
/// An option which indicates if the relay-chain restricts signalling a validation code upgrade.
pub fn send_upward_message(message: UpwardMessage) -> Result<(u32, XcmHash), MessageSendError> {
/// Called when the validation code is being applied, aka from the next block on this is the new
/// Holds the most recent relay-parent state root and block number of the current parachain block.
/// Implements [`BlockNumberProvider`] that returns relay chain block number fetched from validation
/// When validation data is not available (e.g. within `on_initialize`), it will fallback to use
/// Implements [`BlockNumberProvider`] and [`RelaychainStateProvider`] that returns relevant relay
/// - [`current_relay_chain_state`](Self::current_relay_chain_state): Will return the default value