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
Marenz
692a99f891
yulRun: Add recursion protection
2022-09-14 11:40:23 +02:00
Marenz
b8699e7687
YulRunner: Add support for interactive inspection of the state
2022-09-14 11:40:02 +02:00
Marenz
4b69b5fdc1
YulRunner: Add support for external calls to the same contract
2022-09-14 11:40:02 +02:00
Bhargava Shastry
b8ad2b2718
Yul interpreter: Add flag to disable memory tracing and dump for fuzzing.
...
Model revert in yul interpreter.
Add logTrace for a few more instructions and clear trace on revert.
2022-01-04 11:56:27 +01:00
hrkrshnn
543ccf5287
Added the basefee instruction in YulInterpreter
2021-08-09 16:18:08 +02:00
Alex Beregszaszi
37be1b3ed9
Remove dependency on util::160 in yulInterpreter
...
Instead apply explicit truncation or masking for readability.
2021-04-23 14:35:05 +01:00
Bhargava Shastry
033ee0e2bc
Permit Yul interpreter vs Evmone storage comparison.
2021-04-12 10:39:23 +02:00
Bhargava Shastry
32fd692c51
Yul interpreter: Introduce expression evaluation maximum nesting depth
2020-12-04 17:27:03 +01:00
Alex Beregszaszi
a22077f736
Rename AsmData -> AST
...
Also attempt to only include ASTForward where appropriate.
2020-11-25 17:58:02 +00:00
chriseth
0226d104b7
Fix literal arguments in interpreter.
2020-08-06 14:16:59 +02:00
Bhargava Shastry
18fbbfa5ca
Fuzzer: Count step by number of interpreted statements
...
Co-authored-by: chriseth <chris@ethereum.org>
2020-07-21 15:38:02 +02:00
Sachin Grover
b7adb2aa42
Add SPDX license identifier if not present already in source file
...
Fixes : #9220
2020-07-17 20:24:12 +05:30
chriseth
ec2393d3b6
Refactor interpreter.
2020-07-09 15:00:13 +02:00
Alexander Arlt
90bb1d8a7c
Apply modernize-use-emplace.
2020-04-02 17:35:48 -05:00
Christian Parpart
345f9928ab
Library libdevcore renamed to libsolutil.
2020-01-07 15:51:50 +01:00
Christian Parpart
ed45b000d1
Adapt tests directory to C++ namespace changes.
2020-01-07 15:51:50 +01:00
Christian Parpart
f15d47f165
Yul: Remove obsoleted FunctionalInstruction.
2019-11-11 16:04:39 +01:00
chriseth
ceb8ee9124
[Yul] leave statement.
2019-10-29 14:32:16 +01:00
Dimitry
fd3ae0b24a
add chainid and selfbalance to lllc
2019-09-09 23:35:36 +03:00
chriseth
bdf29277a2
Change interpreter memory to be non-contiguous.
2019-09-02 13:51:47 +02:00
chriseth
01e0a12c3b
Fix handling of scopes in Yul Interpreter.
2019-09-02 10:41:26 +02:00
Mathias Baumann
ccfcee5b80
YulInterpreter: Fix wrong context passed to called function
2019-08-12 17:12:53 +02:00
chriseth
91312e657b
Skip empty entries in memory and storage dump.
2019-05-23 12:27:56 +02:00
chriseth
f113f8e4a0
Implement datasize, dataoffset and datacopy for yul interpreter.
2019-05-06 16:59:47 +02:00
Bhargava Shastry
f15cedad7a
yulInterpreter: More fine-grained exception handling
2019-04-04 13:02:55 +02:00
Bhargava Shastry
10c3b31fa4
yulInterpreter: Add timeout based on the number of interpreted statements.
2019-03-27 12:06:02 +01:00
Bhargava Shastry
ef94d6d645
yul Interpreter: Move memory size limit to interpreter state.
2019-03-26 14:42:25 +01:00
Christian Parpart
05e2d362c8
[Yul] Adds break/continue statements and some general tests for for-loop syntax.
2019-03-11 15:05:05 +01:00
chriseth
cc88c517a2
Review changes.
2019-02-25 11:58:37 +01:00
chriseth
0c432a861c
Yul interpreter.
2019-02-25 11:57:48 +01:00