• Serban Iorga's avatar
    Replace `BATCH_CALL_SUPPORTED` (#1733) · e47f1e42
    Serban Iorga authored and Bastian Köcher's avatar Bastian Köcher committed
    * Simplify submit_and_watch_signed_extrinsic
    
    The way submit_and_watch_signed_extrinsic is used now, we can always
    derive the SignParam from other params. If in the future we need more
    customization possibilities, we can define a new method.
    
    * Simplify submit_signed_extrinsic
    
    * Send maybe_batch_tx as a parameter
    
    Send `maybe_batch_tx` as a parameter to `submit_proof()`. This way we
    can deduplicate the logic that submits the extrinsic for
    `messages_source and `messages_target` and we can simplify the logic in
    the race loop a bit.
    
    * Define BatchProofTransaction
    
    Deduplicate BatchConfirmationTransaction and BatchDeliveryTransaction by
    replacing both of them with BatchProofTransaction
    
    * Define ChainWithUtilityPallet and BatchCallBuilderConstructor
    
    - Define `ChainWithUtilityPallet` in order to be able to associate the
      batching functionality with chains
    - Defining `BatchCallBuilderConstructor` in order to have a more reliable
      way of checking whether an end of a messages pipeline supports batching
      or no. `BatchCallBuilderConstructor::new_builder()` returns an
      `Option<BatchCallBuilder>`.This is a bit safer because each time a caller
      tries to start creating a batch call, it will call `new_builder()` and
      will be required to handle the returned `Option`. Before we only had a
      bool `BATCH_CALL_SUPPORTED` the caller could have forgetten to check.
    e47f1e42