-
Notifications
You must be signed in to change notification settings - Fork 49
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
Fixing staticcall abstraction, test case search, and commenting out bug with solidity #632
Conversation
ccd0ef3
to
169c6d7
Compare
Also: - Adding one more exception due to bug in solidity - Updating changelog
169c6d7
to
3afe3f1
Compare
This is related to the recent changes you made? The abstraction of the static calls? Was that before or after the last release? |
It's related to staticcall abstraction. The stack was messed up, it didn't actually remove the elements from the stack that it was supposed to remove. I had to fix the test filtering too, because our test filtering was wrong, and it filtered out the test that actually catches this bug! :) |
I was asking mostly to know if the problem with staticcall abstraction has been there for a while or if it was something you introduced in the recent changes. |
Co-authored-by: Martin Blicha <[email protected]>
Fair :) I fixed the changelog now: diff --git a/CHANGELOG.md b/CHANGELOG.md
index 53661689..7b5c734d 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -14,12 +14,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- More simplification rules for Props
- Using the SMT solver to get a single concrete value for a symbolic expression
and continue running, whenever possible
+- STATICCALL abstraction is now performed in case of symbolic arguments
## Fixed
- We now try to simplify expressions fully before trying to cast them to a concrete value
This should improve issues when "Unexpected Symbolic Arguments to Opcode" was
unnecessarily output
-- STATICCALL abstraction left incorrect stack, fixed
- Not all testcases ran due to incorrect filtering, fixed
- Removed dead code related to IOAct in the now deprecated and removed debugger Do you think we can merge this PR? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
Thanks so much! |
Description
Turns out our staticcall abstraction messed up the stack. It actually left too many elements on the stack. This fixes that.
Also:
isSubsequenceOf
instead ofisInfixOf
. Wow. Fixed.Checklist