Commit ec05937c authored by smartcontracts's avatar smartcontracts Committed by GitHub

feat: move interfaces to a new top-level folder (#13114)

Moves all contract interfaces to a new top-level folder. Keeps
things much cleaner and more sane for a future auto-generated
interface system.
parent ecdb788a
...@@ -265,6 +265,9 @@ jobs: ...@@ -265,6 +265,9 @@ jobs:
# Replace import paths # Replace import paths
sed -i -e 's/@optimism\///' $REMOTE_ASTERISC_PATH sed -i -e 's/@optimism\///' $REMOTE_ASTERISC_PATH
# Replace legacy interface paths
sed -i -e 's/src\/cannon\/interfaces\//interfaces\/cannon\//g' $REMOTE_ASTERISC_PATH
sed -i -e 's/src\/dispute\/interfaces\//interfaces\/dispute\//g' $REMOTE_ASTERISC_PATH
# Replace contract name # Replace contract name
sed -i -e 's/contract RISCV/contract RISCV_Remote/' $REMOTE_ASTERISC_PATH sed -i -e 's/contract RISCV/contract RISCV_Remote/' $REMOTE_ASTERISC_PATH
......
...@@ -84,18 +84,18 @@ rules: ...@@ -84,18 +84,18 @@ rules:
pattern-regex: function\s+\w+\s*\(\s*([^)]*?\b\w+\s+(?!_)(?!memory\b)(?!calldata\b)(?!storage\b)(?!payable\b)\w+\s*(?=,|\))) pattern-regex: function\s+\w+\s*\(\s*([^)]*?\b\w+\s+(?!_)(?!memory\b)(?!calldata\b)(?!storage\b)(?!payable\b)\w+\s*(?=,|\)))
paths: paths:
exclude: exclude:
- packages/contracts-bedrock/src/universal/interfaces/IOptimismMintableERC721.sol - packages/contracts-bedrock/interfaces/universal/IOptimismMintableERC721.sol
- packages/contracts-bedrock/src/universal/interfaces/IWETH98.sol - packages/contracts-bedrock/interfaces/universal/IWETH98.sol
- packages/contracts-bedrock/src/dispute/interfaces/IDelayedWETH.sol - packages/contracts-bedrock/interfaces/dispute/IDelayedWETH.sol
- op-chain-ops/script/testdata/scripts/ScriptExample.s.sol - op-chain-ops/script/testdata/scripts/ScriptExample.s.sol
- packages/contracts-bedrock/test - packages/contracts-bedrock/test
- packages/contracts-bedrock/scripts/libraries/Solarray.sol - packages/contracts-bedrock/scripts/libraries/Solarray.sol
- packages/contracts-bedrock/scripts/interfaces/IGnosisSafe.sol - packages/contracts-bedrock/scripts/interfaces/IGnosisSafe.sol
- packages/contracts-bedrock/src/universal/interfaces/IWETH.sol - packages/contracts-bedrock/interfaces/universal/IWETH.sol
- packages/contracts-bedrock/src/universal/WETH98.sol - packages/contracts-bedrock/src/universal/WETH98.sol
- packages/contracts-bedrock/src/L2/interfaces/ISuperchainWETH.sol - packages/contracts-bedrock/interfaces/L2/ISuperchainWETH.sol
- packages/contracts-bedrock/src/L2/SuperchainWETH.sol - packages/contracts-bedrock/src/L2/SuperchainWETH.sol
- packages/contracts-bedrock/src/governance/interfaces/IGovernanceToken.sol - packages/contracts-bedrock/interfaces/governance/IGovernanceToken.sol
- packages/contracts-bedrock/src/governance/GovernanceToken.sol - packages/contracts-bedrock/src/governance/GovernanceToken.sol
- id: sol-style-return-arg-fmt - id: sol-style-return-arg-fmt
...@@ -105,13 +105,13 @@ rules: ...@@ -105,13 +105,13 @@ rules:
pattern-regex: returns\s*(\w+\s*)?\(\s*([^)]*?\b\w+\s+(?!memory\b)(?!calldata\b)(?!storage\b)(?!payable\b)\w+(?<!_)\s*(?=,|\))) pattern-regex: returns\s*(\w+\s*)?\(\s*([^)]*?\b\w+\s+(?!memory\b)(?!calldata\b)(?!storage\b)(?!payable\b)\w+(?<!_)\s*(?=,|\)))
paths: paths:
exclude: exclude:
- packages/contracts-bedrock/src/dispute/interfaces/IDelayedWETH.sol - packages/contracts-bedrock/interfaces/dispute/IDelayedWETH.sol
- op-chain-ops/script/testdata/scripts/ScriptExample.s.sol - op-chain-ops/script/testdata/scripts/ScriptExample.s.sol
- packages/contracts-bedrock/test/safe-tools - packages/contracts-bedrock/test/safe-tools
- packages/contracts-bedrock/scripts/libraries/Solarray.sol - packages/contracts-bedrock/scripts/libraries/Solarray.sol
- packages/contracts-bedrock/scripts/interfaces/IGnosisSafe.sol - packages/contracts-bedrock/scripts/interfaces/IGnosisSafe.sol
- packages/contracts-bedrock/src/dispute/interfaces/IPermissionedDisputeGame.sol - packages/contracts-bedrock/interfaces/dispute/IPermissionedDisputeGame.sol
- packages/contracts-bedrock/src/dispute/interfaces/IFaultDisputeGame.sol - packages/contracts-bedrock/interfaces/dispute/IFaultDisputeGame.sol
- id: sol-style-doc-comment - id: sol-style-doc-comment
languages: [solidity] languages: [solidity]
......
...@@ -30,7 +30,8 @@ remappings = [ ...@@ -30,7 +30,8 @@ remappings = [
'ds-test/=lib/forge-std/lib/ds-test/src', 'ds-test/=lib/forge-std/lib/ds-test/src',
'safe-contracts/=lib/safe-contracts/contracts', 'safe-contracts/=lib/safe-contracts/contracts',
'kontrol-cheatcodes/=lib/kontrol-cheatcodes/src', 'kontrol-cheatcodes/=lib/kontrol-cheatcodes/src',
'gelato/=lib/automate/contracts' 'gelato/=lib/automate/contracts',
'interfaces/=interfaces'
] ]
fs_permissions = [ fs_permissions = [
......
// SPDX-License-Identifier: MIT // SPDX-License-Identifier: MIT
pragma solidity ^0.8.0; pragma solidity ^0.8.0;
import { ICrossDomainMessenger } from "src/universal/interfaces/ICrossDomainMessenger.sol"; import { ICrossDomainMessenger } from "interfaces/universal/ICrossDomainMessenger.sol";
import { ISuperchainConfig } from "src/L1/interfaces/ISuperchainConfig.sol"; import { ISuperchainConfig } from "interfaces/L1/ISuperchainConfig.sol";
import { IOptimismPortal } from "src/L1/interfaces/IOptimismPortal.sol"; import { IOptimismPortal } from "interfaces/L1/IOptimismPortal.sol";
import { ISystemConfig } from "src/L1/interfaces/ISystemConfig.sol"; import { ISystemConfig } from "interfaces/L1/ISystemConfig.sol";
interface IL1CrossDomainMessenger is ICrossDomainMessenger { interface IL1CrossDomainMessenger is ICrossDomainMessenger {
function PORTAL() external view returns (IOptimismPortal); function PORTAL() external view returns (IOptimismPortal);
......
// SPDX-License-Identifier: MIT // SPDX-License-Identifier: MIT
pragma solidity ^0.8.0; pragma solidity ^0.8.0;
import { ICrossDomainMessenger } from "src/universal/interfaces/ICrossDomainMessenger.sol"; import { ICrossDomainMessenger } from "interfaces/universal/ICrossDomainMessenger.sol";
import { ISuperchainConfig } from "src/L1/interfaces/ISuperchainConfig.sol"; import { ISuperchainConfig } from "interfaces/L1/ISuperchainConfig.sol";
import { IOptimismPortal } from "src/L1/interfaces/IOptimismPortal.sol"; import { IOptimismPortal } from "interfaces/L1/IOptimismPortal.sol";
/// @notice This interface corresponds to the op-contracts/v1.6.0 release of the L1CrossDomainMessenger /// @notice This interface corresponds to the op-contracts/v1.6.0 release of the L1CrossDomainMessenger
/// contract, which has a semver of 2.3.0 as specified in /// contract, which has a semver of 2.3.0 as specified in
......
// SPDX-License-Identifier: MIT // SPDX-License-Identifier: MIT
pragma solidity ^0.8.0; pragma solidity ^0.8.0;
import { IERC721Bridge } from "src/universal/interfaces/IERC721Bridge.sol"; import { IERC721Bridge } from "interfaces/universal/IERC721Bridge.sol";
import { ICrossDomainMessenger } from "src/universal/interfaces/ICrossDomainMessenger.sol"; import { ICrossDomainMessenger } from "interfaces/universal/ICrossDomainMessenger.sol";
import { ISuperchainConfig } from "src/L1/interfaces/ISuperchainConfig.sol"; import { ISuperchainConfig } from "interfaces/L1/ISuperchainConfig.sol";
interface IL1ERC721Bridge is IERC721Bridge { interface IL1ERC721Bridge is IERC721Bridge {
function bridgeERC721( function bridgeERC721(
......
// SPDX-License-Identifier: MIT // SPDX-License-Identifier: MIT
pragma solidity ^0.8.0; pragma solidity ^0.8.0;
import { IStandardBridge } from "src/universal/interfaces/IStandardBridge.sol"; import { IStandardBridge } from "interfaces/universal/IStandardBridge.sol";
import { ICrossDomainMessenger } from "src/universal/interfaces/ICrossDomainMessenger.sol"; import { ICrossDomainMessenger } from "interfaces/universal/ICrossDomainMessenger.sol";
import { ISuperchainConfig } from "src/L1/interfaces/ISuperchainConfig.sol"; import { ISuperchainConfig } from "interfaces/L1/ISuperchainConfig.sol";
import { ISystemConfig } from "src/L1/interfaces/ISystemConfig.sol"; import { ISystemConfig } from "interfaces/L1/ISystemConfig.sol";
interface IL1StandardBridge is IStandardBridge { interface IL1StandardBridge is IStandardBridge {
event ERC20DepositInitiated( event ERC20DepositInitiated(
......
// SPDX-License-Identifier: MIT // SPDX-License-Identifier: MIT
pragma solidity ^0.8.0; pragma solidity ^0.8.0;
import { IStandardBridge } from "src/universal/interfaces/IStandardBridge.sol"; import { IStandardBridge } from "interfaces/universal/IStandardBridge.sol";
import { ICrossDomainMessenger } from "src/universal/interfaces/ICrossDomainMessenger.sol"; import { ICrossDomainMessenger } from "interfaces/universal/ICrossDomainMessenger.sol";
import { ISuperchainConfig } from "src/L1/interfaces/ISuperchainConfig.sol"; import { ISuperchainConfig } from "interfaces/L1/ISuperchainConfig.sol";
import { ISystemConfig } from "src/L1/interfaces/ISystemConfig.sol"; import { ISystemConfig } from "interfaces/L1/ISystemConfig.sol";
/// @notice This interface corresponds to the op-contracts/v1.6.0 release of the L1StandardBridge /// @notice This interface corresponds to the op-contracts/v1.6.0 release of the L1StandardBridge
/// contract, which has a semver of 2.1.0 as specified in /// contract, which has a semver of 2.1.0 as specified in
......
...@@ -2,9 +2,9 @@ ...@@ -2,9 +2,9 @@
pragma solidity ^0.8.0; pragma solidity ^0.8.0;
import { Types } from "src/libraries/Types.sol"; import { Types } from "src/libraries/Types.sol";
import { ISystemConfig } from "src/L1/interfaces/ISystemConfig.sol"; import { ISystemConfig } from "interfaces/L1/ISystemConfig.sol";
import { ISuperchainConfig } from "src/L1/interfaces/ISuperchainConfig.sol"; import { ISuperchainConfig } from "interfaces/L1/ISuperchainConfig.sol";
import { IL2OutputOracle } from "src/L1/interfaces/IL2OutputOracle.sol"; import { IL2OutputOracle } from "interfaces/L1/IL2OutputOracle.sol";
interface IOptimismPortal { interface IOptimismPortal {
error BadTarget(); error BadTarget();
......
...@@ -3,10 +3,10 @@ pragma solidity ^0.8.0; ...@@ -3,10 +3,10 @@ pragma solidity ^0.8.0;
import { Types } from "src/libraries/Types.sol"; import { Types } from "src/libraries/Types.sol";
import { GameType, Timestamp } from "src/dispute/lib/LibUDT.sol"; import { GameType, Timestamp } from "src/dispute/lib/LibUDT.sol";
import { IDisputeGame } from "src/dispute/interfaces/IDisputeGame.sol"; import { IDisputeGame } from "interfaces/dispute/IDisputeGame.sol";
import { IDisputeGameFactory } from "src/dispute/interfaces/IDisputeGameFactory.sol"; import { IDisputeGameFactory } from "interfaces/dispute/IDisputeGameFactory.sol";
import { ISystemConfig } from "src/L1/interfaces/ISystemConfig.sol"; import { ISystemConfig } from "interfaces/L1/ISystemConfig.sol";
import { ISuperchainConfig } from "src/L1/interfaces/ISuperchainConfig.sol"; import { ISuperchainConfig } from "interfaces/L1/ISuperchainConfig.sol";
interface IOptimismPortal2 { interface IOptimismPortal2 {
error AlreadyFinalized(); error AlreadyFinalized();
......
...@@ -3,11 +3,11 @@ pragma solidity ^0.8.0; ...@@ -3,11 +3,11 @@ pragma solidity ^0.8.0;
import { Types } from "src/libraries/Types.sol"; import { Types } from "src/libraries/Types.sol";
import { GameType, Timestamp } from "src/dispute/lib/LibUDT.sol"; import { GameType, Timestamp } from "src/dispute/lib/LibUDT.sol";
import { IDisputeGame } from "src/dispute/interfaces/IDisputeGame.sol"; import { IDisputeGame } from "interfaces/dispute/IDisputeGame.sol";
import { IDisputeGameFactory } from "src/dispute/interfaces/IDisputeGameFactory.sol"; import { IDisputeGameFactory } from "interfaces/dispute/IDisputeGameFactory.sol";
import { ISystemConfig } from "src/L1/interfaces/ISystemConfig.sol"; import { ISystemConfig } from "interfaces/L1/ISystemConfig.sol";
import { ISuperchainConfig } from "src/L1/interfaces/ISuperchainConfig.sol"; import { ISuperchainConfig } from "interfaces/L1/ISuperchainConfig.sol";
import { ConfigType } from "src/L2/interfaces/IL1BlockInterop.sol"; import { ConfigType } from "interfaces/L2/IL1BlockInterop.sol";
interface IOptimismPortalInterop { interface IOptimismPortalInterop {
error AlreadyFinalized(); error AlreadyFinalized();
......
// SPDX-License-Identifier: MIT // SPDX-License-Identifier: MIT
pragma solidity ^0.8.0; pragma solidity ^0.8.0;
import { IResourceMetering } from "src/L1/interfaces/IResourceMetering.sol"; import { IResourceMetering } from "interfaces/L1/IResourceMetering.sol";
/// @notice This interface corresponds to the Custom Gas Token version of the SystemConfig contract. /// @notice This interface corresponds to the Custom Gas Token version of the SystemConfig contract.
interface ISystemConfig { interface ISystemConfig {
......
// SPDX-License-Identifier: MIT // SPDX-License-Identifier: MIT
pragma solidity ^0.8.0; pragma solidity ^0.8.0;
import { ISystemConfig } from "src/L1/interfaces/ISystemConfig.sol"; import { ISystemConfig } from "interfaces/L1/ISystemConfig.sol";
import { IResourceMetering } from "src/L1/interfaces/IResourceMetering.sol"; import { IResourceMetering } from "interfaces/L1/IResourceMetering.sol";
interface ISystemConfigInterop { interface ISystemConfigInterop {
event ConfigUpdate(uint256 indexed version, ISystemConfig.UpdateType indexed updateType, bytes data); event ConfigUpdate(uint256 indexed version, ISystemConfig.UpdateType indexed updateType, bytes data);
......
// SPDX-License-Identifier: MIT // SPDX-License-Identifier: MIT
pragma solidity ^0.8.0; pragma solidity ^0.8.0;
import { ICrossDomainMessenger } from "src/universal/interfaces/ICrossDomainMessenger.sol"; import { ICrossDomainMessenger } from "interfaces/universal/ICrossDomainMessenger.sol";
interface IL2CrossDomainMessenger is ICrossDomainMessenger { interface IL2CrossDomainMessenger is ICrossDomainMessenger {
function MESSAGE_VERSION() external view returns (uint16); function MESSAGE_VERSION() external view returns (uint16);
......
// SPDX-License-Identifier: MIT // SPDX-License-Identifier: MIT
pragma solidity ^0.8.0; pragma solidity ^0.8.0;
import { IERC721Bridge } from "src/universal/interfaces/IERC721Bridge.sol"; import { IERC721Bridge } from "interfaces/universal/IERC721Bridge.sol";
interface IL2ERC721Bridge is IERC721Bridge { interface IL2ERC721Bridge is IERC721Bridge {
function finalizeBridgeERC721( function finalizeBridgeERC721(
......
// SPDX-License-Identifier: MIT // SPDX-License-Identifier: MIT
pragma solidity ^0.8.0; pragma solidity ^0.8.0;
import { IStandardBridge } from "src/universal/interfaces/IStandardBridge.sol"; import { IStandardBridge } from "interfaces/universal/IStandardBridge.sol";
interface IL2StandardBridge is IStandardBridge { interface IL2StandardBridge is IStandardBridge {
event DepositFinalized( event DepositFinalized(
......
// SPDX-License-Identifier: MIT // SPDX-License-Identifier: MIT
pragma solidity ^0.8.0; pragma solidity ^0.8.0;
import { IStandardBridge } from "src/universal/interfaces/IStandardBridge.sol"; import { IStandardBridge } from "interfaces/universal/IStandardBridge.sol";
import { ICrossDomainMessenger } from "src/universal/interfaces/ICrossDomainMessenger.sol"; import { ICrossDomainMessenger } from "interfaces/universal/ICrossDomainMessenger.sol";
interface IL2StandardBridgeInterop is IStandardBridge { interface IL2StandardBridgeInterop is IStandardBridge {
error InvalidDecimals(); error InvalidDecimals();
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
pragma solidity ^0.8.0; pragma solidity ^0.8.0;
// Interfaces // Interfaces
import { ISuperchainERC20 } from "src/L2/interfaces/ISuperchainERC20.sol"; import { ISuperchainERC20 } from "interfaces/L2/ISuperchainERC20.sol";
/// @title IOptimismSuperchainERC20 /// @title IOptimismSuperchainERC20
/// @notice This interface is available on the OptimismSuperchainERC20 contract. /// @notice This interface is available on the OptimismSuperchainERC20 contract.
......
// SPDX-License-Identifier: MIT // SPDX-License-Identifier: MIT
pragma solidity ^0.8.0; pragma solidity ^0.8.0;
import { ISemver } from "src/universal/interfaces/ISemver.sol"; import { ISemver } from "interfaces/universal/ISemver.sol";
/// @title IOptimismSuperchainERC20Beacon /// @title IOptimismSuperchainERC20Beacon
/// @notice Interface for the OptimismSuperchainERC20Beacon contract /// @notice Interface for the OptimismSuperchainERC20Beacon contract
......
// SPDX-License-Identifier: MIT // SPDX-License-Identifier: MIT
pragma solidity ^0.8.0; pragma solidity ^0.8.0;
import { IOptimismERC20Factory } from "src/L2/interfaces/IOptimismERC20Factory.sol"; import { IOptimismERC20Factory } from "interfaces/L2/IOptimismERC20Factory.sol";
import { ISemver } from "src/universal/interfaces/ISemver.sol"; import { ISemver } from "interfaces/universal/ISemver.sol";
/// @title IOptimismSuperchainERC20Factory /// @title IOptimismSuperchainERC20Factory
/// @notice Interface for the OptimismSuperchainERC20Factory contract /// @notice Interface for the OptimismSuperchainERC20Factory contract
......
...@@ -2,9 +2,9 @@ ...@@ -2,9 +2,9 @@
pragma solidity ^0.8.0; pragma solidity ^0.8.0;
// Interfaces // Interfaces
import { IERC7802 } from "src/L2/interfaces/IERC7802.sol"; import { IERC7802 } from "interfaces/L2/IERC7802.sol";
import { IERC20Solady as IERC20 } from "src/vendor/interfaces/IERC20Solady.sol"; import { IERC20Solady as IERC20 } from "interfaces/vendor/IERC20Solady.sol";
import { ISemver } from "src/universal/interfaces/ISemver.sol"; import { ISemver } from "interfaces/universal/ISemver.sol";
/// @title ISuperchainERC20 /// @title ISuperchainERC20
/// @notice This interface is available on the SuperchainERC20 contract. /// @notice This interface is available on the SuperchainERC20 contract.
......
// SPDX-License-Identifier: MIT // SPDX-License-Identifier: MIT
pragma solidity ^0.8.0; pragma solidity ^0.8.0;
import { ISemver } from "src/universal/interfaces/ISemver.sol"; import { ISemver } from "interfaces/universal/ISemver.sol";
/// @title ISuperchainTokenBridge /// @title ISuperchainTokenBridge
/// @notice Interface for the SuperchainTokenBridge contract. /// @notice Interface for the SuperchainTokenBridge contract.
......
// SPDX-License-Identifier: MIT // SPDX-License-Identifier: MIT
pragma solidity ^0.8.0; pragma solidity ^0.8.0;
import { IWETH98 } from "src/universal/interfaces/IWETH98.sol"; import { IWETH98 } from "interfaces/universal/IWETH98.sol";
import { IERC7802 } from "src/L2/interfaces/IERC7802.sol"; import { IERC7802 } from "interfaces/L2/IERC7802.sol";
import { ISemver } from "src/universal/interfaces/ISemver.sol"; import { ISemver } from "interfaces/universal/ISemver.sol";
interface ISuperchainWETH is IWETH98, IERC7802, ISemver { interface ISuperchainWETH is IWETH98, IERC7802, ISemver {
error Unauthorized(); error Unauthorized();
......
// SPDX-License-Identifier: MIT // SPDX-License-Identifier: MIT
pragma solidity ^0.8.0; pragma solidity ^0.8.0;
import { ISemver } from "src/universal/interfaces/ISemver.sol"; import { ISemver } from "interfaces/universal/ISemver.sol";
import { IPreimageOracle } from "src/cannon/interfaces/IPreimageOracle.sol"; import { IPreimageOracle } from "interfaces/cannon/IPreimageOracle.sol";
/// @title IMIPS /// @title IMIPS
/// @notice Interface for the MIPS contract. /// @notice Interface for the MIPS contract.
......
// SPDX-License-Identifier: MIT // SPDX-License-Identifier: MIT
pragma solidity ^0.8.0; pragma solidity ^0.8.0;
import { ISemver } from "src/universal/interfaces/ISemver.sol"; import { ISemver } from "interfaces/universal/ISemver.sol";
import { IPreimageOracle } from "src/cannon/interfaces/IPreimageOracle.sol"; import { IPreimageOracle } from "interfaces/cannon/IPreimageOracle.sol";
/// @title IMIPS2 /// @title IMIPS2
/// @notice Interface for the MIPS2 contract. /// @notice Interface for the MIPS2 contract.
......
// SPDX-License-Identifier: MIT // SPDX-License-Identifier: MIT
pragma solidity ^0.8.0; pragma solidity ^0.8.0;
import { IFaultDisputeGame } from "src/dispute/interfaces/IFaultDisputeGame.sol"; import { IFaultDisputeGame } from "interfaces/dispute/IFaultDisputeGame.sol";
import { IDisputeGameFactory } from "src/dispute/interfaces/IDisputeGameFactory.sol"; import { IDisputeGameFactory } from "interfaces/dispute/IDisputeGameFactory.sol";
import { ISuperchainConfig } from "src/L1/interfaces/ISuperchainConfig.sol"; import { ISuperchainConfig } from "interfaces/L1/ISuperchainConfig.sol";
import { GameType, Hash, OutputRoot } from "src/dispute/lib/Types.sol"; import { GameType, Hash, OutputRoot } from "src/dispute/lib/Types.sol";
interface IAnchorStateRegistry { interface IAnchorStateRegistry {
......
// SPDX-License-Identifier: MIT // SPDX-License-Identifier: MIT
pragma solidity ^0.8.0; pragma solidity ^0.8.0;
import { IPreimageOracle } from "src/cannon/interfaces/IPreimageOracle.sol"; import { IPreimageOracle } from "interfaces/cannon/IPreimageOracle.sol";
/// @title IBigStepper /// @title IBigStepper
/// @notice Describes a state machine that can perform a single instruction step, provided a prestate and an optional /// @notice Describes a state machine that can perform a single instruction step, provided a prestate and an optional
......
// SPDX-License-Identifier: MIT // SPDX-License-Identifier: MIT
pragma solidity ^0.8.0; pragma solidity ^0.8.0;
import { ISuperchainConfig } from "src/L1/interfaces/ISuperchainConfig.sol"; import { ISuperchainConfig } from "interfaces/L1/ISuperchainConfig.sol";
interface IDelayedWETH { interface IDelayedWETH {
struct WithdrawalRequest { struct WithdrawalRequest {
......
// SPDX-License-Identifier: MIT // SPDX-License-Identifier: MIT
pragma solidity ^0.8.0; pragma solidity ^0.8.0;
import { IInitializable } from "src/dispute/interfaces/IInitializable.sol"; import { IInitializable } from "interfaces/dispute/IInitializable.sol";
import { Timestamp, GameStatus, GameType, Claim, Hash } from "src/dispute/lib/Types.sol"; import { Timestamp, GameStatus, GameType, Claim, Hash } from "src/dispute/lib/Types.sol";
interface IDisputeGame is IInitializable { interface IDisputeGame is IInitializable {
......
// SPDX-License-Identifier: MIT // SPDX-License-Identifier: MIT
pragma solidity ^0.8.0; pragma solidity ^0.8.0;
import { IDisputeGame } from "src/dispute/interfaces/IDisputeGame.sol"; import { IDisputeGame } from "interfaces/dispute/IDisputeGame.sol";
import { GameId, Timestamp, Claim, Hash, GameType } from "src/dispute/lib/Types.sol"; import { GameId, Timestamp, Claim, Hash, GameType } from "src/dispute/lib/Types.sol";
interface IDisputeGameFactory { interface IDisputeGameFactory {
......
// SPDX-License-Identifier: MIT // SPDX-License-Identifier: MIT
pragma solidity ^0.8.0; pragma solidity ^0.8.0;
import { IDisputeGame } from "src/dispute/interfaces/IDisputeGame.sol"; import { IDisputeGame } from "interfaces/dispute/IDisputeGame.sol";
import { IDelayedWETH } from "src/dispute/interfaces/IDelayedWETH.sol"; import { IDelayedWETH } from "interfaces/dispute/IDelayedWETH.sol";
import { IAnchorStateRegistry } from "src/dispute/interfaces/IAnchorStateRegistry.sol"; import { IAnchorStateRegistry } from "interfaces/dispute/IAnchorStateRegistry.sol";
import { IBigStepper } from "src/dispute/interfaces/IBigStepper.sol"; import { IBigStepper } from "interfaces/dispute/IBigStepper.sol";
import { Types } from "src/libraries/Types.sol"; import { Types } from "src/libraries/Types.sol";
import { GameType, Claim, Position, Clock, Hash, Duration } from "src/dispute/lib/Types.sol"; import { GameType, Claim, Position, Clock, Hash, Duration } from "src/dispute/lib/Types.sol";
......
...@@ -4,11 +4,11 @@ pragma solidity ^0.8.0; ...@@ -4,11 +4,11 @@ pragma solidity ^0.8.0;
import { Types } from "src/libraries/Types.sol"; import { Types } from "src/libraries/Types.sol";
import { Claim, Position, Clock, Hash, Duration } from "src/dispute/lib/Types.sol"; import { Claim, Position, Clock, Hash, Duration } from "src/dispute/lib/Types.sol";
import { IAnchorStateRegistry } from "src/dispute/interfaces/IAnchorStateRegistry.sol"; import { IAnchorStateRegistry } from "interfaces/dispute/IAnchorStateRegistry.sol";
import { IDelayedWETH } from "src/dispute/interfaces/IDelayedWETH.sol"; import { IDelayedWETH } from "interfaces/dispute/IDelayedWETH.sol";
import { IBigStepper } from "src/dispute/interfaces/IBigStepper.sol"; import { IBigStepper } from "interfaces/dispute/IBigStepper.sol";
import { IDisputeGame } from "src/dispute/interfaces/IDisputeGame.sol"; import { IDisputeGame } from "interfaces/dispute/IDisputeGame.sol";
import { IFaultDisputeGame } from "src/dispute/interfaces/IFaultDisputeGame.sol"; import { IFaultDisputeGame } from "interfaces/dispute/IFaultDisputeGame.sol";
interface IPermissionedDisputeGame is IDisputeGame { interface IPermissionedDisputeGame is IDisputeGame {
struct ClaimData { struct ClaimData {
......
// SPDX-License-Identifier: MIT // SPDX-License-Identifier: MIT
pragma solidity ^0.8.0; pragma solidity ^0.8.0;
import { IGovernanceToken } from "src/governance/interfaces/IGovernanceToken.sol"; import { IGovernanceToken } from "interfaces/governance/IGovernanceToken.sol";
interface IMintManager { interface IMintManager {
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
......
// SPDX-License-Identifier: MIT // SPDX-License-Identifier: MIT
pragma solidity ^0.8.0; pragma solidity ^0.8.0;
import { IOwnable } from "src/universal/interfaces/IOwnable.sol"; import { IOwnable } from "interfaces/universal/IOwnable.sol";
/// @title IAddressManager /// @title IAddressManager
/// @notice Interface for the AddressManager contract. /// @notice Interface for the AddressManager contract.
......
// SPDX-License-Identifier: MIT // SPDX-License-Identifier: MIT
pragma solidity ^0.8.0; pragma solidity ^0.8.0;
import { ISemver } from "src/universal/interfaces/ISemver.sol"; import { ISemver } from "interfaces/universal/ISemver.sol";
/// @title IL1BlockNumber /// @title IL1BlockNumber
/// @notice Interface for the L1BlockNumber contract. /// @notice Interface for the L1BlockNumber contract.
......
// SPDX-License-Identifier: MIT // SPDX-License-Identifier: MIT
pragma solidity ^0.8.0; pragma solidity ^0.8.0;
import { ISemver } from "src/universal/interfaces/ISemver.sol"; import { ISemver } from "interfaces/universal/ISemver.sol";
/// @title ILegacyMessagePasser /// @title ILegacyMessagePasser
/// @notice Interface for the LegacyMessagePasser contract. /// @notice Interface for the LegacyMessagePasser contract.
......
// SPDX-License-Identifier: MIT // SPDX-License-Identifier: MIT
pragma solidity ^0.8.0; pragma solidity ^0.8.0;
import { IAddressManager } from "src/legacy/interfaces/IAddressManager.sol"; import { IAddressManager } from "interfaces/legacy/IAddressManager.sol";
/// @title IResolvedDelegateProxy /// @title IResolvedDelegateProxy
/// @notice Interface for the ResolvedDelegateProxy contract. /// @notice Interface for the ResolvedDelegateProxy contract.
......
// SPDX-License-Identifier: MIT // SPDX-License-Identifier: MIT
pragma solidity ^0.8.0; pragma solidity ^0.8.0;
import { IAnchorStateRegistry } from "src/dispute/interfaces/IAnchorStateRegistry.sol"; import { IAnchorStateRegistry } from "interfaces/dispute/IAnchorStateRegistry.sol";
import { IFaultDisputeGame } from "src/dispute/interfaces/IFaultDisputeGame.sol"; import { IFaultDisputeGame } from "interfaces/dispute/IFaultDisputeGame.sol";
import { ISuperchainConfig } from "src/L1/interfaces/ISuperchainConfig.sol"; import { ISuperchainConfig } from "interfaces/L1/ISuperchainConfig.sol";
import { IOptimismPortal2 } from "src/L1/interfaces/IOptimismPortal2.sol"; import { IOptimismPortal2 } from "interfaces/L1/IOptimismPortal2.sol";
import { IDisputeGame } from "src/dispute/interfaces/IDisputeGame.sol"; import { IDisputeGame } from "interfaces/dispute/IDisputeGame.sol";
import { ISemver } from "src/universal/interfaces/ISemver.sol"; import { ISemver } from "interfaces/universal/ISemver.sol";
import { GameType, Timestamp } from "src/dispute/lib/Types.sol"; import { GameType, Timestamp } from "src/dispute/lib/Types.sol";
import { GnosisSafe as Safe } from "safe-contracts/GnosisSafe.sol"; import { GnosisSafe as Safe } from "safe-contracts/GnosisSafe.sol";
......
...@@ -3,7 +3,7 @@ pragma solidity ^0.8.0; ...@@ -3,7 +3,7 @@ pragma solidity ^0.8.0;
import { GnosisSafe as Safe } from "safe-contracts/GnosisSafe.sol"; import { GnosisSafe as Safe } from "safe-contracts/GnosisSafe.sol";
import { Enum } from "safe-contracts/common/Enum.sol"; import { Enum } from "safe-contracts/common/Enum.sol";
import { ISemver } from "src/universal/interfaces/ISemver.sol"; import { ISemver } from "interfaces/universal/ISemver.sol";
interface ILivenessGuard is ISemver { interface ILivenessGuard is ISemver {
event OwnerRecorded(address owner); event OwnerRecorded(address owner);
......
...@@ -3,7 +3,7 @@ pragma solidity ^0.8.0; ...@@ -3,7 +3,7 @@ pragma solidity ^0.8.0;
import { GnosisSafe as Safe } from "safe-contracts/GnosisSafe.sol"; import { GnosisSafe as Safe } from "safe-contracts/GnosisSafe.sol";
import { LivenessGuard } from "src/safe/LivenessGuard.sol"; import { LivenessGuard } from "src/safe/LivenessGuard.sol";
import { ISemver } from "src/universal/interfaces/ISemver.sol"; import { ISemver } from "interfaces/universal/ISemver.sol";
interface ILivenessModule is ISemver { interface ILivenessModule is ISemver {
error OwnerRemovalFailed(string); error OwnerRemovalFailed(string);
......
// SPDX-License-Identifier: MIT // SPDX-License-Identifier: MIT
pragma solidity ^0.8.0; pragma solidity ^0.8.0;
import { ICrossDomainMessenger } from "src/universal/interfaces/ICrossDomainMessenger.sol"; import { ICrossDomainMessenger } from "interfaces/universal/ICrossDomainMessenger.sol";
interface IERC721Bridge { interface IERC721Bridge {
event ERC721BridgeFinalized( event ERC721BridgeFinalized(
......
// SPDX-License-Identifier: MIT // SPDX-License-Identifier: MIT
pragma solidity ^0.8.0; pragma solidity ^0.8.0;
import { IAddressManager } from "src/legacy/interfaces/IAddressManager.sol"; import { IAddressManager } from "interfaces/legacy/IAddressManager.sol";
interface IProxyAdmin { interface IProxyAdmin {
enum ProxyType { enum ProxyType {
......
// SPDX-License-Identifier: MIT // SPDX-License-Identifier: MIT
pragma solidity ^0.8.0; pragma solidity ^0.8.0;
import { ICrossDomainMessenger } from "src/universal/interfaces/ICrossDomainMessenger.sol"; import { ICrossDomainMessenger } from "interfaces/universal/ICrossDomainMessenger.sol";
interface IStandardBridge { interface IStandardBridge {
event ERC20BridgeFinalized( event ERC20BridgeFinalized(
......
// SPDX-License-Identifier: MIT // SPDX-License-Identifier: MIT
pragma solidity ^0.8.0; pragma solidity ^0.8.0;
import { ISemver } from "src/universal/interfaces/ISemver.sol"; import { ISemver } from "interfaces/universal/ISemver.sol";
import { IPreimageOracle } from "src/cannon/interfaces/IPreimageOracle.sol"; import { IPreimageOracle } from "interfaces/cannon/IPreimageOracle.sol";
/// @title IRISCV /// @title IRISCV
/// @notice Interface for the RISCV contract. /// @notice Interface for the RISCV contract.
......
...@@ -18,19 +18,19 @@ import { Preinstalls } from "src/libraries/Preinstalls.sol"; ...@@ -18,19 +18,19 @@ import { Preinstalls } from "src/libraries/Preinstalls.sol";
import { Types } from "src/libraries/Types.sol"; import { Types } from "src/libraries/Types.sol";
// Interfaces // Interfaces
import { ISequencerFeeVault } from "src/L2/interfaces/ISequencerFeeVault.sol"; import { ISequencerFeeVault } from "interfaces/L2/ISequencerFeeVault.sol";
import { IBaseFeeVault } from "src/L2/interfaces/IBaseFeeVault.sol"; import { IBaseFeeVault } from "interfaces/L2/IBaseFeeVault.sol";
import { IL1FeeVault } from "src/L2/interfaces/IL1FeeVault.sol"; import { IL1FeeVault } from "interfaces/L2/IL1FeeVault.sol";
import { IOptimismMintableERC721Factory } from "src/universal/interfaces/IOptimismMintableERC721Factory.sol"; import { IOptimismMintableERC721Factory } from "interfaces/universal/IOptimismMintableERC721Factory.sol";
import { IGovernanceToken } from "src/governance/interfaces/IGovernanceToken.sol"; import { IGovernanceToken } from "interfaces/governance/IGovernanceToken.sol";
import { IOptimismMintableERC20Factory } from "src/universal/interfaces/IOptimismMintableERC20Factory.sol"; import { IOptimismMintableERC20Factory } from "interfaces/universal/IOptimismMintableERC20Factory.sol";
import { IL2StandardBridge } from "src/L2/interfaces/IL2StandardBridge.sol"; import { IL2StandardBridge } from "interfaces/L2/IL2StandardBridge.sol";
import { IL2ERC721Bridge } from "src/L2/interfaces/IL2ERC721Bridge.sol"; import { IL2ERC721Bridge } from "interfaces/L2/IL2ERC721Bridge.sol";
import { IStandardBridge } from "src/universal/interfaces/IStandardBridge.sol"; import { IStandardBridge } from "interfaces/universal/IStandardBridge.sol";
import { ICrossDomainMessenger } from "src/universal/interfaces/ICrossDomainMessenger.sol"; import { ICrossDomainMessenger } from "interfaces/universal/ICrossDomainMessenger.sol";
import { IL2CrossDomainMessenger } from "src/L2/interfaces/IL2CrossDomainMessenger.sol"; import { IL2CrossDomainMessenger } from "interfaces/L2/IL2CrossDomainMessenger.sol";
import { IGasPriceOracle } from "src/L2/interfaces/IGasPriceOracle.sol"; import { IGasPriceOracle } from "interfaces/L2/IGasPriceOracle.sol";
import { IL1Block } from "src/L2/interfaces/IL1Block.sol"; import { IL1Block } from "interfaces/L2/IL1Block.sol";
struct L1Dependencies { struct L1Dependencies {
address payable l1CrossDomainMessengerProxy; address payable l1CrossDomainMessengerProxy;
......
...@@ -11,6 +11,22 @@ source "$SCRIPT_DIR/utils/semver-utils.sh" ...@@ -11,6 +11,22 @@ source "$SCRIPT_DIR/utils/semver-utils.sh"
# Path to semver-lock.json. # Path to semver-lock.json.
SEMVER_LOCK="snapshots/semver-lock.json" SEMVER_LOCK="snapshots/semver-lock.json"
# Define excluded contracts.
EXCLUDED_CONTRACTS=(
"src/vendor/asterisc/RISCV.sol"
)
# Helper function to check if a contract is excluded.
is_excluded() {
local contract="$1"
for excluded in "${EXCLUDED_CONTRACTS[@]}"; do
if [[ "$contract" == "$excluded" ]]; then
return 0
fi
done
return 1
}
# Create a temporary directory. # Create a temporary directory.
temp_dir=$(mktemp -d) temp_dir=$(mktemp -d)
trap 'rm -rf "$temp_dir"' EXIT trap 'rm -rf "$temp_dir"' EXIT
...@@ -49,6 +65,11 @@ has_errors=false ...@@ -49,6 +65,11 @@ has_errors=false
# Check each changed contract for a semver version change. # Check each changed contract for a semver version change.
for contract in $changed_contracts; do for contract in $changed_contracts; do
# Skip excluded contracts.
if is_excluded "$contract"; then
continue
fi
# Check if the contract file exists. # Check if the contract file exists.
if [ ! -f "$contract" ]; then if [ ! -f "$contract" ]; then
echo "❌ Error: Contract file $contract not found" echo "❌ Error: Contract file $contract not found"
......
...@@ -7,7 +7,7 @@ import { console2 as console } from "forge-std/console2.sol"; ...@@ -7,7 +7,7 @@ import { console2 as console } from "forge-std/console2.sol";
// Scripts // Scripts
import { DeployConfig } from "scripts/deploy/DeployConfig.s.sol"; import { DeployConfig } from "scripts/deploy/DeployConfig.s.sol";
import { ISystemConfigInterop } from "src/L1/interfaces/ISystemConfigInterop.sol"; import { ISystemConfigInterop } from "interfaces/L1/ISystemConfigInterop.sol";
// Libraries // Libraries
import { Constants } from "src/libraries/Constants.sol"; import { Constants } from "src/libraries/Constants.sol";
...@@ -15,21 +15,21 @@ import { Predeploys } from "src/libraries/Predeploys.sol"; ...@@ -15,21 +15,21 @@ import { Predeploys } from "src/libraries/Predeploys.sol";
import { Types } from "scripts/libraries/Types.sol"; import { Types } from "scripts/libraries/Types.sol";
// Interfaces // Interfaces
import { IResourceMetering } from "src/L1/interfaces/IResourceMetering.sol"; import { IResourceMetering } from "interfaces/L1/IResourceMetering.sol";
import { ISystemConfig } from "src/L1/interfaces/ISystemConfig.sol"; import { ISystemConfig } from "interfaces/L1/ISystemConfig.sol";
import { IL2OutputOracle } from "src/L1/interfaces/IL2OutputOracle.sol"; import { IL2OutputOracle } from "interfaces/L1/IL2OutputOracle.sol";
import { ISuperchainConfig } from "src/L1/interfaces/ISuperchainConfig.sol"; import { ISuperchainConfig } from "interfaces/L1/ISuperchainConfig.sol";
import { IL1CrossDomainMessenger } from "src/L1/interfaces/IL1CrossDomainMessenger.sol"; import { IL1CrossDomainMessenger } from "interfaces/L1/IL1CrossDomainMessenger.sol";
import { IOptimismPortal } from "src/L1/interfaces/IOptimismPortal.sol"; import { IOptimismPortal } from "interfaces/L1/IOptimismPortal.sol";
import { IOptimismPortal2 } from "src/L1/interfaces/IOptimismPortal2.sol"; import { IOptimismPortal2 } from "interfaces/L1/IOptimismPortal2.sol";
import { IL1ERC721Bridge } from "src/L1/interfaces/IL1ERC721Bridge.sol"; import { IL1ERC721Bridge } from "interfaces/L1/IL1ERC721Bridge.sol";
import { IL1StandardBridge } from "src/L1/interfaces/IL1StandardBridge.sol"; import { IL1StandardBridge } from "interfaces/L1/IL1StandardBridge.sol";
import { ProtocolVersion, IProtocolVersions } from "src/L1/interfaces/IProtocolVersions.sol"; import { ProtocolVersion, IProtocolVersions } from "interfaces/L1/IProtocolVersions.sol";
import { IDisputeGameFactory } from "src/dispute/interfaces/IDisputeGameFactory.sol"; import { IDisputeGameFactory } from "interfaces/dispute/IDisputeGameFactory.sol";
import { IDelayedWETH } from "src/dispute/interfaces/IDelayedWETH.sol"; import { IDelayedWETH } from "interfaces/dispute/IDelayedWETH.sol";
import { IOptimismMintableERC20Factory } from "src/universal/interfaces/IOptimismMintableERC20Factory.sol"; import { IOptimismMintableERC20Factory } from "interfaces/universal/IOptimismMintableERC20Factory.sol";
import { IPreimageOracle } from "src/cannon/interfaces/IPreimageOracle.sol"; import { IPreimageOracle } from "interfaces/cannon/IPreimageOracle.sol";
import { IMIPS } from "src/cannon/interfaces/IMIPS.sol"; import { IMIPS } from "interfaces/cannon/IMIPS.sol";
import { OPContractsManager } from "src/L1/OPContractsManager.sol"; import { OPContractsManager } from "src/L1/OPContractsManager.sol";
library ChainAssertions { library ChainAssertions {
......
...@@ -35,23 +35,23 @@ import { StorageSlot, ForgeArtifacts } from "scripts/libraries/ForgeArtifacts.so ...@@ -35,23 +35,23 @@ import { StorageSlot, ForgeArtifacts } from "scripts/libraries/ForgeArtifacts.so
import { GameType, Claim, GameTypes, OutputRoot, Hash } from "src/dispute/lib/Types.sol"; import { GameType, Claim, GameTypes, OutputRoot, Hash } from "src/dispute/lib/Types.sol";
// Interfaces // Interfaces
import { IProxy } from "src/universal/interfaces/IProxy.sol"; import { IProxy } from "interfaces/universal/IProxy.sol";
import { IProxyAdmin } from "src/universal/interfaces/IProxyAdmin.sol"; import { IProxyAdmin } from "interfaces/universal/IProxyAdmin.sol";
import { IOptimismPortal } from "src/L1/interfaces/IOptimismPortal.sol"; import { IOptimismPortal } from "interfaces/L1/IOptimismPortal.sol";
import { IOptimismPortal2 } from "src/L1/interfaces/IOptimismPortal2.sol"; import { IOptimismPortal2 } from "interfaces/L1/IOptimismPortal2.sol";
import { IL2OutputOracle } from "src/L1/interfaces/IL2OutputOracle.sol"; import { IL2OutputOracle } from "interfaces/L1/IL2OutputOracle.sol";
import { ISuperchainConfig } from "src/L1/interfaces/ISuperchainConfig.sol"; import { ISuperchainConfig } from "interfaces/L1/ISuperchainConfig.sol";
import { ISystemConfig } from "src/L1/interfaces/ISystemConfig.sol"; import { ISystemConfig } from "interfaces/L1/ISystemConfig.sol";
import { IDataAvailabilityChallenge } from "src/L1/interfaces/IDataAvailabilityChallenge.sol"; import { IDataAvailabilityChallenge } from "interfaces/L1/IDataAvailabilityChallenge.sol";
import { ProtocolVersion } from "src/L1/interfaces/IProtocolVersions.sol"; import { ProtocolVersion } from "interfaces/L1/IProtocolVersions.sol";
import { IBigStepper } from "src/dispute/interfaces/IBigStepper.sol"; import { IBigStepper } from "interfaces/dispute/IBigStepper.sol";
import { IDisputeGameFactory } from "src/dispute/interfaces/IDisputeGameFactory.sol"; import { IDisputeGameFactory } from "interfaces/dispute/IDisputeGameFactory.sol";
import { IDisputeGame } from "src/dispute/interfaces/IDisputeGame.sol"; import { IDisputeGame } from "interfaces/dispute/IDisputeGame.sol";
import { IFaultDisputeGame } from "src/dispute/interfaces/IFaultDisputeGame.sol"; import { IFaultDisputeGame } from "interfaces/dispute/IFaultDisputeGame.sol";
import { IDelayedWETH } from "src/dispute/interfaces/IDelayedWETH.sol"; import { IDelayedWETH } from "interfaces/dispute/IDelayedWETH.sol";
import { IAnchorStateRegistry } from "src/dispute/interfaces/IAnchorStateRegistry.sol"; import { IAnchorStateRegistry } from "interfaces/dispute/IAnchorStateRegistry.sol";
import { IMIPS } from "src/cannon/interfaces/IMIPS.sol"; import { IMIPS } from "interfaces/cannon/IMIPS.sol";
import { IPreimageOracle } from "src/cannon/interfaces/IPreimageOracle.sol"; import { IPreimageOracle } from "interfaces/cannon/IPreimageOracle.sol";
/// @title Deploy /// @title Deploy
/// @notice Script used to deploy a bedrock system. The entire system is deployed within the `run` function. /// @notice Script used to deploy a bedrock system. The entire system is deployed within the `run` function.
......
...@@ -2,11 +2,11 @@ ...@@ -2,11 +2,11 @@
pragma solidity 0.8.15; pragma solidity 0.8.15;
import { BaseDeployIO } from "scripts/deploy/BaseDeployIO.sol"; import { BaseDeployIO } from "scripts/deploy/BaseDeployIO.sol";
import { IDataAvailabilityChallenge } from "src/L1/interfaces/IDataAvailabilityChallenge.sol"; import { IDataAvailabilityChallenge } from "interfaces/L1/IDataAvailabilityChallenge.sol";
import { IProxy } from "src/universal/interfaces/IProxy.sol"; import { IProxy } from "interfaces/universal/IProxy.sol";
import { Script } from "forge-std/Script.sol"; import { Script } from "forge-std/Script.sol";
import { DeployUtils } from "scripts/libraries/DeployUtils.sol"; import { DeployUtils } from "scripts/libraries/DeployUtils.sol";
import { IProxyAdmin } from "src/universal/interfaces/IProxyAdmin.sol"; import { IProxyAdmin } from "interfaces/universal/IProxyAdmin.sol";
import { Solarray } from "scripts/libraries/Solarray.sol"; import { Solarray } from "scripts/libraries/Solarray.sol";
contract DeployAltDAInput is BaseDeployIO { contract DeployAltDAInput is BaseDeployIO {
......
...@@ -9,8 +9,8 @@ import { BaseDeployIO } from "scripts/deploy/BaseDeployIO.sol"; ...@@ -9,8 +9,8 @@ import { BaseDeployIO } from "scripts/deploy/BaseDeployIO.sol";
import { DeployUtils } from "scripts/libraries/DeployUtils.sol"; import { DeployUtils } from "scripts/libraries/DeployUtils.sol";
// Interfaces // Interfaces
import { IPreimageOracle } from "src/cannon/interfaces/IPreimageOracle.sol"; import { IPreimageOracle } from "interfaces/cannon/IPreimageOracle.sol";
import { IRISCV } from "src/vendor/asterisc/interfaces/IRISCV.sol"; import { IRISCV } from "interfaces/vendor/asterisc/IRISCV.sol";
/// @title DeployAsteriscInput /// @title DeployAsteriscInput
contract DeployAsteriscInput is BaseDeployIO { contract DeployAsteriscInput is BaseDeployIO {
......
...@@ -12,9 +12,9 @@ import { DeployUtils } from "scripts/libraries/DeployUtils.sol"; ...@@ -12,9 +12,9 @@ import { DeployUtils } from "scripts/libraries/DeployUtils.sol";
import { LibString } from "@solady/utils/LibString.sol"; import { LibString } from "@solady/utils/LibString.sol";
// Interfaces // Interfaces
import { IProxy } from "src/universal/interfaces/IProxy.sol"; import { IProxy } from "interfaces/universal/IProxy.sol";
import { IDelayedWETH } from "src/dispute/interfaces/IDelayedWETH.sol"; import { IDelayedWETH } from "interfaces/dispute/IDelayedWETH.sol";
import { ISuperchainConfig } from "src/L1/interfaces/ISuperchainConfig.sol"; import { ISuperchainConfig } from "interfaces/L1/ISuperchainConfig.sol";
/// @title DeployDelayedWETH /// @title DeployDelayedWETH
contract DeployDelayedWETHInput is BaseDeployIO { contract DeployDelayedWETHInput is BaseDeployIO {
......
...@@ -13,11 +13,11 @@ import { GameType, Claim, Duration } from "src/dispute/lib/Types.sol"; ...@@ -13,11 +13,11 @@ import { GameType, Claim, Duration } from "src/dispute/lib/Types.sol";
import { LibString } from "@solady/utils/LibString.sol"; import { LibString } from "@solady/utils/LibString.sol";
// Interfaces // Interfaces
import { IFaultDisputeGame } from "src/dispute/interfaces/IFaultDisputeGame.sol"; import { IFaultDisputeGame } from "interfaces/dispute/IFaultDisputeGame.sol";
import { IPermissionedDisputeGame } from "src/dispute/interfaces/IPermissionedDisputeGame.sol"; import { IPermissionedDisputeGame } from "interfaces/dispute/IPermissionedDisputeGame.sol";
import { IDelayedWETH } from "src/dispute/interfaces/IDelayedWETH.sol"; import { IDelayedWETH } from "interfaces/dispute/IDelayedWETH.sol";
import { IBigStepper } from "src/dispute/interfaces/IBigStepper.sol"; import { IBigStepper } from "interfaces/dispute/IBigStepper.sol";
import { IAnchorStateRegistry } from "src/dispute/interfaces/IAnchorStateRegistry.sol"; import { IAnchorStateRegistry } from "interfaces/dispute/IAnchorStateRegistry.sol";
/// @title DeployDisputeGameInput /// @title DeployDisputeGameInput
contract DeployDisputeGameInput is BaseDeployIO { contract DeployDisputeGameInput is BaseDeployIO {
......
...@@ -5,30 +5,30 @@ import { Script } from "forge-std/Script.sol"; ...@@ -5,30 +5,30 @@ import { Script } from "forge-std/Script.sol";
import { LibString } from "@solady/utils/LibString.sol"; import { LibString } from "@solady/utils/LibString.sol";
import { IResourceMetering } from "src/L1/interfaces/IResourceMetering.sol"; import { IResourceMetering } from "interfaces/L1/IResourceMetering.sol";
import { ISuperchainConfig } from "src/L1/interfaces/ISuperchainConfig.sol"; import { ISuperchainConfig } from "interfaces/L1/ISuperchainConfig.sol";
import { IProtocolVersions } from "src/L1/interfaces/IProtocolVersions.sol"; import { IProtocolVersions } from "interfaces/L1/IProtocolVersions.sol";
import { Constants } from "src/libraries/Constants.sol"; import { Constants } from "src/libraries/Constants.sol";
import { Predeploys } from "src/libraries/Predeploys.sol"; import { Predeploys } from "src/libraries/Predeploys.sol";
import { Bytes } from "src/libraries/Bytes.sol"; import { Bytes } from "src/libraries/Bytes.sol";
import { IDelayedWETH } from "src/dispute/interfaces/IDelayedWETH.sol"; import { IDelayedWETH } from "interfaces/dispute/IDelayedWETH.sol";
import { IPreimageOracle } from "src/cannon/interfaces/IPreimageOracle.sol"; import { IPreimageOracle } from "interfaces/cannon/IPreimageOracle.sol";
import { IMIPS } from "src/cannon/interfaces/IMIPS.sol"; import { IMIPS } from "interfaces/cannon/IMIPS.sol";
import { IDisputeGameFactory } from "src/dispute/interfaces/IDisputeGameFactory.sol"; import { IDisputeGameFactory } from "interfaces/dispute/IDisputeGameFactory.sol";
import { OPContractsManager } from "src/L1/OPContractsManager.sol"; import { OPContractsManager } from "src/L1/OPContractsManager.sol";
import { IOptimismPortal2 } from "src/L1/interfaces/IOptimismPortal2.sol"; import { IOptimismPortal2 } from "interfaces/L1/IOptimismPortal2.sol";
import { ISystemConfig } from "src/L1/interfaces/ISystemConfig.sol"; import { ISystemConfig } from "interfaces/L1/ISystemConfig.sol";
import { IL1CrossDomainMessenger } from "src/L1/interfaces/IL1CrossDomainMessenger.sol"; import { IL1CrossDomainMessenger } from "interfaces/L1/IL1CrossDomainMessenger.sol";
import { IL1ERC721Bridge } from "src/L1/interfaces/IL1ERC721Bridge.sol"; import { IL1ERC721Bridge } from "interfaces/L1/IL1ERC721Bridge.sol";
import { IL1StandardBridge } from "src/L1/interfaces/IL1StandardBridge.sol"; import { IL1StandardBridge } from "interfaces/L1/IL1StandardBridge.sol";
import { IOptimismMintableERC20Factory } from "src/universal/interfaces/IOptimismMintableERC20Factory.sol"; import { IOptimismMintableERC20Factory } from "interfaces/universal/IOptimismMintableERC20Factory.sol";
import { OPContractsManagerInterop } from "src/L1/OPContractsManagerInterop.sol"; import { OPContractsManagerInterop } from "src/L1/OPContractsManagerInterop.sol";
import { IOptimismPortalInterop } from "src/L1/interfaces/IOptimismPortalInterop.sol"; import { IOptimismPortalInterop } from "interfaces/L1/IOptimismPortalInterop.sol";
import { ISystemConfigInterop } from "src/L1/interfaces/ISystemConfigInterop.sol"; import { ISystemConfigInterop } from "interfaces/L1/ISystemConfigInterop.sol";
import { Blueprint } from "src/libraries/Blueprint.sol"; import { Blueprint } from "src/libraries/Blueprint.sol";
......
...@@ -9,8 +9,8 @@ import { BaseDeployIO } from "scripts/deploy/BaseDeployIO.sol"; ...@@ -9,8 +9,8 @@ import { BaseDeployIO } from "scripts/deploy/BaseDeployIO.sol";
import { DeployUtils } from "scripts/libraries/DeployUtils.sol"; import { DeployUtils } from "scripts/libraries/DeployUtils.sol";
// Interfaces // Interfaces
import { IPreimageOracle } from "src/cannon/interfaces/IPreimageOracle.sol"; import { IPreimageOracle } from "interfaces/cannon/IPreimageOracle.sol";
import { IMIPS } from "src/cannon/interfaces/IMIPS.sol"; import { IMIPS } from "interfaces/cannon/IMIPS.sol";
/// @title DeployMIPSInput /// @title DeployMIPSInput
contract DeployMIPSInput is BaseDeployIO { contract DeployMIPSInput is BaseDeployIO {
......
...@@ -8,8 +8,8 @@ import { LibString } from "@solady/utils/LibString.sol"; ...@@ -8,8 +8,8 @@ import { LibString } from "@solady/utils/LibString.sol";
import { BaseDeployIO } from "scripts/deploy/BaseDeployIO.sol"; import { BaseDeployIO } from "scripts/deploy/BaseDeployIO.sol";
import { DeployUtils } from "scripts/libraries/DeployUtils.sol"; import { DeployUtils } from "scripts/libraries/DeployUtils.sol";
import { ISuperchainConfig } from "src/L1/interfaces/ISuperchainConfig.sol"; import { ISuperchainConfig } from "interfaces/L1/ISuperchainConfig.sol";
import { IProtocolVersions } from "src/L1/interfaces/IProtocolVersions.sol"; import { IProtocolVersions } from "interfaces/L1/IProtocolVersions.sol";
import { OPContractsManager } from "src/L1/OPContractsManager.sol"; import { OPContractsManager } from "src/L1/OPContractsManager.sol";
contract DeployOPCMInput is BaseDeployIO { contract DeployOPCMInput is BaseDeployIO {
......
...@@ -9,31 +9,31 @@ import { DeployUtils } from "scripts/libraries/DeployUtils.sol"; ...@@ -9,31 +9,31 @@ import { DeployUtils } from "scripts/libraries/DeployUtils.sol";
import { Solarray } from "scripts/libraries/Solarray.sol"; import { Solarray } from "scripts/libraries/Solarray.sol";
import { BaseDeployIO } from "scripts/deploy/BaseDeployIO.sol"; import { BaseDeployIO } from "scripts/deploy/BaseDeployIO.sol";
import { IResourceMetering } from "src/L1/interfaces/IResourceMetering.sol"; import { IResourceMetering } from "interfaces/L1/IResourceMetering.sol";
import { ISuperchainConfig } from "src/L1/interfaces/ISuperchainConfig.sol"; import { ISuperchainConfig } from "interfaces/L1/ISuperchainConfig.sol";
import { IBigStepper } from "src/dispute/interfaces/IBigStepper.sol"; import { IBigStepper } from "interfaces/dispute/IBigStepper.sol";
import { Predeploys } from "src/libraries/Predeploys.sol"; import { Predeploys } from "src/libraries/Predeploys.sol";
import { Constants } from "src/libraries/Constants.sol"; import { Constants } from "src/libraries/Constants.sol";
import { Constants as ScriptConstants } from "scripts/libraries/Constants.sol"; import { Constants as ScriptConstants } from "scripts/libraries/Constants.sol";
import { IProxyAdmin } from "src/universal/interfaces/IProxyAdmin.sol"; import { IProxyAdmin } from "interfaces/universal/IProxyAdmin.sol";
import { IProxy } from "src/universal/interfaces/IProxy.sol"; import { IProxy } from "interfaces/universal/IProxy.sol";
import { IAddressManager } from "src/legacy/interfaces/IAddressManager.sol"; import { IAddressManager } from "interfaces/legacy/IAddressManager.sol";
import { IDelayedWETH } from "src/dispute/interfaces/IDelayedWETH.sol"; import { IDelayedWETH } from "interfaces/dispute/IDelayedWETH.sol";
import { IDisputeGameFactory } from "src/dispute/interfaces/IDisputeGameFactory.sol"; import { IDisputeGameFactory } from "interfaces/dispute/IDisputeGameFactory.sol";
import { IAnchorStateRegistry } from "src/dispute/interfaces/IAnchorStateRegistry.sol"; import { IAnchorStateRegistry } from "interfaces/dispute/IAnchorStateRegistry.sol";
import { IFaultDisputeGame } from "src/dispute/interfaces/IFaultDisputeGame.sol"; import { IFaultDisputeGame } from "interfaces/dispute/IFaultDisputeGame.sol";
import { IPermissionedDisputeGame } from "src/dispute/interfaces/IPermissionedDisputeGame.sol"; import { IPermissionedDisputeGame } from "interfaces/dispute/IPermissionedDisputeGame.sol";
import { Claim, Duration, GameType, GameTypes, Hash } from "src/dispute/lib/Types.sol"; import { Claim, Duration, GameType, GameTypes, Hash } from "src/dispute/lib/Types.sol";
import { OPContractsManager } from "src/L1/OPContractsManager.sol"; import { OPContractsManager } from "src/L1/OPContractsManager.sol";
import { IOptimismPortal2 } from "src/L1/interfaces/IOptimismPortal2.sol"; import { IOptimismPortal2 } from "interfaces/L1/IOptimismPortal2.sol";
import { ISystemConfig } from "src/L1/interfaces/ISystemConfig.sol"; import { ISystemConfig } from "interfaces/L1/ISystemConfig.sol";
import { IL1CrossDomainMessenger } from "src/L1/interfaces/IL1CrossDomainMessenger.sol"; import { IL1CrossDomainMessenger } from "interfaces/L1/IL1CrossDomainMessenger.sol";
import { IL1ERC721Bridge } from "src/L1/interfaces/IL1ERC721Bridge.sol"; import { IL1ERC721Bridge } from "interfaces/L1/IL1ERC721Bridge.sol";
import { IL1StandardBridge } from "src/L1/interfaces/IL1StandardBridge.sol"; import { IL1StandardBridge } from "interfaces/L1/IL1StandardBridge.sol";
import { IOptimismMintableERC20Factory } from "src/universal/interfaces/IOptimismMintableERC20Factory.sol"; import { IOptimismMintableERC20Factory } from "interfaces/universal/IOptimismMintableERC20Factory.sol";
contract DeployOPChainInput is BaseDeployIO { contract DeployOPChainInput is BaseDeployIO {
address internal _opChainProxyAdminOwner; address internal _opChainProxyAdminOwner;
......
...@@ -16,7 +16,7 @@ import { Deployer } from "scripts/deploy/Deployer.sol"; ...@@ -16,7 +16,7 @@ import { Deployer } from "scripts/deploy/Deployer.sol";
import { LivenessGuard } from "src/safe/LivenessGuard.sol"; import { LivenessGuard } from "src/safe/LivenessGuard.sol";
import { LivenessModule } from "src/safe/LivenessModule.sol"; import { LivenessModule } from "src/safe/LivenessModule.sol";
import { DeputyGuardianModule } from "src/safe/DeputyGuardianModule.sol"; import { DeputyGuardianModule } from "src/safe/DeputyGuardianModule.sol";
import { ISuperchainConfig } from "src/L1/interfaces/ISuperchainConfig.sol"; import { ISuperchainConfig } from "interfaces/L1/ISuperchainConfig.sol";
import { Deploy } from "./Deploy.s.sol"; import { Deploy } from "./Deploy.s.sol";
......
...@@ -4,10 +4,10 @@ pragma solidity 0.8.15; ...@@ -4,10 +4,10 @@ pragma solidity 0.8.15;
import { Script } from "forge-std/Script.sol"; import { Script } from "forge-std/Script.sol";
import { stdToml } from "forge-std/StdToml.sol"; import { stdToml } from "forge-std/StdToml.sol";
import { ISuperchainConfig } from "src/L1/interfaces/ISuperchainConfig.sol"; import { ISuperchainConfig } from "interfaces/L1/ISuperchainConfig.sol";
import { IProtocolVersions, ProtocolVersion } from "src/L1/interfaces/IProtocolVersions.sol"; import { IProtocolVersions, ProtocolVersion } from "interfaces/L1/IProtocolVersions.sol";
import { IProxyAdmin } from "src/universal/interfaces/IProxyAdmin.sol"; import { IProxyAdmin } from "interfaces/universal/IProxyAdmin.sol";
import { IProxy } from "src/universal/interfaces/IProxy.sol"; import { IProxy } from "interfaces/universal/IProxy.sol";
import { DeployUtils } from "scripts/libraries/DeployUtils.sol"; import { DeployUtils } from "scripts/libraries/DeployUtils.sol";
import { Solarray } from "scripts/libraries/Solarray.sol"; import { Solarray } from "scripts/libraries/Solarray.sol";
......
...@@ -2,14 +2,14 @@ ...@@ -2,14 +2,14 @@
pragma solidity 0.8.15; pragma solidity 0.8.15;
import { BaseDeployIO } from "scripts/deploy/BaseDeployIO.sol"; import { BaseDeployIO } from "scripts/deploy/BaseDeployIO.sol";
import { IProxy } from "src/universal/interfaces/IProxy.sol"; import { IProxy } from "interfaces/universal/IProxy.sol";
import { Script } from "forge-std/Script.sol"; import { Script } from "forge-std/Script.sol";
import { DeployUtils } from "scripts/libraries/DeployUtils.sol"; import { DeployUtils } from "scripts/libraries/DeployUtils.sol";
import { DeployOPChainOutput } from "scripts/deploy/DeployOPChain.s.sol"; import { DeployOPChainOutput } from "scripts/deploy/DeployOPChain.s.sol";
import { IMIPS } from "src/cannon/interfaces/IMIPS.sol"; import { IMIPS } from "interfaces/cannon/IMIPS.sol";
import { OPContractsManager } from "src/L1/OPContractsManager.sol"; import { OPContractsManager } from "src/L1/OPContractsManager.sol";
import { IAddressManager } from "src/legacy/interfaces/IAddressManager.sol"; import { IAddressManager } from "interfaces/legacy/IAddressManager.sol";
import { IStaticL1ChugSplashProxy } from "src/legacy/interfaces/IL1ChugSplashProxy.sol"; import { IStaticL1ChugSplashProxy } from "interfaces/legacy/IL1ChugSplashProxy.sol";
contract ReadImplementationAddressesInput is DeployOPChainOutput { contract ReadImplementationAddressesInput is DeployOPChainOutput {
OPContractsManager internal _opcm; OPContractsManager internal _opcm;
......
// SPDX-License-Identifier: MIT // SPDX-License-Identifier: MIT
pragma solidity ^0.8.0; pragma solidity ^0.8.0;
import { IAnchorStateRegistry } from "src/dispute/interfaces/IAnchorStateRegistry.sol"; import { IAnchorStateRegistry } from "interfaces/dispute/IAnchorStateRegistry.sol";
import { GameTypes, OutputRoot, Hash } from "src/dispute/lib/Types.sol"; import { GameTypes, OutputRoot, Hash } from "src/dispute/lib/Types.sol";
/// @title Constants /// @title Constants
......
...@@ -12,10 +12,10 @@ import { Bytes } from "src/libraries/Bytes.sol"; ...@@ -12,10 +12,10 @@ import { Bytes } from "src/libraries/Bytes.sol";
import { Constants } from "src/libraries/Constants.sol"; import { Constants } from "src/libraries/Constants.sol";
// Interfaces // Interfaces
import { IProxy } from "src/universal/interfaces/IProxy.sol"; import { IProxy } from "interfaces/universal/IProxy.sol";
import { IAddressManager } from "src/legacy/interfaces/IAddressManager.sol"; import { IAddressManager } from "interfaces/legacy/IAddressManager.sol";
import { IL1ChugSplashProxy, IStaticL1ChugSplashProxy } from "src/legacy/interfaces/IL1ChugSplashProxy.sol"; import { IL1ChugSplashProxy, IStaticL1ChugSplashProxy } from "interfaces/legacy/IL1ChugSplashProxy.sol";
import { IResolvedDelegateProxy } from "src/legacy/interfaces/IResolvedDelegateProxy.sol"; import { IResolvedDelegateProxy } from "interfaces/legacy/IResolvedDelegateProxy.sol";
library DeployUtils { library DeployUtils {
Vm internal constant vm = Vm(address(uint160(uint256(keccak256("hevm cheat code"))))); Vm internal constant vm = Vm(address(uint160(uint256(keccak256("hevm cheat code")))));
......
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment