Source code for mythril.analysis.issue_annotation

from typing import List

from mythril.analysis.report import Issue
from mythril.laser.ethereum.state.annotation import StateAnnotation
from mythril.laser.smt import Bool
from copy import deepcopy


[docs]class IssueAnnotation(StateAnnotation): def __init__(self, conditions: List[Bool], issue: Issue, detector): """ Issue Annotation to propogate issues - conditions: A list of independent conditions [a, b, c, ...] Each of these have to be independently be satisfied - issue: The issue of the annotation - detector: The detection module """ self.conditions = conditions self.issue = issue self.detector = detector
[docs] def persist_to_world_state(self) -> bool: return True
@property def persist_over_calls(self) -> bool: return True def __copy__(self): return IssueAnnotation( conditions=deepcopy(self.conditions), issue=self.issue, detector=self.detector, )