Introduction
Given the status of the signaling proposals, we would like to begin the discussion around the software features to be included in the next release (v1.1.0). This discussion is around the implementation of Optional Feature # 3 - Burn Tax Split to Community Pool.
Previously, the community utilized the seigniorage RewardWeight parameter to remint a portion of the burned supply to the community pool. This was confusing to many people in the community. This code explains the creation of a new parameter that does not utilize the seigniorage remint policy, but has an independent ability to directly send a percentage of the on-chain tax to the community pool. The initialization of this parameter will be 10% community pool, 90% burn as noted in governance proposal #11111, which was the consensus before the Binance requests to turn off seigniorage (and are being alternatively handled by feature #2).
Technical Code Description
Please see the following for the code that will be included for this feature.
Test Results
Test Split Tax:
- Tests several burn tax split rates called %split_rate
- Tax deducted from user to FeeCollector (first check to see if FeeDecorator has the correct tax amount)
- Check the transaction to BurnTaxFeeDecorator
- Check if Community Pool has the amount of tax*%split_rate
- Check if Total Supply has less amount of tax*(1-%split_rate) than that in the beginning (since tax*(1-%split_rate) is burned)
- Check if FeeCollector has zero amount (since 100% tax is sent to Community pool and Burn)
Burn Tax Split Governance Test
- Setup a node
- Submit a param gov to change BurnTaxSplit
- Output BurnTaxSplit before and after gov vote
Upgrade Check: core/upgrade-test.sh at main ¡ classic-terra/core ¡ GitHub
Ensure that state migration in x/treasury module works
Governance Parameters
This is a parameter change proposal that can be controlled in the following way,
{
âsubspaceâ: âtreasuryâ,
âkeyâ: âBurnTaxSplitâ,
âvalueâ: â0.50000000000â
}