-
Notifications
You must be signed in to change notification settings - Fork 3.7k
Remove ProtocolVersions smart contract entirely #17434
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Remove ProtocolVersions smart contract entirely #17434
Conversation
- Delete core ProtocolVersions contract, interface, and test files - Remove ProtocolVersions from OPContractsManager and IOPContractsManager - Update deployment scripts to remove ProtocolVersions deployment logic - Remove ProtocolVersions assertions from ChainAssertions - Remove protocol version handling from op-node runtime config - Delete protocol versions test file from op-e2e - Clean up unused imports and fix compilation errors This completely removes the ProtocolVersions contract and all related functionality from the codebase while maintaining system functionality. Co-Authored-By: gh.owner.kfichter@oplabs.co <gh.owner.kfichter@oplabs.co>
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
- Remove remaining ProtocolVersions artifact files and snapshots - Update OPContractsManager version from 3.2.0 to 4.0.0 due to breaking changes - Fix semver lock generation issues - All pre-PR checks now pass successfully Co-Authored-By: gh.owner.kfichter@oplabs.co <gh.owner.kfichter@oplabs.co>
DeploySuperchain.Input({ | ||
guardian: cfg.superchainConfigGuardian(), | ||
// TODO: when DeployAuthSystem is done, finalSystemOwner should be replaced with the Foundation Upgrades | ||
// Safe | ||
protocolVersionsOwner: cfg.finalSystemOwner(), | ||
superchainProxyAdminOwner: cfg.finalSystemOwner(), | ||
paused: false, | ||
recommendedProtocolVersion: bytes32(cfg.recommendedProtocolVersion()), | ||
requiredProtocolVersion: bytes32(cfg.requiredProtocolVersion()) | ||
guardian: cfg.superchainConfigGuardian(), | ||
paused: false |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Logic consistency error: The comment describes 'The Superchain system has 1 singleton contract' but then lists '1. The SuperchainConfig contract' suggesting there should be more items. The numbering implies a list but only has one item, creating confusion about the system architecture.
Spotted by Diamond
Is this helpful? React 👍 or 👎 to let us know.
- Remove ProtocolVersionsAddress from rollup config - Remove ProtocolVersions fields from L1Deployments struct - Remove ProtocolVersions assignments in CreateL1DeploymentsFromContracts - All pre-commit checks now pass Co-Authored-By: gh.owner.kfichter@oplabs.co <gh.owner.kfichter@oplabs.co>
Closing due to inactivity for more than 7 days. Configure here. |
Remove ProtocolVersions smart contract entirely
Summary
This PR completely removes the
ProtocolVersions
smart contract and all related functionality from the Optimism repository. The ProtocolVersions contract was previously used to manage superchain protocol version information (required and recommended versions), but is being removed entirely.Key changes:
ProtocolVersions.sol
,IProtocolVersions.sol
, and associated testsprotocolVersions
immutable field and constructor parameterop-node
Review & Testing Checklist for Human
Notes
Session details: Requested by gh.owner.kfichter@oplabs.co
Link to Devin run: https://app.devin.ai/sessions/af5872289edb4b0888c4ebf3cab9b90b