mirror of https://github.com/ConsenSys/mythril
commit
4b704766ee
@ -1,19 +0,0 @@ |
|||||||
[[source]] |
|
||||||
url = "https://pypi.python.org/simple" |
|
||||||
verify_ssl = true |
|
||||||
name = "pypi" |
|
||||||
|
|
||||||
[packages] |
|
||||||
"e1839a8" = {path = ".", editable = true} |
|
||||||
|
|
||||||
[dev-packages] |
|
||||||
pylint = "*" |
|
||||||
yapf = "*" |
|
||||||
pytest = "*" |
|
||||||
pytest-mock = "*" |
|
||||||
pytest-cov = "*" |
|
||||||
|
|
||||||
[requires] |
|
||||||
|
|
||||||
[pipenv] |
|
||||||
allow_prereleases = true |
|
@ -1,6 +1,6 @@ |
|||||||
What is Mythril Classic? |
What is Mythril? |
||||||
======================== |
======================== |
||||||
|
|
||||||
Mythril Classic is a security analysis tool for Ethereum smart contracts. It was `introduced at HITBSecConf 2018 <https://github.com/b-mueller/smashing-smart-contracts/blob/master/smashing-smart-contracts-1of1.pdf>`_. |
Mythril is a security analysis tool for Ethereum smart contracts. It was `introduced at HITBSecConf 2018 <https://github.com/b-mueller/smashing-smart-contracts/blob/master/smashing-smart-contracts-1of1.pdf>`_. |
||||||
|
|
||||||
Mythril Classic detects a range of security issues, including integer underflows, owner-overwrite-to-Ether-withdrawal, and others. Note that Mythril is targeted at finding common vulnerabilities, and is not able to discover issues in the business logic of an application. Furthermore, Mythril and symbolic executors are generally unsound, as they are often unable to explore all possible states of a program. |
Mythril detects a range of security issues, including integer underflows, owner-overwrite-to-Ether-withdrawal, and others. Note that Mythril is targeted at finding common vulnerabilities, and is not able to discover issues in the business logic of an application. Furthermore, Mythril and symbolic executors are generally unsound, as they are often unable to explore all possible states of a program. |
||||||
|
@ -1,4 +1,4 @@ |
|||||||
Creating a Module |
Creating a Module |
||||||
================= |
================= |
||||||
|
|
||||||
Create a module in the :code:`analysis/modules` directory, and create an instance of a class that inherits :code:`DetectionModule` named :code:`detector`. Take a look at the `suicide module <https://github.com/ConsenSys/mythril-classic/blob/develop/mythril/analysis/modules/suicide.py>`_ as an example. |
Create a module in the :code:`analysis/modules` directory, and create an instance of a class that inherits :code:`DetectionModule` named :code:`detector`. Take a look at the `suicide module <https://github.com/ConsenSys/mythril/blob/develop/mythril/analysis/modules/suicide.py>`_ as an example. |
||||||
|
@ -0,0 +1,127 @@ |
|||||||
|
"""This module contains the detection code SWC-128 - DOS with block gas limit.""" |
||||||
|
|
||||||
|
import logging |
||||||
|
from typing import Dict, cast, List |
||||||
|
|
||||||
|
from mythril.analysis.swc_data import DOS_WITH_BLOCK_GAS_LIMIT |
||||||
|
from mythril.analysis.report import Issue |
||||||
|
from mythril.analysis.modules.base import DetectionModule |
||||||
|
from mythril.laser.ethereum.state.global_state import GlobalState |
||||||
|
from mythril.laser.ethereum.state.annotation import StateAnnotation |
||||||
|
from mythril.laser.ethereum import util |
||||||
|
|
||||||
|
log = logging.getLogger(__name__) |
||||||
|
|
||||||
|
|
||||||
|
class LoopAnnotation(StateAnnotation): |
||||||
|
def __init__(self, loop_start: int, loop_end: int) -> None: |
||||||
|
self.loop_start = loop_start |
||||||
|
self.loop_end = loop_end |
||||||
|
|
||||||
|
def contains(self, address: int) -> bool: |
||||||
|
return self.loop_start < address < self.loop_end |
||||||
|
|
||||||
|
|
||||||
|
class DOS(DetectionModule): |
||||||
|
"""This module consists of a makeshift loop detector that annotates the state with |
||||||
|
a list of byte ranges likely to be loops. If a CALL or SSTORE detection is found in |
||||||
|
one of the ranges it creates a low-severity issue. This is not super precise but |
||||||
|
good enough to identify places that warrant a closer look. Checking the loop condition |
||||||
|
would be a possible improvement. |
||||||
|
""" |
||||||
|
|
||||||
|
def __init__(self) -> None: |
||||||
|
"""""" |
||||||
|
super().__init__( |
||||||
|
name="DOS", |
||||||
|
swc_id=DOS_WITH_BLOCK_GAS_LIMIT, |
||||||
|
description="Check for DOS", |
||||||
|
entrypoint="callback", |
||||||
|
pre_hooks=["JUMPI", "CALL", "SSTORE"], |
||||||
|
) |
||||||
|
|
||||||
|
"""Keeps track of how often jump destinations are reached.""" |
||||||
|
self._jumpdest_count = {} # type: Dict[object, dict] |
||||||
|
|
||||||
|
def _execute(self, state: GlobalState) -> None: |
||||||
|
|
||||||
|
""" |
||||||
|
:param state: |
||||||
|
:return: |
||||||
|
""" |
||||||
|
|
||||||
|
self._issues.extend(self._analyze_states(state)) |
||||||
|
|
||||||
|
def _analyze_states(self, state: GlobalState) -> List[Issue]: |
||||||
|
""" |
||||||
|
:param state: the current state |
||||||
|
:return: returns the issues for that corresponding state |
||||||
|
""" |
||||||
|
|
||||||
|
opcode = state.get_current_instruction()["opcode"] |
||||||
|
address = state.get_current_instruction()["address"] |
||||||
|
|
||||||
|
if opcode == "JUMPI": |
||||||
|
|
||||||
|
target = util.get_concrete_int(state.mstate.stack[-1]) |
||||||
|
|
||||||
|
transaction = state.current_transaction |
||||||
|
if state.current_transaction in self._jumpdest_count: |
||||||
|
|
||||||
|
try: |
||||||
|
self._jumpdest_count[transaction][target] += 1 |
||||||
|
if self._jumpdest_count[transaction][target] == 3: |
||||||
|
|
||||||
|
annotation = ( |
||||||
|
LoopAnnotation(address, target) |
||||||
|
if target > address |
||||||
|
else LoopAnnotation(target, address) |
||||||
|
) |
||||||
|
|
||||||
|
state.annotate(annotation) |
||||||
|
except KeyError: |
||||||
|
self._jumpdest_count[transaction][target] = 0 |
||||||
|
|
||||||
|
else: |
||||||
|
self._jumpdest_count[transaction] = {} |
||||||
|
self._jumpdest_count[transaction][target] = 0 |
||||||
|
|
||||||
|
else: |
||||||
|
|
||||||
|
annotations = cast( |
||||||
|
List[LoopAnnotation], list(state.get_annotations(LoopAnnotation)) |
||||||
|
) |
||||||
|
|
||||||
|
for annotation in annotations: |
||||||
|
|
||||||
|
if annotation.contains(address): |
||||||
|
|
||||||
|
operation = ( |
||||||
|
"A storage modification" |
||||||
|
if opcode == "SSTORE" |
||||||
|
else "An external call" |
||||||
|
) |
||||||
|
|
||||||
|
description_head = ( |
||||||
|
"Potential denial-of-service if block gas limit is reached." |
||||||
|
) |
||||||
|
description_tail = "{} is executed in a loop.".format(operation) |
||||||
|
|
||||||
|
issue = Issue( |
||||||
|
contract=state.environment.active_account.contract_name, |
||||||
|
function_name=state.environment.active_function_name, |
||||||
|
address=annotation.loop_start, |
||||||
|
swc_id=DOS_WITH_BLOCK_GAS_LIMIT, |
||||||
|
bytecode=state.environment.code.bytecode, |
||||||
|
title="Potential denial-of-service if block gas limit is reached", |
||||||
|
severity="Low", |
||||||
|
description_head=description_head, |
||||||
|
description_tail=description_tail, |
||||||
|
gas_used=(state.mstate.min_gas_used, state.mstate.max_gas_used), |
||||||
|
) |
||||||
|
return [issue] |
||||||
|
|
||||||
|
return [] |
||||||
|
|
||||||
|
|
||||||
|
detector = DOS() |
@ -0,0 +1,330 @@ |
|||||||
|
from mythril.laser.ethereum.svm import LaserEVM |
||||||
|
from mythril.laser.ethereum.plugins.plugin import LaserPlugin |
||||||
|
from mythril.laser.ethereum.plugins.signals import PluginSkipState |
||||||
|
from mythril.laser.ethereum.state.annotation import StateAnnotation |
||||||
|
from mythril.laser.ethereum.state.global_state import GlobalState |
||||||
|
from mythril.laser.ethereum.transaction.transaction_models import ( |
||||||
|
ContractCreationTransaction, |
||||||
|
) |
||||||
|
from mythril.exceptions import UnsatError |
||||||
|
from z3.z3types import Z3Exception |
||||||
|
from mythril.analysis import solver |
||||||
|
from typing import cast, List, Dict, Set |
||||||
|
from copy import copy |
||||||
|
import logging |
||||||
|
|
||||||
|
|
||||||
|
log = logging.getLogger(__name__) |
||||||
|
|
||||||
|
|
||||||
|
class DependencyAnnotation(StateAnnotation): |
||||||
|
"""Dependency Annotation |
||||||
|
|
||||||
|
This annotation tracks read and write access to the state during each transaction. |
||||||
|
""" |
||||||
|
|
||||||
|
def __init__(self): |
||||||
|
self.storage_loaded = [] # type: List |
||||||
|
self.storage_written = {} # type: Dict[int, List] |
||||||
|
self.has_call = False |
||||||
|
self.path = [0] # type: List |
||||||
|
|
||||||
|
def __copy__(self): |
||||||
|
result = DependencyAnnotation() |
||||||
|
result.storage_loaded = copy(self.storage_loaded) |
||||||
|
result.storage_written = copy(self.storage_written) |
||||||
|
result.path = copy(self.path) |
||||||
|
result.has_call = self.has_call |
||||||
|
return result |
||||||
|
|
||||||
|
def get_storage_write_cache(self, iteration: int): |
||||||
|
if iteration not in self.storage_written: |
||||||
|
self.storage_written[iteration] = [] |
||||||
|
|
||||||
|
return self.storage_written[iteration] |
||||||
|
|
||||||
|
def extend_storage_write_cache(self, iteration: int, value: object): |
||||||
|
if iteration not in self.storage_written: |
||||||
|
self.storage_written[iteration] = [value] |
||||||
|
else: |
||||||
|
if value not in self.storage_written[iteration]: |
||||||
|
self.storage_written[iteration].append(value) |
||||||
|
|
||||||
|
|
||||||
|
class WSDependencyAnnotation(StateAnnotation): |
||||||
|
"""Dependency Annotation for World state |
||||||
|
|
||||||
|
This world state annotation maintains a stack of state annotations. |
||||||
|
It is used to transfer individual state annotations from one transaction to the next. |
||||||
|
""" |
||||||
|
|
||||||
|
def __init__(self): |
||||||
|
self.annotations_stack = [] |
||||||
|
|
||||||
|
def __copy__(self): |
||||||
|
result = WSDependencyAnnotation() |
||||||
|
result.annotations_stack = copy(self.annotations_stack) |
||||||
|
return result |
||||||
|
|
||||||
|
|
||||||
|
def get_dependency_annotation(state: GlobalState) -> DependencyAnnotation: |
||||||
|
""" Returns a dependency annotation |
||||||
|
|
||||||
|
:param state: A global state object |
||||||
|
""" |
||||||
|
|
||||||
|
annotations = cast( |
||||||
|
List[DependencyAnnotation], list(state.get_annotations(DependencyAnnotation)) |
||||||
|
) |
||||||
|
|
||||||
|
if len(annotations) == 0: |
||||||
|
|
||||||
|
"""FIXME: Hack for carrying over state annotations from the STOP and RETURN states of |
||||||
|
the previous states. The states are pushed on a stack in the world state annotation |
||||||
|
and popped off the stack in the subsequent iteration. This might break if any |
||||||
|
other strategy than bfs is used (?). |
||||||
|
""" |
||||||
|
|
||||||
|
try: |
||||||
|
world_state_annotation = get_ws_dependency_annotation(state) |
||||||
|
annotation = world_state_annotation.annotations_stack.pop() |
||||||
|
except IndexError: |
||||||
|
annotation = DependencyAnnotation() |
||||||
|
|
||||||
|
state.annotate(annotation) |
||||||
|
else: |
||||||
|
annotation = annotations[0] |
||||||
|
|
||||||
|
return annotation |
||||||
|
|
||||||
|
|
||||||
|
def get_ws_dependency_annotation(state: GlobalState) -> WSDependencyAnnotation: |
||||||
|
""" Returns the world state annotation |
||||||
|
|
||||||
|
:param state: A global state object |
||||||
|
""" |
||||||
|
|
||||||
|
annotations = cast( |
||||||
|
List[WSDependencyAnnotation], |
||||||
|
list(state.world_state.get_annotations(WSDependencyAnnotation)), |
||||||
|
) |
||||||
|
|
||||||
|
if len(annotations) == 0: |
||||||
|
annotation = WSDependencyAnnotation() |
||||||
|
state.world_state.annotate(annotation) |
||||||
|
else: |
||||||
|
annotation = annotations[0] |
||||||
|
|
||||||
|
return annotation |
||||||
|
|
||||||
|
|
||||||
|
class DependencyPruner(LaserPlugin): |
||||||
|
"""Dependency Pruner Plugin |
||||||
|
|
||||||
|
For every basic block, this plugin keeps a list of storage locations that |
||||||
|
are accessed (read) in the execution path containing that block. This map |
||||||
|
is built up over the whole symbolic execution run. |
||||||
|
|
||||||
|
After the initial build up of the map in the first transaction, blocks are |
||||||
|
executed only if any of the storage locations written to in the previous |
||||||
|
transaction can have an effect on that block or any of its successors. |
||||||
|
""" |
||||||
|
|
||||||
|
def __init__(self): |
||||||
|
"""Creates DependencyPruner""" |
||||||
|
self._reset() |
||||||
|
|
||||||
|
def _reset(self): |
||||||
|
self.iteration = 0 |
||||||
|
self.dependency_map = {} # type: Dict[int, List[object]] |
||||||
|
self.protected_addresses = set() # type: Set[int] |
||||||
|
|
||||||
|
def update_dependency_map(self, path: List[int], target_location: object) -> None: |
||||||
|
"""Update the dependency map for the block offsets on the given path. |
||||||
|
|
||||||
|
:param path |
||||||
|
:param target_location |
||||||
|
""" |
||||||
|
|
||||||
|
try: |
||||||
|
for address in path: |
||||||
|
if address in self.dependency_map: |
||||||
|
if target_location not in self.dependency_map[address]: |
||||||
|
self.dependency_map[address].append(target_location) |
||||||
|
else: |
||||||
|
self.dependency_map[address] = [target_location] |
||||||
|
except Z3Exception as e: |
||||||
|
# This should not happen unless there's a bug in laser, such as an invalid type being generated. |
||||||
|
log.debug("Error updating dependency map: {}".format(e)) |
||||||
|
|
||||||
|
def protect_path(self, path: List[int]) -> None: |
||||||
|
"""Prevent an execution path of being pruned. |
||||||
|
|
||||||
|
:param path |
||||||
|
""" |
||||||
|
|
||||||
|
for address in path: |
||||||
|
self.protected_addresses.add(address) |
||||||
|
|
||||||
|
def wanna_execute(self, address: int, storage_write_cache) -> bool: |
||||||
|
"""Decide whether the basic block starting at 'address' should be executed. |
||||||
|
|
||||||
|
:param address |
||||||
|
:param storage_write_cache |
||||||
|
""" |
||||||
|
|
||||||
|
if address in self.protected_addresses or address not in self.dependency_map: |
||||||
|
return True |
||||||
|
|
||||||
|
dependencies = self.dependency_map[address] |
||||||
|
|
||||||
|
# Return if *any* dependency is found |
||||||
|
|
||||||
|
for location in storage_write_cache: |
||||||
|
for dependency in dependencies: |
||||||
|
|
||||||
|
try: |
||||||
|
solver.get_model([location == dependency]) |
||||||
|
return True |
||||||
|
except UnsatError: |
||||||
|
continue |
||||||
|
|
||||||
|
return False |
||||||
|
|
||||||
|
def initialize(self, symbolic_vm: LaserEVM) -> None: |
||||||
|
"""Initializes the DependencyPruner |
||||||
|
|
||||||
|
:param symbolic_vm |
||||||
|
""" |
||||||
|
self._reset() |
||||||
|
|
||||||
|
@symbolic_vm.laser_hook("start_sym_trans") |
||||||
|
def start_sym_trans_hook(): |
||||||
|
self.iteration += 1 |
||||||
|
|
||||||
|
@symbolic_vm.post_hook("CALL") |
||||||
|
def call_hook(state: GlobalState): |
||||||
|
annotation = get_dependency_annotation(state) |
||||||
|
|
||||||
|
annotation.has_call = True |
||||||
|
self.protect_path(annotation.path) |
||||||
|
|
||||||
|
@symbolic_vm.post_hook("JUMP") |
||||||
|
def jump_hook(state: GlobalState): |
||||||
|
address = state.get_current_instruction()["address"] |
||||||
|
annotation = get_dependency_annotation(state) |
||||||
|
|
||||||
|
_check_basic_block(address, annotation) |
||||||
|
|
||||||
|
@symbolic_vm.pre_hook("JUMPDEST") |
||||||
|
def jumpdest_hook(state: GlobalState): |
||||||
|
address = state.get_current_instruction()["address"] |
||||||
|
annotation = get_dependency_annotation(state) |
||||||
|
|
||||||
|
_check_basic_block(address, annotation) |
||||||
|
|
||||||
|
@symbolic_vm.post_hook("JUMPI") |
||||||
|
def jumpi_hook(state: GlobalState): |
||||||
|
address = state.get_current_instruction()["address"] |
||||||
|
annotation = get_dependency_annotation(state) |
||||||
|
|
||||||
|
_check_basic_block(address, annotation) |
||||||
|
|
||||||
|
@symbolic_vm.pre_hook("SSTORE") |
||||||
|
def sstore_hook(state: GlobalState): |
||||||
|
annotation = get_dependency_annotation(state) |
||||||
|
annotation.extend_storage_write_cache( |
||||||
|
self.iteration, state.mstate.stack[-1] |
||||||
|
) |
||||||
|
|
||||||
|
@symbolic_vm.pre_hook("SLOAD") |
||||||
|
def sload_hook(state: GlobalState): |
||||||
|
annotation = get_dependency_annotation(state) |
||||||
|
location = state.mstate.stack[-1] |
||||||
|
|
||||||
|
if location not in annotation.storage_loaded: |
||||||
|
annotation.storage_loaded.append(location) |
||||||
|
|
||||||
|
# We backwards-annotate the path here as sometimes execution never reaches a stop or return |
||||||
|
# (and this may change in a future transaction). |
||||||
|
|
||||||
|
self.update_dependency_map(annotation.path, location) |
||||||
|
|
||||||
|
@symbolic_vm.pre_hook("STOP") |
||||||
|
def stop_hook(state: GlobalState): |
||||||
|
_transaction_end(state) |
||||||
|
|
||||||
|
@symbolic_vm.pre_hook("RETURN") |
||||||
|
def return_hook(state: GlobalState): |
||||||
|
_transaction_end(state) |
||||||
|
|
||||||
|
def _transaction_end(state: GlobalState) -> None: |
||||||
|
"""When a stop or return is reached, the storage locations read along the path are entered into |
||||||
|
the dependency map for all nodes encountered in this path. |
||||||
|
|
||||||
|
:param state: |
||||||
|
""" |
||||||
|
|
||||||
|
annotation = get_dependency_annotation(state) |
||||||
|
|
||||||
|
if annotation.has_call: |
||||||
|
self.protect_path(annotation.path) |
||||||
|
|
||||||
|
for index in annotation.storage_loaded: |
||||||
|
self.update_dependency_map(annotation.path, index) |
||||||
|
|
||||||
|
def _check_basic_block(address: int, annotation: DependencyAnnotation): |
||||||
|
"""This method is where the actual pruning happens. |
||||||
|
|
||||||
|
:param address: Start address (bytecode offset) of the block |
||||||
|
:param annotation |
||||||
|
""" |
||||||
|
|
||||||
|
# Don't skip any blocks in the contract creation transaction |
||||||
|
if self.iteration < 2: |
||||||
|
return |
||||||
|
|
||||||
|
annotation.path.append(address) |
||||||
|
|
||||||
|
if self.wanna_execute( |
||||||
|
address, annotation.get_storage_write_cache(self.iteration - 1) |
||||||
|
): |
||||||
|
return |
||||||
|
else: |
||||||
|
log.debug( |
||||||
|
"Skipping state: Storage slots {} not read in block at address {}".format( |
||||||
|
annotation.get_storage_write_cache(self.iteration - 1), address |
||||||
|
) |
||||||
|
) |
||||||
|
|
||||||
|
raise PluginSkipState |
||||||
|
|
||||||
|
@symbolic_vm.laser_hook("add_world_state") |
||||||
|
def world_state_filter_hook(state: GlobalState): |
||||||
|
|
||||||
|
if isinstance(state.current_transaction, ContractCreationTransaction): |
||||||
|
# Reset iteration variable |
||||||
|
self.iteration = 0 |
||||||
|
return |
||||||
|
|
||||||
|
world_state_annotation = get_ws_dependency_annotation(state) |
||||||
|
annotation = get_dependency_annotation(state) |
||||||
|
|
||||||
|
# Reset the state annotation except for storage written which is carried on to |
||||||
|
# the next transaction |
||||||
|
|
||||||
|
annotation.path = [0] |
||||||
|
annotation.storage_loaded = [] |
||||||
|
annotation.has_call = False |
||||||
|
|
||||||
|
world_state_annotation.annotations_stack.append(annotation) |
||||||
|
|
||||||
|
log.debug( |
||||||
|
"Iteration {}: Adding world state at address {}, end of function {}.\nDependency map: {}\nStorage written: {}".format( |
||||||
|
self.iteration, |
||||||
|
state.get_current_instruction()["address"], |
||||||
|
state.node.function_name, |
||||||
|
self.dependency_map, |
||||||
|
annotation.storage_written[self.iteration], |
||||||
|
) |
||||||
|
) |
@ -0,0 +1,84 @@ |
|||||||
|
from mythril.laser.ethereum.state.global_state import GlobalState |
||||||
|
from mythril.laser.ethereum.strategy.basic import BasicSearchStrategy |
||||||
|
from mythril.laser.ethereum.state.annotation import StateAnnotation |
||||||
|
from mythril.laser.ethereum import util |
||||||
|
from typing import Dict, cast, List |
||||||
|
from copy import copy |
||||||
|
import logging |
||||||
|
|
||||||
|
|
||||||
|
log = logging.getLogger(__name__) |
||||||
|
|
||||||
|
|
||||||
|
class JumpdestCountAnnotation(StateAnnotation): |
||||||
|
"""State annotation that counts the number of jumps per destination.""" |
||||||
|
|
||||||
|
def __init__(self) -> None: |
||||||
|
self._jumpdest_count = {} # type: Dict[int, int] |
||||||
|
|
||||||
|
def __copy__(self): |
||||||
|
result = JumpdestCountAnnotation() |
||||||
|
result._jumpdest_count = copy(self._jumpdest_count) |
||||||
|
return result |
||||||
|
|
||||||
|
|
||||||
|
class BoundedLoopsStrategy(BasicSearchStrategy): |
||||||
|
"""Adds loop pruning to the search strategy. |
||||||
|
Ignores JUMPI instruction if the destination was targeted >JUMPDEST_LIMIT times. |
||||||
|
""" |
||||||
|
|
||||||
|
def __init__(self, super_strategy: BasicSearchStrategy, *args) -> None: |
||||||
|
"""""" |
||||||
|
|
||||||
|
self.super_strategy = super_strategy |
||||||
|
self.jumpdest_limit = args[0][0] |
||||||
|
|
||||||
|
log.info( |
||||||
|
"Loaded search strategy extension: Loop bounds (limit = {})".format( |
||||||
|
self.jumpdest_limit |
||||||
|
) |
||||||
|
) |
||||||
|
|
||||||
|
BasicSearchStrategy.__init__( |
||||||
|
self, super_strategy.work_list, super_strategy.max_depth |
||||||
|
) |
||||||
|
|
||||||
|
def get_strategic_global_state(self) -> GlobalState: |
||||||
|
""" |
||||||
|
:return: |
||||||
|
""" |
||||||
|
|
||||||
|
while True: |
||||||
|
|
||||||
|
state = self.super_strategy.get_strategic_global_state() |
||||||
|
opcode = state.get_current_instruction()["opcode"] |
||||||
|
|
||||||
|
if opcode != "JUMPI": |
||||||
|
return state |
||||||
|
|
||||||
|
annotations = cast( |
||||||
|
List[JumpdestCountAnnotation], |
||||||
|
list(state.get_annotations(JumpdestCountAnnotation)), |
||||||
|
) |
||||||
|
|
||||||
|
if len(annotations) == 0: |
||||||
|
annotation = JumpdestCountAnnotation() |
||||||
|
state.annotate(annotation) |
||||||
|
else: |
||||||
|
annotation = annotations[0] |
||||||
|
|
||||||
|
try: |
||||||
|
target = util.get_concrete_int(state.mstate.stack[-1]) |
||||||
|
except TypeError: |
||||||
|
return state |
||||||
|
|
||||||
|
try: |
||||||
|
annotation._jumpdest_count[target] += 1 |
||||||
|
except KeyError: |
||||||
|
annotation._jumpdest_count[target] = 1 |
||||||
|
|
||||||
|
if annotation._jumpdest_count[target] > self.jumpdest_limit: |
||||||
|
log.debug("JUMPDEST limit reached, skipping JUMPI") |
||||||
|
continue |
||||||
|
|
||||||
|
return state |
@ -0,0 +1,37 @@ |
|||||||
|
{ |
||||||
|
"BlockNumberDynamicJump0_AfterJumpdest" : { |
||||||
|
"_info" : { |
||||||
|
"comment" : "", |
||||||
|
"filledwith" : "testeth 1.5.0.dev2-52+commit.d419e0a2", |
||||||
|
"lllcversion" : "Version: 0.4.26-develop.2018.9.19+commit.785cbf40.Linux.g++", |
||||||
|
"source" : "src/VMTestsFiller/vmIOandFlowOperations/BlockNumberDynamicJump0_AfterJumpdestFiller.json", |
||||||
|
"sourceHash" : "edd08521b4a9bc311f2ba99d15c867d9a98da1e9665d9b173ff85621e170e896" |
||||||
|
}, |
||||||
|
"env" : { |
||||||
|
"currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", |
||||||
|
"currentDifficulty" : "0x0100", |
||||||
|
"currentGasLimit" : "0x0f4240", |
||||||
|
"currentNumber" : "0x02", |
||||||
|
"currentTimestamp" : "0x01" |
||||||
|
}, |
||||||
|
"exec" : { |
||||||
|
"address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", |
||||||
|
"caller" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"code" : "0x6023600843015660015b600255", |
||||||
|
"data" : "0x", |
||||||
|
"gas" : "0x0186a0", |
||||||
|
"gasPrice" : "0x5af3107a4000", |
||||||
|
"origin" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"value" : "0x0de0b6b3a7640000" |
||||||
|
}, |
||||||
|
"pre" : { |
||||||
|
"0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { |
||||||
|
"balance" : "0x152d02c7e14af6800000", |
||||||
|
"code" : "0x6023600843015660015b600255", |
||||||
|
"nonce" : "0x00", |
||||||
|
"storage" : { |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,37 @@ |
|||||||
|
{ |
||||||
|
"BlockNumberDynamicJump0_AfterJumpdest3" : { |
||||||
|
"_info" : { |
||||||
|
"comment" : "", |
||||||
|
"filledwith" : "testeth 1.5.0.dev2-52+commit.d419e0a2", |
||||||
|
"lllcversion" : "Version: 0.4.26-develop.2018.9.19+commit.785cbf40.Linux.g++", |
||||||
|
"source" : "src/VMTestsFiller/vmIOandFlowOperations/BlockNumberDynamicJump0_AfterJumpdest3Filler.json", |
||||||
|
"sourceHash" : "1e86dccd54bd74436a1bbfe11302b675761fc6138ebd1461231acd29ee97b0f0" |
||||||
|
}, |
||||||
|
"env" : { |
||||||
|
"currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", |
||||||
|
"currentDifficulty" : "0x0100", |
||||||
|
"currentGasLimit" : "0x0f4240", |
||||||
|
"currentNumber" : "0x02", |
||||||
|
"currentTimestamp" : "0x01" |
||||||
|
}, |
||||||
|
"exec" : { |
||||||
|
"address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", |
||||||
|
"caller" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"code" : "0x6023600b60085043015660015b600255", |
||||||
|
"data" : "0x", |
||||||
|
"gas" : "0x0186a0", |
||||||
|
"gasPrice" : "0x5af3107a4000", |
||||||
|
"origin" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"value" : "0x0de0b6b3a7640000" |
||||||
|
}, |
||||||
|
"pre" : { |
||||||
|
"0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { |
||||||
|
"balance" : "0x152d02c7e14af6800000", |
||||||
|
"code" : "0x6023600b60085043015660015b600255", |
||||||
|
"nonce" : "0x00", |
||||||
|
"storage" : { |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,37 @@ |
|||||||
|
{ |
||||||
|
"BlockNumberDynamicJump0_foreverOutOfGas" : { |
||||||
|
"_info" : { |
||||||
|
"comment" : "", |
||||||
|
"filledwith" : "testeth 1.5.0.dev2-52+commit.d419e0a2", |
||||||
|
"lllcversion" : "Version: 0.4.26-develop.2018.9.19+commit.785cbf40.Linux.g++", |
||||||
|
"source" : "src/VMTestsFiller/vmIOandFlowOperations/BlockNumberDynamicJump0_foreverOutOfGasFiller.json", |
||||||
|
"sourceHash" : "0900beba73811b8aafaefadcff3a7cd9954ccb5e4986b9cf03ca44881efd4e9c" |
||||||
|
}, |
||||||
|
"env" : { |
||||||
|
"currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", |
||||||
|
"currentDifficulty" : "0x0100", |
||||||
|
"currentGasLimit" : "0x0f4240", |
||||||
|
"currentNumber" : "0x02", |
||||||
|
"currentTimestamp" : "0x01" |
||||||
|
}, |
||||||
|
"exec" : { |
||||||
|
"address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", |
||||||
|
"caller" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"code" : "0x5b600060000156", |
||||||
|
"data" : "0x", |
||||||
|
"gas" : "0x0186a0", |
||||||
|
"gasPrice" : "0x5af3107a4000", |
||||||
|
"origin" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"value" : "0x0de0b6b3a7640000" |
||||||
|
}, |
||||||
|
"pre" : { |
||||||
|
"0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { |
||||||
|
"balance" : "0x152d02c7e14af6800000", |
||||||
|
"code" : "0x5b600060000156", |
||||||
|
"nonce" : "0x00", |
||||||
|
"storage" : { |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,52 @@ |
|||||||
|
{ |
||||||
|
"BlockNumberDynamicJump0_jumpdest0" : { |
||||||
|
"_info" : { |
||||||
|
"comment" : "", |
||||||
|
"filledwith" : "testeth 1.5.0.dev2-52+commit.d419e0a2", |
||||||
|
"lllcversion" : "Version: 0.4.26-develop.2018.9.19+commit.785cbf40.Linux.g++", |
||||||
|
"source" : "src/VMTestsFiller/vmIOandFlowOperations/BlockNumberDynamicJump0_jumpdest0Filler.json", |
||||||
|
"sourceHash" : "80bfa0a5db107e6f083dccdd3091e35add39a4eaac4a8757de8a3e4008c5d646" |
||||||
|
}, |
||||||
|
"callcreates" : [ |
||||||
|
], |
||||||
|
"env" : { |
||||||
|
"currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", |
||||||
|
"currentDifficulty" : "0x0100", |
||||||
|
"currentGasLimit" : "0x0f4240", |
||||||
|
"currentNumber" : "0x02", |
||||||
|
"currentTimestamp" : "0x01" |
||||||
|
}, |
||||||
|
"exec" : { |
||||||
|
"address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", |
||||||
|
"caller" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"code" : "0x6023600743015660015b600255", |
||||||
|
"data" : "0x", |
||||||
|
"gas" : "0x0186a0", |
||||||
|
"gasPrice" : "0x5af3107a4000", |
||||||
|
"origin" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"value" : "0x0de0b6b3a7640000" |
||||||
|
}, |
||||||
|
"gas" : "0x013869", |
||||||
|
"logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", |
||||||
|
"out" : "0x", |
||||||
|
"post" : { |
||||||
|
"0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { |
||||||
|
"balance" : "0x152d02c7e14af6800000", |
||||||
|
"code" : "0x6023600743015660015b600255", |
||||||
|
"nonce" : "0x00", |
||||||
|
"storage" : { |
||||||
|
"0x02" : "0x23" |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"pre" : { |
||||||
|
"0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { |
||||||
|
"balance" : "0x152d02c7e14af6800000", |
||||||
|
"code" : "0x6023600743015660015b600255", |
||||||
|
"nonce" : "0x00", |
||||||
|
"storage" : { |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,52 @@ |
|||||||
|
{ |
||||||
|
"BlockNumberDynamicJump0_jumpdest2" : { |
||||||
|
"_info" : { |
||||||
|
"comment" : "", |
||||||
|
"filledwith" : "testeth 1.5.0.dev2-52+commit.d419e0a2", |
||||||
|
"lllcversion" : "Version: 0.4.26-develop.2018.9.19+commit.785cbf40.Linux.g++", |
||||||
|
"source" : "src/VMTestsFiller/vmIOandFlowOperations/BlockNumberDynamicJump0_jumpdest2Filler.json", |
||||||
|
"sourceHash" : "e86a87e0b5cde7d47f1e5dc295600ecc60b7344b3fb4ad64609d6b87fae642f8" |
||||||
|
}, |
||||||
|
"callcreates" : [ |
||||||
|
], |
||||||
|
"env" : { |
||||||
|
"currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", |
||||||
|
"currentDifficulty" : "0x0100", |
||||||
|
"currentGasLimit" : "0x0f4240", |
||||||
|
"currentNumber" : "0x02", |
||||||
|
"currentTimestamp" : "0x01" |
||||||
|
}, |
||||||
|
"exec" : { |
||||||
|
"address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", |
||||||
|
"caller" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"code" : "0x6023600a60085043015660015b600255", |
||||||
|
"data" : "0x", |
||||||
|
"gas" : "0x0186a0", |
||||||
|
"gasPrice" : "0x5af3107a4000", |
||||||
|
"origin" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"value" : "0x0de0b6b3a7640000" |
||||||
|
}, |
||||||
|
"gas" : "0x013864", |
||||||
|
"logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", |
||||||
|
"out" : "0x", |
||||||
|
"post" : { |
||||||
|
"0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { |
||||||
|
"balance" : "0x152d02c7e14af6800000", |
||||||
|
"code" : "0x6023600a60085043015660015b600255", |
||||||
|
"nonce" : "0x00", |
||||||
|
"storage" : { |
||||||
|
"0x02" : "0x23" |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"pre" : { |
||||||
|
"0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { |
||||||
|
"balance" : "0x152d02c7e14af6800000", |
||||||
|
"code" : "0x6023600a60085043015660015b600255", |
||||||
|
"nonce" : "0x00", |
||||||
|
"storage" : { |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,37 @@ |
|||||||
|
{ |
||||||
|
"BlockNumberDynamicJump0_withoutJumpdest" : { |
||||||
|
"_info" : { |
||||||
|
"comment" : "", |
||||||
|
"filledwith" : "testeth 1.5.0.dev2-52+commit.d419e0a2", |
||||||
|
"lllcversion" : "Version: 0.4.26-develop.2018.9.19+commit.785cbf40.Linux.g++", |
||||||
|
"source" : "src/VMTestsFiller/vmIOandFlowOperations/BlockNumberDynamicJump0_withoutJumpdestFiller.json", |
||||||
|
"sourceHash" : "6f1fc4a9e5dff3e5d3071c576aba5b2ee1f30d7dcace92e6c6d230cfd415efd7" |
||||||
|
}, |
||||||
|
"env" : { |
||||||
|
"currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", |
||||||
|
"currentDifficulty" : "0x0100", |
||||||
|
"currentGasLimit" : "0x0f4240", |
||||||
|
"currentNumber" : "0x02", |
||||||
|
"currentTimestamp" : "0x01" |
||||||
|
}, |
||||||
|
"exec" : { |
||||||
|
"address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", |
||||||
|
"caller" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"code" : "0x602360074301566001600255", |
||||||
|
"data" : "0x", |
||||||
|
"gas" : "0x0186a0", |
||||||
|
"gasPrice" : "0x5af3107a4000", |
||||||
|
"origin" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"value" : "0x0de0b6b3a7640000" |
||||||
|
}, |
||||||
|
"pre" : { |
||||||
|
"0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { |
||||||
|
"balance" : "0x152d02c7e14af6800000", |
||||||
|
"code" : "0x602360074301566001600255", |
||||||
|
"nonce" : "0x00", |
||||||
|
"storage" : { |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,37 @@ |
|||||||
|
{ |
||||||
|
"BlockNumberDynamicJump1" : { |
||||||
|
"_info" : { |
||||||
|
"comment" : "", |
||||||
|
"filledwith" : "testeth 1.5.0.dev2-52+commit.d419e0a2", |
||||||
|
"lllcversion" : "Version: 0.4.26-develop.2018.9.19+commit.785cbf40.Linux.g++", |
||||||
|
"source" : "src/VMTestsFiller/vmIOandFlowOperations/BlockNumberDynamicJump1Filler.json", |
||||||
|
"sourceHash" : "88e43b5985cc4dfbcbc8476c570157e6e7bc0ee0cb3609e9e9f3dd9aa2a3a528" |
||||||
|
}, |
||||||
|
"env" : { |
||||||
|
"currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", |
||||||
|
"currentDifficulty" : "0x0100", |
||||||
|
"currentGasLimit" : "0x0f4240", |
||||||
|
"currentNumber" : "0x02", |
||||||
|
"currentTimestamp" : "0x01" |
||||||
|
}, |
||||||
|
"exec" : { |
||||||
|
"address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", |
||||||
|
"caller" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"code" : "0x620fffff620fffff01430156", |
||||||
|
"data" : "0x", |
||||||
|
"gas" : "0x0186a0", |
||||||
|
"gasPrice" : "0x5af3107a4000", |
||||||
|
"origin" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"value" : "0x0de0b6b3a7640000" |
||||||
|
}, |
||||||
|
"pre" : { |
||||||
|
"0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { |
||||||
|
"balance" : "0x152d02c7e14af6800000", |
||||||
|
"code" : "0x620fffff620fffff01430156", |
||||||
|
"nonce" : "0x00", |
||||||
|
"storage" : { |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,37 @@ |
|||||||
|
{ |
||||||
|
"BlockNumberDynamicJumpInsidePushWithJumpDest" : { |
||||||
|
"_info" : { |
||||||
|
"comment" : "", |
||||||
|
"filledwith" : "testeth 1.5.0.dev2-52+commit.d419e0a2", |
||||||
|
"lllcversion" : "Version: 0.4.26-develop.2018.9.19+commit.785cbf40.Linux.g++", |
||||||
|
"source" : "src/VMTestsFiller/vmIOandFlowOperations/BlockNumberDynamicJumpInsidePushWithJumpDestFiller.json", |
||||||
|
"sourceHash" : "ca0f21a5f52a8d4f2d6e1eed650f68d5f8f40e567cf17984aacc228adfa578ab" |
||||||
|
}, |
||||||
|
"env" : { |
||||||
|
"currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", |
||||||
|
"currentDifficulty" : "0x0100", |
||||||
|
"currentGasLimit" : "0x0f4240", |
||||||
|
"currentNumber" : "0x02", |
||||||
|
"currentTimestamp" : "0x01" |
||||||
|
}, |
||||||
|
"exec" : { |
||||||
|
"address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", |
||||||
|
"caller" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"code" : "0x6004430156655b6001600155", |
||||||
|
"data" : "0x", |
||||||
|
"gas" : "0x0186a0", |
||||||
|
"gasPrice" : "0x5af3107a4000", |
||||||
|
"origin" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"value" : "0x0de0b6b3a7640000" |
||||||
|
}, |
||||||
|
"pre" : { |
||||||
|
"0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { |
||||||
|
"balance" : "0x152d02c7e14af6800000", |
||||||
|
"code" : "0x6004430156655b6001600155", |
||||||
|
"nonce" : "0x00", |
||||||
|
"storage" : { |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,37 @@ |
|||||||
|
{ |
||||||
|
"BlockNumberDynamicJumpInsidePushWithoutJumpDest" : { |
||||||
|
"_info" : { |
||||||
|
"comment" : "", |
||||||
|
"filledwith" : "testeth 1.5.0.dev2-52+commit.d419e0a2", |
||||||
|
"lllcversion" : "Version: 0.4.26-develop.2018.9.19+commit.785cbf40.Linux.g++", |
||||||
|
"source" : "src/VMTestsFiller/vmIOandFlowOperations/BlockNumberDynamicJumpInsidePushWithoutJumpDestFiller.json", |
||||||
|
"sourceHash" : "183a4ce2d0f208630db92539aaf4e38fc3025b44a2842e19e39e956465449fe5" |
||||||
|
}, |
||||||
|
"env" : { |
||||||
|
"currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", |
||||||
|
"currentDifficulty" : "0x0100", |
||||||
|
"currentGasLimit" : "0x0f4240", |
||||||
|
"currentNumber" : "0x02", |
||||||
|
"currentTimestamp" : "0x01" |
||||||
|
}, |
||||||
|
"exec" : { |
||||||
|
"address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", |
||||||
|
"caller" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"code" : "0x600543015661eeff", |
||||||
|
"data" : "0x", |
||||||
|
"gas" : "0x0186a0", |
||||||
|
"gasPrice" : "0x5af3107a4000", |
||||||
|
"origin" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"value" : "0x0de0b6b3a7640000" |
||||||
|
}, |
||||||
|
"pre" : { |
||||||
|
"0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { |
||||||
|
"balance" : "0x152d02c7e14af6800000", |
||||||
|
"code" : "0x600543015661eeff", |
||||||
|
"nonce" : "0x00", |
||||||
|
"storage" : { |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,37 @@ |
|||||||
|
{ |
||||||
|
"BlockNumberDynamicJumpi0" : { |
||||||
|
"_info" : { |
||||||
|
"comment" : "", |
||||||
|
"filledwith" : "testeth 1.5.0.dev2-52+commit.d419e0a2", |
||||||
|
"lllcversion" : "Version: 0.4.26-develop.2018.9.19+commit.785cbf40.Linux.g++", |
||||||
|
"source" : "src/VMTestsFiller/vmIOandFlowOperations/BlockNumberDynamicJumpi0Filler.json", |
||||||
|
"sourceHash" : "620bba922f5a1732f512d726a26e71b09d3837018a66a9aacb581b212a4f4b13" |
||||||
|
}, |
||||||
|
"env" : { |
||||||
|
"currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", |
||||||
|
"currentDifficulty" : "0x0100", |
||||||
|
"currentGasLimit" : "0x0f4240", |
||||||
|
"currentNumber" : "0x02", |
||||||
|
"currentTimestamp" : "0x01" |
||||||
|
}, |
||||||
|
"exec" : { |
||||||
|
"address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", |
||||||
|
"caller" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"code" : "0x6023600160094301576001600255", |
||||||
|
"data" : "0x", |
||||||
|
"gas" : "0x0186a0", |
||||||
|
"gasPrice" : "0x5af3107a4000", |
||||||
|
"origin" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"value" : "0x0de0b6b3a7640000" |
||||||
|
}, |
||||||
|
"pre" : { |
||||||
|
"0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { |
||||||
|
"balance" : "0x152d02c7e14af6800000", |
||||||
|
"code" : "0x6023600160094301576001600255", |
||||||
|
"nonce" : "0x00", |
||||||
|
"storage" : { |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,52 @@ |
|||||||
|
{ |
||||||
|
"BlockNumberDynamicJumpi1" : { |
||||||
|
"_info" : { |
||||||
|
"comment" : "", |
||||||
|
"filledwith" : "testeth 1.5.0.dev2-52+commit.d419e0a2", |
||||||
|
"lllcversion" : "Version: 0.4.26-develop.2018.9.19+commit.785cbf40.Linux.g++", |
||||||
|
"source" : "src/VMTestsFiller/vmIOandFlowOperations/BlockNumberDynamicJumpi1Filler.json", |
||||||
|
"sourceHash" : "91d6fe3848fbdafff10b7bd503d560f2c614d6b53ed16b51821d3026f4a3a544" |
||||||
|
}, |
||||||
|
"callcreates" : [ |
||||||
|
], |
||||||
|
"env" : { |
||||||
|
"currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", |
||||||
|
"currentDifficulty" : "0x0100", |
||||||
|
"currentGasLimit" : "0x0f4240", |
||||||
|
"currentNumber" : "0x02", |
||||||
|
"currentTimestamp" : "0x01" |
||||||
|
}, |
||||||
|
"exec" : { |
||||||
|
"address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", |
||||||
|
"caller" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"code" : "0x6023600060094301576001600255", |
||||||
|
"data" : "0x", |
||||||
|
"gas" : "0x0186a0", |
||||||
|
"gasPrice" : "0x5af3107a4000", |
||||||
|
"origin" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"value" : "0x0de0b6b3a7640000" |
||||||
|
}, |
||||||
|
"gas" : "0x013862", |
||||||
|
"logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", |
||||||
|
"out" : "0x", |
||||||
|
"post" : { |
||||||
|
"0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { |
||||||
|
"balance" : "0x152d02c7e14af6800000", |
||||||
|
"code" : "0x6023600060094301576001600255", |
||||||
|
"nonce" : "0x00", |
||||||
|
"storage" : { |
||||||
|
"0x02" : "0x01" |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"pre" : { |
||||||
|
"0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { |
||||||
|
"balance" : "0x152d02c7e14af6800000", |
||||||
|
"code" : "0x6023600060094301576001600255", |
||||||
|
"nonce" : "0x00", |
||||||
|
"storage" : { |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,37 @@ |
|||||||
|
{ |
||||||
|
"BlockNumberDynamicJumpi1_jumpdest" : { |
||||||
|
"_info" : { |
||||||
|
"comment" : "", |
||||||
|
"filledwith" : "testeth 1.5.0.dev2-52+commit.d419e0a2", |
||||||
|
"lllcversion" : "Version: 0.4.26-develop.2018.9.19+commit.785cbf40.Linux.g++", |
||||||
|
"source" : "src/VMTestsFiller/vmIOandFlowOperations/BlockNumberDynamicJumpi1_jumpdestFiller.json", |
||||||
|
"sourceHash" : "420810639c740487f7b8d18b29f28dcfb7d762b1aa4aa9b9f8b91928da66a539" |
||||||
|
}, |
||||||
|
"env" : { |
||||||
|
"currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", |
||||||
|
"currentDifficulty" : "0x0100", |
||||||
|
"currentGasLimit" : "0x0f4240", |
||||||
|
"currentNumber" : "0x02", |
||||||
|
"currentTimestamp" : "0x01" |
||||||
|
}, |
||||||
|
"exec" : { |
||||||
|
"address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", |
||||||
|
"caller" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"code" : "0x60236001600a43015760015b600255", |
||||||
|
"data" : "0x", |
||||||
|
"gas" : "0x0186a0", |
||||||
|
"gasPrice" : "0x5af3107a4000", |
||||||
|
"origin" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"value" : "0x0de0b6b3a7640000" |
||||||
|
}, |
||||||
|
"pre" : { |
||||||
|
"0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { |
||||||
|
"balance" : "0x152d02c7e14af6800000", |
||||||
|
"code" : "0x60236001600a43015760015b600255", |
||||||
|
"nonce" : "0x00", |
||||||
|
"storage" : { |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,52 @@ |
|||||||
|
{ |
||||||
|
"BlockNumberDynamicJumpiAfterStop" : { |
||||||
|
"_info" : { |
||||||
|
"comment" : "", |
||||||
|
"filledwith" : "testeth 1.5.0.dev2-52+commit.d419e0a2", |
||||||
|
"lllcversion" : "Version: 0.4.26-develop.2018.9.19+commit.785cbf40.Linux.g++", |
||||||
|
"source" : "src/VMTestsFiller/vmIOandFlowOperations/BlockNumberDynamicJumpiAfterStopFiller.json", |
||||||
|
"sourceHash" : "7331cec587701bf695329ad94c7e62963827209faffac3b24eb59341ccb1a925" |
||||||
|
}, |
||||||
|
"callcreates" : [ |
||||||
|
], |
||||||
|
"env" : { |
||||||
|
"currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", |
||||||
|
"currentDifficulty" : "0x0100", |
||||||
|
"currentGasLimit" : "0x0f4240", |
||||||
|
"currentNumber" : "0x02", |
||||||
|
"currentTimestamp" : "0x01" |
||||||
|
}, |
||||||
|
"exec" : { |
||||||
|
"address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", |
||||||
|
"caller" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"code" : "0x600160084301570060015b6002600355", |
||||||
|
"data" : "0x", |
||||||
|
"gas" : "0x0186a0", |
||||||
|
"gasPrice" : "0x5af3107a4000", |
||||||
|
"origin" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"value" : "0x0de0b6b3a7640000" |
||||||
|
}, |
||||||
|
"gas" : "0x013864", |
||||||
|
"logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", |
||||||
|
"out" : "0x", |
||||||
|
"post" : { |
||||||
|
"0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { |
||||||
|
"balance" : "0x152d02c7e14af6800000", |
||||||
|
"code" : "0x600160084301570060015b6002600355", |
||||||
|
"nonce" : "0x00", |
||||||
|
"storage" : { |
||||||
|
"0x03" : "0x02" |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"pre" : { |
||||||
|
"0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { |
||||||
|
"balance" : "0x152d02c7e14af6800000", |
||||||
|
"code" : "0x600160084301570060015b6002600355", |
||||||
|
"nonce" : "0x00", |
||||||
|
"storage" : { |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,37 @@ |
|||||||
|
{ |
||||||
|
"BlockNumberDynamicJumpiOutsideBoundary" : { |
||||||
|
"_info" : { |
||||||
|
"comment" : "", |
||||||
|
"filledwith" : "testeth 1.5.0.dev2-52+commit.d419e0a2", |
||||||
|
"lllcversion" : "Version: 0.4.26-develop.2018.9.19+commit.785cbf40.Linux.g++", |
||||||
|
"source" : "src/VMTestsFiller/vmIOandFlowOperations/BlockNumberDynamicJumpiOutsideBoundaryFiller.json", |
||||||
|
"sourceHash" : "db80ec0400be086e2a316a91ee7a5f87db06ff6a5b0ad27a50ba692049a54b1c" |
||||||
|
}, |
||||||
|
"env" : { |
||||||
|
"currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", |
||||||
|
"currentDifficulty" : "0x0100", |
||||||
|
"currentGasLimit" : "0x0f4240", |
||||||
|
"currentNumber" : "0x02", |
||||||
|
"currentTimestamp" : "0x01" |
||||||
|
}, |
||||||
|
"exec" : { |
||||||
|
"address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", |
||||||
|
"caller" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"code" : "0x60017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04301576002600355", |
||||||
|
"data" : "0x", |
||||||
|
"gas" : "0x0186a0", |
||||||
|
"gasPrice" : "0x5af3107a4000", |
||||||
|
"origin" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"value" : "0x0de0b6b3a7640000" |
||||||
|
}, |
||||||
|
"pre" : { |
||||||
|
"0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { |
||||||
|
"balance" : "0x152d02c7e14af6800000", |
||||||
|
"code" : "0x60017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04301576002600355", |
||||||
|
"nonce" : "0x00", |
||||||
|
"storage" : { |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,37 @@ |
|||||||
|
{ |
||||||
|
"BlockNumberDynamicJumpifInsidePushWithJumpDest" : { |
||||||
|
"_info" : { |
||||||
|
"comment" : "", |
||||||
|
"filledwith" : "testeth 1.5.0.dev2-52+commit.d419e0a2", |
||||||
|
"lllcversion" : "Version: 0.4.26-develop.2018.9.19+commit.785cbf40.Linux.g++", |
||||||
|
"source" : "src/VMTestsFiller/vmIOandFlowOperations/BlockNumberDynamicJumpifInsidePushWithJumpDestFiller.json", |
||||||
|
"sourceHash" : "4b52bc3a45a966d0032eb01b3fdb8a225af48fa4f5a017b5dff3d4d88d710337" |
||||||
|
}, |
||||||
|
"env" : { |
||||||
|
"currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", |
||||||
|
"currentDifficulty" : "0x0100", |
||||||
|
"currentGasLimit" : "0x0f4240", |
||||||
|
"currentNumber" : "0x02", |
||||||
|
"currentTimestamp" : "0x01" |
||||||
|
}, |
||||||
|
"exec" : { |
||||||
|
"address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", |
||||||
|
"caller" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"code" : "0x60016006430157655b6001600155", |
||||||
|
"data" : "0x", |
||||||
|
"gas" : "0x0186a0", |
||||||
|
"gasPrice" : "0x5af3107a4000", |
||||||
|
"origin" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"value" : "0x0de0b6b3a7640000" |
||||||
|
}, |
||||||
|
"pre" : { |
||||||
|
"0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { |
||||||
|
"balance" : "0x152d02c7e14af6800000", |
||||||
|
"code" : "0x60016006430157655b6001600155", |
||||||
|
"nonce" : "0x00", |
||||||
|
"storage" : { |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,37 @@ |
|||||||
|
{ |
||||||
|
"BlockNumberDynamicJumpifInsidePushWithoutJumpDest" : { |
||||||
|
"_info" : { |
||||||
|
"comment" : "", |
||||||
|
"filledwith" : "testeth 1.5.0.dev2-52+commit.d419e0a2", |
||||||
|
"lllcversion" : "Version: 0.4.26-develop.2018.9.19+commit.785cbf40.Linux.g++", |
||||||
|
"source" : "src/VMTestsFiller/vmIOandFlowOperations/BlockNumberDynamicJumpifInsidePushWithoutJumpDestFiller.json", |
||||||
|
"sourceHash" : "3fccd0c56ebfd40dea69fec03d009967a80ddf93e9a68af81efd2d1645e27fcb" |
||||||
|
}, |
||||||
|
"env" : { |
||||||
|
"currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", |
||||||
|
"currentDifficulty" : "0x0100", |
||||||
|
"currentGasLimit" : "0x0f4240", |
||||||
|
"currentNumber" : "0x02", |
||||||
|
"currentTimestamp" : "0x01" |
||||||
|
}, |
||||||
|
"exec" : { |
||||||
|
"address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", |
||||||
|
"caller" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"code" : "0x6001600743015761eeff", |
||||||
|
"data" : "0x", |
||||||
|
"gas" : "0x0186a0", |
||||||
|
"gasPrice" : "0x5af3107a4000", |
||||||
|
"origin" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"value" : "0x0de0b6b3a7640000" |
||||||
|
}, |
||||||
|
"pre" : { |
||||||
|
"0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { |
||||||
|
"balance" : "0x152d02c7e14af6800000", |
||||||
|
"code" : "0x6001600743015761eeff", |
||||||
|
"nonce" : "0x00", |
||||||
|
"storage" : { |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,38 @@ |
|||||||
|
{ |
||||||
|
"DyanmicJump0_outOfBoundary" : { |
||||||
|
"_info" : { |
||||||
|
"comment" : "", |
||||||
|
"filledwith" : "testeth 1.5.0.dev2-52+commit.d419e0a2", |
||||||
|
"lllcversion" : "Version: 0.4.26-develop.2018.9.19+commit.785cbf40.Linux.g++", |
||||||
|
"source" : "src/VMTestsFiller/vmIOandFlowOperations/DyanmicJump0_outOfBoundaryFiller.json", |
||||||
|
"sourceHash" : "a2ae635e97f7381a5af1ea432d210faf19f4f84e8e0e6874bd48005674bfea92" |
||||||
|
}, |
||||||
|
"env" : { |
||||||
|
"currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", |
||||||
|
"currentDifficulty" : "0x0100", |
||||||
|
"currentGasLimit" : "0x0f4240", |
||||||
|
"currentNumber" : "0x02", |
||||||
|
"currentTimestamp" : "0x01" |
||||||
|
}, |
||||||
|
"exec" : { |
||||||
|
"address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", |
||||||
|
"caller" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"code" : "0x6023600760005401566001600255", |
||||||
|
"data" : "0x", |
||||||
|
"gas" : "0x0186a0", |
||||||
|
"gasPrice" : "0x5af3107a4000", |
||||||
|
"origin" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"value" : "0x0de0b6b3a7640000" |
||||||
|
}, |
||||||
|
"pre" : { |
||||||
|
"0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { |
||||||
|
"balance" : "0x152d02c7e14af6800000", |
||||||
|
"code" : "0x6023600760005401566001600255", |
||||||
|
"nonce" : "0x00", |
||||||
|
"storage" : { |
||||||
|
"0x00" : "0x04" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,37 @@ |
|||||||
|
{ |
||||||
|
"DynamicJump0_AfterJumpdest" : { |
||||||
|
"_info" : { |
||||||
|
"comment" : "", |
||||||
|
"filledwith" : "testeth 1.5.0.dev2-52+commit.d419e0a2", |
||||||
|
"lllcversion" : "Version: 0.4.26-develop.2018.9.19+commit.785cbf40.Linux.g++", |
||||||
|
"source" : "src/VMTestsFiller/vmIOandFlowOperations/DynamicJump0_AfterJumpdestFiller.json", |
||||||
|
"sourceHash" : "605f607251cd4a7c73bd7c814edcada6a9008fcd2896af2caf371beb31db196b" |
||||||
|
}, |
||||||
|
"env" : { |
||||||
|
"currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", |
||||||
|
"currentDifficulty" : "0x0100", |
||||||
|
"currentGasLimit" : "0x0f4240", |
||||||
|
"currentNumber" : "0x00", |
||||||
|
"currentTimestamp" : "0x01" |
||||||
|
}, |
||||||
|
"exec" : { |
||||||
|
"address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", |
||||||
|
"caller" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"code" : "0x602360086003015660015b600255", |
||||||
|
"data" : "0x", |
||||||
|
"gas" : "0x0186a0", |
||||||
|
"gasPrice" : "0x5af3107a4000", |
||||||
|
"origin" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"value" : "0x0de0b6b3a7640000" |
||||||
|
}, |
||||||
|
"pre" : { |
||||||
|
"0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { |
||||||
|
"balance" : "0x152d02c7e14af6800000", |
||||||
|
"code" : "0x602360086003015660015b600255", |
||||||
|
"nonce" : "0x00", |
||||||
|
"storage" : { |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,37 @@ |
|||||||
|
{ |
||||||
|
"DynamicJump0_AfterJumpdest3" : { |
||||||
|
"_info" : { |
||||||
|
"comment" : "", |
||||||
|
"filledwith" : "testeth 1.5.0.dev2-52+commit.d419e0a2", |
||||||
|
"lllcversion" : "Version: 0.4.26-develop.2018.9.19+commit.785cbf40.Linux.g++", |
||||||
|
"source" : "src/VMTestsFiller/vmIOandFlowOperations/DynamicJump0_AfterJumpdest3Filler.json", |
||||||
|
"sourceHash" : "b7367314ce66b1a937c05550ac901971b5850d2a0ef03acf1feb4d6c9f38925d" |
||||||
|
}, |
||||||
|
"env" : { |
||||||
|
"currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", |
||||||
|
"currentDifficulty" : "0x0100", |
||||||
|
"currentGasLimit" : "0x0f4240", |
||||||
|
"currentNumber" : "0x00", |
||||||
|
"currentTimestamp" : "0x01" |
||||||
|
}, |
||||||
|
"exec" : { |
||||||
|
"address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", |
||||||
|
"caller" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"code" : "0x6023600b6008506003015660015b600255", |
||||||
|
"data" : "0x", |
||||||
|
"gas" : "0x0186a0", |
||||||
|
"gasPrice" : "0x5af3107a4000", |
||||||
|
"origin" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"value" : "0x0de0b6b3a7640000" |
||||||
|
}, |
||||||
|
"pre" : { |
||||||
|
"0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { |
||||||
|
"balance" : "0x152d02c7e14af6800000", |
||||||
|
"code" : "0x6023600b6008506003015660015b600255", |
||||||
|
"nonce" : "0x00", |
||||||
|
"storage" : { |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,37 @@ |
|||||||
|
{ |
||||||
|
"DynamicJump0_foreverOutOfGas" : { |
||||||
|
"_info" : { |
||||||
|
"comment" : "", |
||||||
|
"filledwith" : "testeth 1.5.0.dev2-52+commit.d419e0a2", |
||||||
|
"lllcversion" : "Version: 0.4.26-develop.2018.9.19+commit.785cbf40.Linux.g++", |
||||||
|
"source" : "src/VMTestsFiller/vmIOandFlowOperations/DynamicJump0_foreverOutOfGasFiller.json", |
||||||
|
"sourceHash" : "68b687a344b0f44d7459e095f05f6b302ee3f5d15b3c3e7765d5642fb1f46689" |
||||||
|
}, |
||||||
|
"env" : { |
||||||
|
"currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", |
||||||
|
"currentDifficulty" : "0x0100", |
||||||
|
"currentGasLimit" : "0x0f4240", |
||||||
|
"currentNumber" : "0x00", |
||||||
|
"currentTimestamp" : "0x01" |
||||||
|
}, |
||||||
|
"exec" : { |
||||||
|
"address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", |
||||||
|
"caller" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"code" : "0x5b600060000156", |
||||||
|
"data" : "0x", |
||||||
|
"gas" : "0x0186a0", |
||||||
|
"gasPrice" : "0x5af3107a4000", |
||||||
|
"origin" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"value" : "0x0de0b6b3a7640000" |
||||||
|
}, |
||||||
|
"pre" : { |
||||||
|
"0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { |
||||||
|
"balance" : "0x152d02c7e14af6800000", |
||||||
|
"code" : "0x5b600060000156", |
||||||
|
"nonce" : "0x00", |
||||||
|
"storage" : { |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,52 @@ |
|||||||
|
{ |
||||||
|
"DynamicJump0_jumpdest0" : { |
||||||
|
"_info" : { |
||||||
|
"comment" : "", |
||||||
|
"filledwith" : "testeth 1.5.0.dev2-52+commit.d419e0a2", |
||||||
|
"lllcversion" : "Version: 0.4.26-develop.2018.9.19+commit.785cbf40.Linux.g++", |
||||||
|
"source" : "src/VMTestsFiller/vmIOandFlowOperations/DynamicJump0_jumpdest0Filler.json", |
||||||
|
"sourceHash" : "3ab9d036e3e345909b19022f4c3b80d081d214eb5c79b8e94e0f2c660ab01ec7" |
||||||
|
}, |
||||||
|
"callcreates" : [ |
||||||
|
], |
||||||
|
"env" : { |
||||||
|
"currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", |
||||||
|
"currentDifficulty" : "0x0100", |
||||||
|
"currentGasLimit" : "0x0f4240", |
||||||
|
"currentNumber" : "0x00", |
||||||
|
"currentTimestamp" : "0x01" |
||||||
|
}, |
||||||
|
"exec" : { |
||||||
|
"address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", |
||||||
|
"caller" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"code" : "0x602360076003015660015b600255", |
||||||
|
"data" : "0x", |
||||||
|
"gas" : "0x0186a0", |
||||||
|
"gasPrice" : "0x5af3107a4000", |
||||||
|
"origin" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"value" : "0x0de0b6b3a7640000" |
||||||
|
}, |
||||||
|
"gas" : "0x013868", |
||||||
|
"logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", |
||||||
|
"out" : "0x", |
||||||
|
"post" : { |
||||||
|
"0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { |
||||||
|
"balance" : "0x152d02c7e14af6800000", |
||||||
|
"code" : "0x602360076003015660015b600255", |
||||||
|
"nonce" : "0x00", |
||||||
|
"storage" : { |
||||||
|
"0x02" : "0x23" |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"pre" : { |
||||||
|
"0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { |
||||||
|
"balance" : "0x152d02c7e14af6800000", |
||||||
|
"code" : "0x602360076003015660015b600255", |
||||||
|
"nonce" : "0x00", |
||||||
|
"storage" : { |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,52 @@ |
|||||||
|
{ |
||||||
|
"DynamicJump0_jumpdest2" : { |
||||||
|
"_info" : { |
||||||
|
"comment" : "", |
||||||
|
"filledwith" : "testeth 1.5.0.dev2-52+commit.d419e0a2", |
||||||
|
"lllcversion" : "Version: 0.4.26-develop.2018.9.19+commit.785cbf40.Linux.g++", |
||||||
|
"source" : "src/VMTestsFiller/vmIOandFlowOperations/DynamicJump0_jumpdest2Filler.json", |
||||||
|
"sourceHash" : "a7e9d9f046151930ef4b51b8dacce5304ce74c3f5ead80f1e52f783b1a704378" |
||||||
|
}, |
||||||
|
"callcreates" : [ |
||||||
|
], |
||||||
|
"env" : { |
||||||
|
"currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", |
||||||
|
"currentDifficulty" : "0x0100", |
||||||
|
"currentGasLimit" : "0x0f4240", |
||||||
|
"currentNumber" : "0x00", |
||||||
|
"currentTimestamp" : "0x01" |
||||||
|
}, |
||||||
|
"exec" : { |
||||||
|
"address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", |
||||||
|
"caller" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"code" : "0x6023600a6008506003015660015b600255", |
||||||
|
"data" : "0x", |
||||||
|
"gas" : "0x0186a0", |
||||||
|
"gasPrice" : "0x5af3107a4000", |
||||||
|
"origin" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"value" : "0x0de0b6b3a7640000" |
||||||
|
}, |
||||||
|
"gas" : "0x013863", |
||||||
|
"logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", |
||||||
|
"out" : "0x", |
||||||
|
"post" : { |
||||||
|
"0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { |
||||||
|
"balance" : "0x152d02c7e14af6800000", |
||||||
|
"code" : "0x6023600a6008506003015660015b600255", |
||||||
|
"nonce" : "0x00", |
||||||
|
"storage" : { |
||||||
|
"0x02" : "0x23" |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"pre" : { |
||||||
|
"0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { |
||||||
|
"balance" : "0x152d02c7e14af6800000", |
||||||
|
"code" : "0x6023600a6008506003015660015b600255", |
||||||
|
"nonce" : "0x00", |
||||||
|
"storage" : { |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,37 @@ |
|||||||
|
{ |
||||||
|
"DynamicJump0_withoutJumpdest" : { |
||||||
|
"_info" : { |
||||||
|
"comment" : "", |
||||||
|
"filledwith" : "testeth 1.5.0.dev2-52+commit.d419e0a2", |
||||||
|
"lllcversion" : "Version: 0.4.26-develop.2018.9.19+commit.785cbf40.Linux.g++", |
||||||
|
"source" : "src/VMTestsFiller/vmIOandFlowOperations/DynamicJump0_withoutJumpdestFiller.json", |
||||||
|
"sourceHash" : "84c524e0cafc2ddcebdef720e46a23d10061f4a35bb06bfe7bdfe444990593a6" |
||||||
|
}, |
||||||
|
"env" : { |
||||||
|
"currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", |
||||||
|
"currentDifficulty" : "0x0100", |
||||||
|
"currentGasLimit" : "0x0f4240", |
||||||
|
"currentNumber" : "0x00", |
||||||
|
"currentTimestamp" : "0x01" |
||||||
|
}, |
||||||
|
"exec" : { |
||||||
|
"address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", |
||||||
|
"caller" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"code" : "0x60236007600301566001600255", |
||||||
|
"data" : "0x", |
||||||
|
"gas" : "0x0186a0", |
||||||
|
"gasPrice" : "0x5af3107a4000", |
||||||
|
"origin" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"value" : "0x0de0b6b3a7640000" |
||||||
|
}, |
||||||
|
"pre" : { |
||||||
|
"0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { |
||||||
|
"balance" : "0x152d02c7e14af6800000", |
||||||
|
"code" : "0x60236007600301566001600255", |
||||||
|
"nonce" : "0x00", |
||||||
|
"storage" : { |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,37 @@ |
|||||||
|
{ |
||||||
|
"DynamicJump1" : { |
||||||
|
"_info" : { |
||||||
|
"comment" : "", |
||||||
|
"filledwith" : "testeth 1.5.0.dev2-52+commit.d419e0a2", |
||||||
|
"lllcversion" : "Version: 0.4.26-develop.2018.9.19+commit.785cbf40.Linux.g++", |
||||||
|
"source" : "src/VMTestsFiller/vmIOandFlowOperations/DynamicJump1Filler.json", |
||||||
|
"sourceHash" : "2369bac56afc1e0946f608c52027fbc88faf3844cdc2fa46954a0916221b8432" |
||||||
|
}, |
||||||
|
"env" : { |
||||||
|
"currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", |
||||||
|
"currentDifficulty" : "0x0100", |
||||||
|
"currentGasLimit" : "0x0f4240", |
||||||
|
"currentNumber" : "0x00", |
||||||
|
"currentTimestamp" : "0x01" |
||||||
|
}, |
||||||
|
"exec" : { |
||||||
|
"address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", |
||||||
|
"caller" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"code" : "0x620fffff620fffff0160030156", |
||||||
|
"data" : "0x", |
||||||
|
"gas" : "0x0186a0", |
||||||
|
"gasPrice" : "0x5af3107a4000", |
||||||
|
"origin" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"value" : "0x0de0b6b3a7640000" |
||||||
|
}, |
||||||
|
"pre" : { |
||||||
|
"0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { |
||||||
|
"balance" : "0x152d02c7e14af6800000", |
||||||
|
"code" : "0x620fffff620fffff0160030156", |
||||||
|
"nonce" : "0x00", |
||||||
|
"storage" : { |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,52 @@ |
|||||||
|
{ |
||||||
|
"DynamicJumpAfterStop" : { |
||||||
|
"_info" : { |
||||||
|
"comment" : "", |
||||||
|
"filledwith" : "testeth 1.5.0.dev2-52+commit.d419e0a2", |
||||||
|
"lllcversion" : "Version: 0.4.26-develop.2018.9.19+commit.785cbf40.Linux.g++", |
||||||
|
"source" : "src/VMTestsFiller/vmIOandFlowOperations/DynamicJumpAfterStopFiller.json", |
||||||
|
"sourceHash" : "5ba8a9cb65319cdc8e574e0eb59695b55158e6d723945bac3b96573a576a86a8" |
||||||
|
}, |
||||||
|
"callcreates" : [ |
||||||
|
], |
||||||
|
"env" : { |
||||||
|
"currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", |
||||||
|
"currentDifficulty" : "0x0100", |
||||||
|
"currentGasLimit" : "0x0f4240", |
||||||
|
"currentNumber" : "0x00", |
||||||
|
"currentTimestamp" : "0x01" |
||||||
|
}, |
||||||
|
"exec" : { |
||||||
|
"address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", |
||||||
|
"caller" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"code" : "0x6008600101560060015b6002600355", |
||||||
|
"data" : "0x", |
||||||
|
"gas" : "0x0186a0", |
||||||
|
"gasPrice" : "0x5af3107a4000", |
||||||
|
"origin" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"value" : "0x0de0b6b3a7640000" |
||||||
|
}, |
||||||
|
"gas" : "0x013868", |
||||||
|
"logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", |
||||||
|
"out" : "0x", |
||||||
|
"post" : { |
||||||
|
"0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { |
||||||
|
"balance" : "0x152d02c7e14af6800000", |
||||||
|
"code" : "0x6008600101560060015b6002600355", |
||||||
|
"nonce" : "0x00", |
||||||
|
"storage" : { |
||||||
|
"0x03" : "0x02" |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"pre" : { |
||||||
|
"0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { |
||||||
|
"balance" : "0x152d02c7e14af6800000", |
||||||
|
"code" : "0x6008600101560060015b6002600355", |
||||||
|
"nonce" : "0x00", |
||||||
|
"storage" : { |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,37 @@ |
|||||||
|
{ |
||||||
|
"DynamicJumpInsidePushWithJumpDest" : { |
||||||
|
"_info" : { |
||||||
|
"comment" : "", |
||||||
|
"filledwith" : "testeth 1.5.0.dev2-52+commit.d419e0a2", |
||||||
|
"lllcversion" : "Version: 0.4.26-develop.2018.9.19+commit.785cbf40.Linux.g++", |
||||||
|
"source" : "src/VMTestsFiller/vmIOandFlowOperations/DynamicJumpInsidePushWithJumpDestFiller.json", |
||||||
|
"sourceHash" : "3f3586292e12e696029f38f833fe8c7cea86a0e7cda83c0cbe783aa2c3b22b0c" |
||||||
|
}, |
||||||
|
"env" : { |
||||||
|
"currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", |
||||||
|
"currentDifficulty" : "0x0100", |
||||||
|
"currentGasLimit" : "0x0f4240", |
||||||
|
"currentNumber" : "0x00", |
||||||
|
"currentTimestamp" : "0x01" |
||||||
|
}, |
||||||
|
"exec" : { |
||||||
|
"address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", |
||||||
|
"caller" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"code" : "0x600460030156655b6001600155", |
||||||
|
"data" : "0x", |
||||||
|
"gas" : "0x0186a0", |
||||||
|
"gasPrice" : "0x5af3107a4000", |
||||||
|
"origin" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"value" : "0x0de0b6b3a7640000" |
||||||
|
}, |
||||||
|
"pre" : { |
||||||
|
"0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { |
||||||
|
"balance" : "0x152d02c7e14af6800000", |
||||||
|
"code" : "0x600460030156655b6001600155", |
||||||
|
"nonce" : "0x00", |
||||||
|
"storage" : { |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,37 @@ |
|||||||
|
{ |
||||||
|
"DynamicJumpInsidePushWithoutJumpDest" : { |
||||||
|
"_info" : { |
||||||
|
"comment" : "", |
||||||
|
"filledwith" : "testeth 1.5.0.dev2-52+commit.d419e0a2", |
||||||
|
"lllcversion" : "Version: 0.4.26-develop.2018.9.19+commit.785cbf40.Linux.g++", |
||||||
|
"source" : "src/VMTestsFiller/vmIOandFlowOperations/DynamicJumpInsidePushWithoutJumpDestFiller.json", |
||||||
|
"sourceHash" : "4e320bace2f65884d59f95dbbba6e4f9aea39e243bffd309be9bb6c5a3c1bedb" |
||||||
|
}, |
||||||
|
"env" : { |
||||||
|
"currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", |
||||||
|
"currentDifficulty" : "0x0100", |
||||||
|
"currentGasLimit" : "0x0f4240", |
||||||
|
"currentNumber" : "0x00", |
||||||
|
"currentTimestamp" : "0x01" |
||||||
|
}, |
||||||
|
"exec" : { |
||||||
|
"address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", |
||||||
|
"caller" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"code" : "0x60056003015661eeff", |
||||||
|
"data" : "0x", |
||||||
|
"gas" : "0x0186a0", |
||||||
|
"gasPrice" : "0x5af3107a4000", |
||||||
|
"origin" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"value" : "0x0de0b6b3a7640000" |
||||||
|
}, |
||||||
|
"pre" : { |
||||||
|
"0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { |
||||||
|
"balance" : "0x152d02c7e14af6800000", |
||||||
|
"code" : "0x60056003015661eeff", |
||||||
|
"nonce" : "0x00", |
||||||
|
"storage" : { |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,37 @@ |
|||||||
|
{ |
||||||
|
"DynamicJumpJD_DependsOnJumps0" : { |
||||||
|
"_info" : { |
||||||
|
"comment" : "", |
||||||
|
"filledwith" : "testeth 1.5.0.dev2-52+commit.d419e0a2", |
||||||
|
"lllcversion" : "Version: 0.4.26-develop.2018.9.19+commit.785cbf40.Linux.g++", |
||||||
|
"source" : "src/VMTestsFiller/vmIOandFlowOperations/DynamicJumpJD_DependsOnJumps0Filler.json", |
||||||
|
"sourceHash" : "e96143bec9697fb0d565026f5fcc5ed70833bf89eb8c63aa87e0155b4e61d8f4" |
||||||
|
}, |
||||||
|
"env" : { |
||||||
|
"currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", |
||||||
|
"currentDifficulty" : "0x0100", |
||||||
|
"currentGasLimit" : "0x0f4240", |
||||||
|
"currentNumber" : "0x01", |
||||||
|
"currentTimestamp" : "0x01" |
||||||
|
}, |
||||||
|
"exec" : { |
||||||
|
"address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", |
||||||
|
"caller" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"code" : "0x6009436006575b566001", |
||||||
|
"data" : "0x", |
||||||
|
"gas" : "0x0186a0", |
||||||
|
"gasPrice" : "0x5af3107a4000", |
||||||
|
"origin" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"value" : "0x0de0b6b3a7640000" |
||||||
|
}, |
||||||
|
"pre" : { |
||||||
|
"0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { |
||||||
|
"balance" : "0x152d02c7e14af6800000", |
||||||
|
"code" : "0x6009436006575b566001", |
||||||
|
"nonce" : "0x00", |
||||||
|
"storage" : { |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,52 @@ |
|||||||
|
{ |
||||||
|
"DynamicJumpJD_DependsOnJumps1" : { |
||||||
|
"_info" : { |
||||||
|
"comment" : "", |
||||||
|
"filledwith" : "testeth 1.5.0.dev2-52+commit.d419e0a2", |
||||||
|
"lllcversion" : "Version: 0.4.26-develop.2018.9.19+commit.785cbf40.Linux.g++", |
||||||
|
"source" : "src/VMTestsFiller/vmIOandFlowOperations/DynamicJumpJD_DependsOnJumps1Filler.json", |
||||||
|
"sourceHash" : "853f3f35881b9db63508e68d34cf87a1a3697fdc969821c0659462242d859c2b" |
||||||
|
}, |
||||||
|
"callcreates" : [ |
||||||
|
], |
||||||
|
"env" : { |
||||||
|
"currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", |
||||||
|
"currentDifficulty" : "0x0100", |
||||||
|
"currentGasLimit" : "0x0f4240", |
||||||
|
"currentNumber" : "0x01", |
||||||
|
"currentTimestamp" : "0x01" |
||||||
|
}, |
||||||
|
"exec" : { |
||||||
|
"address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", |
||||||
|
"caller" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"code" : "0x600a436006575b5660015b6001600155", |
||||||
|
"data" : "0x", |
||||||
|
"gas" : "0x0186a0", |
||||||
|
"gasPrice" : "0x5af3107a4000", |
||||||
|
"origin" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"value" : "0x0de0b6b3a7640000" |
||||||
|
}, |
||||||
|
"gas" : "0x01385e", |
||||||
|
"logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", |
||||||
|
"out" : "0x", |
||||||
|
"post" : { |
||||||
|
"0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { |
||||||
|
"balance" : "0x152d02c7e14af6800000", |
||||||
|
"code" : "0x600a436006575b5660015b6001600155", |
||||||
|
"nonce" : "0x00", |
||||||
|
"storage" : { |
||||||
|
"0x01" : "0x01" |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"pre" : { |
||||||
|
"0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { |
||||||
|
"balance" : "0x152d02c7e14af6800000", |
||||||
|
"code" : "0x600a436006575b5660015b6001600155", |
||||||
|
"nonce" : "0x00", |
||||||
|
"storage" : { |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,52 @@ |
|||||||
|
{ |
||||||
|
"DynamicJumpPathologicalTest0" : { |
||||||
|
"_info" : { |
||||||
|
"comment" : "", |
||||||
|
"filledwith" : "testeth 1.5.0.dev2-52+commit.d419e0a2", |
||||||
|
"lllcversion" : "Version: 0.4.26-develop.2018.9.19+commit.785cbf40.Linux.g++", |
||||||
|
"source" : "src/VMTestsFiller/vmIOandFlowOperations/DynamicJumpPathologicalTest0Filler.json", |
||||||
|
"sourceHash" : "6862ac2a8fad0b3c043493fcd9c9a7e8a549c9f3ef34019ac0d7bcfd096a8040" |
||||||
|
}, |
||||||
|
"callcreates" : [ |
||||||
|
], |
||||||
|
"env" : { |
||||||
|
"currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", |
||||||
|
"currentDifficulty" : "0x0100", |
||||||
|
"currentGasLimit" : "0x0f4240", |
||||||
|
"currentNumber" : "0x04", |
||||||
|
"currentTimestamp" : "0x01" |
||||||
|
}, |
||||||
|
"exec" : { |
||||||
|
"address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", |
||||||
|
"caller" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"code" : "0x435660615b4343025660615b60615b5b5b6001600155", |
||||||
|
"data" : "0x", |
||||||
|
"gas" : "0x0186a0", |
||||||
|
"gasPrice" : "0x5af3107a4000", |
||||||
|
"origin" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"value" : "0x0de0b6b3a7640000" |
||||||
|
}, |
||||||
|
"gas" : "0x01385d", |
||||||
|
"logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", |
||||||
|
"out" : "0x", |
||||||
|
"post" : { |
||||||
|
"0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { |
||||||
|
"balance" : "0x152d02c7e14af6800000", |
||||||
|
"code" : "0x435660615b4343025660615b60615b5b5b6001600155", |
||||||
|
"nonce" : "0x00", |
||||||
|
"storage" : { |
||||||
|
"0x01" : "0x01" |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"pre" : { |
||||||
|
"0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { |
||||||
|
"balance" : "0x152d02c7e14af6800000", |
||||||
|
"code" : "0x435660615b4343025660615b60615b5b5b6001600155", |
||||||
|
"nonce" : "0x00", |
||||||
|
"storage" : { |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,37 @@ |
|||||||
|
{ |
||||||
|
"DynamicJumpPathologicalTest1" : { |
||||||
|
"_info" : { |
||||||
|
"comment" : "", |
||||||
|
"filledwith" : "testeth 1.5.0.dev2-52+commit.d419e0a2", |
||||||
|
"lllcversion" : "Version: 0.4.26-develop.2018.9.19+commit.785cbf40.Linux.g++", |
||||||
|
"source" : "src/VMTestsFiller/vmIOandFlowOperations/DynamicJumpPathologicalTest1Filler.json", |
||||||
|
"sourceHash" : "dfbad553b0e28f37f6a5d72740e2ae6bf17ce1b19c62caf2cc2a99c0d1d84e05" |
||||||
|
}, |
||||||
|
"env" : { |
||||||
|
"currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", |
||||||
|
"currentDifficulty" : "0x0100", |
||||||
|
"currentGasLimit" : "0x0f4240", |
||||||
|
"currentNumber" : "0x04", |
||||||
|
"currentTimestamp" : "0x01" |
||||||
|
}, |
||||||
|
"exec" : { |
||||||
|
"address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", |
||||||
|
"caller" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"code" : "0x435660615b4343025660615b60615b605b6001600155", |
||||||
|
"data" : "0x", |
||||||
|
"gas" : "0x0186a0", |
||||||
|
"gasPrice" : "0x5af3107a4000", |
||||||
|
"origin" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"value" : "0x0de0b6b3a7640000" |
||||||
|
}, |
||||||
|
"pre" : { |
||||||
|
"0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { |
||||||
|
"balance" : "0x152d02c7e14af6800000", |
||||||
|
"code" : "0x435660615b4343025660615b60615b605b6001600155", |
||||||
|
"nonce" : "0x00", |
||||||
|
"storage" : { |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,37 @@ |
|||||||
|
{ |
||||||
|
"DynamicJumpPathologicalTest2" : { |
||||||
|
"_info" : { |
||||||
|
"comment" : "", |
||||||
|
"filledwith" : "testeth 1.5.0.dev2-52+commit.d419e0a2", |
||||||
|
"lllcversion" : "Version: 0.4.26-develop.2018.9.19+commit.785cbf40.Linux.g++", |
||||||
|
"source" : "src/VMTestsFiller/vmIOandFlowOperations/DynamicJumpPathologicalTest2Filler.json", |
||||||
|
"sourceHash" : "957bc609a0322452da86a59c96e7eea17c5463dcd7bad6ed97b57c6460a90b80" |
||||||
|
}, |
||||||
|
"env" : { |
||||||
|
"currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", |
||||||
|
"currentDifficulty" : "0x0100", |
||||||
|
"currentGasLimit" : "0x0f4240", |
||||||
|
"currentNumber" : "0x04", |
||||||
|
"currentTimestamp" : "0x01" |
||||||
|
}, |
||||||
|
"exec" : { |
||||||
|
"address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", |
||||||
|
"caller" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"code" : "0x435631615b60615b60615b606001600155", |
||||||
|
"data" : "0x", |
||||||
|
"gas" : "0x0186a0", |
||||||
|
"gasPrice" : "0x5af3107a4000", |
||||||
|
"origin" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"value" : "0x0de0b6b3a7640000" |
||||||
|
}, |
||||||
|
"pre" : { |
||||||
|
"0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { |
||||||
|
"balance" : "0x152d02c7e14af6800000", |
||||||
|
"code" : "0x435631615b60615b60615b606001600155", |
||||||
|
"nonce" : "0x00", |
||||||
|
"storage" : { |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,37 @@ |
|||||||
|
{ |
||||||
|
"DynamicJumpPathologicalTest3" : { |
||||||
|
"_info" : { |
||||||
|
"comment" : "", |
||||||
|
"filledwith" : "testeth 1.5.0.dev2-52+commit.d419e0a2", |
||||||
|
"lllcversion" : "Version: 0.4.26-develop.2018.9.19+commit.785cbf40.Linux.g++", |
||||||
|
"source" : "src/VMTestsFiller/vmIOandFlowOperations/DynamicJumpPathologicalTest3Filler.json", |
||||||
|
"sourceHash" : "a906b3dcb41da1cdacb67bdf49111ecd2bdaab0e3584dbd3993ef0f0555766f6" |
||||||
|
}, |
||||||
|
"env" : { |
||||||
|
"currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", |
||||||
|
"currentDifficulty" : "0x0100", |
||||||
|
"currentGasLimit" : "0x0f4240", |
||||||
|
"currentNumber" : "0x07", |
||||||
|
"currentTimestamp" : "0x01" |
||||||
|
}, |
||||||
|
"exec" : { |
||||||
|
"address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", |
||||||
|
"caller" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"code" : "0x435631615b60615b60615b606001600155", |
||||||
|
"data" : "0x", |
||||||
|
"gas" : "0x0186a0", |
||||||
|
"gasPrice" : "0x5af3107a4000", |
||||||
|
"origin" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"value" : "0x0de0b6b3a7640000" |
||||||
|
}, |
||||||
|
"pre" : { |
||||||
|
"0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { |
||||||
|
"balance" : "0x152d02c7e14af6800000", |
||||||
|
"code" : "0x435631615b60615b60615b606001600155", |
||||||
|
"nonce" : "0x00", |
||||||
|
"storage" : { |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,52 @@ |
|||||||
|
{ |
||||||
|
"DynamicJumpStartWithJumpDest" : { |
||||||
|
"_info" : { |
||||||
|
"comment" : "", |
||||||
|
"filledwith" : "testeth 1.5.0.dev2-52+commit.d419e0a2", |
||||||
|
"lllcversion" : "Version: 0.4.26-develop.2018.9.19+commit.785cbf40.Linux.g++", |
||||||
|
"source" : "src/VMTestsFiller/vmIOandFlowOperations/DynamicJumpStartWithJumpDestFiller.json", |
||||||
|
"sourceHash" : "4fb19acd65703dce630cb655f52e98d2de72d8a790d53b895d0e7bce603d4166" |
||||||
|
}, |
||||||
|
"callcreates" : [ |
||||||
|
], |
||||||
|
"env" : { |
||||||
|
"currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", |
||||||
|
"currentDifficulty" : "0x0100", |
||||||
|
"currentGasLimit" : "0x0f4240", |
||||||
|
"currentNumber" : "0x00", |
||||||
|
"currentTimestamp" : "0x01" |
||||||
|
}, |
||||||
|
"exec" : { |
||||||
|
"address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", |
||||||
|
"caller" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"code" : "0x5b586000555960115758600052596000575b58600055", |
||||||
|
"data" : "0x", |
||||||
|
"gas" : "0x0186a0", |
||||||
|
"gasPrice" : "0x5af3107a4000", |
||||||
|
"origin" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"value" : "0x0de0b6b3a7640000" |
||||||
|
}, |
||||||
|
"gas" : "0x011126", |
||||||
|
"logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", |
||||||
|
"out" : "0x", |
||||||
|
"post" : { |
||||||
|
"0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { |
||||||
|
"balance" : "0x152d02c7e14af6800000", |
||||||
|
"code" : "0x5b586000555960115758600052596000575b58600055", |
||||||
|
"nonce" : "0x00", |
||||||
|
"storage" : { |
||||||
|
"0x00" : "0x12" |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"pre" : { |
||||||
|
"0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { |
||||||
|
"balance" : "0x152d02c7e14af6800000", |
||||||
|
"code" : "0x5b586000555960115758600052596000575b58600055", |
||||||
|
"nonce" : "0x00", |
||||||
|
"storage" : { |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,51 @@ |
|||||||
|
{ |
||||||
|
"DynamicJump_value1" : { |
||||||
|
"_info" : { |
||||||
|
"comment" : "", |
||||||
|
"filledwith" : "testeth 1.5.0.dev2-52+commit.d419e0a2", |
||||||
|
"lllcversion" : "Version: 0.4.26-develop.2018.9.19+commit.785cbf40.Linux.g++", |
||||||
|
"source" : "src/VMTestsFiller/vmIOandFlowOperations/DynamicJump_value1Filler.json", |
||||||
|
"sourceHash" : "20503c4d21019e3d9d87b95365a0d0417fb7e163265f938d6e3f685377a2c5da" |
||||||
|
}, |
||||||
|
"callcreates" : [ |
||||||
|
], |
||||||
|
"env" : { |
||||||
|
"currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", |
||||||
|
"currentDifficulty" : "0x0100", |
||||||
|
"currentGasLimit" : "0x0f4240", |
||||||
|
"currentNumber" : "0x00", |
||||||
|
"currentTimestamp" : "0x01" |
||||||
|
}, |
||||||
|
"exec" : { |
||||||
|
"address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", |
||||||
|
"caller" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"code" : "0x60016002600334565b5050600052596000f35b50600052596000f35b600052596000f3", |
||||||
|
"data" : "0x", |
||||||
|
"gas" : "0x0186a0", |
||||||
|
"gasPrice" : "0x5af3107a4000", |
||||||
|
"origin" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"value" : "0x08" |
||||||
|
}, |
||||||
|
"gas" : "0x01867a", |
||||||
|
"logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", |
||||||
|
"out" : "0x0000000000000000000000000000000000000000000000000000000000000001", |
||||||
|
"post" : { |
||||||
|
"0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { |
||||||
|
"balance" : "0x152d02c7e14af6800000", |
||||||
|
"code" : "0x60016002600334565b5050600052596000f35b50600052596000f35b600052596000f3", |
||||||
|
"nonce" : "0x00", |
||||||
|
"storage" : { |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"pre" : { |
||||||
|
"0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { |
||||||
|
"balance" : "0x152d02c7e14af6800000", |
||||||
|
"code" : "0x60016002600334565b5050600052596000f35b50600052596000f35b600052596000f3", |
||||||
|
"nonce" : "0x00", |
||||||
|
"storage" : { |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,51 @@ |
|||||||
|
{ |
||||||
|
"DynamicJump_value2" : { |
||||||
|
"_info" : { |
||||||
|
"comment" : "", |
||||||
|
"filledwith" : "testeth 1.5.0.dev2-52+commit.d419e0a2", |
||||||
|
"lllcversion" : "Version: 0.4.26-develop.2018.9.19+commit.785cbf40.Linux.g++", |
||||||
|
"source" : "src/VMTestsFiller/vmIOandFlowOperations/DynamicJump_value2Filler.json", |
||||||
|
"sourceHash" : "00631169ba52dbbd3d7ac8529dd960c6b297226c0f177ee3e0ef8bd202b4b1ff" |
||||||
|
}, |
||||||
|
"callcreates" : [ |
||||||
|
], |
||||||
|
"env" : { |
||||||
|
"currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", |
||||||
|
"currentDifficulty" : "0x0100", |
||||||
|
"currentGasLimit" : "0x0f4240", |
||||||
|
"currentNumber" : "0x00", |
||||||
|
"currentTimestamp" : "0x01" |
||||||
|
}, |
||||||
|
"exec" : { |
||||||
|
"address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", |
||||||
|
"caller" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"code" : "0x60016002600334565b5050600052596000f35b50600052596000f35b600052596000f3", |
||||||
|
"data" : "0x", |
||||||
|
"gas" : "0x0186a0", |
||||||
|
"gasPrice" : "0x5af3107a4000", |
||||||
|
"origin" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"value" : "0x12" |
||||||
|
}, |
||||||
|
"gas" : "0x01867c", |
||||||
|
"logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", |
||||||
|
"out" : "0x0000000000000000000000000000000000000000000000000000000000000002", |
||||||
|
"post" : { |
||||||
|
"0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { |
||||||
|
"balance" : "0x152d02c7e14af6800000", |
||||||
|
"code" : "0x60016002600334565b5050600052596000f35b50600052596000f35b600052596000f3", |
||||||
|
"nonce" : "0x00", |
||||||
|
"storage" : { |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"pre" : { |
||||||
|
"0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { |
||||||
|
"balance" : "0x152d02c7e14af6800000", |
||||||
|
"code" : "0x60016002600334565b5050600052596000f35b50600052596000f35b600052596000f3", |
||||||
|
"nonce" : "0x00", |
||||||
|
"storage" : { |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,51 @@ |
|||||||
|
{ |
||||||
|
"DynamicJump_value3" : { |
||||||
|
"_info" : { |
||||||
|
"comment" : "", |
||||||
|
"filledwith" : "testeth 1.5.0.dev2-52+commit.d419e0a2", |
||||||
|
"lllcversion" : "Version: 0.4.26-develop.2018.9.19+commit.785cbf40.Linux.g++", |
||||||
|
"source" : "src/VMTestsFiller/vmIOandFlowOperations/DynamicJump_value3Filler.json", |
||||||
|
"sourceHash" : "a1477eeb656e1f4d09c07f020a088cc099f6661fce88f137754b1d45550d7218" |
||||||
|
}, |
||||||
|
"callcreates" : [ |
||||||
|
], |
||||||
|
"env" : { |
||||||
|
"currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", |
||||||
|
"currentDifficulty" : "0x0100", |
||||||
|
"currentGasLimit" : "0x0f4240", |
||||||
|
"currentNumber" : "0x00", |
||||||
|
"currentTimestamp" : "0x01" |
||||||
|
}, |
||||||
|
"exec" : { |
||||||
|
"address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", |
||||||
|
"caller" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"code" : "0x60016002600334565b5050600052596000f35b50600052596000f35b600052596000f3", |
||||||
|
"data" : "0x", |
||||||
|
"gas" : "0x0186a0", |
||||||
|
"gasPrice" : "0x5af3107a4000", |
||||||
|
"origin" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"value" : "0x1b" |
||||||
|
}, |
||||||
|
"gas" : "0x01867e", |
||||||
|
"logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", |
||||||
|
"out" : "0x0000000000000000000000000000000000000000000000000000000000000003", |
||||||
|
"post" : { |
||||||
|
"0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { |
||||||
|
"balance" : "0x152d02c7e14af6800000", |
||||||
|
"code" : "0x60016002600334565b5050600052596000f35b50600052596000f35b600052596000f3", |
||||||
|
"nonce" : "0x00", |
||||||
|
"storage" : { |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"pre" : { |
||||||
|
"0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { |
||||||
|
"balance" : "0x152d02c7e14af6800000", |
||||||
|
"code" : "0x60016002600334565b5050600052596000f35b50600052596000f35b600052596000f3", |
||||||
|
"nonce" : "0x00", |
||||||
|
"storage" : { |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,37 @@ |
|||||||
|
{ |
||||||
|
"DynamicJump_valueUnderflow" : { |
||||||
|
"_info" : { |
||||||
|
"comment" : "", |
||||||
|
"filledwith" : "testeth 1.5.0.dev2-52+commit.d419e0a2", |
||||||
|
"lllcversion" : "Version: 0.4.26-develop.2018.9.19+commit.785cbf40.Linux.g++", |
||||||
|
"source" : "src/VMTestsFiller/vmIOandFlowOperations/DynamicJump_valueUnderflowFiller.json", |
||||||
|
"sourceHash" : "37f012edfeaa13e4819617af0e8dc2fd71d738a2463b1f61bfd86de0ef980f1b" |
||||||
|
}, |
||||||
|
"env" : { |
||||||
|
"currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", |
||||||
|
"currentDifficulty" : "0x0100", |
||||||
|
"currentGasLimit" : "0x0f4240", |
||||||
|
"currentNumber" : "0x00", |
||||||
|
"currentTimestamp" : "0x01" |
||||||
|
}, |
||||||
|
"exec" : { |
||||||
|
"address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", |
||||||
|
"caller" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"code" : "0x60016002600334565b5050600052596000f35b50600052596000f35b505050600052596000f3", |
||||||
|
"data" : "0x", |
||||||
|
"gas" : "0x0186a0", |
||||||
|
"gasPrice" : "0x5af3107a4000", |
||||||
|
"origin" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"value" : "0x1b" |
||||||
|
}, |
||||||
|
"pre" : { |
||||||
|
"0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { |
||||||
|
"balance" : "0x152d02c7e14af6800000", |
||||||
|
"code" : "0x60016002600334565b5050600052596000f35b50600052596000f35b505050600052596000f3", |
||||||
|
"nonce" : "0x00", |
||||||
|
"storage" : { |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,37 @@ |
|||||||
|
{ |
||||||
|
"DynamicJumpi0" : { |
||||||
|
"_info" : { |
||||||
|
"comment" : "", |
||||||
|
"filledwith" : "testeth 1.5.0.dev2-52+commit.d419e0a2", |
||||||
|
"lllcversion" : "Version: 0.4.26-develop.2018.9.19+commit.785cbf40.Linux.g++", |
||||||
|
"source" : "src/VMTestsFiller/vmIOandFlowOperations/DynamicJumpi0Filler.json", |
||||||
|
"sourceHash" : "394cae3e06d120cc1a5df5e14cfae3598d62e1fefa06dce4055c6ff59c367b63" |
||||||
|
}, |
||||||
|
"env" : { |
||||||
|
"currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", |
||||||
|
"currentDifficulty" : "0x0100", |
||||||
|
"currentGasLimit" : "0x0f4240", |
||||||
|
"currentNumber" : "0x00", |
||||||
|
"currentTimestamp" : "0x01" |
||||||
|
}, |
||||||
|
"exec" : { |
||||||
|
"address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", |
||||||
|
"caller" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"code" : "0x602360016009600301576001600255", |
||||||
|
"data" : "0x", |
||||||
|
"gas" : "0x0186a0", |
||||||
|
"gasPrice" : "0x5af3107a4000", |
||||||
|
"origin" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"value" : "0x0de0b6b3a7640000" |
||||||
|
}, |
||||||
|
"pre" : { |
||||||
|
"0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { |
||||||
|
"balance" : "0x152d02c7e14af6800000", |
||||||
|
"code" : "0x602360016009600301576001600255", |
||||||
|
"nonce" : "0x00", |
||||||
|
"storage" : { |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,52 @@ |
|||||||
|
{ |
||||||
|
"DynamicJumpi1" : { |
||||||
|
"_info" : { |
||||||
|
"comment" : "", |
||||||
|
"filledwith" : "testeth 1.5.0.dev2-52+commit.d419e0a2", |
||||||
|
"lllcversion" : "Version: 0.4.26-develop.2018.9.19+commit.785cbf40.Linux.g++", |
||||||
|
"source" : "src/VMTestsFiller/vmIOandFlowOperations/DynamicJumpi1Filler.json", |
||||||
|
"sourceHash" : "31d323d1c24dd2c2ea5a4e18fd0765bfa1be189add7e395b2679bf5a98e492ab" |
||||||
|
}, |
||||||
|
"callcreates" : [ |
||||||
|
], |
||||||
|
"env" : { |
||||||
|
"currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", |
||||||
|
"currentDifficulty" : "0x0100", |
||||||
|
"currentGasLimit" : "0x0f4240", |
||||||
|
"currentNumber" : "0x00", |
||||||
|
"currentTimestamp" : "0x01" |
||||||
|
}, |
||||||
|
"exec" : { |
||||||
|
"address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", |
||||||
|
"caller" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"code" : "0x602360006009600301576001600255", |
||||||
|
"data" : "0x", |
||||||
|
"gas" : "0x0186a0", |
||||||
|
"gasPrice" : "0x5af3107a4000", |
||||||
|
"origin" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"value" : "0x0de0b6b3a7640000" |
||||||
|
}, |
||||||
|
"gas" : "0x013861", |
||||||
|
"logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", |
||||||
|
"out" : "0x", |
||||||
|
"post" : { |
||||||
|
"0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { |
||||||
|
"balance" : "0x152d02c7e14af6800000", |
||||||
|
"code" : "0x602360006009600301576001600255", |
||||||
|
"nonce" : "0x00", |
||||||
|
"storage" : { |
||||||
|
"0x02" : "0x01" |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"pre" : { |
||||||
|
"0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { |
||||||
|
"balance" : "0x152d02c7e14af6800000", |
||||||
|
"code" : "0x602360006009600301576001600255", |
||||||
|
"nonce" : "0x00", |
||||||
|
"storage" : { |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,37 @@ |
|||||||
|
{ |
||||||
|
"DynamicJumpi1_jumpdest" : { |
||||||
|
"_info" : { |
||||||
|
"comment" : "", |
||||||
|
"filledwith" : "testeth 1.5.0.dev2-52+commit.d419e0a2", |
||||||
|
"lllcversion" : "Version: 0.4.26-develop.2018.9.19+commit.785cbf40.Linux.g++", |
||||||
|
"source" : "src/VMTestsFiller/vmIOandFlowOperations/DynamicJumpi1_jumpdestFiller.json", |
||||||
|
"sourceHash" : "fb4060a7f68c0f3ad9643dcfc93fa90ea0fe6123e65499ae65f400e22db20bcc" |
||||||
|
}, |
||||||
|
"env" : { |
||||||
|
"currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", |
||||||
|
"currentDifficulty" : "0x0100", |
||||||
|
"currentGasLimit" : "0x0f4240", |
||||||
|
"currentNumber" : "0x00", |
||||||
|
"currentTimestamp" : "0x01" |
||||||
|
}, |
||||||
|
"exec" : { |
||||||
|
"address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", |
||||||
|
"caller" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"code" : "0x60236001600a6003015760015b600255", |
||||||
|
"data" : "0x", |
||||||
|
"gas" : "0x0186a0", |
||||||
|
"gasPrice" : "0x5af3107a4000", |
||||||
|
"origin" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"value" : "0x0de0b6b3a7640000" |
||||||
|
}, |
||||||
|
"pre" : { |
||||||
|
"0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { |
||||||
|
"balance" : "0x152d02c7e14af6800000", |
||||||
|
"code" : "0x60236001600a6003015760015b600255", |
||||||
|
"nonce" : "0x00", |
||||||
|
"storage" : { |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,52 @@ |
|||||||
|
{ |
||||||
|
"DynamicJumpiAfterStop" : { |
||||||
|
"_info" : { |
||||||
|
"comment" : "", |
||||||
|
"filledwith" : "testeth 1.5.0.dev2-52+commit.d419e0a2", |
||||||
|
"lllcversion" : "Version: 0.4.26-develop.2018.9.19+commit.785cbf40.Linux.g++", |
||||||
|
"source" : "src/VMTestsFiller/vmIOandFlowOperations/DynamicJumpiAfterStopFiller.json", |
||||||
|
"sourceHash" : "d61d45e9d5ea3e13d2a8a33965c9c620207156e0b4baf2dfed9a0288c7e8053b" |
||||||
|
}, |
||||||
|
"callcreates" : [ |
||||||
|
], |
||||||
|
"env" : { |
||||||
|
"currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", |
||||||
|
"currentDifficulty" : "0x0100", |
||||||
|
"currentGasLimit" : "0x0f4240", |
||||||
|
"currentNumber" : "0x00", |
||||||
|
"currentTimestamp" : "0x01" |
||||||
|
}, |
||||||
|
"exec" : { |
||||||
|
"address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", |
||||||
|
"caller" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"code" : "0x60016008600301570060015b6002600355", |
||||||
|
"data" : "0x", |
||||||
|
"gas" : "0x0186a0", |
||||||
|
"gasPrice" : "0x5af3107a4000", |
||||||
|
"origin" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"value" : "0x0de0b6b3a7640000" |
||||||
|
}, |
||||||
|
"gas" : "0x013863", |
||||||
|
"logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", |
||||||
|
"out" : "0x", |
||||||
|
"post" : { |
||||||
|
"0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { |
||||||
|
"balance" : "0x152d02c7e14af6800000", |
||||||
|
"code" : "0x60016008600301570060015b6002600355", |
||||||
|
"nonce" : "0x00", |
||||||
|
"storage" : { |
||||||
|
"0x03" : "0x02" |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"pre" : { |
||||||
|
"0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { |
||||||
|
"balance" : "0x152d02c7e14af6800000", |
||||||
|
"code" : "0x60016008600301570060015b6002600355", |
||||||
|
"nonce" : "0x00", |
||||||
|
"storage" : { |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,37 @@ |
|||||||
|
{ |
||||||
|
"DynamicJumpiOutsideBoundary" : { |
||||||
|
"_info" : { |
||||||
|
"comment" : "", |
||||||
|
"filledwith" : "testeth 1.5.0.dev2-52+commit.d419e0a2", |
||||||
|
"lllcversion" : "Version: 0.4.26-develop.2018.9.19+commit.785cbf40.Linux.g++", |
||||||
|
"source" : "src/VMTestsFiller/vmIOandFlowOperations/DynamicJumpiOutsideBoundaryFiller.json", |
||||||
|
"sourceHash" : "d550aa41047204857f27b7a80a1309520f3e59b41a87ef3e40492032706e5a88" |
||||||
|
}, |
||||||
|
"env" : { |
||||||
|
"currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", |
||||||
|
"currentDifficulty" : "0x0100", |
||||||
|
"currentGasLimit" : "0x0f4240", |
||||||
|
"currentNumber" : "0x00", |
||||||
|
"currentTimestamp" : "0x01" |
||||||
|
}, |
||||||
|
"exec" : { |
||||||
|
"address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", |
||||||
|
"caller" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"code" : "0x60017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0600301576002600355", |
||||||
|
"data" : "0x", |
||||||
|
"gas" : "0x0186a0", |
||||||
|
"gasPrice" : "0x5af3107a4000", |
||||||
|
"origin" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"value" : "0x0de0b6b3a7640000" |
||||||
|
}, |
||||||
|
"pre" : { |
||||||
|
"0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { |
||||||
|
"balance" : "0x152d02c7e14af6800000", |
||||||
|
"code" : "0x60017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0600301576002600355", |
||||||
|
"nonce" : "0x00", |
||||||
|
"storage" : { |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,37 @@ |
|||||||
|
{ |
||||||
|
"DynamicJumpifInsidePushWithJumpDest" : { |
||||||
|
"_info" : { |
||||||
|
"comment" : "", |
||||||
|
"filledwith" : "testeth 1.5.0.dev2-52+commit.d419e0a2", |
||||||
|
"lllcversion" : "Version: 0.4.26-develop.2018.9.19+commit.785cbf40.Linux.g++", |
||||||
|
"source" : "src/VMTestsFiller/vmIOandFlowOperations/DynamicJumpifInsidePushWithJumpDestFiller.json", |
||||||
|
"sourceHash" : "05f764377385769e93afe47dbc0293921c211b4e68afce30f18cba4bb5955420" |
||||||
|
}, |
||||||
|
"env" : { |
||||||
|
"currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", |
||||||
|
"currentDifficulty" : "0x0100", |
||||||
|
"currentGasLimit" : "0x0f4240", |
||||||
|
"currentNumber" : "0x00", |
||||||
|
"currentTimestamp" : "0x01" |
||||||
|
}, |
||||||
|
"exec" : { |
||||||
|
"address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", |
||||||
|
"caller" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"code" : "0x6001600660030157655b6001600155", |
||||||
|
"data" : "0x", |
||||||
|
"gas" : "0x0186a0", |
||||||
|
"gasPrice" : "0x5af3107a4000", |
||||||
|
"origin" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"value" : "0x0de0b6b3a7640000" |
||||||
|
}, |
||||||
|
"pre" : { |
||||||
|
"0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { |
||||||
|
"balance" : "0x152d02c7e14af6800000", |
||||||
|
"code" : "0x6001600660030157655b6001600155", |
||||||
|
"nonce" : "0x00", |
||||||
|
"storage" : { |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,37 @@ |
|||||||
|
{ |
||||||
|
"DynamicJumpifInsidePushWithoutJumpDest" : { |
||||||
|
"_info" : { |
||||||
|
"comment" : "", |
||||||
|
"filledwith" : "testeth 1.5.0.dev2-52+commit.d419e0a2", |
||||||
|
"lllcversion" : "Version: 0.4.26-develop.2018.9.19+commit.785cbf40.Linux.g++", |
||||||
|
"source" : "src/VMTestsFiller/vmIOandFlowOperations/DynamicJumpifInsidePushWithoutJumpDestFiller.json", |
||||||
|
"sourceHash" : "cadedb13e141e3b7bf1f0763cc831dace3ff150fc623e81fb00e798168d01188" |
||||||
|
}, |
||||||
|
"env" : { |
||||||
|
"currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", |
||||||
|
"currentDifficulty" : "0x0100", |
||||||
|
"currentGasLimit" : "0x0f4240", |
||||||
|
"currentNumber" : "0x00", |
||||||
|
"currentTimestamp" : "0x01" |
||||||
|
}, |
||||||
|
"exec" : { |
||||||
|
"address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", |
||||||
|
"caller" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"code" : "0x600160076003015761eeff", |
||||||
|
"data" : "0x", |
||||||
|
"gas" : "0x0186a0", |
||||||
|
"gasPrice" : "0x5af3107a4000", |
||||||
|
"origin" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"value" : "0x0de0b6b3a7640000" |
||||||
|
}, |
||||||
|
"pre" : { |
||||||
|
"0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { |
||||||
|
"balance" : "0x152d02c7e14af6800000", |
||||||
|
"code" : "0x600160076003015761eeff", |
||||||
|
"nonce" : "0x00", |
||||||
|
"storage" : { |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,38 @@ |
|||||||
|
{ |
||||||
|
"JDfromStorageDynamicJump0_AfterJumpdest" : { |
||||||
|
"_info" : { |
||||||
|
"comment" : "", |
||||||
|
"filledwith" : "testeth 1.5.0.dev2-52+commit.d419e0a2", |
||||||
|
"lllcversion" : "Version: 0.4.26-develop.2018.9.19+commit.785cbf40.Linux.g++", |
||||||
|
"source" : "src/VMTestsFiller/vmIOandFlowOperations/JDfromStorageDynamicJump0_AfterJumpdestFiller.json", |
||||||
|
"sourceHash" : "06126bb58e44948750e412ea81a3140fcc72b63acec0090939706f3ceb403ae8" |
||||||
|
}, |
||||||
|
"env" : { |
||||||
|
"currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", |
||||||
|
"currentDifficulty" : "0x0100", |
||||||
|
"currentGasLimit" : "0x0f4240", |
||||||
|
"currentNumber" : "0x02", |
||||||
|
"currentTimestamp" : "0x01" |
||||||
|
}, |
||||||
|
"exec" : { |
||||||
|
"address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", |
||||||
|
"caller" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"code" : "0x60236008600054015660015b600255", |
||||||
|
"data" : "0x", |
||||||
|
"gas" : "0x0186a0", |
||||||
|
"gasPrice" : "0x5af3107a4000", |
||||||
|
"origin" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"value" : "0x0de0b6b3a7640000" |
||||||
|
}, |
||||||
|
"pre" : { |
||||||
|
"0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { |
||||||
|
"balance" : "0x152d02c7e14af6800000", |
||||||
|
"code" : "0x60236008600054015660015b600255", |
||||||
|
"nonce" : "0x00", |
||||||
|
"storage" : { |
||||||
|
"0x00" : "0x04" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,38 @@ |
|||||||
|
{ |
||||||
|
"JDfromStorageDynamicJump0_AfterJumpdest3" : { |
||||||
|
"_info" : { |
||||||
|
"comment" : "", |
||||||
|
"filledwith" : "testeth 1.5.0.dev2-52+commit.d419e0a2", |
||||||
|
"lllcversion" : "Version: 0.4.26-develop.2018.9.19+commit.785cbf40.Linux.g++", |
||||||
|
"source" : "src/VMTestsFiller/vmIOandFlowOperations/JDfromStorageDynamicJump0_AfterJumpdest3Filler.json", |
||||||
|
"sourceHash" : "52880726a50d86ffdaea78e4a5d3293643688543eea049172fbf51e564f28f5b" |
||||||
|
}, |
||||||
|
"env" : { |
||||||
|
"currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", |
||||||
|
"currentDifficulty" : "0x0100", |
||||||
|
"currentGasLimit" : "0x0f4240", |
||||||
|
"currentNumber" : "0x02", |
||||||
|
"currentTimestamp" : "0x01" |
||||||
|
}, |
||||||
|
"exec" : { |
||||||
|
"address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", |
||||||
|
"caller" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"code" : "0x6023600b600850600054015660015b600255", |
||||||
|
"data" : "0x", |
||||||
|
"gas" : "0x0186a0", |
||||||
|
"gasPrice" : "0x5af3107a4000", |
||||||
|
"origin" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"value" : "0x0de0b6b3a7640000" |
||||||
|
}, |
||||||
|
"pre" : { |
||||||
|
"0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { |
||||||
|
"balance" : "0x152d02c7e14af6800000", |
||||||
|
"code" : "0x6023600b600850600054015660015b600255", |
||||||
|
"nonce" : "0x00", |
||||||
|
"storage" : { |
||||||
|
"0x00" : "0x04" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,38 @@ |
|||||||
|
{ |
||||||
|
"JDfromStorageDynamicJump0_foreverOutOfGas" : { |
||||||
|
"_info" : { |
||||||
|
"comment" : "", |
||||||
|
"filledwith" : "testeth 1.5.0.dev2-52+commit.d419e0a2", |
||||||
|
"lllcversion" : "Version: 0.4.26-develop.2018.9.19+commit.785cbf40.Linux.g++", |
||||||
|
"source" : "src/VMTestsFiller/vmIOandFlowOperations/JDfromStorageDynamicJump0_foreverOutOfGasFiller.json", |
||||||
|
"sourceHash" : "a3046ce1b7f78c109aa36c29db004850ad5b3b4129d9085849b7af04b719826c" |
||||||
|
}, |
||||||
|
"env" : { |
||||||
|
"currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", |
||||||
|
"currentDifficulty" : "0x0100", |
||||||
|
"currentGasLimit" : "0x0f4240", |
||||||
|
"currentNumber" : "0x02", |
||||||
|
"currentTimestamp" : "0x01" |
||||||
|
}, |
||||||
|
"exec" : { |
||||||
|
"address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", |
||||||
|
"caller" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"code" : "0x5b600060000156", |
||||||
|
"data" : "0x", |
||||||
|
"gas" : "0x0186a0", |
||||||
|
"gasPrice" : "0x5af3107a4000", |
||||||
|
"origin" : "0xcd1722f3947def4cf144679da39c4c32bdc35681", |
||||||
|
"value" : "0x0de0b6b3a7640000" |
||||||
|
}, |
||||||
|
"pre" : { |
||||||
|
"0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { |
||||||
|
"balance" : "0x152d02c7e14af6800000", |
||||||
|
"code" : "0x5b600060000156", |
||||||
|
"nonce" : "0x00", |
||||||
|
"storage" : { |
||||||
|
"0x00" : "0x04" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue