code: def createFilter(
              self, *,  # PEP 3102
              argument_filters=None,
              fromBlock=None,
              toBlock="latest",
              address=None,
              topics=None):
          
          if fromBlock is None:
              raise TypeError("Missing mandatory keyword argument to createFilter: fromBlock")
  
          if argument_filters is None:
              argument_filters = dict()
  
          _filters = dict(**argument_filters)
  
          event_abi = self._get_event_abi()
  
          check_for_forbidden_api_filter_arguments(event_abi, _filters)
  
          _, event_filter_params = construct_event_filter_params(
              self._get_event_abi(),
              contract_address=self.address,
              argument_filters=_filters,
              fromBlock=fromBlock,
              toBlock=toBlock,
              address=address,
              topics=topics,
          )
  
          filter_builder = EventFilterBuilder(event_abi)
          filter_builder.address = event_filter_params.get('address')
          filter_builder.fromBlock = event_filter_params.get('fromBlock')
          filter_builder.toBlock = event_filter_params.get('toBlock')
          match_any_vals = {
              arg: value for arg, value in _filters.items()
              if not is_array_type(filter_builder.args[arg].arg_type) and is_list_like(value)
          }
          for arg, value in match_any_vals.items():
              filter_builder.args[arg].match_any(*value)
  
          match_single_vals = {
              arg: value for arg, value in _filters.items()
              if not is_array_type(filter_builder.args[arg].arg_type) and not is_list_like(value)
          }
          for arg, value in match_single_vals.items():
              filter_builder.args[arg].match_single(value)
  
          log_filter = filter_builder.deploy(self.web3)
          log_filter.log_entry_formatter = get_event_data(self._get_event_abi())
          log_filter.builder = filter_builder
  
          return log_filter
docs: Create filter object that tracks logs emitted by this contract event.
          :param filter_params: other parameters to limit the events