Skip to content
Merged
Show file tree
Hide file tree
Changes from 6 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .semgrep/rules/sol-rules.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -330,6 +330,7 @@ rules:
- packages/contracts-bedrock/src/L2/FeeVault.sol
- packages/contracts-bedrock/src/L2/OptimismMintableERC721.sol
- packages/contracts-bedrock/src/L2/OptimismMintableERC721Factory.sol
- packages/contracts-bedrock/src/L2/XForkL2ContractsManager.sol
Comment thread
maurelian marked this conversation as resolved.
Outdated
- packages/contracts-bedrock/src/cannon/MIPS64.sol
- packages/contracts-bedrock/src/cannon/PreimageOracle.sol
- packages/contracts-bedrock/src/dispute/AnchorStateRegistry.sol
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

// Interfaces
import { ISemver } from "interfaces/universal/ISemver.sol";

// Libraries
import { L2ContractsManagerTypes } from "src/libraries/L2ContractsManagerTypes.sol";

/// @title IL2ContractsManager
/// @notice Interface for the L2ContractsManager contract.
interface IL2ContractsManager is ISemver {
Comment thread
maurelian marked this conversation as resolved.
/// @notice Executes the upgrade for all predeploys.
/// @dev This function MUST be called via DELEGATECALL from the L2ProxyAdmin.
function upgrade() external;

/// @notice Constructor for the L2ContractsManager contract.
/// @param _implementations The implementation struct containing the new implementation addresses for the L2
/// predeploys.
function __constructor__(L2ContractsManagerTypes.Implementations memory _implementations) external;
}
180 changes: 180 additions & 0 deletions packages/contracts-bedrock/snapshots/abi/XForkL2ContractsManager.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,180 @@
[
{
"inputs": [
{
"components": [
{
"internalType": "address",
"name": "storageSetterImpl",
"type": "address"
},
{
"internalType": "address",
"name": "l2CrossDomainMessengerImpl",
"type": "address"
},
{
"internalType": "address",
"name": "gasPriceOracleImpl",
"type": "address"
},
{
"internalType": "address",
"name": "l2StandardBridgeImpl",
"type": "address"
},
{
"internalType": "address",
"name": "sequencerFeeWalletImpl",
"type": "address"
},
{
"internalType": "address",
"name": "optimismMintableERC20FactoryImpl",
"type": "address"
},
{
"internalType": "address",
"name": "l2ERC721BridgeImpl",
"type": "address"
},
{
"internalType": "address",
"name": "l1BlockAttributesImpl",
"type": "address"
},
{
"internalType": "address",
"name": "l1BlockAttributesCGTImpl",
"type": "address"
},
{
"internalType": "address",
"name": "l2ToL1MessagePasserImpl",
"type": "address"
},
{
"internalType": "address",
"name": "l2ToL1MessagePasserCGTImpl",
"type": "address"
},
{
"internalType": "address",
"name": "optimismMintableERC721FactoryImpl",
"type": "address"
},
{
"internalType": "address",
"name": "proxyAdminImpl",
"type": "address"
},
{
"internalType": "address",
"name": "baseFeeVaultImpl",
"type": "address"
},
{
"internalType": "address",
"name": "l1FeeVaultImpl",
"type": "address"
},
{
"internalType": "address",
"name": "operatorFeeVaultImpl",
"type": "address"
},
{
"internalType": "address",
"name": "schemaRegistryImpl",
"type": "address"
},
{
"internalType": "address",
"name": "easImpl",
"type": "address"
},
{
"internalType": "address",
"name": "crossL2InboxImpl",
"type": "address"
},
{
"internalType": "address",
"name": "l2ToL2CrossDomainMessengerImpl",
"type": "address"
},
{
"internalType": "address",
"name": "superchainETHBridgeImpl",
"type": "address"
},
{
"internalType": "address",
"name": "ethLiquidityImpl",
"type": "address"
},
{
"internalType": "address",
"name": "optimismSuperchainERC20FactoryImpl",
"type": "address"
},
{
"internalType": "address",
"name": "optimismSuperchainERC20BeaconImpl",
"type": "address"
},
{
"internalType": "address",
"name": "superchainTokenBridgeImpl",
"type": "address"
},
{
"internalType": "address",
"name": "nativeAssetLiquidityImpl",
"type": "address"
},
{
"internalType": "address",
"name": "liquidityControllerImpl",
"type": "address"
},
{
"internalType": "address",
"name": "feeSplitterImpl",
"type": "address"
}
],
"internalType": "struct XForkL2CMTypes.Implementations",
"name": "_implementations",
"type": "tuple"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [],
"name": "upgrade",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "version",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "XForkL2ContractsManager_OnlyDelegatecall",
"type": "error"
}
]
4 changes: 4 additions & 0 deletions packages/contracts-bedrock/snapshots/semver-lock.json
Original file line number Diff line number Diff line change
Expand Up @@ -175,6 +175,10 @@
"initCodeHash": "0xbc2cd025153720943e51b79822c2dc374d270a78b92cf47d49548c468e218e46",
"sourceCodeHash": "0x734a6b2aa6406bc145d848ad6071d3af1d40852aeb8f4b2f6f51beaad476e2d3"
},
"src/L2/XForkL2ContractsManager.sol:XForkL2ContractsManager": {
"initCodeHash": "0x35c9fa7868ac67f1f6465613f9a8c49d8cec3c4841206d031138a729d33298dc",
"sourceCodeHash": "0xacd5a2b5ec2f0527aa471dcb2db9ba92a1bd71285f144f14b3def39d499598c0"
},
"src/cannon/MIPS64.sol:MIPS64": {
"initCodeHash": "0x13196c1652a1f51cf0c16191f0092898f127eff036c773923c72b02a2823c7f4",
"sourceCodeHash": "0xd745aaf4ed265be7be7bff9bca1dd040e15dfe41e3a453906d72ca09a47f2c8b"
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
[]
Loading