classic-terra / core

GO implementation of the Terra Classic Protocol
Other
65 stars 44 forks source link

Whitelist dApp Contracts from Burn Taxes #263

Closed LuncBurner closed 1 year ago

LuncBurner commented 1 year ago

Problem definition The following item passed governance and is required to be implemented. The description of the functionality from the original proposal is as follows: Increasing the Burn Tax is likely to cause a minor drop in volume and usage of dapps such as Terraswap, Astroport, Terraport, etc (which roughly accounts for ~5% of the overall volume). Whitelisting dapp contracts from burn tax should compensate for any increase in Burn Tax proposed in [3/4]. For further discussion visit: https://classic-agora.terra.money/t/new-economic-policy-for-terra-classic-set-of-4-proposals-to-align-incentives/50415

Acceptance criteria Specificy the desired outcomes of resolving this issue.

inon-man commented 1 year ago

I guess we need to make a list of contract addresses for burn tax exemptions. I wonder how many project will have time to spend on this matter.

fragwuerdig commented 1 year ago

The exemption list should be an on-chain governance parameter. Similar to the Binance exemption list. The difference is that the addresses in the Binance exemption list is only applicable for p2p transfers from address to address within the list. I wonder whether we can combine this somehow?

fragwuerdig commented 1 year ago

@alchemist-ti, @inon-man, @nghuyenthevinh2000, @LuncBurner: Please give me your feedback on my thoughts about this very issue: https://github.com/classic-terra/documents/blob/main/research/implement-smart-contract-whitelist.md

nghuyenthevinh2000 commented 1 year ago

It looks good, you also need to extract the destination address from MsgExecute as well

alchemist-ti commented 1 year ago

LGTM

LuncBurner commented 1 year ago

@fragwuerdig I think this appears to be a good approach. @StrathCole Any thought with respect to the implementation of the whitelist for the dApps?

StrathCole commented 1 year ago

@fragwuerdig I think this appears to be a good approach. @StrathCole Any thought with respect to the implementation of the whitelist for the dApps?

The whitelisting in my personal opinion has a design flaw from the beginning. It will benefit projects that only need to whitelist one or two contract addresses. I can look into your proposed way of dealing with it when I return (next week). I know it's passed governance, so it needs implementation. I just think it won't benefit many projects.

inon-man commented 1 year ago

I agree with @StrathCole I don't think it's going to benefit many projects.

Imagine that whenever you have a dApp, governance proposals keep coming up. It's going to be a lot of trouble.

StrathCole commented 1 year ago

I agree with @StrathCole I don't think it's going to benefit many projects.

Imagine that whenever you have a dApp, governance proposals keep coming up. It's going to be a lot of trouble.

:shrug: it will probably be even more, as dApps like Miata or a DEX with Token Factory and similar will have new contracts all the time. All of those project owners then probably want to be whitelisted. And the providers have to explain each time, what they need to do (which most won't as they risk losing the governance deposit).