docs: def file_verify( sender_blockchain_id, sender_key_id, input_path, sig, config_path=CONFIG_PATH, wallet_keys=None ):
      """
      Verify that a file was signed with the given blockchain ID
      @config_path should be for the *client*, not blockstack-file
      Return {'status': True} on succes
      Return {'error': ...} on error
      """
      config_dir = os.path.dirname(config_path)
      old_key = False
      old_key_index = 0
      sender_old_key_index = 0
  
      # get the sender key 
      sender_key_info = file_key_lookup( sender_blockchain_id, None, None, key_id=sender_key_id, config_path=config_path, wallet_keys=wallet_keys ) 
      if 'error' in sender_key_info:
          log.error("Failed to look up sender key: %s" % sender_key_info['error'])
          return {'error': 'Failed to lookup sender key'}
  
      if 'stale_key_index' in sender_key_info.keys():
          old_key = True
          sender_old_key_index = sender_key_info['sender_key_index']
  
      # attempt to verify 
      res = blockstack_gpg.gpg_verify( input_path, sig, sender_key_info, config_dir=config_dir )
      if 'error' in res:
          log.error("Failed to verify from %s.%s" % (sender_blockchain_id, sender_key_id))
          return {'error': 'Failed to verify'}
  
      return {'status': True}