Massive Buybacks

Within 24 hours after the 8-day supply expansion period ends, 80% of all treasury funds besides SCAT-DAI LP will be used to conduct a massive series of randomly timed and sized buybacks!
  • Shortly after the 8-day supply expansion period ends, the SendHouseCut() function calculates the amounts in all treasury bonds besides SCAT-DAI
    • 20% is sent to the contract operators, part of which will be donated to charitable causes
    • The remaining 80% is earmarked for buybacks within 24 hours of the end of minting
  • The LiquidateTreasury() function is then called multiple times within 24 hours to conduct randomly timed and sized buybacks
    • This admin-only function accepts an integer (buybackPercentage, 100=1%) as input
    • buybackPercentage % of the remaining buyback funds are liquidated from all treasury bonds (except SCAT-DAI LP) to DAI
    • The DAI is used to purchase SCAT from the SCAT-DAI LP, and the purchased MP is burned
  • The finalizeLiquidation() function becomes publicly callable at the end of the 24-hour buyback period
    • Calls SendHouseCut() if it has not been called already
    • Executes LiquidateTreasury(10000), which performs all remaining buybacks from the 80% of non-LP treasury funds earmarked for buyback
    • This ensures that all designated funds are used for buyback even if the admins fail to call the other functions
In Snowdog DAO, buybacks were made on a new LP system that required a passphrase to trade. In contrast, this procedure ensures that buybacks are made on the same SCAT-DAI LP pair that is used all throughout the protocol.