<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def get_purchased_assets_by_address(self, address, from_block=0, to_block='latest'):
 """ Get the list of the assets dids consumed for an address. :param address: is the address of the granted user, hex-str :param from_block: block to start to listen :param to_block: block to stop to listen :return: list of dids """

        block_filter = EventFilter(
            ConditionBase.FULFILLED_EVENT,
            getattr(self.events, ConditionBase.FULFILLED_EVENT),
            from_block=from_block,
            to_block=to_block,
            argument_filters={'_grantee': address}
        )
        log_items = block_filter.get_all_entries(max_tries=5)
        did_list = []
        for log_i in log_items:
            did_list.append(id_to_did(log_i.args['_documentId']))

        return did_list