A Symbolic Ethereum Virtual Machine (EVM) bytecode interpreter, parser and decompiler, along with several other utils for programmatically extracting information from EVM bytecode.
Hard fork Spurious Dragon sets the contract size limit to 24,576 bytes defined by EIP-170.[1]
Implement the validation of the contract code size when decoding and decompiling EVM bytecode. The size limit mentioned above should be configurable, such that bytecode operating on non-Ethereum EVM-based blockchains can customize this limit.
This validation should be included at least when reading a bytecode buffer and when reading the bytecode buffer using the CODECOPY instruction.
This issue was originally created to validate the Number conversion at [1]. However, this might not be needed given that if the conversion fails the next bytecode[destpc] will also fail.
Hard fork Spurious Dragon sets the contract size limit to
24,576
bytes defined byEIP-170
.[1]Implement the validation of the contract code size when decoding and decompiling EVM bytecode. The size limit mentioned above should be configurable, such that bytecode operating on non-Ethereum EVM-based blockchains can customize this limit.
This validation should be included at least when reading a bytecode buffer and when reading the bytecode buffer using the
CODECOPY
instruction.[1] https://eips.ethereum.org/EIPS/eip-170