feat(verify-bytecode) - Support predeploy contracts that do not have a creation code #8549
Labels
A-verification
Area: verification
C-forge
Command: forge
Cmd-forge-verify
Command: forge verify-contract/check
T-feature
Type: feature
Milestone
Component
Forge
Describe the feature you would like
For the Op-Stack, when deploying a new L2 rollup, customers define many predeploy contracts in their genesis file. These predeploy contracts do not have creation/init code. The screenshot below illustrates what a predeploy contract looks like in a chain's genesis file. The
code
property contains the runtime bytecode that is deployed on the L2 chain.Now that we're looking for a creation transaction as part of
forge verify-bytecode
, see: #8547; when trying to verify predeploy contracts withforge verify-bytecode
, this command will fail because the creation transaction does not exist.For this reason, it would be useful if users of
forge verify-bytecode
could instruct the command to ignore either acreation
orruntime
code check.For example:
where
bytecode_type
is eithercreation
orruntime
. When the ignore flag is not supplied, the command defaults to checking bothbytecode_type
's. This may not be the exact implementation approach, but hopefully it conveys the feature request clearly.Additional context
This feature request is based on a conversation from a previous thread: #8482 (comment).
Additionally, the following PR #8547 aims to start using creation transactions to derive constructor args.
The text was updated successfully, but these errors were encountered: