Emitted when new Basis Cash is minted to the Treasury via allocateSeigniorage.
BoardroomFunded
Emitted when new Basis Cash is minted to the Boardroom via allocateSeigniorage.
Modifiers
allocationTimeRipe
Checks whether a day has passed since the last successful execution of allocateSeigniorage.
Functions
getCashPrice
Returns the oracle price of Basis Cash denominated in DAI.
buyBonds
Mints amount / bondPrice Basis Bonds, in exchange for amount Basis Cash burnt.
amount is the amount of Basis Cash used in the purchase.
Emits BoughtBonds.
redeemBonds
If the Basis Cash price is above 1 DAI, mints amount Basis Cash, in exchange for amount Basis Bonds burnt.
amount is the number of Basis Bonds to redeem.
Emits RedeemedBonds.
allocateSeigniorage
If the oracle price of Basis Cash is above (1+ε) DAI, mints ((BAC Oracle Price) - 1) * cashSupply number of Basis Cash to either the Boardroom contract or the Treasury contract.
If the Treasury's balance is below 1,000 BAC, seigniorage is given to the Treasury. Emits TreasuryFunded.
If the Treasury's balance is above 1,000 BAC, seigniorage is given to the Boardroom. Emits BoardroomFunded.