* Add the steps in transaction
* Fix the account transfer and add initial state
* Support for py35
* Support creation account
* Support display of txSeed and remove saving world state from plugin
* Add type hints to functions
* Change the output jsonv2 name
* Change report tests
* Fix the addresses
* Use caller over origin and remove extra statements
* Add properties over functions
* Use initial storage
* Remove usage of tx_template
* use tx accounts over laser svm
* Remove unused imports
* Fix based on the previous merge
* Use a better initial state
* Add creation transaction
* Remove address 0
* Transaction list suggestion (#1044)
* add documentation to added functions in report
* dump dictionary to string before returning
* remove balance write
* separate transaction sequence generation into separate functions
* apply style rules
* fix typo
* Fix some issues
* Refactor with black
* Update mythril/analysis/solver.py
Co-Authored-By: JoranHonig <JoranHonig@users.noreply.github.com>
* Update mythril/analysis/solver.py
Co-Authored-By: JoranHonig <JoranHonig@users.noreply.github.com>
* Update mythril/analysis/solver.py
Co-Authored-By: JoranHonig <JoranHonig@users.noreply.github.com>
* Update mythril/analysis/solver.py
Co-Authored-By: JoranHonig <JoranHonig@users.noreply.github.com>
* Update mythril/analysis/solver.py
Co-Authored-By: JoranHonig <JoranHonig@users.noreply.github.com>
* Fix the type hinting
* Remove the caller field
* 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