The main function to call when a user with referral code from nft owner to claim it.
@from : address of nft owner
@tokenAddr: nft contract address
@tokenId: id of the nft
@referral: referral code (alpha numeric , depends on your merkle tree generation logic)
@proof: proof is set of hashes that ultimatey gives the root hash when combined with the referral code hash
Returns the address of the current owner.
Returns true if the contract is paused, and false otherwise.
Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.
set root hash of given nft (contract, id)
Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.
returns true if given referral code has been used the user
returns the root hash given nft(contract, id) and nft owner