The Farming module manages the contracts that allocate Ubeswap to various liquidity mining pools.


  • 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 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.