Following our discussion regarding the architecture of different smart contracts it seems sensible to have both player.sol, which is the list of player profiles, and beatmap.sol which is the list of all the different registered beatmaps the players can register a score with.
Details
The functions of beatmap.sol will be to
list all the different beatmaps, their IPFS URI and identifier
the status of the beatmap "active, inactive" -> in case a beatmap is considered unlawful in the future
total number of points minted per beatmap (to be incremented every time we validate a player's proof of play) -> not too sure about this part, this is something that can be computed just from player.sol and the list of beatmaps
Overview
Following our discussion regarding the architecture of different smart contracts it seems sensible to have both player.sol, which is the list of player profiles, and beatmap.sol which is the list of all the different registered beatmaps the players can register a score with.
Details
The functions of beatmap.sol will be to