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

MERGE symoblic-pr to master: STEP one #294

Merged
merged 1 commit into from
Jan 29, 2019
Merged

MERGE symoblic-pr to master: STEP one #294

merged 1 commit into from
Jan 29, 2019

Conversation

yzhang90
Copy link
Contributor

symbolic: Created module symbolic.md, Symbolic rules for ECREC.

edsl, symbolic: added generalized byteStack2IntList(), refactoring of module dependencies. Now EVM-SYMBOLIC imports EDSL.

evm.md Outdated
@@ -15,6 +15,7 @@ module EVM
imports STRING
imports EVM-DATA
imports NETWORK
imports K-REFLECTION
Copy link
Contributor

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.

Copy link
Contributor Author

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
```
Copy link
Contributor

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.

Copy link
Contributor Author

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

Copy link
Member

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?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor

@daejunpark daejunpark Jan 17, 2019

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.

edsl.md Outdated
| byteStack2IntList ( WordStack , Int ) [function]

syntax Int ::= bytesInNextInt ( WordStack , Int ) [function] //how many bytes will go into next Int.
// ------------------------------------------------------------
Copy link
Contributor

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

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed

@ehildenb
Copy link
Member

Jenkins: test mantis

@daejunpark
Copy link
Contributor

daejunpark commented Jan 18, 2019

@yzhang90
Copy link
Contributor Author

Jenkins: test this please

Copy link
Member

@ehildenb ehildenb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good.

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.

3 participants