Author: Nicholas
Date: 2022-09-23
Synopsis
Give the multisig permission to set the tokenUriResolver. This contract will give the JBProjects NFTs metadata (image + title + description).
Motivation
Every JB Project is represented by an NFT. At present, these NFTs have no metadata. This OpenSea screenshot shows what the NFTs look like without metadata.
It would be beneficial for JB Projects to have NFT metadata so people viewing wallets and contracts containing Juciebox NFTs can see (and perhaps even share) those NFT description pages. This is also a branding opportunity for JB.
Nicholas is working on an onchain svg rendered tokenUriResolver (WIP Github) It will look more-or-less like the screenshot below by default for each project. Project owners will be able to entirely override this visualization (and accompanying text metadata) with their own uri resolver logic if they want to. The aesthetics and functionality are under active development and I expect the tokenUriResolver to be updated several times over the next few months.
Fun aside: this uses @peri’s Capsules font, which he created and deployed onchain at https://cpsls.app
Specification
Grant the multisig permission to set and change the tokenUriResolver. Nicholas and Jango (and other members of the contract crew) will communicate with the multisig to update the tokenUriResolver over time as they deem necessary.
This permission is revoked in 3 months and this permission can be reproposed if necessary.
Rationale
The tokenUriResolver is a low stakes parameter of the protocol. Granting open ended permission to the multisig to update it poses no major threat to the security or usability of the protocol, and gives JBDAO’s devs the opportunity to improve the tokenUriResolver contract iteratively.
Risks
The tokenUriResolver could be used to deploy bad metadata that is deceptive or underwhelming. In the extreme worst case, the tokenUriResolver could enable malicious wallet interaction in unsafe NFT metadata browsers — though OpenSea and other major marketplaces have protections in place to remove this threat vector.
Timeline
Grant open ended permission to the multisig to update the tokenUriResolver for a period of 3 months.