There may be other priorities at the moment, but sooner or later we will have to correct and optimize a few things in the staking (and voting) system. Here are 1-2 ideas.
Fixing the bug of decreasing staking power (by using MAHAXvp instead of MAHAx), reducing gas fees when claiming rewards (by calculating at wallet level instead of NFT level (1) and optionally reducing the number of tokens (2)), no decrease of already accumulated rewards (by recording at wallet level and by using MAHAXvp) and simplifying the reward structure.
1) Use MAHAXvp in the wallet for calculation instead of MAHAx of the individual NFTs:
- Rewards would now be calculated and issued by the MAHAXvp located in a wallet. This means that all NFTs in a wallet are combined into one value. Claiming is then done per wallet and no longer individually for each NFT (this benefits anyone who has more than one NFT in their wallet, as they only have to claim each reward token once). By calculating with MAHAXvp instead of MAHAx, the staking power also remains 100% until the expiry of an NFT. (Currently, the staking power decreases steadily due to the MAHAx value/contract).
2) On the rewards page, there could be an option/switch where you can specify whether you want rewards in individual tokens (A) or only in ETH/ARTH* + MAHA (B):
*Depending on what Steven thinks is better, all IBO and other revenue tokens (except MAHA from emission) will be converted to either ARTH or ETH.
Option A: You can claim all IBO tokens, MAHA (from emission) and ARTH/ETH (from revenue) individually. At wallet level (see point 1). This may be interesting for whales, as they are more likely to keep IBO tokens and it is more profitable to claim them in terms of quantity. This is basically the same as now, but is no longer done individually for each NFT, but only per wallet.
Option B: There are only two tokens to claim. MAHA (from emission) and ARTH/ETH (all revenues and IBO tokens etc. of the past week are converted into ARTH or ETH through sale). With this option, there are a maximum of two claims per wallet, which is particularly advantageous for smaller stakers.
The calculation of rewards should become easier with these points, especially because it is no longer done individually for each NFT (and no longer based on the constantly changing value of MAHAx), but only takes the static MAHAXvp value in the wallet.
As before, the system measures the total amount of MAHAXvp in circulation once a week (Etherscan total), as well as the proportion of option A and B (from number 2 above).
The system then divides all rewards (IBO tokens, revenue, etc.) into A or B share according to the selected options (e.g. 31% for A group, 69% for B group if 31% have opted for option A).
The A-group share is then further divided according to the wallets of the A-holders and each token (Forward, IBO2, IBO3, ETH, MAHA etc.) is credited to the wallets according to their MAHAXvp supply share. If these rewards are not claimed, the additional rewards will be added to the wallet one week later. This means that the rewards do not expire. And they also do not decrease if an NFT ends or is sold in the meantime. The accumulated rewards remain for each wallet until they are claimed.
The B-group portion (IBO tokens and revenue) is automatically sold and converted to ARTH or ETH (automating this is perhaps the most challenging part, as not all tokens will be on Uniswap and ETH chain). Subsequently, the ETH/ARTH will also be credited to all wallets with option B, according to their supply share of MAHAXvp. Here too, the rewards are added from week to week at wallet level so that they can still be claimed later. MAHA from the issues are provided separately for claiming (as with group A).
Unclaimed staking rewards are no longer passed on when an NFT changes hands, as they are credited at wallet level.
Point 1 alone would help enormously to save gas fees when claiming (as claiming per 1 wallet instead of 2 or 10+ NFTs individually). And it would also make sense to accumulate (with Zealy or OpenSea) and stake several small NFTs (100 Mahax), as the reward claims numbers would not increase as a result. It would then no longer be necessary to merge NFTs, because they could be staked individually. This would also make the purchase or holding of small NFTs more attractive. Normally, these are not worth staking.
If an NFT is moved to another wallet (e.g. due to a sale), the MAHAXvp in the previous wallet will also be reduced due to the unstaking (in the next week the wallet owner will therefore receive fewer rewards for the week) and added to the new owner’s wallet (if he staks it). He will now receive the rewards for the NFT in future. So that should work.
We can basically stop delegating voting power (MAHAXvp) for governance, as we have used it so far. It does not work for gauges voting (the delegated voting power is not accepted there or the gauge rewards are not issued) and we have not used tally for governance voting recently. In addition, the power of MAHAXvp remains at 100% until the NFT expiration date, which does not result in a decreasing voting power as we had planned. So that doesn’t work either. We can therefore repurpose MAHAXvp for staking.
We could possibly use MAHAx for delegating voting power and gauges voting (if this is still used) or design something new for this.