Proposal to start sunsetting Bancor V3

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
5 Likes