* Rename variable from thing to contractUnderTest
* Compute function signatures in ERC165 interfaces
The ERC165 tests currently precompute some known interface ids.
This commit extracts the interfaces into a separate object and
precomputes the individual function signatures.
This will be useful to identify contracts that support an interface
but do not implement all of the corresponding functions.
* Add tests for ERC165 interface implementations
The ERC165 tests confirm that contracts claim to support
particular interfaces ( using the supportsInterface method )
This commit extends those tests to confirm that the corresponding
functions are included in the contract ABI.
It also rewords the existing test names in order to group the
implementation tests with the corresponding interface tests.
* Remove obsolete ERC721Exists interface constant
* Replaced assertJump, assertRevert and expectThrow with shouldFail.
* Fixed linter errors.
* Fixed typo.
* Made the helpers async.
(cherry picked from commit b0da0fded0)
* Add ERC165Query library
* Address PR Comments
* Add tests and mocks from #1024 and refactor code slightly
* Fix javascript and solidity linting errors
* Split supportsInterface into three methods as discussed in #1086
* Change InterfaceId_ERC165 comment to match style in the rest of the repo
* Fix max-len lint issue on ERC165Checker.sol
* Conditionally ignore the asserts during solidity-coverage test
* Switch to abi.encodeWithSelector and add test for account addresses
* Switch to supportsInterfaces API as suggested by @frangio
* Adding ERC165InterfacesSupported.sol
* Fix style issues
* Add test for supportsInterfaces returning false
* Add ERC165Checker.sol newline
* feat: fix coverage implementation
* fix: solidity linting error
* fix: revert to using boolean tests instead of require statements
* fix: make supportsERC165Interface private again
* rename SupportsInterfaceWithLookupMock to avoid name clashing
* make _tokenId indexed in Transfer and Approval events
via: https://github.com/ethereum/EIPs/pull/1124/files
* fix: make name() and symbol() external instead of public
* feat: implement ERC721's ERC165
* feat: erc165 tests
* fix: don't use chai-as-promised in direct await
* fix: reorganize to /introspection
* feat: abstract all erc165 tests to a behavior
* feat: disallow registering 0xffffffff