SMTChecker support for EIP-6780: SELFDESTRUCT only in same transaction
- 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
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