To be posted to snapshot June 25, 2023
TL;DR
- The Carbon FeeBurner (also referred to as the Carbon Vortex) has been part of Carbon since launch
- Link to proposal: Proposing Carbon (FINAL)
- Link to docs: CarbonVortex - Carbon Dev
- The recent changes to the Fastlane require changes to the Carbon Vortex behavior
- Link to Fastlane changes: Snapshot
- Whereas the contract currently holds no TKN but can be used to collect fees from the (CarbonController), this proposal suggests an additional process where it can also handle TKN that the contract itself holds (such as those it receives from the Fastlane).
CarbonVortex
Goal
To create a generic contract that can receive fees collected from multiple parts of the system in token format (BNT or TKN), and expose a public function that can be called by anyone and execute a trade and burn.
Contract
CarbonVortex contract will have access to the following:
- Carbon fees (vortex)
The CarbonVortex can access any collected fees that are available in the CarbonController in a given token.
- CarbonVortex’s own balances
Fastlane arb transactions will result in sending the protocol portion to the CarbonVortex contract. These fees will be available for the CarbonVortex to interact with.
Public write function
CarbonVortex will expose a public write function that can be called by anyone.
Function execute()
When calling the function:
- Caller needs to pass token address it would like to burn (it can be a list of tokens)
- The function will access token fees collected on CarbonController AND CarbonVortex balance
- The function will trade a portion (currently defined as 98%) of the token to BNT using Bancor v3 pool
- Caller receive the public incentive (currently set at 2%) at the end of the transaction in TKN
Public read functions
Users can find the available fee amounts in few places
- CarbonController, function accumulatedFees(token) will return the available fees collected on Carbon for the specified token
- CarbonVortex balance of the token
- CarbonVortex, function availableFees(token) will return the sum of available fees collected in both CarbonController and CarbonVortex.
Next Steps
If this proposal passes, we should expect a second version that will also know how to handle tokens that do not have liquidity on Bancor 3.
FOR
Update the Carbon Vortex as detailed above.
AGAINST
Take no action.