Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MP-2425 Burn fee collector denom rewards #428

Open
wants to merge 7 commits into
base: master
Choose a base branch
from

Conversation

dancreee
Copy link
Contributor

@dancreee dancreee commented Aug 3, 2024

I've removed the code that would distribute via ibc transfer the fee_collector_denom, and replaced it with a burn msg.

This removes the ability for us to do buy & distribute, but this will be a different implementation for DAODAO anyway (currently not supported for tokenFactory tokens AFAIK) so makes sense to remove it and later re-implement it.

We still do the ibc transfer of the safety fund denom to Mars Hubs Safety Fund module on both Osmosis and Neutron outposts. Once we change the Safety Fund to flow to the DAODAO treasury we can probably pull out the Neutron specific impl. of ibc_transfer.

After completing this work i'm not so sure it's actually worth rolling out until we implement more of the upcoming work to the rewards collector.

This is because:

  1. This buy & burn impl. only works on Neutron/native tokenFactory chain, we couldn't deploy this version on Osmosis it would incorrectly burn the IBC denom rather than the source denom.
  2. There is another refactor in tokenomics phase 2 that should rework the mars address type "SafetyFund" into "Treasury", and sending the safety fund denom to the DAODAO gov contract address. This would also mean we can remove the ibc_transfer stuff for the Neutron implementation as mentioned above.
  3. There is an addition in tokenomics phase 2 - We need to add another bucket to protocol revenue called something like "RevenueShare". This is to support our 10% protocol revenue share with Neutron. I'd propose we actually create the ability to protocol revenue share with multiple addresses, such as the Mars Foundation in the future if it's voted by gov or another entity if we do similar on another raise.

So we could end up with the following protocol revenue buckets that can be configured by governance:

  1. Buy & Burn Rate (different impl for Neutron and Osmosis, Neutron easy has the native bank burn msg, more sophisticated ibc transfer to contract + IBC hook to call burn on contract)
  2. Treasury Rate (different impl. for Neutron and Osmosis, Neutron has bank send, Osmosis has ibc transfer)
  3. Revenue Share Rate (could support two types here, bank send and ibc transfer rev share, but initially just need the bank send)

These 3 should add up to 100%. Additionally within Revenue Share we could have n number of shares with a rate (that add up to 100% of the Revenue Share Rate).

In the future we can also add Buy & LP bucket and Buy & Distribute bucket. Because so many I think the code design needs to be re-worked a bit

TODO

  • Contract Migration

@dancreee dancreee requested a review from piobab August 3, 2024 10:20
@dancreee dancreee changed the title Remove sending of rewards, burn rewards for fee collector denom instead MP-2425 Burn fee collector denom rewards Aug 3, 2024
@@ -1 +1 @@
pub mod v2_0_0;
pub mod v2_0_2;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Right now on ntrn we have 2.1.0. We should update migration

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants