Membershipdefi
MEMBERSHIP
NFT as/is Membership Utility
by using erc721 owner of id
by using erc721 owners
by using erc1155 owner of id
use this metodology, pattern for make or use an nft for : ticket, key for locks, membership, etc...
how to use: deploy mock, then contract . contract need mock address(some times nft id) as value.
Review
- 1155 Example
IERC1155 keyNft; // keyNft - nft address = ticket
uint id;
function isMember() internal view returns (bool) {
require(IERC1155(keyNft).balanceOf(msg.sender, id) > 0, "not valid member");
return true;
}
- 721 Example by id
IERC721 keyNft; // keyNft - nft address = ticket
uint id; // nft id
function isMember() internal view returns (bool) {
require(msg.sender == IERC721(keyNft).ownerOf(id), "not valid member");
return true;
}
- 721 Example by owner
IERC721 keyNft; // keyNft - nft address = ticket
function isMember() internal view returns (bool) {
require(IERC721(keyNft).balanceOf(msg.sender) > 0, "not valid member");
return true;
}