def validate_receipt(cls, receipt: ReceiptAPI) -> None: already_checked: Set[Union[Address, int]] = set() for log_idx, log in enumerate(receipt.logs): if log.address in already_checked: continue elif log.address not in receipt.bloom_filter: raise ValidationError( f"The address from the log entry at position {log_idx} is not " "present in the provided bloom filter.") already_checked.add(log.address) for log_idx, log in enumerate(receipt.logs): for topic_idx, topic in enumerate(log.topics): if topic in already_checked: continue elif uint32.serialize(topic) not in receipt.bloom_filter: raise ValidationError( f"The topic at position {topic_idx} from the log entry at " f"position {log_idx} is not present in the provided bloom filter." ) already_checked.add(topic)
def validate_receipt(cls, receipt: Receipt) -> None: already_checked: Set[Hash32] = set() for log_idx, log in enumerate(receipt.logs): if log.address in already_checked: continue elif log.address not in receipt.bloom_filter: raise ValidationError( "The address from the log entry at position {0} is not " "present in the provided bloom filter.".format(log_idx)) already_checked.add(log.address) for log_idx, log in enumerate(receipt.logs): for topic_idx, topic in enumerate(log.topics): if topic in already_checked: continue elif uint32.serialize(topic) not in receipt.bloom_filter: raise ValidationError( "The topic at position {0} from the log entry at " "position {1} is not present in the provided bloom " "filter.".format(topic_idx, log_idx)) already_checked.add(topic)