A bonding curve implementation for purchasing FEI with ETH.
The price function used is:
x - the current amount of FEI issued from the bonding curve
S - the Scale target
O - the oracle price reported as underlying per FEI
The "k" shift is an additional feature since the white paper release. It shifts the starting price upward so the protocol can retain more PCV. k is initially set to
S/3 which makes the starting price $0.50 per FEI.
The amount of FEI out for a given quantity of ETH input Q is equal to the following:
y is the cumulative amount of FEI sold by the bonding curve after the trade and C is the current cumulative, so their difference is the amount sent to the user.
The Scale target is 100,000,000 FEI.
Post-Scale, the Bonding curve sets the exchange rate at $1 + b, where b is a buffer. The buffer is initially set to 1% to allow for variance above $1. Governance can vote to converge b to 0 as the liquidity increases and volatility decreases.
The oracle used is the UniswapOracle.