solidity
solidity copied to clipboard
Solidity, the Smart Contract Programming Language
Fix #16055.
Fixes https://github.com/ethereum/solidity/issues/15587
When computing object ids for referencing subassemblies, these ids are currently determined as negative DFS enumeration based on `size_t`: https://github.com/ethereum/solidity/blob/a65229279d769a7b2936aef2aa802d77abbdc343/libevmasm/Assembly.cpp#L1825 This PR changes this to `uint64_t`, so that assembly text...
Depends on #16014. A small quality-of-life improvement extracted from #16012. The PR is yet another case (after #15803) where a list setting would have been useful so I added one....
## Description Hi! We found a crashing test case when testing with the `strictasm_diff_ossfuzz` fuzzing driver that reports `Interpreted traces for optimized and unoptimized code differ.` ## Steps to Reproduce...
Please do not review. Just a bit of try how to disable the Isabelle ABI encoder-based check in OSSfuzz. This can segfault during the Isabelle bit, and give us noise.
## Description According to EthDebug spec the `environment` and `instructions` fields are required, but solc omits them for interfaces and abstract contracts. See: https://ethdebug.github.io/format/spec/program/ ## Environment - Compiler version: Version:...
## Description According to the EthDebug spec, the compilation id is required, but solc does not generate it. See: https://ethdebug.github.io/format/spec/materials/compilation ## Environment - Compiler version: Version: 0.8.29+commit.ab55807c.Linux.g++ - Compilation pipeline...
## Description According to the EthDebug spec, a source's contents and language are required fields, but solc does not generate them. See: https://ethdebug.github.io/format/spec/materials/source ## Environment - Compiler version: Version: 0.8.29+commit.ab55807c.Linux.g++...
## Description The EthDebug [Info Schema](https://ethdebug.github.io/format/spec/info/) has a required field `programs`. The compiler currently omits this field. solc instead stores the programs under `contracts.${filename}.${contract_name}.evm.bytecode.ethdebug` and `contract.${filename}.${contract_name}.evm.deployedBytecode.ethdebug`. ## Environment - Compiler...