Appendix II: MetaMembership Contract Access
The membership contract is an opportunity to store data in a way that is not as traceable is NFT ownership and is controlled by the owner of the contract and therefore cannot be transferred. In addition, relevant non-PII metadata can be stored in the entry for quick retrieval.
Methods
addMembership(address customerAddress, string memory metadata)
This method creates an entry associated with the caller of the contract that is attributed to the customerAddress. If the entry already exists, this will override the metadata stored associated with the entry.
removeMembership(address customerAddress)
For an existing member, this will revoke their membership, expunging the entry for future requests in the entry associated with the calling address.
confirmMembership(address publisherAddress, address customerAddress)
This checks for a customerAddress entry associated with the membership owner’s public key, defined by publisherAddress. Unlike add/remove, this can be open to anyone or accessed by authorized partners defined by the owner of the contract.
getMembershipMetadata(address publisherAddress,address customerAddress)
For members, this method will retrieve the metadata that was stored by customerAddress associated with a member with the public key customerAddress. Like confirmMembership, this is accessible to all authorized callers as defined by the contract owner.