pub fn generate_inbound_signed_message_receiver_fn<SM: StateMachineHandler<BI> + 'static, BI: BlockchainInterface + 'static>(
    params: AsyncProtocolParameters<BI, MaxAuthorities>,
    channel_type: ProtocolType<<BI as BlockchainInterface>::BatchId, <BI as BlockchainInterface>::MaxProposalLength, <BI as BlockchainInterface>::MaxProposalsInBatch, <BI as BlockchainInterface>::Clock>,
    to_async_proto: UnboundedSender<Msg<<SM as StateMachine>::MessageBody>>
) -> impl SendFuture<'static, ()>where
    <SM as StateMachine>::MessageBody: Send,
    <SM as StateMachine>::Output: Send,