code: def _channel_exists_and_not_settled(
              self,
              participant1: Address,
              participant2: Address,
              block_identifier: BlockSpecification,
              channel_identifier: ChannelID = None,
      ) -> bool:
          
          try:
              channel_state = self._get_channel_state(
                  participant1=participant1,
                  participant2=participant2,
                  block_identifier=block_identifier,
                  channel_identifier=channel_identifier,
              )
          except RaidenRecoverableError:
              return False
          exists_and_not_settled = (
              channel_state > ChannelState.NONEXISTENT and
              channel_state < ChannelState.SETTLED
          )
          return exists_and_not_settled
docs: Returns if the channel exists and is in a non-settled state