Summary of Apparent Issues.
Changing the trading liquidity to zero is the only part of this proposal that is currently supported. Every other aspect of the proposal, while sound in purpose, lacks technical definition. Moreover, after having considered several tentative approaches to achieving these goals, I still have nothing that I would characterize as being scrutinized to the required levels of confidence before being presented in a public forum. However, that doesnât mean I am arriving completely empty-handed.
I am happy to provide two actionable recommendations, one of which may form a proposal in and of itself.
Recommendations
1. Begin Setting the Trading Liquidity of Surplus Pools on Bancor V3 to Zero.
The ten pools stipulated by the original author is a good start. As noted above, this is already supported by the existing contracts and does not require any additional smart contract work. This will lock the surplus status, and allow the DAO to burn in excess of 90,000 BNT. This will immediately and permanently lock in the surplus status for each of these tokens.
The process highlighted by the present proposal is a good one. Over time, the DAO can submit similar surplus token wind-down proposals as exhibited here. My personal preference is for this to be a gradual process.
Therefore, I recommend that new stand-alone proposals be drafted, which asks the DAO to approve a reduction in the trading liquidity on AUC, KTN, SHEESHA, APW, IDLE, and HEGIC to zero. The DRC, FODL, DAO, and DDX pools already have zero trading liquidity, so no actions need be taken in those cases.
This raises another significant point, which I have myself been attempting to rectify. It is generally advisable to split a complex proposal, such as this one, into discrete decisions. Were this proposal to be defeated as-is, we obtain a lot less information than if it were submitted in parts. For example, DAO members may agree with reducing the trading liquidity to zero, but object to another aspect of what is proposed. Lumping several decisions together creates an unnecessary ultimatum; the proverbial baby need not be tossed out with the bathwater. Much of our governance processes and documentation is severely out-of-date. As the DAO regroups and updates its policies and procedures, it is my ambition to bring attention to this matter and formalize it. Until then, I hope that we can agree that there is value to separating complex proposals into their constituent parts and asking the DAO to vote on each individually. Therefore, nullifying the trading liquidity on each of AUC, KTN, SHEESHA, APW, IDLE, and HEGIC ought to require six (6) separate votes on Snapshot.
2. Implement a Function which Transfers POL to the Carbon Fee Burner.
The original proposal makes two stipulations about how the excess TKN (aka the âprotocol-owned liquidityâ) should be handled, after the trading liquidity has been nullified.
2a. Any surplus token quantities for every token in this list to be removed from the V3 master vault and moved over to Carbon.
2b. These tokens have a strategy created TKN-ETH in Carbon that will sell them via a limit order at a 5% premium based on the last 30 day time weighted average price or current price if 30 day TWAP is not available.
Additional detail is offered by the author following this last point, which is contingent on the strategy creation element - which is simply untenable at this point. I can address both of these points with a slight change in focus. Rather than moving the token excess to Carbon for strategy creation, instead, it can be moved to the fee burner. Then, these tokens can be handled as normal using the existing fee burning infrastructure if appropriate; where no token liquidity exists on V2.1 or V3, these tokens can simply be held until a new method is available that allows these tokens to be traded for BNT elsewhere on the market.
I recommend that a new function be defined that allows token excess to be moved from V3 to the Carbon fee burner, which can be called by anyone. This function should have the following characteristics:
- The caller chooses a token for which a token surplus exists, and the trading liquidity is presently set to zero.
- The surplus is moved from the Bancor V3 master vault, to the Carbon Fee Burner contract.
To elaborate the proposed function, a simple python program is provided in the appendix, and its outputs called for DRC and AUC are provided here for the sake of illustration.
DRC
The current state of DRC is tabulated below:
Resource |
Balance |
Token |
Master vault |
16348845 |
DRC |
Staking ledger |
1 |
DRC |
Trading liquidity DRC |
0 |
DRC |
Trading liquidity BNT |
0 |
BNT |
Carbon fee burner |
0 |
DRC |
After the function call, the new state of DRC on Bancor V3 and the balance transferred to the Carbon fee burner is tabulated below:
Resource |
Balance |
Token |
Master vault |
1 |
DRC |
Staking ledger |
1 |
DRC |
Trading liquidity DRC |
0 |
DRC |
Trading liquidity BNT |
0 |
BNT |
Carbon fee burner |
16348844 |
DRC |
AUC
The current state of AUC is tabulated below:
Resource |
Balance |
Token |
Master vault |
6338967 |
AUC |
Staking ledger |
274 |
AUC |
Trading liquidity AUC |
4162871 |
AUC |
Trading liquidity BNT |
16205 |
BNT |
Carbon fee burner |
0 |
AUC |
The trading liquidity for AUC is currently non-zero. The function call cannot proceed until this is nullified.
Simulating a DAO vote to nullify the trading liquidityâŚ
Resource |
Balance |
Token |
Master vault |
6338967 |
AUC |
Staking ledger |
274 |
AUC |
Trading liquidity AUC |
0 |
AUC |
Trading liquidity BNT |
0 |
BNT |
Carbon fee burner |
0 |
AUC |
A successful DAO decision has nullified the trading liquidity for AUC.
This action destroyed 16205 BNT. We can now proceed with the function call.
After the function call, the new state of AUC on Bancor V3 and the balance transferred to the Carbon fee burner is tabulated below:
Resource |
Balance |
Token |
Master vault |
274 |
AUC |
Staking ledger |
274 |
AUC |
Trading liquidity AUC |
0 |
AUC |
Trading liquidity BNT |
0 |
BNT |
Carbon fee burner |
6338693 |
AUC |