Hi, how are you? I was discussing about this EIP these days.
Idea
I think maybe more robust way to face the problem of a standard way of understanding a role that is not the owner could be like roleOf(bytes32 tokenId, bytes4 roleId) returns (address)
(or address[]
as mentioned above).
Considering
This came up while reading
various metaverses use
operator
/contributor
roles for Land
And also considreing “Mortgage/rental” use case mentioned above.
Result
So this EIP would have a list of standard roles for NFTs (different than owner role) and the specification for each role could reside on newer EIPs linked from here.
This way wallets can then implement standard controls for standard behaviours on standard roles on NFTs.
Use case
Now you could say owner can make use of transfer
and approve
. With this EIP we could then say role: CONSUMER
can utilise the token instances, without necessarily having ownership rights to it (as mentioned in the EIP). Then, other roles like role: TENANT
, might add standard functions to query how long the rental is for or a function to extend rental, thus showing these operations in standard way in all wallets and platforms.