Matheus Aguiar
60eaa25ec8
make bytesRequired use PUSH0
2023-08-24 15:29:26 -03:00
Nikola Matic
a9c8b4b4d1
Purge using namespace std
2023-07-10 13:12:46 +02:00
Alexander Arlt
2f78e9549a
Misc small refactors: Superfluous std::, trailing commas in lists, whitespace, missing breaks, import order
2023-04-20 19:53:48 +02:00
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
Alexander Arlt
1a0988e503
libevmasm: refactor asm-json export & add support for source list.
2022-03-23 15:58:07 -05:00
wechman
52dfccca98
Replace all locale-dependent operations with locale-agnostic counterparts
2022-03-07 17:23:08 +01:00
Christian Parpart
b1dd0d0d02
Properly compute source mappings for immutables.
2021-10-12 17:56:17 +02:00
chriseth
1531863835
Split Common.h into Numeric.h.
2021-09-23 15:27:29 +02:00
chriseth
50ce1f5ddd
Disambiguate bytesRequired
2021-09-22 11:22:07 +02:00
Alexander Arlt
7fcf888fbf
Remove unused AssemblyItemType::PushString.
2021-09-13 18:59:18 +02:00
chriseth
f75b55071e
Remove CharStream from SourceLocation.
2021-07-14 15:12:07 +02:00
chriseth
cb1af8b88a
Make verbatim compatible with KnownState.
2021-04-26 19:56:44 +02:00
chriseth
e2d8005737
Add verbatim builtin.
2021-04-26 19:56:44 +02:00
Daniel Kirchner
0dca223b45
Add another argument to setimmutable and the AssignImmutable opcode, allowing to modify code at any memory offset.
2020-10-15 18:14:41 +02:00
Djordje Mijovic
6f97e6153c
[yul] Adding support for accessing subobjects via .
...
Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it>
2020-07-21 17:56:11 +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
Djordje Mijovic
9e92fbccee
Refactoring bytesRequired to accept and return size_t
2020-06-11 08:26:57 +02:00
Djordje Mijovic
e4e3f49844
Fixing signedness conversion warnings in libevmasm
...
Co-authored-by: Harikrishnan Mulackal <webmail.hari@gmail.com>
2020-06-03 13:25:43 +02:00
Daniel Kirchner
04d8ad2ae1
Legacy codegeneration for immutable state variables.
2020-03-24 16:45:25 +01:00
Djordje Mijovic
ec083c4878
Adding source location support to AssemblyStack and thus debugging Yul sources
2020-02-25 22:19:03 +01:00
Christian Parpart
345f9928ab
Library libdevcore renamed to libsolutil.
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
991fbd2956
Replace uses of BOOST_THROW_EXCEPTION with assertThrow
...
Where appropriate.
2019-11-26 13:07:42 +01:00
chriseth
2308904f68
Remove "using namespace" from header and move Instruction to dev::eth.
2019-03-28 13:48:11 +01:00
Alex Beregszaszi
517beb6fa6
Use explicit break and do not coerce 0 into bool in AssemblyItem
2018-12-19 12:35:00 +00:00
chriseth
bc6ddbdd09
Remove w
parameter for toHex.
2018-12-05 22:51:49 +01:00
chriseth
82055cbb61
Jumps with annotations cannot be functional.
2018-11-21 19:28:41 +01:00
Alex Beregszaszi
3ac3018e1d
Ensure that subId and tag handling is correct on all compilers in AssemblyItem
2018-04-30 15:57:17 +01:00
chriseth
6807010dc7
Prevent libraries from being called.
2018-01-19 16:27:44 +01:00
Alex Beregszaszi
43719839bf
Use isDup/SwapInstruction helper
2017-10-03 11:45:44 +01:00
Alex Beregszaszi
20ffa1db43
Properly calculate bytesRequired for subs
2017-09-18 11:39:49 +01:00
chriseth
82e4f6f604
Cleanup of FixedHash.h
2017-08-25 16:05:28 +02:00
Alex Beregszaszi
f38429fef8
Switch stream properties back after temporary modification
2017-08-22 13:55:01 +01:00
chriseth
09e821619e
Refactor exceptions and provide comment function.
2017-07-13 11:34:03 +02:00
chriseth
8ebea783f4
Initialize local variables.
2017-04-12 16:30:27 +02:00
chriseth
4d715e9055
Implement missing assembly output functions and do not use PushString for assembly.
2017-04-11 19:54:44 +02:00
chriseth
997f5d751a
Create functional assembly output, if possible.
2017-01-24 01:09:55 +01:00
chriseth
afad40ac5a
Optimise AssemblyItem::m_data.
2017-01-12 17:52:26 +01:00
chriseth
49ac2a1ee5
Rename programSize to bytecodeSize.
2017-01-03 14:13:49 +01:00
chriseth
a285ca44f2
Assembly output for Assembly object.
2017-01-03 14:13:49 +01:00
VoR0220
3f9f725737
Fix licensing headers
...
Signed-off-by: VoR0220 <rj@erisindustries.com>
2016-11-23 12:22:33 +01:00
chriseth
cb000a5532
Fix setting the tag.
2016-11-16 14:37:19 +01:00
chriseth
e51f852504
Converted sub assembly to smart pointer.
2016-11-16 14:37:18 +01:00
chriseth
e543bd34c0
Stored combined creation and runtime tags.
...
Includes a change to Assembly to allow tags from sub-assemblies to be
used.
Sorry, this get a bit bigger than I thought.
2016-11-16 14:37:18 +01:00
Dimitry
d43d4347bf
return instructionInfo style
2016-04-04 15:27:09 +04:00
Dimitry
858c41260d
rename namespace for instruction.h/cpp in libevmasm
2016-04-02 15:56:43 +03:00
Dimitry
b50e65437e
move libevmasm
2016-03-21 11:55:45 +03:00