PasswordPusher icon indicating copy to clipboard operation
PasswordPusher copied to clipboard

New Page: EVM quirks

Open maurelian opened this issue 6 years ago • 4 comments

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.

maurelian avatar Nov 08 '18 00:11 maurelian

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

shayanb avatar Jan 24 '19 23:01 shayanb

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

Destiner avatar Jan 26 '19 08:01 Destiner

^ good example.

maurelian avatar Jan 28 '19 22:01 maurelian

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.

smarx avatar Jan 28 '19 22:01 smarx