-
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
Allow dealing with abi.encodeWithSelector #625
Conversation
@@ -471,7 +471,7 @@ formatPartial = \case | |||
JumpIntoSymbolicCode pc idx -> "Encountered a jump into a potentially symbolic code region while executing initcode. pc: " <> pack (show pc) <> " jump dst: " <> pack (show idx) | |||
|
|||
formatSomeExpr :: SomeExpr -> Text | |||
formatSomeExpr (SomeExpr e) = formatExpr e |
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.
I added this change, because it's waaay nicer for the user, and we should be getting cleaner issues, too.
94c5567
to
e5f26f1
Compare
NOTE: This is failing currently only because #619 is not yet merged :) |
d1a6f02
to
f306e9c
Compare
f306e9c
to
94a618e
Compare
indexWord (Lit a) (Or funSel (And (Lit 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff) _)) | a < 4 = | ||
indexWord (Lit a) funSel |
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.
Do I understand it correctly that this simplification is correct because the four most significant bytes of (And (Lit 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff) _)
will always be zero?
Yes! :)
…On Mon 6. Jan 2025 at 15:45, Martin Blicha ***@***.***> wrote:
***@***.**** commented on this pull request.
------------------------------
In src/EVM/Expr.hs
<#625 (comment)>:
> +indexWord (Lit a) (Or funSel (And (Lit 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff) _)) | a < 4 =
+ indexWord (Lit a) funSel
Do I understand it correctly that this simplification is correct because
the four most significant bytes of (And (Lit
0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff) _) will
always be zero?
—
Reply to this email directly, view it on GitHub
<#625 (review)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AXYLY5GV2F7AG2LNPTSDS2T2JKJHTAVCNFSM6AAAAABUQFWJU6VHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMZDKMZSGI4TINJRGA>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
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!
Description
This helps to deal with
abi.encodeWithSelector
. Adds a corresponding simplification rules.Fixes the test case added:
Meant to be used together with #619 and works only on top of #619
Checklist