Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ZeframLou/playpen
Playpen is a set of modern, gas optimized staking pool contracts.
https://github.com/ZeframLou/playpen
Last synced: 2 months ago
JSON representation
Playpen is a set of modern, gas optimized staking pool contracts.
- Host: GitHub
- URL: https://github.com/ZeframLou/playpen
- Owner: ZeframLou
- License: agpl-3.0
- Created: 2022-01-18T04:31:45.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2023-02-09T00:33:48.000Z (almost 2 years ago)
- Last Synced: 2024-08-04T01:02:20.428Z (6 months ago)
- Language: Solidity
- Homepage:
- Size: 431 KB
- Stars: 273
- Watchers: 8
- Forks: 34
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-foundry - Playpen - Set of modern, gas optimized staking pool contracts. (Templates & Libraries)
README
# 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](.gas-snapshot))
- Minimized error in reward computation (<10^-8) by using higher precision
- Well commented with NatSpec comments
- Fuzz tests powered by [Foundry](https://github.com/gakonst/foundry)
- Cheap deployment using `ClonesWithCallData` (~81.7k gas)## Deployment
`1.0.0` has been deployed to Ethereum mainnet at [0x94c563eD6Ef8848B987Bec3fE16E12023dc830Bc](https://etherscan.io/address/0x94c563eD6Ef8848B987Bec3fE16E12023dc830Bc)
## Installation
To install with [DappTools](https://github.com/dapphub/dapptools):
```
dapp install zeframlou/playpen
```To install with [Foundry](https://github.com/gakonst/foundry):
```
forge install zeframlou/playpen
```## Local development
This project uses [Foundry](https://github.com/gakonst/foundry) as the development framework.
### Dependencies
```
forge install
```### Compilation
```
forge build
```### Testing
```
forge test
```## Why is it called Playpen?
So that whenever someone mentions it they have to say "Playpen is..."
![](meme.png)