Development resources at your finger tips
Build with the coolest Web3 projects
Recurring funding for Open Source
Learn about Web3 & earn rewards
Show appreciation for each other
Meet fellow developers, designers, futurists and more. Collaborate and BUIDL awesome projects together.
Discover great web3 organizations, work on meaningful projects and build relationships with like minded people. Browse Tribes
Meet the top hunters and contributors from our community.
In partnership with Protocol Labs, we’re excited to welcome builders from everywhere to APOLLO, your mission control to engage with the builder…
Gitcoin is GDPR complaint. Learn more in
Gitcoin's Terms & Conditions.
Check out the Issue Explorer
Looking to fund some work? You can submit a new Funded Issue here.
EthQL can currently decode ERC20 transactions, and can support any ABI through its `decoder` service. We now want to extend the breadth the transaction decoding in EthQL by adding support for ERC721 (NFT) and ERC165 (supportsInterface). The latter is a fundamental step towards supporting more contract types in the near-future.
We also want to introduce the notion of _application-specific queries_ with CryptoKitties as an example.
- [x] Create `erc165` plugin that adds a `supportsInterface` field in `account` to query whether that contract supports the interface provided as an argument.
* Additionally, this plugin should add a service to make it possible for other plugins to query if a contract supports an interface.
- [x] Create `erc721` plugin, adding a decoder configuration for the ERC721 log events and transactions.
* Add a top-level query `nftContract(address: "0x...")` that exposes the ABI's view operations and public fields, including any relevant field edges (e.g. accounts mainly).
* `ERC721*` transaction/log types (in the same spirit as `ERC20*` transaction/log types) so they can be used from `decoded` fields.
* This plugin should use the service exposed by the `erc165` plugin to query if a contract is an NFT.
- [ ] Create a `cryptokitties` plugin.
* Analyse and propose which operations from the [CryptoKitties contract](https://etherscan.io/address/0x06012c8cf97bead5deae237070f9587f8e7a266d) should be exposed as EthQL queries.
* Decide together with the EthQL team the query/field design.
* Implement all agreed fields according to the _definition of done_ below.
## Definition of done
- [ ] Test cases with full coverage.
- [ ] PR accepted and merged, introducing a new top-level directory for each of the plugins generating an NPM module each (#107).
- [ ] Code commented, documented and linted.
- [ ] README and wiki updated listing and showcasing this functionality.