If you want to contribute an instruction that has not been implemented yet:
- look up the opcode's behavior in the yellow paper
- build some intuition with evm.codes
- clone this repository, create a new branch
- implement the missing instruction in opcodes.py
- write some unit tests, ideally checking for both happy cases and weird/extreme values, overflows, etc
- make sure the tests pass:
poetry run pytest -v
- open a pull request!
- ping karma if you don't hear back reasonably fast
If you need some inspiration, check out this commit that implements a handful of instructions and the corresponding tests.