A Symbolic Ethereum Virtual Machine (EVM) bytecode interpreter, parser and decompiler, along with several other utils for programmatically extracting information from EVM bytecode.
This PR fixes the eval implementation of Shl which does not honor the Ethereum spec[1]. When the result of the Shl is larger than the word size, the error Val is a not a valid unsigned 256-word is raised. The Shleval should use mod 2^256 when result is larger than the word size.
This PR fixes the
eval
implementation ofShl
which does not honor the Ethereum spec[1]. When the result of theShl
is larger than the word size, the errorVal is a not a valid unsigned 256-word
is raised. TheShl
eval
should usemod 2^256
when result is larger than the word size.Related to https://github.com/acuarica/evm/issues/125.
[1] https://ethereum.github.io/yellowpaper/paper.pdf