Check if pairwise is exists.

    :param wallet_handle: wallet handler (created by open_wallet).
    :param their_did: encoded Did.
    :return: true - if pairwise is exists, false - otherwise

async def is_pairwise_exists(wallet_handle: int,
                             their_did: str) -> bool:
    """
    Check if pairwise is exists.

    :param wallet_handle: wallet handler (created by open_wallet).
    :param their_did: encoded Did.
    :return: true - if pairwise is exists, false - otherwise
    """

    logger = logging.getLogger(__name__)
    logger.debug("is_pairwise_exists: >>> wallet_handle: %r, their_did: %r",
                 wallet_handle,
                 their_did)

    if not hasattr(is_pairwise_exists, "cb"):
        logger.debug("is_pairwise_exists: Creating callback")
        is_pairwise_exists.cb = create_cb(CFUNCTYPE(None, c_int32, c_int32, c_bool))

    c_wallet_handle = c_int32(wallet_handle)
    c_their_did = c_char_p(their_did.encode('utf-8'))

    res = await do_call('indy_is_pairwise_exists',
                        c_wallet_handle,
                        c_their_did,
                        is_pairwise_exists.cb)

    logger.debug("is_pairwise_exists: <<< res: %r", res)
    return res