Merge branch 'develop' of github.com:ConsenSys/mythril into config-change

config-change
Nikhil Parasaram 11 months ago
commit 5516926b19
  1. 2
      mythril/__version__.py
  2. 2
      mythril/analysis/issue_annotation.py
  3. 2
      mythril/laser/ethereum/cfg.py
  4. 2
      mythril/laser/ethereum/natives.py
  5. 2
      mythril/laser/ethereum/svm.py
  6. 2
      mythril/laser/ethereum/transaction/transaction_models.py
  7. 2
      mythril/laser/plugin/plugins/mutation_pruner.py

@ -4,4 +4,4 @@ This file is suitable for sourcing inside POSIX shell, e.g. bash as well
as for importing into Python. as for importing into Python.
""" """
__version__ = "v0.24.2" __version__ = "v0.24.3"

@ -9,7 +9,7 @@ from copy import deepcopy
class IssueAnnotation(StateAnnotation): class IssueAnnotation(StateAnnotation):
def __init__(self, conditions: List[Bool], issue: Issue, detector): def __init__(self, conditions: List[Bool], issue: Issue, detector):
""" """
Issue Annotation to propogate issues Issue Annotation to propagate issues
- conditions: A list of independent conditions [a, b, c, ...] - conditions: A list of independent conditions [a, b, c, ...]
Each of these have to be independently be satisfied Each of these have to be independently be satisfied
- issue: The issue of the annotation - issue: The issue of the annotation

@ -79,7 +79,7 @@ class Node:
class Edge: class Edge:
"""The respresentation of a call graph edge.""" """The representation of a call graph edge."""
def __init__( def __init__(
self, self,

@ -94,7 +94,7 @@ def ecrecover(data: List[int]) -> List[int]:
try: try:
pub = ecrecover_to_pub(message, v, r, s) pub = ecrecover_to_pub(message, v, r, s)
except Exception as e: except Exception as e:
log.debug("An error has occured while extracting public key: " + str(e)) log.debug("An error has occurred while extracting public key: " + str(e))
return [] return []
o = [0] * 12 + [x for x in sha3(pub)[-20:]] o = [0] * 12 + [x for x in sha3(pub)[-20:]]
return list(bytearray(o)) return list(bytearray(o))

@ -711,7 +711,7 @@ class LaserEVM:
self.instr_post_hook[opcode].append(hook) self.instr_post_hook[opcode].append(hook)
def instr_hook(self, hook_type, opcode) -> Callable: def instr_hook(self, hook_type, opcode) -> Callable:
"""Registers the annoted function with register_instr_hooks """Registers the annotated function with register_instr_hooks
:param hook_type: Type of hook pre/post :param hook_type: Type of hook pre/post
:param opcode: The opcode related to the function :param opcode: The opcode related to the function

@ -1,4 +1,4 @@
"""This module contians the transaction models used throughout LASER's symbolic """This module contains the transaction models used throughout LASER's symbolic
execution.""" execution."""
from copy import deepcopy from copy import deepcopy

@ -47,7 +47,7 @@ class MutationPruner(LaserPlugin):
global_state.annotate(MutationAnnotation()) global_state.annotate(MutationAnnotation())
"""FIXME: Check for changes in world_state.balances instead of adding MutationAnnotation for all calls. """FIXME: Check for changes in world_state.balances instead of adding MutationAnnotation for all calls.
Requires world_state.starting_balances to be initalized at every tx start *after* call value has been added. Requires world_state.starting_balances to be initialized at every tx start *after* call value has been added.
""" """
@symbolic_vm.pre_hook("CALL") @symbolic_vm.pre_hook("CALL")

Loading…
Cancel
Save