Как проверить поддержку интерфейса через ERC-165
Проверка интерфейса помогает приложению выбрать методы контракта. Реализация, отвечающая true на любое значение, может обмануть проверку из одного запроса.
Добавьте отрицательный контроль
Вызовите supportsInterface(bytes4) в режиме чтения с предусмотренным ERC-165 бюджетом 30 000 газа для проверки. Последовательно передайте три идентификатора ниже. Последний обозначает основной интерфейс ERC-721.
0x01ffc9a7 → true
0xffffffff → false
0x80ac58cd → true or false
При исключении, некорректном ответе или провале отрицательного контроля полагаться на ERC-165 для этого адреса нельзя. Если контрольные вызовы прошли, третий ответ подскажет, стоит ли обращаться к методам ERC-721.
Проверьте нужную функцию
Положительный ответ выражает заявление самого контракта. Он не подтверждает владение конкретным токеном, корректность реализации или поддержку необязательных метаданных. Перед использованием tokenURI отдельно проверьте расширение метаданных. eips.ethereum.org ERC-165