ethereum-optimism / ethereum-optimism/optimism
Consider making VerifyOPCM a wrapper around DeployImplementations for v2
- Dominant language
- Go
- Stars
- 6.5k
- Forks
- 4k
- Avg merge
- 2d 38m
- Merged PRs (30d)
- 164
Description
# Consider making VerifyOPCM a wrapper around DeployImplementations for v2
Currently, we have two separate scripts:
- `DeployImplementations.s.sol` - Deploys implementation contracts
- `VerifyOPCM.s.sol` - Verifies OPCM deployment
Due to CREATE2's idempotency properties, running `DeployImplementations.s.sol` essentially performs the same verification as `VerifyOPCM.s.sol`. When properly configured, if all contracts are already deployed at their expected addresses, the deployment script will result in zero new deployments - effectively serving as verification.
## Proposal
For v2 of VerifyOPCM, consider refactoring it to be a wrapper around `DeployImplementations.s.sol` rather than maintaining separate verification logic.
### Considerations
DeployImplementations requires constructor arguments as input, whereas VerifyOPCM ignores them and requires them
to be [separately verified](https://www.notion.so/oplabs/Contracts-Release-Checklist-op-contracts-v4-0-0-rc-8-216f153ee1628050b3a8c9d1aeb44c76?source=copy_link#216f153ee16280198888fae43976f92e).
Contributor guide
Assessment
This issue has not been assessed yet.