gnosisguild / wand-nft

wand-nft.vercel.app
8 stars 6 forks source link

Upgradeability #24

Closed jfschwarz closed 2 years ago

jfschwarz commented 2 years ago

@samepant mentioned it would be nice if we'd be able to update the way wands are rendered in the future. I see two ways for implementing this:

1) Make Wand.sol OwnableUpgradeable

Allows us to update all aspects of wands, including the XP system etc.

2) Allow owner to update the wandConjuror

This allows us to only update the rendering part, so we wouldn't be able to mess with wand ownership, etc.

samepant commented 2 years ago

I'm in favor of 2, since we could make the owner of the contract the eventual DAO of nft holders, and allow governance to decide upgrading of the conjuror. This is similar to how the Nouns DAO contracts works, they built in the ability to change the NounsDescriptor, which is the contract which handles the visual components.

In a more mainstream NFT project, I see how this could be an issue, as the artwork is generally the core focus of a token. Since our token is more about community and governance in the long term than the actual artwork itself, I think building in a way for the community of token holders to change the way they visually represent themselves is pretty crucial.

samepant commented 2 years ago

We've decided to go with option 2, ZodiacWands will be able to swap out the Conjuror contract (which handles svg representation) and the Forge contract (which handles xp and item level)