Commit Graph
28 Commits
Author SHA1 Message Date
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
Alex Beregszaszi 2a41295d03 Drop implicit alignment argument from FixedHash 2022-09-27 17:58:32 +02:00
chriseth 1531863835 Split Common.h into Numeric.h. 2021-09-23 15:27:29 +02:00
chriseth 90c4623460 Some more base fees. 2021-08-12 16:37:21 +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
Alexander Arlt c44bb7e7ef Replace raw throw with BOOST_THROW_EXCEPTION. 2021-02-18 20:23:59 -05:00
Alex Beregszaszi 7e88ba8da0 Enable the -Wconversion warning 2020-12-08 16:45:24 +00:00
chriseth 8279d90ba2 Merge pull request #10403 from ethereum/rename-asmdata
Rename AsmData* to AST*
2020-12-01 14:33:11 +01:00
Alex Beregszaszi 9640cfd77e [ewasm] Add i32.select/i64.select 2020-11-30 11:58:33 +00:00
Alex Beregszaszi a22077f736 Rename AsmData -> AST
Also attempt to only include ASTForward where appropriate.
2020-11-25 17:58:02 +00:00
Alex Beregszaszi bcd31daf94 [ewasm] Terminate on out-of-bounds access in EwasmInterpreter 2020-10-29 10:26:41 +00:00
Alex Beregszaszi 6b2942e7f0 [ewasm] Properly touch memory in EwasmInterpreter 2020-10-28 11:57:18 +00:00
Alex Beregszaszi 9dc5ceae94 [ewasm] Implement "create" properly in EwasmInterpreter 2020-10-28 11:57:18 +00:00
Alex Beregszaszi 62028c90f0 [ewasm] Overhaul memory handling in EwasmInterpreter
Introduce writeMemory and read/writeBytes32/Address helpers.
Fix read/writeU128/U256 to be little-endian.
Update each instruction to follow the specification.
2020-10-28 11:57:18 +00:00
chriseth 0226d104b7 Fix literal arguments in interpreter. 2020-08-06 14:16:59 +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 289fc7a9d0 Merge pull request #9371 from ethereum/refactorInterpreter
Refactor yul interpreter.
2020-07-13 18:27:47 +02:00
Alex Beregszaszi 8df4baac42 Implement ctz/popcnt in yulInterpreter 2020-07-13 11:18:10 +01:00
Alex Beregszaszi f5ae9c5761 Fix yulInterpreter to correctly handle i32.clz 2020-07-10 15:38:25 +01:00
chriseth 3cf5ed9514 Use plain strings for comparison. 2020-07-09 15:00:13 +02:00
Alex Beregszaszi 60d4b1e8cc Rename drop to i64.drop in WasmDialect
Also properly implement support for both i32.drop and i64.drop in BinaryTransform, TextTransform, and YulInterpreter
2020-07-06 15:47:17 +01:00
Djordje Mijovic 1ee6c49028 Adding fixes for signedness warnings in test/tools/yulInterpreter 2020-06-02 16:35:41 +02:00
chriseth 48933df18d Add some missing wasm functions. 2020-02-04 22:44:08 +01:00
chriseth a7624ffc45 Implement i32 builtins for the interpreter. 2020-02-04 22:44:08 +01: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 6b23412fae C++ namespace cleanup (except tests). 2020-01-07 15:51:50 +01:00
Alex Beregszaszi 9c27e98b83 Rename EWasmBuiltinInterpreter to EwasmBuiltinInterpreter 2019-12-19 11:36:08 +00:00