argotorg / argotorg/solidity

SMTChecker support for EIP-6780: SELFDESTRUCT only in same transaction

Open
#14,804 0 comments 0 reactions 0 assignees View on GitHub
must have eventually smt
Dominant language
C++
Stars
25.7k
Forks
6.2k
Avg merge
1d 11h
Merged PRs (30d)
21

Description

The SMTChecker currently uses the [default EVM version](https://github.com/ethereum/solidity/blob/62e27e4b712234c78c71e03f359cb287ae75db1b/test/libsolidity/SMTCheckerTest.cpp#L29), which is Shanghai. However, with the recent addition of Cancun support, the semantic of `selfdestruct` has changed. Consequently, we may need to adjust the tests to reflect the new behavior.

For more information, please refer to [EIP-6780](https://eips.ethereum.org/EIPS/eip-6780) and PR https://github.com/ethereum/solidity/pull/14785.

Contributor guide

Open the contributing guide

Research direction

Start with the default EVM version in test/libsolidity/SMTCheckerTest.cpp, then read EIP-6780 and the linked Cancun-support PR to understand the changed selfdestruct semantics. Run the relevant SMTChecker tests and update the affected expectations so they reflect selfdestruct being effective only within the same transaction under Cancun.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, solidity
Domain
compilers, testing
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.