FAKE Gotchi Subgraph
Last updated
Was this helpful?
Last updated
Was this helpful?
The subgraph provides all the information needed for the fakegotchis.com webpage. It allows to fetch all the happened events on-chain as well as useful entities for the Cards and NFTs. Furthermore in provides some useful stats. The full documentation can be found here
The endpoint is: https://api.thegraph.com/subgraphs/name/aavegotchi/fake-gotchis-matic
The Playground can be found
The Events can be queried as followed:
{
erc1155Transfers(first: 5) {
from {
id
}
to {
id
}
valueExact
}
metadataFlags(first: 5) {
flaggedBy {
id
}
metadata {
id
}
}
metadataLikes(first: 5) {
likedBy {
id
}
metadata {
id
}
}
}
the response contains the ID of the aavegotchi and the svg...
{
"data": {
"erc1155Transfers": [
{
"from": null,
"to": {
"id": "0x8d46fd7160940d89da026d59b2e819208e714e82"
},
"valueExact": "2535"
},
{
"from": {
"id": "0x8d46fd7160940d89da026d59b2e819208e714e82"
},
"to": {
"id": "0x57f1a63b97ec36777054a4a94468083ae9cf0cc8"
},
"valueExact": "1"
},
{
"from": {
"id": "0x57f1a63b97ec36777054a4a94468083ae9cf0cc8"
},
"to": null,
"valueExact": "1"
},
{
"from": {
"id": "0x8d46fd7160940d89da026d59b2e819208e714e82"
},
"to": {
"id": "0xc29029de05bf135a90c19f31f866f8774a39dbb6"
},
"valueExact": "1"
},
{
"from": {
"id": "0x8d46fd7160940d89da026d59b2e819208e714e82"
},
"to": {
"id": "0x92baffdd6cfb11a4e57a58ffec4833b4d1abd25d"
},
"valueExact": "1"
}
],
"metadataFlags": [
{
"flaggedBy": {
"id": "0xc89a3292eb0a8396a2505deb6195afa7f83a8a30"
},
"metadata": {
"id": "1"
}
},
{
"flaggedBy": {
"id": "0xf0b3868bdfdc28ed7ebca122ce821e0211fd3c0f"
},
"metadata": {
"id": "4"
}
},
{
"flaggedBy": {
"id": "0x20906e454a9d20181350630ead131d8dfa21dd3f"
},
"metadata": {
"id": "4"
}
},
{
"flaggedBy": {
"id": "0x1ea25519e4829bf579a58f133c4bf31e7e6f7565"
},
"metadata": {
"id": "4"
}
},
{
"flaggedBy": {
"id": "0x6fd155b9d52f80e8a73a8a2537268602978486e2"
},
"metadata": {
"id": "4"
}
}
],
"metadataLikes": [
{
"likedBy": {
"id": "0x3aef590df6febaa81477c1cea3009bb9e096730c"
},
"metadata": {
"id": "1"
}
},
{
"likedBy": {
"id": "0xc89a3292eb0a8396a2505deb6195afa7f83a8a30"
},
"metadata": {
"id": "1"
}
},
{
"likedBy": {
"id": "0x501ffc7ee44f7986c24fb5bf7c04c1ed6377ec87"
},
"metadata": {
"id": "1"
}
},
{
"likedBy": {
"id": "0x1ea25519e4829bf579a58f133c4bf31e7e6f7565"
},
"metadata": {
"id": "1"
}
},
{
"likedBy": {
"id": "0xb53cf0a586973ab15c0a045990d06b4fa083dd5a"
},
"metadata": {
"id": "1"
}
}
]
}
}
Cards are are ERC1155s and NFTs ERC721. The Subgraph allows to query for both:
{
account(id:"0x01c28a969a7d0ba03419c8c80be59928c4732cd9") {
id
ERC721tokens(first: 3) {
metadata {
name
artistName
description
}
}
ERC1155balances(first: 3) {
id
}
}
}
the response contains all the information: In this case the accounts owns multiple NFTs, but no cards.
{
"data": {
"account": {
"id": "0x01c28a969a7d0ba03419c8c80be59928c4732cd9",
"ERC721tokens": [
{
"metadata": {
"name": "Chubby Gotchi Family Portrait",
"artistName": "Gotchi Bulls",
"description": "These are reimaginings of many actual Aavegotchis that take on a life of their own in the Chubby World!"
}
},
{
"metadata": {
"name": "Chubby Gotchi Family Portrait",
"artistName": "Gotchi Bulls",
"description": "These are reimaginings of many actual Aavegotchis that take on a life of their own in the Chubby World!"
}
},
{
"metadata": {
"name": "Chubby Gotchi Family Portrait",
"artistName": "Gotchi Bulls",
"description": "These are reimaginings of many actual Aavegotchis that take on a life of their own in the Chubby World!"
}
}
],
"ERC1155balances": []
}
}
}
The subgraph provides also some useful stats. For example how large is the supply and how many cards and nfts are already burned.
{
totalStatistics {
totalOwners
totalFakeGotchiPieces
totalNFTs
burnedNFTs
burnedCards
}
nftstatistics {
holders(first: 3) {
id
amount
}
burned
amountHolder
totalSupply
}
}
The response looks like this:
{
"data": {
"totalStatistics": [
{
"totalOwners": 57,
"totalFakeGotchiPieces": 14,
"totalNFTs": 920,
"burnedNFTs": 0,
"burnedCards": 0
}
],
"nftstatistics": [
{
"holders": [
{
"id": "0x07a009e9e98649bff954cf3032ceb3e21e020f49-1",
"amount": 1
},
{
"id": "0x3c2262255793f2b4629f7b9a2d57ce78f7842a8d-1",
"amount": 2
},
{
"id": "0x57f1a63b97ec36777054a4a94468083ae9cf0cc8-1",
"amount": 90
}
],
"burned": 0,
"amountHolder": 9,
"totalSupply": 100
},
{
"holders": [
{
"id": "0x26cf02f892b04af4cf350539ce2c77fcf79ec172-10",
"amount": 1
},
{
"id": "0x3c2262255793f2b4629f7b9a2d57ce78f7842a8d-10",
"amount": 1
},
{
"id": "0x4572192ed1dee5fd0f8f07269be4ef3e3e270715-10",
"amount": 1
}
],
"burned": 0,
"amountHolder": 12,
"totalSupply": 30
},
{
"holders": [
{
"id": "0x3bd59ed16c462b4464091830dab828dce079076f-11",
"amount": 1
},
{
"id": "0x5e31c357d03e9528e9bf95bd16e5c1ab3f7d37d0-11",
"amount": 1
},
{
"id": "0x81e5cd19323ce7f6b36c9511fbc98d477a188b13-11",
"amount": 67
}
],
"burned": 0,
"amountHolder": 3,
"totalSupply": 69
},
{
"holders": [
{
"id": "0x0465c733bcbc4e15f15d393d919cf6dc8ae757ce-12",
"amount": 1
},
{
"id": "0x2fa37cb96c19e9b1f9ad060aed00c0cfc727ae39-12",
"amount": 1
},
{
"id": "0x3c2262255793f2b4629f7b9a2d57ce78f7842a8d-12",
"amount": 2
}
],
"burned": 0,
"amountHolder": 7,
"totalSupply": 25
},
{
"holders": [
{
"id": "0x0465c733bcbc4e15f15d393d919cf6dc8ae757ce-13",
"amount": 1
},
{
"id": "0x2fa37cb96c19e9b1f9ad060aed00c0cfc727ae39-13",
"amount": 11
},
{
"id": "0x3c2262255793f2b4629f7b9a2d57ce78f7842a8d-13",
"amount": 1
}
],
"burned": 0,
"amountHolder": 9,
"totalSupply": 20
},
{
"holders": [
{
"id": "0x082e8a9da4397bc24ac22fad57cd7063dc1cd58b-14",
"amount": 42
}
],
"burned": 0,
"amountHolder": 1,
"totalSupply": 42
},
{
"holders": [
{
"id": "0xc29029de05bf135a90c19f31f866f8774a39dbb6-15",
"amount": 100
}
],
"burned": 0,
"amountHolder": 1,
"totalSupply": 100
},
{
"holders": [
{
"id": "0x2dd1951f15e2f9b629209dc43fac402fa7a91d8f-2",
"amount": 1
},
{
"id": "0x5e31c357d03e9528e9bf95bd16e5c1ab3f7d37d0-2",
"amount": 1
},
{
"id": "0xcd3014700f40d44f36c520b3bc887b7a603673dd-2",
"amount": 1
}
],
"burned": 0,
"amountHolder": 5,
"totalSupply": 64
},
{
"holders": [
{
"id": "0x137173233cc1ecf6d6ba9799868c8272352fb2e5-3",
"amount": 17
},
{
"id": "0x5e31c357d03e9528e9bf95bd16e5c1ab3f7d37d0-3",
"amount": 1
},
{
"id": "0x6994ba66fd6789044c4ad43786cc16840d099c8a-3",
"amount": 1
}
],
"burned": 0,
"amountHolder": 4,
"totalSupply": 20
},
{
"holders": [
{
"id": "0x01c28a969a7d0ba03419c8c80be59928c4732cd9-5",
"amount": 19
},
{
"id": "0x1ea25519e4829bf579a58f133c4bf31e7e6f7565-5",
"amount": 1
},
{
"id": "0x2fa37cb96c19e9b1f9ad060aed00c0cfc727ae39-5",
"amount": 1
}
],
"burned": 0,
"amountHolder": 6,
"totalSupply": 100
},
{
"holders": [
{
"id": "0x0465c733bcbc4e15f15d393d919cf6dc8ae757ce-6",
"amount": 1
},
{
"id": "0x3c2262255793f2b4629f7b9a2d57ce78f7842a8d-6",
"amount": 1
},
{
"id": "0x44e9d011df8741be2493e99297e9ad67bb1aa85b-6",
"amount": 95
}
],
"burned": 0,
"amountHolder": 6,
"totalSupply": 100
},
{
"holders": [
{
"id": "0x1d130d29b3906555030452f0f29cdb0b9750fd21-7",
"amount": 35
},
{
"id": "0x2fa37cb96c19e9b1f9ad060aed00c0cfc727ae39-7",
"amount": 1
},
{
"id": "0x30dcca068f593cbffb5affe8a89f35ae49614972-7",
"amount": 1
}
],
"burned": 0,
"amountHolder": 15,
"totalSupply": 50
},
{
"holders": [
{
"id": "0x92baffdd6cfb11a4e57a58ffec4833b4d1abd25d-8",
"amount": 100
}
],
"burned": 0,
"amountHolder": 1,
"totalSupply": 100
},
{
"holders": [
{
"id": "0x0465c733bcbc4e15f15d393d919cf6dc8ae757ce-9",
"amount": 1
},
{
"id": "0x08a534738ba8ec107ed65986a3de66c330441b9a-9",
"amount": 1
},
{
"id": "0x2dd1951f15e2f9b629209dc43fac402fa7a91d8f-9",
"amount": 1
}
],
"burned": 0,
"amountHolder": 14,
"totalSupply": 100
}
]
}
}
It takes time to mint a NFT. It requires that the card is burned and some art is added. After some days the NFT can be minted. Proposals can be liked, flagged or change their status.
{
metadataActionLogs(where: {status: 0} first: 1) {
name
publisher {
id
}
publisherName
artist {
id
}
artistName
fileHash
flagCount
likeCount
status
}
}
The status codes are defined as follows:
export const METADATA_STATUS_PENDING = 0;
export const METADATA_STATUS_PAUSED = 1;
export const METADATA_STATUS_APPROVED = 2;
export const METADATA_STATUS_DECLINED = 3;
The result shows all neccesary informations:
{
"data": {
"metadataActionLogs": [
{
"name": "FUD vs FOMO",
"publisher": {
"id": "0x187dad1e0dd5e599091c2ec88e89afb4cde4b7a3"
},
"publisherName": "Skeenee",
"artist": {
"id": "0x15b89bae8ba07c249c4a7985317a9d14f19ca67f"
},
"artistName": "Skeenee",
"fileHash": "aaRv5WVb0XHPF9NOGmchDl6tm2xduZjL8_9XVYZhtR0",
"flagCount": 0,
"likeCount": 15,
"status": 0
}
]
}
}