feature: specify the target evm version to solc for yul compilation #147
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR:
--solc-bin
command-line flag analogous to--evm-bin
.Checks whether any forks (configured the command-line) don't supported by the configured solc binary.This may be done in the forks plugin, but perhaps undesirable as it would potentially force users to use a development version ofsolc
to runfill
with dev forks.Note, after changing the behavior so that Yul gets compiled with the test's current fork parameter value:
tests/security/test_selfdestruct_balance_bug.py
fails if compiled with Constantinople or Shanghai. Shanghai can be explained: This is just becausesolc
refuses to compile contracts with SELFDESTRUCT. I didn't understand why the code doesn't compile for Constantinople yet. We don't need to fix this in the scope of this PR, imo, but we should make a ticket to not forget. This is currently avoided by applying@pytest.mark.compile_yul_with("Merge")
.