def contains_storage_reference(trace):
    """
    Searches the traces constraint list for references to the storage that holds contract state. Checking the
    constraints is sufficient as they depict the reachability of the trace(chain).
    :param trace: containing the constraints that are searched.
    :return: if the trace constraints contain variables referencing storage.
    """
    for t_constraint in trace.tran_constraints:
        if any(map(lambda n: n.startswith("storage["), t_constraint.slot_names)):
            return True
    return False