Newer py-evm versions.
This commit is contained in:
parent
bb46e7287e
commit
38c3b3087e
7
setup.py
7
setup.py
|
@ -46,9 +46,10 @@ setup(
|
|||
url='https://github.com/ethereum/vyper-debug',
|
||||
include_package_data=True,
|
||||
install_requires=[
|
||||
"py-evm==0.2.0a26",
|
||||
"eth-tester==0.1.0b28",
|
||||
"vyper==0.1.0b3"
|
||||
"py-evm==0.2.0a33",
|
||||
"eth-tester==0.1.0b33",
|
||||
"vyper==0.1.0b4",
|
||||
"web3==4.8.1"
|
||||
],
|
||||
setup_requires=['setuptools-markdown'],
|
||||
python_requires='>=3.6, <4',
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
from evm.vm.forks.byzantium.computation import (
|
||||
from eth.vm.forks.byzantium.computation import (
|
||||
ByzantiumComputation,
|
||||
)
|
||||
from evm.exceptions import (
|
||||
from eth.exceptions import (
|
||||
Halt,
|
||||
VMError
|
||||
)
|
||||
from vdb.vdb import VyperDebugCmd
|
||||
from evm.exceptions import VMError
|
||||
from vyper.exceptions import ParserException
|
||||
|
||||
|
||||
|
@ -97,7 +97,7 @@ class DebugComputation(ByzantiumComputation):
|
|||
pos = cls.get_pos(pc_to_execute)
|
||||
msg = e.args[0]
|
||||
msg = "" if len(msg) == 0 else msg
|
||||
# import ipdb; ipdb.set_trace()
|
||||
|
||||
raise DebugVMError(
|
||||
message=msg,
|
||||
item=pos,
|
||||
|
|
|
@ -1,17 +1,20 @@
|
|||
from evm.vm.forks.byzantium import ByzantiumVM
|
||||
from evm.vm.forks.byzantium.state import ByzantiumState
|
||||
from eth.chains.base import MiningChain
|
||||
from eth.db import get_db_backend
|
||||
from eth.vm.forks.byzantium import ByzantiumVM
|
||||
from eth.vm.forks.byzantium.state import ByzantiumState
|
||||
|
||||
from vdb.debug_computation import DebugComputation
|
||||
|
||||
from eth_tester.backends.pyevm.main import (
|
||||
get_default_genesis_params,
|
||||
generate_genesis_state,
|
||||
generate_genesis_state_for_keys,
|
||||
get_default_genesis_params,
|
||||
get_default_account_keys,
|
||||
PyEVMBackend
|
||||
)
|
||||
|
||||
|
||||
|
||||
class DebugState(ByzantiumState):
|
||||
computation_class = DebugComputation
|
||||
|
||||
|
@ -20,22 +23,21 @@ class DebugVM(ByzantiumVM):
|
|||
_state_class = DebugState # type: Type[BaseState]
|
||||
|
||||
|
||||
def _setup_tester_chain():
|
||||
from evm.chains.tester import MainnetTesterChain
|
||||
from evm.db import get_db_backend
|
||||
def _setup_tester_chain(genesis_params, genesis_state, num_accounts):
|
||||
|
||||
class DebugNoProofVM(DebugVM):
|
||||
"""Byzantium VM rules, without validating any miner proof of work"""
|
||||
|
||||
@classmethod
|
||||
def validate_seal(self, header):
|
||||
pass
|
||||
|
||||
class MainnetTesterNoProofChain(MainnetTesterChain):
|
||||
class MainnetTesterNoProofChain(MiningChain):
|
||||
vm_configuration = ((0, DebugNoProofVM), )
|
||||
|
||||
genesis_params = get_default_genesis_params()
|
||||
account_keys = get_default_account_keys()
|
||||
genesis_state = generate_genesis_state(account_keys)
|
||||
account_keys = get_default_account_keys(quantity=num_accounts)
|
||||
genesis_state = generate_genesis_state_for_keys(account_keys)
|
||||
|
||||
base_db = get_db_backend()
|
||||
|
||||
|
@ -48,8 +50,9 @@ class PyEVMDebugBackend(PyEVMBackend):
|
|||
def __init__(self, ):
|
||||
super().__init__()
|
||||
|
||||
def reset_to_genesis(self):
|
||||
self.account_keys, self.chain = _setup_tester_chain()
|
||||
def reset_to_genesis(self, genesis_params=None, genesis_state=None, num_accounts=None):
|
||||
self.account_keys, self.chain = _setup_tester_chain(genesis_params, genesis_state,
|
||||
num_accounts)
|
||||
|
||||
|
||||
def set_debug_info(source_code, source_map, stdin=None, stdout=None):
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
from eth_hash.auto import keccak
|
||||
from eth_utils import to_hex
|
||||
from eth_abi import decode_single
|
||||
from evm.utils.numeric import (
|
||||
from eth.utils.numeric import (
|
||||
big_endian_to_int,
|
||||
int_to_big_endian,
|
||||
)
|
||||
|
|
12
vdb/vdb.py
12
vdb/vdb.py
|
@ -6,9 +6,9 @@ from eth_utils import (
|
|||
to_int,
|
||||
)
|
||||
|
||||
import evm
|
||||
from evm import constants
|
||||
from evm.vm.opcode import as_opcode
|
||||
import eth.vm
|
||||
from eth import constants
|
||||
from eth.vm.opcode import as_opcode
|
||||
from vyper.opcodes import opcodes as vyper_opcodes
|
||||
from vdb.variables import (
|
||||
parse_global,
|
||||
|
@ -215,7 +215,7 @@ class VyperDebugCmd(cmd.Cmd):
|
|||
return True
|
||||
|
||||
|
||||
original_opcodes = evm.vm.forks.byzantium.computation.ByzantiumComputation.opcodes
|
||||
original_opcodes = eth.vm.forks.byzantium.computation.ByzantiumComputation.opcodes
|
||||
|
||||
|
||||
def set_evm_opcode_debugger(source_code=None, source_map=None, stdin=None, stdout=None):
|
||||
|
@ -238,7 +238,7 @@ def set_evm_opcode_debugger(source_code=None, source_map=None, stdin=None, stdou
|
|||
gas_cost=0
|
||||
)
|
||||
|
||||
setattr(evm.vm.forks.byzantium.computation.ByzantiumComputation, 'opcodes', opcodes)
|
||||
setattr(eth.vm.forks.byzantium.computation.ByzantiumComputation, 'opcodes', opcodes)
|
||||
|
||||
|
||||
def set_evm_opcode_pass():
|
||||
|
@ -252,4 +252,4 @@ def set_evm_opcode_pass():
|
|||
mnemonic="DEBUG",
|
||||
gas_cost=0
|
||||
)
|
||||
setattr(evm.vm.forks.byzantium.computation.ByzantiumComputation, 'opcodes', opcodes)
|
||||
setattr(eth.vm.forks.byzantium.computation.ByzantiumComputation, 'opcodes', opcodes)
|
||||
|
|
Loading…
Reference in New Issue