This page has not been updated yet for BIP-34.
The Sun advances Beanstalk to the next Season through the sunrise function in the SeasonFacet. Every time an hour passes, sunrise can be called 1 more time.
The Season Facet has several subcontracts:
  • ​Oracle.sol -> Calculates the time weighted average number of Beans that Bean is above/below its value peg in all pools on the Oracle Whitelist.
  • ​Weather.sol -> Changes the Max Temperature (interest rate) depending on the Bean price, debt level and demand for Soil.
  • ​Sun.sol -> Sets the Soil for the next Season and mints new Beans if Oracle returns deltaB > 0 and distributes them as follows:
    • Up to 1/3 to Active Fertilizer holders (see Barn);
    • Up to 1/2 of the remaining amount to Pod holders (see Field); and
    • The rest to Stalkholders in the Silo (see Silo).
sunrise does the following steps:
  1. 1.
    Increments the Season number;
  2. 2.
    Calls Oracle to get deltaB;
  3. 3.
    Calls Weather to adjust the Max Temperature and checks for Rain and Season of Plenty;
  4. 4.
    Calls Sun to set the Soil and mint Beans if deltaB > 0; and
  5. 5.
    Pays msg.sender Beans for paying the transaction fee associated with calling the function.
In the Beanstalk ecosystem,
  • Rain is referred to as Oversaturation; and
  • Season of Plenty is referred to as Flood.