pull/1828/head
Santala 1 year ago committed by GitHub
parent 960377f5cd
commit 460e9da50c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 2
      mythril/analysis/issue_annotation.py
  2. 2
      mythril/laser/ethereum/cfg.py
  3. 2
      mythril/laser/ethereum/natives.py
  4. 2
      mythril/laser/ethereum/svm.py
  5. 2
      mythril/laser/ethereum/transaction/transaction_models.py
  6. 2
      mythril/laser/plugin/plugins/mutation_pruner.py

@ -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