Skip to content
New issue

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

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

Already on GitHub? # to your account

New Page: EVM quirks #195

Open
maurelian opened this issue Nov 8, 2018 · 4 comments
Open

New Page: EVM quirks #195

maurelian opened this issue Nov 8, 2018 · 4 comments

Comments

@maurelian
Copy link
Contributor

maurelian commented Nov 8, 2018

This page should be a collection of all the little low level idiosyncracies. Code examples would be optional. This page should be succinct, and mostly link to external references.

Things like:

  • Only 63/64 gas is forwarded on a CALL (EIP 150)
  • If a contract is SelfDestructed, it isn't removed from state until after the transaction is completed. (Yellow paper 6.1)
  • A call to a contract with no code places a 0x1 on the stack.
@shayanb
Copy link
Contributor

shayanb commented Jan 24, 2019

This paper might be useful for this section Solidity Parsing Using SmaCC: Challenges and Irregularities

@Destiner
Copy link
Contributor

  • blockhash only works for 256 most recent, excluding current, blocks

@maurelian
Copy link
Contributor Author

^ good example.

@smarx
Copy link
Contributor

smarx commented Jan 28, 2019

I believe that this is changing in Constantinople. See http://swende.se/blog/Blockhash-Refactor.html. There will still be non-obvious limitations on what hashes you can retrieve, but it will no longer be limited to the most recent 256.

# for free to join this conversation on GitHub. Already have an account? # to comment
Projects
None yet
Development

No branches or pull requests

5 participants
@smarx @shayanb @Destiner @maurelian and others