https://github.com/pcaversaccio/fork-testing-evm-compatibility
This repository implements a simple fork test on Optimism that proves that the EVM behaviour of the forked chain is not identically replicated locally.
https://github.com/pcaversaccio/fork-testing-evm-compatibility
evm fork-testing foundry optimism push0
Last synced: 2 months ago
JSON representation
This repository implements a simple fork test on Optimism that proves that the EVM behaviour of the forked chain is not identically replicated locally.
- Host: GitHub
- URL: https://github.com/pcaversaccio/fork-testing-evm-compatibility
- Owner: pcaversaccio
- License: wtfpl
- Created: 2023-08-15T08:51:25.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2025-04-27T13:42:26.000Z (2 months ago)
- Last Synced: 2025-04-27T14:32:48.949Z (2 months ago)
- Topics: evm, fork-testing, foundry, optimism, push0
- Language: Solidity
- Homepage:
- Size: 97.7 KB
- Stars: 14
- Watchers: 2
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Fork Testing – EVM Compatibility
[](https://github.com/pcaversaccio/fork-testing-evm-compatibility/actions/workflows/test.yml)
[](https://www.wtfpl.net/about/)This repository implements a [simple fork test](./test/Store.t.sol) on Optimism that proves that the EVM behaviour of the forked chain is _not_ identically replicated locally. This can lead to problems due to new opcodes such as [`PUSH0`](https://www.evm.codes/#5f?fork=shanghai) which would lead to untested behaviour as the EVM behaviour is not correctly replicated as part of the test suite. The underlying issue is that fork tests are local simulations with accounts, states, and storage slot information fetched from the RPC. This means that one does not get the full behaviour of the chain and therefore cannot identify specific EVM difference problems.
### Test
Simply invoke:
```console
forge test
```### `PUSH0`-Rollout
