/playpen

Playpen is a set of modern, gas optimized staking pool contracts.

Primary LanguageSolidityGNU Affero General Public License v3.0AGPL-3.0

Playpen

Playpen is a set of modern, gas optimized staking pool contracts.

Features

  • Support for both ERC20 staking and ERC721 staking
  • Can start new reward period after the current one is over
  • Gas optimized (see gas snapshot)
  • Minimized error in reward computation (<10^-8) by using higher precision
  • Well commented with NatSpec comments
  • Fuzz tests powered by Foundry
  • Cheap deployment using ClonesWithCallData (~81.7k gas)

Installation

To install with DappTools:

dapp install zeframlou/playpen

To install with Foundry:

forge install zeframlou/playpen

Local development

This project uses Foundry as the development framework.

Dependencies

make update

Compilation

make build

Testing

make test

Why is it called Playpen?

So that whenever someone mentions it they have to say "Playpen is..."