-
Notifications
You must be signed in to change notification settings - Fork 0
Description
Currently this issue is ignored by the kernel validator. The kernel validator will often find non-permitted opcodes in the swarm metadata at the end of a contract, even though they are not supposed to be used as opcodes. They are not supposed to be executed and be in a non-reachable part of the code, but in order to allow it we need to prove it is unreachable.
Currently the beaker-preprocessor parses this swarm metadata and throws it away. This is currently causing issues in the beakeros repository because we are testing the validator on contracts compiled directly from Solidity, which includes the swarm metadata. To demonstrate that it is unreachable on-chain might be difficult, I think we should currently not accept swarm metadata in procedures.
This means we need to remove the swarm metadata from the beakeros tests, which would depend on using the beaker-preprocessor. The beakeros repo might need to depend on beaker-preprocessor.