// SPDX-License-Identifier: MIT pragma solidity ^0.8.13; import "@openzeppelin/contracts/interfaces/IERC165.sol"; interface IContractEntity is IERC165 { /** * @dev Thrown when contract entity does not implement the required interface. */ error InvalidContractEntityInterface(); /** * @dev Returns implemented contract key. * @return Contract key; */ function contractKey() external pure returns (bytes4); }