diff --git a/packages/contracts-bedrock/src/cannon/interfaces/IMIPS.sol b/packages/contracts-bedrock/src/cannon/interfaces/IMIPS.sol new file mode 100644 index 000000000000..97b3dc8ef283 --- /dev/null +++ b/packages/contracts-bedrock/src/cannon/interfaces/IMIPS.sol @@ -0,0 +1,12 @@ +// SPDX-License-Identifier: MIT +pragma solidity 0.8.15; + +import { ISemver } from "src/universal/ISemver.sol"; +import { IPreimageOracle } from "src/cannon/interfaces/IPreimageOracle.sol"; + +/// @title IMIPS +/// @notice Interface for the MIPS contract. +interface IMIPS is ISemver { + function oracle() external view returns (IPreimageOracle oracle_); + function step(bytes memory _stateData, bytes memory _proof, bytes32 _localContext) external returns (bytes32); +} diff --git a/packages/contracts-bedrock/src/cannon/interfaces/IMIPS2.sol b/packages/contracts-bedrock/src/cannon/interfaces/IMIPS2.sol new file mode 100644 index 000000000000..540033433329 --- /dev/null +++ b/packages/contracts-bedrock/src/cannon/interfaces/IMIPS2.sol @@ -0,0 +1,10 @@ +// SPDX-License-Identifier: MIT +pragma solidity 0.8.15; + +import { ISemver } from "src/universal/ISemver.sol"; + +/// @title IMIPS2 +/// @notice Interface for the MIPS2 contract. +interface IMIPS2 is ISemver { + function step(bytes memory _stateData, bytes memory _proof, bytes32 _localContext) external returns (bytes32); +}