solidity/libyul/backends/evm
Rodrigo Q. Saramago ef6ff2f055
Adds support for the EVM version "Paris".
Deprecates `block.difficulty` and disallow `difficulty()` in inline assembly for EVM versions >= paris.
The change is due to the renaming introduced by EIP-4399 (see: https://eips.ethereum.org/EIPS/eip-4399).
Introduces `block.prevrandao` in Solidity and `prevrandao()` in inline assembly for EVM versions >= paris.

Co-authored-by: Alex Beregszaszi <alex@rtfs.hu>
Co-authored-by: Daniel <daniel@ekpyron.org>
Co-authored-by: matheusaaguiar <95899911+matheusaaguiar@users.noreply.github.com>
Co-authored-by: Nikola Matić <nikola.matic@ethereum.org>
2023-01-23 18:50:36 +00:00
..
AbstractAssembly.h Adds support for the EVM version "Paris". 2023-01-23 18:50:36 +00:00
AsmCodeGen.cpp Recommend via-ir whenever a stack too deep error is encountered. 2022-05-05 19:22:03 +02:00
AsmCodeGen.h Only provide code generator to CodeTransform. 2021-08-04 18:38:10 +02:00
ConstantOptimiser.cpp Add std:: qualifier to move() calls 2022-08-30 11:12:15 +02:00
ConstantOptimiser.h Refactoring yul source locations. 2021-05-04 16:05:23 +02:00
ControlFlowGraph.h Use side-effects of user defined functions in evm code transform. 2022-11-14 21:26:36 +01:00
ControlFlowGraphBuilder.cpp Use side-effects of user defined functions in evm code transform. 2022-11-14 21:26:36 +01:00
ControlFlowGraphBuilder.h Use side-effects of user defined functions in evm code transform. 2022-11-14 21:26:36 +01:00
EthAssemblyAdapter.cpp Adds support for the EVM version "Paris". 2023-01-23 18:50:36 +00:00
EthAssemblyAdapter.h Store whether an evmasm Assembly is creation code. 2022-03-09 17:42:29 +01:00
EVMCodeTransform.cpp Only count variables if only variables are needed. 2022-11-14 10:24:28 +01:00
EVMCodeTransform.h Do not use named function labels if function names are not unique. 2021-10-19 18:33:00 +02:00
EVMDialect.cpp Adds support for the EVM version "Paris". 2023-01-23 18:50:36 +00:00
EVMDialect.h Remove the expression callback from the code generator functions of Yul builtins. 2021-09-06 17:07:53 +02:00
EVMMetrics.cpp Adds support for the EVM version "Paris". 2023-01-23 18:50:36 +00:00
EVMMetrics.h Split out disassemble to remove numeric from instruction includes. 2022-03-02 15:30:41 +01:00
EVMObjectCompiler.cpp Add experimental EOF options for CLI and Standard JSON. 2022-11-23 19:53:44 +01:00
EVMObjectCompiler.h Add experimental EOF options for CLI and Standard JSON. 2022-11-23 19:53:44 +01:00
NoOutputAssembly.cpp Adds support for the EVM version "Paris". 2023-01-23 18:50:36 +00:00
NoOutputAssembly.h Adds support for the EVM version "Paris". 2023-01-23 18:50:36 +00:00
OptimizedEVMCodeTransform.cpp Use side-effects of user defined functions in evm code transform. 2022-11-14 21:26:36 +01:00
OptimizedEVMCodeTransform.h Named function labels. 2021-11-03 12:42:07 +01:00
StackHelpers.h Add explicit throws after some assertions to work around a spurious warning in GCC 12.1 2022-06-01 20:37:48 +02:00
StackLayoutGenerator.cpp Adds support for the EVM version "Paris". 2023-01-23 18:50:36 +00:00
StackLayoutGenerator.h Use side-effects of user defined functions in evm code transform. 2022-11-14 21:26:36 +01:00
VariableReferenceCounter.cpp Extract VariableReferenceCounter and StackTooDeep error from EVMCodeTransform. 2021-04-13 10:41:16 +02:00
VariableReferenceCounter.h Extract VariableReferenceCounter and StackTooDeep error from EVMCodeTransform. 2021-04-13 10:41:16 +02:00