// Copyright 2023, Offchain Labs, Inc. // For license information, see https://github.com/offchainlabs/bold/blob/main/LICENSE // SPDX-License-Identifier: BUSL-1.1 // pragma solidity ^0.8.0; import "../bridge/IBridge.sol"; import "../osp/IOneStepProofEntry.sol"; import "../rollup/Assertion.sol"; /// @title Assertion chain interface /// @notice The interface required by the EdgeChallengeManager for requesting assertion data from the AssertionChain interface IAssertionChain { function bridge() external view returns (IBridge); function validateAssertionHash( bytes32 assertionHash, AssertionState calldata state, bytes32 prevAssertionHash, bytes32 inboxAcc ) external view; function validateConfig(bytes32 assertionHash, ConfigData calldata configData) external view; function getFirstChildCreationBlock( bytes32 assertionHash ) external view returns (uint64); function getSecondChildCreationBlock( bytes32 assertionHash ) external view returns (uint64); function isFirstChild( bytes32 assertionHash ) external view returns (bool); function isPending( bytes32 assertionHash ) external view returns (bool); function isValidator( address ) external view returns (bool); function getValidators() external view returns (address[] memory); function validatorWhitelistDisabled() external view returns (bool); }