@ -80,28 +80,28 @@ interface IERC1820Registry {
|
|||||||
function interfaceHash(string calldata interfaceName) external pure returns (bytes32);
|
function interfaceHash(string calldata interfaceName) external pure returns (bytes32);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @notice Updates the cache with whether the contract implements an ERC165 interface or not.
|
* @notice Updates the cache with whether the contract implements an ERC165 interface or not.
|
||||||
* @param account Address of the contract for which to update the cache.
|
* @param account Address of the contract for which to update the cache.
|
||||||
* @param interfaceId ERC165 interface for which to update the cache.
|
* @param interfaceId ERC165 interface for which to update the cache.
|
||||||
*/
|
*/
|
||||||
function updateERC165Cache(address account, bytes4 interfaceId) external;
|
function updateERC165Cache(address account, bytes4 interfaceId) external;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @notice Checks whether a contract implements an ERC165 interface or not.
|
* @notice Checks whether a contract implements an ERC165 interface or not.
|
||||||
* If the result is not cached a direct lookup on the contract address is performed.
|
* If the result is not cached a direct lookup on the contract address is performed.
|
||||||
* If the result is not cached or the cached value is out-of-date, the cache MUST be updated manually by calling
|
* If the result is not cached or the cached value is out-of-date, the cache MUST be updated manually by calling
|
||||||
* {updateERC165Cache} with the contract address.
|
* {updateERC165Cache} with the contract address.
|
||||||
* @param account Address of the contract to check.
|
* @param account Address of the contract to check.
|
||||||
* @param interfaceId ERC165 interface to check.
|
* @param interfaceId ERC165 interface to check.
|
||||||
* @return True if `account` implements `interfaceId`, false otherwise.
|
* @return True if `account` implements `interfaceId`, false otherwise.
|
||||||
*/
|
*/
|
||||||
function implementsERC165Interface(address account, bytes4 interfaceId) external view returns (bool);
|
function implementsERC165Interface(address account, bytes4 interfaceId) external view returns (bool);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @notice Checks whether a contract implements an ERC165 interface or not without using nor updating the cache.
|
* @notice Checks whether a contract implements an ERC165 interface or not without using nor updating the cache.
|
||||||
* @param account Address of the contract to check.
|
* @param account Address of the contract to check.
|
||||||
* @param interfaceId ERC165 interface to check.
|
* @param interfaceId ERC165 interface to check.
|
||||||
* @return True if `account` implements `interfaceId`, false otherwise.
|
* @return True if `account` implements `interfaceId`, false otherwise.
|
||||||
*/
|
*/
|
||||||
function implementsERC165InterfaceNoCache(address account, bytes4 interfaceId) external view returns (bool);
|
function implementsERC165InterfaceNoCache(address account, bytes4 interfaceId) external view returns (bool);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user