You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Since these have no monetary value and are to represent membership and function as a login token, I think members shouldn't be able to "transfer" these NFTs. I can't think of any instance where someone would for any good reason, except to perhaps gain voting power. We would probably want to disable that, since we expect everyone to have a voting power of 1.
Some related issues are: how should we revoke these NFTs after someone is no longer a member, either because they graduated or left the DAO?
A possible solution is setting some sort of timestamp, after which the NFT is automatically transferred to the 0x0 address. I'm not sure if this is possible though. Opening this thread for discussion.
The text was updated successfully, but these errors were encountered:
I looked into disabling transfer abilities. Open Zeppelin does not have any current audited contracts for for removing transfers. One thing we could look into is capping voting power to a single vote, but then you could just create multiple addresses. As for revoking ERC721 Tokens, there is a way to pause functionality. Pausing functionality could solve both problems here, but the DAO would have to manually do it. I am open to any other suggestions.
oslfmt
changed the title
Disable transfers of MembershipNFTs
Disable transfers of MembershipNFTs & revoke NFT for ex-members
Jul 5, 2022
Pausing functionality seems like a decent workaround way to "revoke" NFTs. I'd say its probably even the best/easiest solution to this issue. Another possibility for revoking is instead of pausing, we can write a revoke function which burns the NFT. We could require a multisig of both the owner and DAO owner in order to call the function to avoid centralization powers.
A possibility for disabling transfers is just simpling overriding the transfer() function to just do nothing. We'd probably want to look into this further to make sure there's no unwanted side effects. Of course, this would mean the token is technically not an ERC721 token anymore, since it doesn't adhere to the standard, but honestly it's not meant to be one either.
Since these have no monetary value and are to represent membership and function as a login token, I think members shouldn't be able to "transfer" these NFTs. I can't think of any instance where someone would for any good reason, except to perhaps gain voting power. We would probably want to disable that, since we expect everyone to have a voting power of 1.
Some related issues are: how should we revoke these NFTs after someone is no longer a member, either because they graduated or left the DAO?
A possible solution is setting some sort of timestamp, after which the NFT is automatically transferred to the 0x0 address. I'm not sure if this is possible though. Opening this thread for discussion.
The text was updated successfully, but these errors were encountered: