From 40665dd1f8088c3194ca5406e0e0b161f8bbbea7 Mon Sep 17 00:00:00 2001 From: Makoto Inoue <2630+makoto@users.noreply.github.com> Date: Fri, 15 Dec 2023 11:18:52 +0900 Subject: [PATCH] Add IERC165 --- crosschain-resolver/contracts/L1Resolver.sol | 6 ++++-- crosschain-reverse-resolver/contracts/L1ReverseResolver.sol | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/crosschain-resolver/contracts/L1Resolver.sol b/crosschain-resolver/contracts/L1Resolver.sol index 6b7a54b7..7c001288 100644 --- a/crosschain-resolver/contracts/L1Resolver.sol +++ b/crosschain-resolver/contracts/L1Resolver.sol @@ -13,8 +13,9 @@ import {ITextResolver} from "@ensdomains/ens-contracts/contracts/resolvers/profi import {IContentHashResolver} from "@ensdomains/ens-contracts/contracts/resolvers/profiles/IContentHashResolver.sol"; import "@ensdomains/ens-contracts/contracts/resolvers/profiles/IExtendedResolver.sol"; import {ITargetResolver} from './ITargetResolver.sol'; +import "@openzeppelin/contracts/utils/introspection/IERC165.sol"; -contract L1Resolver is EVMFetchTarget { +contract L1Resolver is EVMFetchTarget, IERC165 { using EVMFetcher for EVMFetcher.EVMFetchRequest; using BytesUtils for bytes; IEVMVerifier public immutable verifier; @@ -217,6 +218,7 @@ contract L1Resolver is EVMFetchTarget { ) public pure returns (bool) { return interfaceId == type(IExtendedResolver).interfaceId || - interfaceId == type(ITargetResolver).interfaceId; + interfaceId == type(ITargetResolver).interfaceId || + super.supportsInterface(interfaceId); } } diff --git a/crosschain-reverse-resolver/contracts/L1ReverseResolver.sol b/crosschain-reverse-resolver/contracts/L1ReverseResolver.sol index 397f4a31..da3c7b52 100644 --- a/crosschain-reverse-resolver/contracts/L1ReverseResolver.sol +++ b/crosschain-reverse-resolver/contracts/L1ReverseResolver.sol @@ -6,8 +6,9 @@ import {EVMFetchTarget} from '@ensdomains/evm-verifier/contracts/EVMFetchTarget. import {IEVMVerifier} from '@ensdomains/evm-verifier/contracts/IEVMVerifier.sol'; import "@ensdomains/ens-contracts/contracts/resolvers/profiles/INameResolver.sol"; import "@ensdomains/ens-contracts/contracts/resolvers/profiles/ITextResolver.sol"; +import "@openzeppelin/contracts/utils/introspection/IERC165.sol"; -contract L1ReverseResolver is EVMFetchTarget { +contract L1ReverseResolver is EVMFetchTarget, IERC165 { using EVMFetcher for EVMFetcher.EVMFetchRequest; IEVMVerifier immutable verifier; address immutable target; @@ -75,6 +76,7 @@ contract L1ReverseResolver is EVMFetchTarget { ) public pure returns (bool) { return interfaceId == type(ITextResolver).interfaceId || - interfaceId == type(INameResolver).interfaceId; + interfaceId == type(INameResolver).interfaceId || + super.supportsInterface(interfaceId); } }