docs: async def store_their_did(wallet_handle: int,
                            identity_json: str) -> None:
      """
      Saves their DID for a pairwise connection in a secured Wallet,
      so that it can be used to verify transaction.
  
      :param wallet_handle: wallet handler (created by open_wallet).
      :param identity_json: Identity information as json. Example:
          {
             "did": string, (required)
             "verkey": string (optional, if only pk is provided),
             "crypto_type": string, (optional; if not set then ed25519 curve is used;
                    currently only 'ed25519' value is supported for this field)
          }
      :return: None
      """
  
      logger = logging.getLogger(__name__)
      logger.debug("store_their_did: >>> wallet_handle: %r, identity_json: %r",
                   wallet_handle,
                   identity_json)
  
      if not hasattr(store_their_did, "cb"):
          logger.debug("store_their_did: Creating callback")
          store_their_did.cb = create_cb(CFUNCTYPE(None, c_int32, c_int32))
  
      c_wallet_handle = c_int32(wallet_handle)
      c_identity_json = c_char_p(identity_json.encode('utf-8'))
  
      res = await do_call('indy_store_their_did',
                          c_wallet_handle,
                          c_identity_json,
                          store_their_did.cb)
  
      logger.debug("store_their_did: <<< res: %r", res)
      return res