* Use updated container
* Use geth option
* Use geth option
* Update geth command
* use http flag
* Fix the geth flags
* Remove rpc test and use 0.5.0
* black
* Fix tests for different solc version
* Fix tests for different solc version
* Fix analyzer test
* Fix eth-hash
* Save code
* Refactor code with black
* return the account as the function describes
* use bytecode param
* fix missing edge case in conditional
* use world state helper function over custom code
* back with black
* Refactor test file with black
* Align the type: ignore comment
* Fix black again
* Raise ValueError if dynamic loader is None
Co-authored-by: JoranHonig <JoranHonig@users.noreply.github.com>
* Add new opcodes
* Add new precompile
* Add tests
* Refactor the code
* Run only on python 3.6
* Remove support of python3.5 from setup.py text
* Change the TODO comment
* Add a logging message
* Fix py-evm version
Co-authored-by: JoranHonig <JoranHonig@users.noreply.github.com>
* Support modular exponentiation for concrete data
* Add elliptic curve operations
* Fix type hints and refactor code
* Support usage of the rest of the native contracts
* Remove unused imports
* Add tests for elliptic curve functions
* Use a constant for native functions count
* Update py_ecc version
* Use PRECOMPILE_COUNT over hardcoded value
* Use shortened list comprehensives
* Clean up imports
* Use precompile count in checking precompile calls
* Refactor code
* add test to reproduce nested function bug
* add test for other level of bitvecfunc
* add appropriate handling for nested bitvecfuncs
* add return character
* ignore hybrid functions for condition permeation
* add tests to check if correct inputs are found
* copy bitvecfunc logic to generic handlers
* clean up & move logic to separate module
Removes cyclic dependency and redundant code
* style
* fix imports
* do uniq & iff application
* implement initial If for bvf
* style
* add return
* only deal with eq comparison
* fix type issues
* Fix a crash
* Fix the issue in statechange module
* Fix for mypy
* Use correct operator
* Implement EXTCODECOPY
* Cache the code received from Dynld
* Reuse code_copy_helper return value
* Add tests to cover the extcodecopy cases
* Shift the addr function to WorldState
* Refactor with black
* Change based on recent PRs
* Add docstrings
* Shorten the code
* add actor address to symbolic
This will allow us to simulate semi-symbolic transaction senders
* add value transfer to transaction global state creation
* add proper balance tracking to world state and account
* use address value vs string
* disable actor address variable
* use address directly
* allow balance functions with int types
* use value as getters since bitvecs aren't hashable
* implement correct value transfer for suicide
* use actor from actor pool
* allow use of Or with *arg pattern
* use bitvec instead of strings
* add dynamic balance implementation to state datamodels
* cleanup svm interface
* use balance lambda in suicide op implementation
* use bitvec instead of string address
* update world state and account creation in symbolic
* update tests to include overflow results
* apply style rules
* ignore previous open states for now
* update native test to conform to new laser interface
* fix incorrect types in the symbolic virtual machine
* allow multiple types as input for address in account
* fix type hint in symbolic.py
* get int out of string in call
* fix type in call op implementation
* adapt test_transaction to conform to new laser interface
* use static address to keep contracts from trying to enter themselves
and make address type more dynamic
* update evm test to conform to new laser interface
* implement suicide to uncreated account
* apply style rules
* dynamically create colormap
This removes the need for a globally maintained accountlist
* get value out of address
* add accounts getter
* change symbolic test call to be valid with respect to the world
state and account apis
* remove dependency on globally recorded accounts
* fix typing issues
* fix type annotations in symbolic.py
* fix remaining mypy warnings
* simplify assertion check
* execute lambda to get balance
* make variable name plural
* add documentation to svm constructor
* use list comprehension to make code cleaner
* remove comment
* change variable name to plural
* remove commented code
* change variable name to conform to changed interface