https://github.com/trailofbits/manticore
Raw File
Tip revision: 5d70e1d5f413ef2ebca4f805e26b77c544a1e1ef authored by disconnect3d on 13 February 2019, 16:27:29 UTC
Inline EVM's get_possible_solutions
Tip revision: 5d70e1d
exceptions.py
"""
Public subclasses of Exception
"""


class ManticoreError(Exception):
    """
    Top level Exception object for custom exception hierarchy
    """
    pass


class ExecutorError(ManticoreError):
    pass


# Smtlib

class SmtlibError(ManticoreError):
    pass


class Z3NotFoundError(SmtlibError):
    pass


class SolverError(SmtlibError):
    pass


class SolverUnknown(SolverError):
    pass


class TooManySolutions(SolverError):
    def __init__(self, solutions):
        super().__init__("Max number of different solutions hit")
        self.solutions = solutions


# Ethereum


class EthereumError(ManticoreError):
    pass


class DependencyError(EthereumError):
    def __init__(self, lib_names):
        super().__init__("You must pre-load and provide libraries addresses{ libname:address, ...} for %r" % lib_names)
        self.lib_names = lib_names


class NoAliveStates(EthereumError):
    pass


back to top