The contract should have the following state variables. It is up to you to decide if any supporting variables are useful.
A public mapping approvedRecords, which returns true if an album name has been added as described below, and false if it has not
A mapping called userFavorites that indexes user addresses to a mapping of string record names which returns true or false, depending if the user has marked that album as a favorite
Create a function called addRecord that accepts an album name as a parameter. If the album is on the approved list, add it to the list under the address of the sender. Otherwise, reject it with a custom error of NotApproved with the submitted name as an argument.
Testnets are not permanent! Base Goerli will soon be sunset, in favor of Base Sepolia.As these are separate networks with separate data, your NFTs will not transfer over.Don’t worry! We’ve captured the addresses of all NFT owners on Base Goerli and will include them when we release the mechanism to transfer these NFTs to mainnet later this year! You can also redeploy on Sepolia and resubmit if you’d like!