Proto commits in ethereum/solidity

These 77 commits are when the Protocol Buffers files have changed:

Commit:6b4ee52
Author:r0qs
Committer:Nikola Matic

Introduces EVM version Osaka

The documentation is generated from this commit.

Commit:85396f4
Author:Matheus Aguiar
Committer:Matheus Aguiar

Introduce evm version prague

Commit:ed96eb2
Author:Bhargava Shastry
Committer:Bhargava Shastry

Yul fuzzer: Support blobhash(uint) global function

Commit:4edbaf1
Author:Kamil Śliwak
Committer:GitHub

Merge pull request #14807 from ethereum/fuzz-transient-storage Yul fuzzer: Support transient storage.

Commit:fb7c2b4
Author:Bhargava Shastry
Committer:Kamil Śliwak

Yul fuzzer: Support transient storage.

Commit:9d80e0e
Author:Kamil Śliwak
Committer:Kamil Śliwak

Yul proto fuzzer: Add mcopy builtin to generator.

Commit:9af30b5
Author:Bhargava Shastry
Committer:Bhargava Shastry

Yul fuzzer: Introduce basefee() and blobbasefee() builtins

Commit:47fc4f9
Author:Bhargava Shastry

Yul fuzzer: Add Shanghai EVM version

Commit:2993f2c
Author:Bhargava Shastry
Committer:Bhargava Shastry

Enable fuzzing of yul optimizer steps in optimiser setting.

Commit:156871c
Author:Bhargava Shastry
Committer:Bhargava Shastry

Introduce very simple verbatim construct in yul protobuf spec and converter.

Commit:eb8af2c
Author:Alex Beregszaszi
Committer:Kamil Śliwak

Add basic support for the EVM version Paris This mostly means testing with evmone, but instruction renaming of difficulty->prevrandao is omitted.

Commit:e3ed29d
Author:Bhargava Shastry
Committer:Bhargava Shastry

Permit multiple indirections in coding calldata to and from memory/calldata.

Commit:39a0ecd
Author:Bhargava Shastry
Committer:Bhargava Shastry

Add upto 32 function I/O parameters.

Commit:d81a43e
Author:Bhargava Shastry
Committer:Bhargava Shastry

Add upto 32 function I/O parameters.

Commit:1709b29
Author:Bhargava Shastry
Committer:Bhargava Shastry

Changes to how function calls are generated.

Commit:15bf6af
Author:Bhargava Shastry
Committer:Bhargava Shastry

Remove output parameters from function call since they are generated on the fly in the converter.

Commit:e35ddbc
Author:Bhargava Shastry

yul fuzzer: Permit upto 7 I/O function parameters (previously 4).

Commit:f36bc0f
Author:Bhargava Shastry
Committer:Bhargava Shastry

Changes to how function calls are generated.

Commit:b3dd83a
Author:Bhargava Shastry
Committer:Bhargava Shastry

Enable fine grained yul optimizer fuzzing

Commit:b273e52
Author:Bhargava Shastry
Committer:Bhargava Shastry

Abiv2 fuzzer: Enable differential fuzzing and remove support for string coding co-authored-by: Leonardo <leo@ethereum.org>

Commit:dc1c0e9
Author:Bhargava Shastry
Committer:Bhargava Shastry

Abiv2 fuzzer: Retrieve values to be encoded from the fuzzer

Commit:2eb1a1d
Author:Bhargava Shastry
Committer:Bhargava Shastry

Add fuzzing steps for stacklimitevader, fakestacklimitevader, reasoningbasedsimplifier, and unusedfunctionparameterpruner

Commit:3b3c64e
Author:Bhargava Shastry
Committer:Bhargava Shastry

Fuzzer: Enable fine-grained yul optimizer fuzzing

Commit:9da9ace
Author:Bhargava Shastry
Committer:Bhargava Shastry

Add proto fuzzer to test imports

Commit:845c1ae
Author:chriseth
Committer:GitHub

Merge pull request #9469 from ethereum/fix-9468 Yul fuzzer: Enable nested object references

Commit:115380c
Author:Bhargava Shastry
Committer:Bhargava Shastry

Yul fuzzer: Enable nested object references Co-authored-by: Đorđe Mijović <djordje.mijovic@gmail.com>

Commit:9be5ed1
Author:chriseth
Committer:chriseth

Merge remote-tracking branch 'origin/develop' into breaking

Commit:b7adb2a
Author:Sachin Grover

Add SPDX license identifier if not present already in source file Fixes: #9220

Commit:61431d2
Author:Bhargava Shastry
Committer:Bhargava Shastry

ossfuzz: Remove PC from yul proto specification

Commit:596ac01
Author:Bhargava Shastry
Committer:Bhargava Shastry

Fuzzer: Add test harness for solidity inheritance protobuf fuzzer Co-Authored-By: Leonardo <leo@ethereum.org>

Commit:00946f3
Author:Bhargava Shastry
Committer:Bhargava Shastry

ossfuzz: Add sol proto fuzzer skeleton Co-Authored-By: Leonardo <leo@ethereum.org>

Commit:1426dec
Author:Bhargava Shastry
Committer:Bhargava Shastry

Review suggestions Co-Authored-By: Leonardo <leo@ethereum.org>

Commit:b7f7188
Author:Bhargava Shastry
Committer:Bhargava Shastry

ossfuzz: Add sol proto fuzzer skeleton

Commit:7c91a31
Author:Bhargava Shastry
Committer:Bhargava Shastry

Add fuzzer for testing clean up of dirty bits via inline assembly

Commit:67952d5
Author:Bhargava Shastry

Add inline assembly

Commit:3db10b8
Author:Bhargava Shastry

Add exception for stack too deep error and binop stmt

Commit:f92f2ed
Author:Bhargava Shastry
Committer:Bhargava Shastry

Arithmetic fuzzer in a day

Commit:7280ed7
Author:Bhargava Shastry
Committer:Bhargava Shastry

Yul proto spec: Add multiple variable declaration statement

Commit:1d53369
Author:Bhargava Shastry
Committer:Bhargava Shastry

Add solidity protobuf based inheritance fuzzer

Commit:5159396
Author:Bhargava Shastry
Committer:Bhargava Shastry

Made proto spec a bit leaner and started work on contracts

Commit:8973ca3
Author:Bhargava Shastry
Committer:Bhargava Shastry

Add adaptor and support library and interface inheritance

Commit:79f1917
Author:Bhargava Shastry

yul proto fuzzer: Refactor dataoffset/size specification

Commit:59e7206
Author:Bhargava Shastry

yul proto fuzzer: Support boolean literal generation

Commit:8cbe1d4
Author:Bhargava Shastry
Committer:Bhargava Shastry

yul proto fuzzer: Make function call generation optional

Commit:a335fed
Author:Bhargava Shastry
Committer:Bhargava Shastry

yul proto fuzzer: Add EVM version field

Commit:8aa7aba
Author:Bhargava Shastry

Add multi variable decl statement; use dummy expressions instead of dictionary tokens alone; dont visit blocks unless they contain at least one statement

Commit:4089c2c
Author:Bhargava Shastry
Committer:Bhargava Shastry

yul proto fuzzer: Make function call generation optional

Commit:bb96d87
Author:Bhargava Shastry
Committer:Bhargava Shastry

yul proto fuzzer: Add EVM version field

Commit:ed45b00
Author:Christian Parpart
Committer:Daniel Kirchner

Adapt tests directory to C++ namespace changes.

Commit:94272d4
Author:Erik K
Committer:GitHub

Merge pull request #7745 from ethereum/develop Merge develop into develop_060

Commit:505b5de
Author:Bhargava Shastry
Committer:Bhargava Shastry

Add chainid and selfbalance opcodes to yul proto converter and enable it in the yul proto differential fuzzer.

Commit:2e5a428
Author:chriseth
Committer:GitHub

Merge pull request #7681 from ethereum/develop Merge develop into develop_060

Commit:9772cc4
Author:Bhargava Shastry
Committer:Bhargava Shastry

abiv2 proto fuzzer: Fuzz return data coding

Commit:46ac16d
Author:chriseth

Merge remote-tracking branch 'origin/develop' into develop_060

Commit:3cfeca3
Author:Bhargava Shastry
Committer:Bhargava Shastry

Abiv2 proto fuzzer: Refactor and add support for structs

Commit:edc5059
Author:Bhargava Shastry

yul proto: Add leave statement

Commit:34022a2
Author:Bhargava Shastry
Committer:Bhargava Shastry

Pseudo-randomly choose object/data identifier that is in scope

Commit:d677a15
Author:Bhargava Shastry
Committer:Bhargava Shastry

Add object access builtin functions

Commit:6b27ef8
Author:Bhargava Shastry
Committer:chriseth

Yul proto fuzzer: Additional blockchain opcodes

Commit:c889e6e
Author:Bhargava Shastry
Committer:chriseth

Yul proto fuzzer: Add create and call opcodes

Commit:4837ef4
Author:Bhargava Shastry
Committer:Bhargava Shastry

Yul proto fuzzer: Make function definition a statement

Commit:bf16f2f
Author:Bhargava Shastry
Committer:Bhargava Shastry

Test low level calls with correct and incorrect encodings

Commit:90d4213
Author:Bhargava Shastry
Committer:Bhargava Shastry

Add bool type and array of bool and dynamic byte types

Commit:5bc1a68
Author:Bhargava Shastry
Committer:Bhargava Shastry

ABIv2 proto fuzzer implementation for a limited set of value and non-value types (arrays included).

Commit:b5cbb1a
Author:Bhargava Shastry
Committer:Bhargava Shastry

For loop with custom init and post blocks and potentially unbounded conditional expression

Commit:495f7f9
Author:Bhargava Shastry
Committer:Bhargava Shastry

[Proto fuzzer] Add function calls, and multi variable declaration/assignment statements

Commit:a552498
Author:Bhargava Shastry
Committer:Bhargava Shastry

[Proto fuzzer]: Add terminating opcodes

Commit:ac7bfec
Author:Bhargava Shastry
Committer:Bhargava Shastry

Support generation of calldata, code, extcode and returndata opcodes

Commit:d894ffa
Author:Bhargava Shastry
Committer:Bhargava Shastry

Proto fuzzer: Add missing memory and log opcodes and fix visitation bug for ternary ops

Commit:836c466
Author:Bhargava Shastry
Committer:Bhargava Shastry

ossfuzz: Generate addmod and mulmod builtin functions

Commit:6f673f5
Author:Bhargava Shastry
Committer:Bhargava Shastry

Generate break and continue statements inside for loop body.

Commit:762dd24
Author:Bhargava Shastry
Committer:Bhargava Shastry

Reference only those variables that are in scope.

Commit:d1d3dd8
Author:Bhargava Shastry
Committer:Bhargava Shastry

yul proto: Add support for generating string and hex literals.

Commit:22f5a82
Author:Bhargava Shastry
Committer:Alex Beregszaszi

yul proto: Add support for generating for and switch statements.

Commit:5e8ed42
Author:Bhargava Shastry

Add more binary operations to the yul proto spec.

Commit:5681086
Author:Bhargava Shastry

Proto spec and translator bug fixes.

Commit:d9bcbe6
Author:Bhargava Shastry
Committer:Bhargava Shastry

LibProtobuf Mutator (LPM) based fuzzer for yul subset