github ethereum-optimism/optimism op-contracts/v7.0.0-rc.4

pre-release4 hours ago

What's Changed in op-contracts/v7.0.0-rc.4

  • feat(contracts-bedrock): scale ResourceConfig to fit smaller gasLimits (v7.0.0)
  • Merge pull request #20981 from ethereum-optimism/jm/revert-xlayer-layout-fix
  • Revert "fix(l2cm): preserve XLayer LiquidityController minters across upgrade "
  • fix(l2cm): preserve XLayer LiquidityController minters across upgrade
  • fix: filter prerelease OPCM release tags (cherry-pick of #20617)
  • feat: make l2cm default path in devfeature bitmap
  • chore(ci): clean up contracts CI and RPC secrets
  • fix(contracts): reject oz v5 initializable in opcm
  • chore(rust/scr): update superchain registry for rust crates
  • feat: zk go deployer
  • fix(contracts): fail closed resolving semver target branch
  • chore(contracts-bedrock): drop v1 mention from _decodeDisputeGameImpl natspec
  • interop: add OPContractsManagerMigrationValidator for post-migration validation
  • fix(op-fetcher): guard against zero mipsImpl before calling oracle()
  • chore(contracts-bedrock): fix contract typos
  • Revert "chore(rust): bump revm to 38 "
  • Revert "Delete .circleci/Untitled "
  • docs(opcm): acknowledge Initializable upgrade limitations
  • test(contracts): cover VerifyOPCM runSingle lazy setup
  • fix: ZK Game Quality Review Fixes
  • chore(rust): bump revm to 38
  • test: add ZKDisputeGame unit and integration test coverage
  • fix(contracts-bedrock): skip lint fix during CI
  • Delete .circleci/Untitled
  • feat(contracts): enforce EIP-7825 gas cap in NUT bundle validation
  • feat(l2cm): support X Layer LiquidityController in L2CM upgrade path
  • feat: add SP1Adapter
  • fix: add intrinsic gas deduction to l2 fork tests
  • chore(contracts): remove 7 unreferenced interfaces
  • test(contracts): skip VerifyOPCM_Run_Test on coverage only, not unoptimized
  • chore(contracts): remove unused SchemaResolver abstract base
  • fix(contracts): skip ZKDisputeGame in VerifyOPCM when feature disabled
  • refactor: revenue share cleanup
  • fix: l2cm fma followup
  • feat: opcm zk roots
  • chore(deployer): remove OPCMv1 migration, upgrade, and dev feature code
  • contracts: delete unused interop contracts
  • fix(l2cm): guard CGT feature activation and liquidity controller renounce ownership
  • test: zk dispute game factory and registry
  • docs: fix broken markdown links and stale README references
  • fix(l2cm): address audit small fixes
  • chore: remove OpcmImpl compat shim, ReadSuperchainDeployment v1 fields, CI, docs
  • Delete OptimismPortalInterop contract and all references
  • feat: shared dispute game migration for interop
  • Add 'rust/op-revm/' from commit 'c79483d5d04949e8a99dc3c11c79a28825236396'
  • contracts: remove unused SafeTestTools helpers
  • feat(nuts): add update-nuts and verify-nuts commands
  • contracts: remove unused test state variables
  • contracts: remove unused test events
  • contracts: remove unused dispute game and FFI test helpers
  • contracts: remove unused TestERC1271Wallet mock
  • contracts: remove deploy config JSON dependency for tests
  • refactor(contracts): remove OPCMv1 from all Solidity code
  • chore(ct): replace Go nut-bundle-check with git diff
  • fix: VerifyOPCM super game checks
  • feat: migrate to superdispute game
  • fix(l2cm): revert instead of silently skipping non-upgradeable predeploys
  • refactor(contracts): separate v4/v5 init slot clearing in L2ContractsManagerUtils
  • fix(ct): resolve correct target branch in merge queue
  • chore(contracts-bedrock): suppress solc 0.8.31 deprecation warnings
  • feat(l1block): add system customization feature flags
  • fix: l2cm ir infromational findings
  • docs(contracts): clarify semver bumps are once per PR
  • test(opcm): add double upgrade call test
  • test(contracts): improve LegacyMintableERC20 test coverage and quality
  • test(contracts): improve ETHLiquidity test coverage
  • fix: l2cm specs
  • fix: l2cm IR low fixes
  • fix(contracts-bedrock): build contracts before generating NUT bundle
  • contracts: remove interop bridge contracts from L2ContractsManager
  • feat: new zk dispute game
  • interop: deploy and fund ETH bridge contracts at activation
  • feat: add l2 fork testing framework
  • fix: remove l2pa version check in l2cm
  • chore(contracts-bedrock): replace pre-pr with pr (check-fast) in CI and justfile
  • feat: Implement L2 Dev Flags
  • feat(contracts): add ProxyAdminOwnedBase to L2 proxied contracts with initialize()
  • fix: staking audit fixes
  • Revert "refactor(contracts): move ProxyAdminOwnedBase to src/universal/ "
  • refactor(contracts): move ProxyAdminOwnedBase to src/universal/
  • chore(contracts): bump superchain-registry
  • chore: add nut bundle check to just pr
  • test(contracts): convert GovernanceToken tests to fuzz tests
  • feat: enable setting CANNON_KONA as respected game type
  • feat: add NUT Bundle generation
  • feat: register zk proofs feature flag
  • chore(contracts-bedrock): deduplicate test helpers
  • docs(contracts): move l2 upgrade contracts spec from specs repo
  • test(contracts): fix testFuzz_params_validValues_succeeds rejection rate
  • fix(ci): retry L1 archive RPC call in print-pinned-block-number
  • fix(contracts): address audit findings 14, 6, 8, 13, 19
  • fix(contracts): forward-compatible OZ v5 Initializable in upgrade (Finding 22)
  • test(contracts): reuse ProxyAdmin tests on L2ProxyAdmin for backwards compatibility
  • contracts: implement onlyDelegateCall and add tests for audit fixes
  • fix(contracts-bedrock): dedupe unoptimized profile mock logic into Setup
  • fix(contracts): require interop dev feature for migrate (Finding 21)
  • contracts: add documentation for audit findings #2, #3, #7, #12, #15, #16
  • fix(contracts-bedrock): remove artifact pulling, use unoptimized builds for CI tests
  • fix(contracts-bedrock): make contracts CI reliable
  • feat: Add L2CM implementation
  • fix: various contracts-bedrock CI issues
  • Add Karst hard fork activation
  • sc-feat: policy engine staking ordering
  • test(contracts): improve DelayedWETH test coverage with fuzz tests
  • feat: add L2ProxyAdmin
  • fix(contracts): improve DelayedWETH loading for fork tests
  • feat: Add Conditional L2 Deployer
  • fix: only allow enabling permissioned game types in opcmv2 deployment…
  • chore: return migrator address on ReadImplementationAddresses output
  • fix: SuperchainConfig comments and test refactoring
  • fix: gaps in VerifyOPCM
  • fix: safer safes interface and deploy script
  • test(contracts): enhance OptimismMintableERC721 test coverage with fuzz tests
  • feat: no beta tags in production upgrade
  • fix: get delayedweth from opcm implementations and remove proxy fetch
  • fix: generic revert error in upgrade scripts
  • fix: add code lenght check for ReadSuperchainDeployment and tests
  • test: make sure OPCMv2 can upgrade while paused
  • maint: better comments for migration function
  • feat: have ASR only use IDisputeGame
  • feat(contracts): add OPCMV2 batch upgrade invariant test
  • feat(op-deployer): port deploymips to forge and remove old code
  • contracts: Switch DisputeGameFactory to use CREATE2 when creating games.
  • feat(op-deployer): add runWithBytes to missing contracts
  • Enable UInt64 lint check and fix remaining violations
  • feat: update withdrawal command for output roots in super proposals
  • Add 'op-reth/' from commit '910fed941c45240f04e95513fe76eb7dcb034ddd'
  • Add 'alloy-op-evm/' from commit '7447d30eb078be987e73bbe379588ba53d0d710b'
  • feat: Add support for Interop Migration using OPCM v2
  • test(contracts): add coverage for isValidProof and memoryProofOffset in MIPS64Memory
  • refactor: standarize opcmv2 version check
  • fix: pdg implementations to non-zero address on v2 codepath
  • contracts: Restrict proposed block numbers to uint64
  • feat: remove CGT instruction from OPCMv2
  • feat: generic system for running past upgrades
  • Foundry Versioning Policy
  • feat: remove v1 dispute games
  • Avoid fallback download of artifacts when not on develop
  • refactor: consolidate DummyCaller contracts into single generic implementation
  • test(contracts): improve OptimismSuperchainERC20Factory test coverage
  • test(contracts): improve DisputeMonitorHelper test coverage
  • feat: have check runner retry snapshots clean
  • test: DeployImplementations and opchain additional tests
  • Make contractsContainer exist only in utils
  • feat: have upgrade test blocks update every week
  • test(contracts): convert MintManager tests to fuzz tests for broader coverage
  • fix: add compiler restriction for StorageSetter to align profiles
  • Remove go 1.24 feature flag, leaving SysGetRandom syscall enabled
  • chore(ctb): move init bond value to CommonTest
  • feat: Add add-game-type-opcm-v2 command to op-deployer
  • asterisc: Remove asterisc contracts
  • test(contracts): improve OptimismMintableERC20Factory test coverage
  • test(contracts): convert OptimismMintableERC20 tests to fuzz tests
  • feat: support interop migration in OPCMv2
  • test(contracts): add revert tests for Preinstalls library functions
  • feat(abip): improve skip message for tests skipped by features
  • test: OPCMv2 upgrade
  • feat(dispute): add rootClaimByChainId(uint256) for L2 chain ID lookup
  • feat: Add OPCM v2 Support for chain upgrades to op-deployer
  • chore: improve comments accuracy
  • feat: revert opcm v1 & add opcmv2 op-deployer support
  • test: update succinct tests to follow our conventions
  • test: use a custom Test contract for makeAddr
  • feat: add ReadSuperchainDeployment support for opcm v2
  • proofs: Add provable output roots to super DGs
  • ci: Fix contracts test-upgrade test junit output
  • verify opcm v2
  • chore: bump opcmv2 to v7
  • feat: have OPCMv2 check upgrade ordering version
  • all: Remove cannon-kona dgv2 feature flags
  • feat: add cgt to opcmv2
  • Add style guide for manual getters on struct typed storage variables
  • feat: contract check runner
  • fix(ci): support external PRs for force-use-fresh-artifacts label
  • feat: have SystemConfig store a ref to last used OPCM
  • feat: have OPCM upgrade allowances be upgrade specific
  • test: add tests for OPCMv2.deploy
  • chore: update fees depositor address and min withdrawal amount on genesis
  • feat(op-deployer): use op-deployer build for publish-artifacts
  • test(contracts): add AddressAliasHelper coverage and fix SystemConfig flaky test
  • feat: break out OPCMv2 utils into helper contracts
  • feat: versioning updates
  • feat: deploy safersafes script
  • feat: add CGT system feature
  • feat: add OPCMv2 tests for existing behaviors
  • Add Openchain import on CI
  • feat: add new check for strict pragma
  • contracts: Replace mock contracts with vm.mock functions
  • op-challenger: Update list-games sub command to support optimistic zk games
  • test(contracts): improve DevFeatures test coverage with fuzz tests
  • feat: have OPCMv2 revert if user tries to provide address(0) as SystemConfig for upgrade
  • Use vm.prank(address,bool) for delegateCall, remove DelegateCaller contract
  • feat: add support for blockscout in VerifyOPCM
  • fix(scripts): check interfaces and libraries in testContractExistsInFile
  • Add DeployFeesDepositor script
  • feat: OPCM v2
  • fix(scripts): skip validation for missing test artifacts

Full Changelog: op-contracts/v6.0.0-rc.2...op-contracts/v7.0.0-rc.4

🚢 Docker Image: https://us-docker.pkg.dev/oplabs-tools-artifacts/images/op-contracts:v7.0.0-rc.4

Don't miss a new optimism release

NewReleases is sending notifications on new releases.