-
Notifications
You must be signed in to change notification settings - Fork 140
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
MERGE symoblic-pr to master: STEP one #294
Conversation
evm.md
Outdated
@@ -15,6 +15,7 @@ module EVM | |||
imports STRING | |||
imports EVM-DATA | |||
imports NETWORK | |||
imports K-REFLECTION |
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 think this can be dropped now.
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.
fixed
evm-symbolic.md
Outdated
|
||
```k | ||
endmodule | ||
``` |
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.
if we do not have much thing to add in this module, i think we can just move these two syntax declarations into EDSL.
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 a few other things in the later commits. Lets keep it for now
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.
@yzhang90 I'm not comfortable merging this without seeing how these are being used. Can you point me to some example usages?
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.
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.
@ehildenb this is for abstracting ECREC
that has two cases: ec-recover success and failure (i.e., the #sender
may return .Account
if the ECDSA recover fails for some reason. see the two rules for #ecrec
.) so, we need a kind of flag that distinguishes the two cases, which is #ecrecEmpty
. and #symEcrec
is the symbolic address resulted from the ec-recover for the success case.
note that in theory, ECREC can return 0 for both success and failure cases. but we don't want to have #symEcrec
to cover both.
f18bde7
to
e5d7816
Compare
edsl.md
Outdated
| byteStack2IntList ( WordStack , Int ) [function] | ||
|
||
syntax Int ::= bytesInNextInt ( WordStack , Int ) [function] //how many bytes will go into next Int. | ||
// ------------------------------------------------------------ |
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 think this ----
needs to be aligned
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.
fixed
Jenkins: test mantis |
@ehildenb |
Jenkins: test this please |
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.
Looks good.
symbolic: Created module symbolic.md, Symbolic rules for ECREC.
edsl, symbolic: added generalized byteStack2IntList(), refactoring of module dependencies. Now EVM-SYMBOLIC imports EDSL.