Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: consistently use ErrorDetail in StackTrace #2

Closed

Conversation

DanielSchiavini
Copy link
Collaborator

Fixes vyperlang#225
Moved from vyperlang#239

What I did

Converted the stack traces for ABI and unknown contracts to a list of ErrorDetail instead of str.

How I did it

  • Moved some Vyper contract handling to the base EVM contract
  • Moved loose error functions to BoaError class method

How to verify it

  • Tests are included

Description for the changelog

  • StackTraces for ABI have expose more information

Cute Animal Picture

image

DanielSchiavini and others added 13 commits May 28, 2024 15:20
* Fix parse error when error happens in library

* Test dev message

* fix a test

* split out dev reason test

---------

Co-authored-by: Charles Cooper <cooper.charles.m@gmail.com>
* feat: added vvm related methods

* test: vvm compilation with old version

* chore: pre-commit run for ci

* test: fix import path for CI execution

* test: corrected path

* merge vvm deployer into regular loads entry point

* refactor VVMDeployer

---------

Co-authored-by: Charles Cooper <cooper.charles.m@gmail.com>
charles-cooper and others added 12 commits August 7, 2024 11:13
regressions introduced in vyper-0.4.0 upgrade and zksync plugin refactor
(2a0065d)
- refactor _hook_trace_computation architecture to deal with lack of
  support in coverage.py for multiple dynamic_source_filenames per
  (python) function call
- refactor the reporter to only depend on ast, not compilation. this is
  because imported modules may not be valid compilation targets, so we
  can't depend on compiling them. luckily, parsing to ast may be a much
  faster method for generating the necessary data.
* Jupyter plugin simplify and test
* Run jupyter tests separately with proper dependencies
* Outline imports
* Cleanup memory on error
* Jupyter tests back to unitary, dependencies in dev-requirements.txt
* Cleanup dependencies file
the mock wrapper for internal functions would report a file of
`"VyperContract"`. we can ignore these (as soon as they enter into the
actual module, the pc traces should be correct anyway).
- fix exit_counts
- fix lineno for for loop variables (skip it)
multiple paths in coverage for the same file can blow up the coverage
report
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

StackTrace frames are strings for unknown contracts
3 participants