Claiming NFTs through Passes

[pounding on the desk] This is it! I'm telling you this is it! - Jeremy Irons (Margin Call)

Overview

This feature extends the current Hedera capability by adding the concept of relationships between NFTs, a NFT pass can be a parent, while child NFTs can be linked for distribution to any holder. While the ledger automatically keeps state with no off-chain storage.
Or as a user story...
As a project with an NFT pass, I want to be able to generate future NFTs that my community may be able to claim.
Or for an art project...
As an artist I want to have an NFT pass to build a community with so I can reward my pass owners with future peridoic drops.

How it works

There is a fair bit of logic to make this work, we rely on Mirrornodes to read currently minted NFTs and respective holders.
  • Check that an account owns an NFT, or many.
  • Check that the minted and supply of the child NFT matches the parent NFT pass.
  • Check that a child NFT has been fully pre-minted.
  • Check that the child NFT serial is held by treasury
  • Attempt to send, or receive a generic association failure error.
post
https://hedera-serverless-consensus.vercel.app
/api/nft/claim