VortexBurnercontract is the realization of this policy. The following notes detail the discrete contract functions and their purpose.
burnReward| Determine the Value of Initiating a Burn
burnRewardproperty returns the amount of BNT that the user will receive for calling the
burnfunction (see below). The reward is offered to motivate regular token burns by sophisticated market algorithms. The
burnRewardproperty returns the current incentives as two different numbers:
burn| Trigger the vBNT Burning Mechanism
burnfunction is called for specific tokens; it is the responsibility of the entity calling the
burnfunction to determine its profitability. Following its call, the tokens will be swapped in two hops for vBNT, and the vBNT will be burned. Importantly, part of the BNT obtained during the first hop is diverted to the address that initiated the
burnfunction (see above). The
burnfunction requires the token corresponding addresses to be passed, either as a single string, or a list. Since ETH has no address, one has been created for it on our system (
balanceOf: Read the available token balances and determine their value.
burnReward: Query the current reward settings.
burn: If the total value of the disbursements is higher than the gas cost of execution, perform it.
balanceOf, which returns a value of 10,000 DAI. The value of the DAI holdings is $10,000 according to Etherscan (or
getReturnfunction on Bancor). Then she calls
burnReward, which returns 10% (100,000 ppm) and a 100 BNT cap. The price of BNT is $7.00. To calculate the returns, Alice performs the following calculation:
$10,000 / 1,000,000 × 100,000 ppm = $1000
$1000 / $7.00 = 140.28 BNT
totalBurnedAmount| Determine the Total vBNT Burned To-Date
totalBurnedAmountfunction returns the total amount of vBNT burned, ever. This data will help the BancorDAO to evaluate the effects of the Bancor Vortex over time. The effect is slow, but persistent. The BIP9 addendum introduced a schedule, whereby the vBNT burn rate starts at a modest 5%, and is slowly ramped to 15% over 18 months, commensurate with target APYs for liquidity providers on the network. The
totalBurnedAmountfunction provides a readily available source of data that can be used in future token supply assessments, and should inform changes to the burn rate, as required to maintain a sustainable monetary policy.