code: def get_logs_multipart(
          w3,
          startBlock,
          stopBlock,
          address,
          topics,
          max_blocks):
      
      _block_ranges = block_ranges(startBlock, stopBlock, max_blocks)
      for from_block, to_block in _block_ranges:
          params = {
              'fromBlock': from_block,
              'toBlock': to_block,
              'address': address,
              'topics': topics
          }
          yield w3.eth.getLogs(
              drop_items_with_none_value(params))
docs: Used to break up requests to ``eth_getLogs``
  
      The getLog request is partitioned into multiple calls of the max number of blocks
      ``max_blocks``.