solidity icon indicating copy to clipboard operation
solidity copied to clipboard

Solidity, the Smart Contract Programming Language

Results 755 solidity issues
Sort by recently updated
recently updated
newest added

There are features marked as deprecated and planned to be removed, many of them in the next breaking release v.0.9, which are listed in #15795 . We also need to...

documentation :book:
medium effort
medium impact
must have

When assigning a newly pushed (and thus empty) dynamic storage array to another, the IR-based pipeline (`--via-ir`) generates less efficient code compared to the legacy pipeline. We discovered this inefficiency...

bug :bug:

## Environment - Compiler version: solc 0.8.31 ## Steps to Reproduce Compile the following code using the command `solc a.sol --bin --optimize --no-optimize-yul` ``` contract C { struct A {...

bug :bug:

evmasm peephole optimizer will apply EOF-only optimization passes, like IsZeroIsZeroRJumpI, that will never apply in non-EOF bytecodes. There should be a check to exclude running these passes ahead of time...

bug :bug:
performance :racehorse:
EOF

## Description The following code triggers an ICE when compiling with `--ir`. I think the issue comes from passing a function type that is not identical but implicitly convertible to...

bug :bug:

## Abstract For implementing deployments and upgrades for ERC-2535 Diamonds it is necessary to get all the function selectors of a contract so they can be added to the diamond...

feature

## Description The compiler terminates with a `Yul assertion failed: ./libyul/AsmAnalysis.cpp(147)` when trying to compile the program below via the `solc` CLI with the following Yul optimization sequence `[eT]j[t]s:O`. The...

bug :bug:

evmasm::AssemblyItem::operator== is pretty hot, especially in the peephole optimizer: https://github.com/argotorg/solidity/blob/08c4e0c6cfab9d6f303fefbf0ad081e06fa4a532/libevmasm/AssemblyItem.h#L248-L252 This operator calls hasInstruction() twice, once in the actual operator, and the second time in the instruction() solAssert: https://github.com/argotorg/solidity/blob/08c4e0c6cfab9d6f303fefbf0ad081e06fa4a532/libevmasm/AssemblyItem.h#L218 This...

bug :bug:

Each type of variable has a different slot size. What is the size (in bits) for each type? Where can I find the help documentation for this? How does the...

documentation :book: