NFT Sales

Made by Data Nexus & Ahmad Merdeni under MIT License

Subgraph to index all 721 NFT transfers, then attempt to match NFT Marketplace's sale events to the transfer.

API Documentation

The intent is that we can graft new marketplace contracts to include sale events as their contracts are deployed and mapped.

Key Assumption made in this logic is that every marketplace calls an NFT contract's transfer event BEFORE they emit their sale event (OrdersMatched, TakerBid, TakerAsk etc.). Upon the contracts transfer event, we handleTransfer, then upon the marketplace's sale event we handleSale (which updates the transfer entity).

TODO:

Listen to EvInventory anonymous event for X2Y2 pricing

Inspect SeaPort to dynamically index all marketplaces deriving from SeaPort contracts.

Inspect thirdweb NFT Factory contract to dynamically index all sales from marketplaces deriving from thirdweb - pending meeting with thirdweb team.

Update decimal eponentiation in mappings should a sale occur in an ERC20 that is not 18 decimals.

Inspect Coinbase NFT Marketplace transactions to include into sale entities.

OpenSea

Various Transaction Type examples:

Opensea Transaction

Opensea Bundle

Opensea APE Purchase

LooksRare:

Various Transaction Type examples:

TakerBid

TakerAsk

Gem.xyz

Interesting sweep transactions with cross platform sales noting to ensure it indexes as intended.

multicontract transaction

multicontract transaction

Contracts

OpenSea v1 - 0x7be8076f4ea4a4ad08075c2508e481d6c946d12b (start block 5774644)

Opensea V2 - 0x7f268357a8c2552623316e2562d90e642bb538e5 (start block 14120913)

LooksRare - 0x59728544B08AB483533076417FbBB2fD0B17CE3a (start block 13885625)

X2Y2 - 0x74312363e45dcaba76c59ec49a7aa8a65a67eed3 (start block 14139150)