Farming
The Farming module manages the contracts that allocate Ubeswap to various liquidity mining pools.
Contracts
PoolManager -- receives tokens to allocate for mining rewards
MiningTokenAllocator -- allocates mined tokens to the Celo Reserve Timelock, PoolManager, and Community Timelock
HalveningReleaseSchedule -- keeps track of the tokens to be released per week
MiningReleaseEscrow -- releases tokens to the MiningTokenAllocator according to the release schedule
Pools
Pools are based on the battle-tested Synthetix StakingRewards contract. The pool owner is the PoolManager, and we've upgraded the Solidity version to 0.8.3.