@TimDaub I read various posts, discussions and documents, and really appreciate your (and ra-phael and MicahZoltu’s) efforts around this topic.
With the idea of trying to start with a minimal first-step, I was wondering how about introduce a very simple function (and therefore an interface) that checks transferability (or boundedness) of a token?
function locked(uint256 tokenId) external view returns (bool)
This will allow wallets to check for transferability for UX, allows implementers more freedom around mint/burn and maybe even allowing transfers in certain situations. Lastly the supportsInterface()
will have a more meaningful role when it says that it supports transferability/boundedness checks.
If you think this is a different can of worms I can move this suggestion somewhere else.
Let me know what are your thoughts, as you’ve been working on this for quiet a while