LEGEND_SNEK_URI (Cosmic) lacks essential metadata, such as description, attributes, and value. The only available metadata is the image uri
, which unfortunately points to the wrong snek image URI (RARE aka JUNGLE SNEK). This oversight raises significant concerns regarding its accuracy and potential impact, potentially diminishing its value and credibility within the market.
Please review Line 56, and copy the URI provided. Then, proceed to your web browser, paste the URI into the address bar, and press Enter.
Although the ownership of the NFT remains intact, it is concerning that it still points to the wrong SNEK's image URI. This misuse also constitutes an abuse of the Protocol's RARITY
mechanism. Winners may mistakenly believe they have acquired a RARE aka Jungle SNEK's NFT.
While NFTs can technically be created without metadata, doing so can severely limit their value, marketability, and overall appeal. Metadata plays a pivotal role in providing context, enriching user experience, and ensuring the legal and ethical dimensions of NFT ownership. Both creators and collectors should prioritize the inclusion of comprehensive metadata when creating or acquiring NFTs.
Manual Review, Pytest.
Update LEGEND_SNEK_URI
: The simplest solution is to update the LEGEND_SNEK_URI
constant variable with the correct URI pointing to its accurate JSON metadata.
Upload and Pin JSON Metadata File: Create a JSON metadata file and upload it to any IPFS URI Pinning Service Provider's chain such as PINATA, Filecoin, NFT.Storage, Arweave, IPFS Cluster, Fleek, etc. For visual guidance on how to upload and pin NFT URIs to these services, you can onboard to Cyfrin Updraft.
Implement Vyper Mimic: Mimic Cyfrin's HH & Foundry NFT course by implementing it in Vyper. This method offloads heavy computation related to NFT URI conversion by processing the URI off-chain. You can then arrive at a final base64 encoded URI and set it back to the LEGEND_SNEK_URI
. Remember if you wanna trade/sell your NFT then you would need to pin/upload (recognize NFT tokenID) your final NFT URI to an NFT Trading Platform.
contracts/snek_raffle.vy
After Updating snek_raffle.vy
Just config and test configs like below and execute the test given below...
tests/conftest.py
tests/snek_raffle_test.py: Put the following code at very bottom
<details>
<summary>Poc Off-chain URI Computation</summary>
Now Open your bash terminal and execute following command... (Make sure you're on your chosen virtual environment(Vyper))
Output:
You can conveniently copy the NFT URI of the winner from the logs and paste it into your browser to view the associated metadata. Ensure that you have IPFS installed; otherwise, your browser may prompt you to suggest its installation. Simply follow the browser's instructions to proceed.
</details>
The contest is live. Earn rewards by submitting a finding.
Submissions are being reviewed by the community.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.