// SPDX-License-Identifier: MIT pragma solidity ^0.8.13; import "@openzeppelin/contracts/utils/introspection/ERC165.sol"; import "./IListingController.sol"; abstract contract ListingController is IListingController, ERC165 { /** * A constant that represents one hundred percent for calculation. * This defines a calculation precision for percentage values as two decimals. * For example: 1 is 0.01%, 100 is 1%, 10_000 is 100%. */ uint16 public constant HUNDRED_PERCENT = 10_000; /** * @inheritdoc IERC165 */ function supportsInterface(bytes4 interfaceId) public view virtual override(IERC165, ERC165) returns (bool) { return interfaceId == type(IListingController).interfaceId || super.supportsInterface(interfaceId); } /** * @inheritdoc IListingController */ function strategyId() public pure virtual returns (bytes4); }