https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_getlogs

        :param from_block: Block tag or number (optional)
        :type from_block: int or BLOCK_TAGS

        :param to_block: Block tag or number (optional)
        :type to_block: int or BLOCK_TAGS

        :param address: Contract address (optional)
        :type address: str

        :param topics: Topics (optional)
        :type topics: list

        :return: logs
        :rtype: list

def eth_getLogs(self, from_block=BLOCK_TAG_LATEST,
                    to_block=BLOCK_TAG_LATEST, address=None, topics=None):
        """https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_getlogs

        :param from_block: Block tag or number (optional)
        :type from_block: int or BLOCK_TAGS

        :param to_block: Block tag or number (optional)
        :type to_block: int or BLOCK_TAGS

        :param address: Contract address (optional)
        :type address: str

        :param topics: Topics (optional)
        :type topics: list

        :return: logs
        :rtype: list
        """
        obj = {
            'fromBlock': validate_block(from_block),
            'toBlock': validate_block(to_block),
            'address': address,
            'topics': topics
        }
        result = yield from self.rpc_call('eth_getLogs', [obj])
        return result