logos-co / staking

SNT Staking contracts
Creative Commons Zero v1.0 Universal
0 stars 4 forks source link

Research and decide on transferable NFT implementation to hold XP #107

Open 0x-r4bbit opened 1 month ago

0x-r4bbit commented 1 month ago

There's a bunch of things we need to figure out and clarify here with the TKE an Status chain team.

EIPs of interest:

The goal of this issue is to settle on what a first version of this NFT will look like and how it will be distributed via the staking protocol.

0x-r4bbit commented 1 month ago

Here's a high level requirements list for this

the XP score management needs to be gasless from the users' pov ideally they shouldn't have to claim their XP, it should be airdropped to them we could say that we airdrop XP at the end of every epoch, but it wouldn't feel as real as doing an onchain transaction -> see XP score go up by 1 XP score should be integrated and displayed in (at least) Status app mobile + desktop + status.network website. could maybe even be merged with the Logos OP project (depending if the tokenomics make sense. if they don't, we can always say that users with XP on OP receive an XP airdrop on status network) XP need to be soulbound (non transferrable) but lendable (like https://eips.ethereum.org/EIPS/eip-4907 if we consider that they are an NFT) at some point in the future, XP could be burned for SNT initially XP can earned by: --> staking SNT --> making an onchain tx on status network --> having pledged TVL prior to the network launch then we can give users other ways to earn XP: --> getting an XP grant for building a project or deploying a protocol on status network --> using specific apps or protocols that get an XP boost for some defined time (like campaigns where users can earn more XP when they interact with those protocols) --> voting (for example Snapshot would be a boosted app in that perspective) later when we have a deeper integration in status apps: --> creating/joining/interacting with Communities --> doing transactions on Status wallet but on other chains than Status Network --> using Keycard (?)

XP represented by traits of an NFT sounds great but it would be way better if XP was onchain and not stored on a centralized server DN404 (https://github.com/Vectorized/dn404) would be a great solution for this: XP are represented by the supply of coins while together they form an NFT. so in this case we would need to be able to increase the supply of coins for each NFT arbitrarily We want to have an NFT that can evolve: we can upgrade the media based on the XP score (like pokemons). we could even make them onchain SVG that can display onchain data (some examples: https://jadenkore.medium.com/creating-a-dynamic-nft-that-updates-in-real-time-based-on-chain-data-3d989c04f137, what Nicolas did for Jukebox: https://blog.developerdao.com/devntell-onchain-svg-smart-contracts, and from Patrick Collins: https://github.com/PatrickAlphaC/all-on-chain-generated-nft?tab=readme-ov-file) do we want upgradability for this? maybe we could rely on proxys, in particular if we want to add other features in the future (such as burning XP for SNT)