Coin functionality discussion

Hi, I am new to sui development. Recently I am working on migrating an erc20 contract to sui. The contract needs to have the ability to check/add/remove roles of minter/burner/blacklister. The original and simplest design is maintaining a list of addresses for each of those roles. But sui has an object orient system and I want to work with that. If we give each role a MinterCap/BurnerCap object to verify their identity, we can’t revoke that object from the contract? The contract function needs to take that cap object and drop it. Or we can design a timestamp or boolean value in the cap object. But we still need to maintain a list of objects. So there’s no need to use objects in this case? If you have any thoughts, please share with me, thanks!

6 Likes