Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/pooltogether/pods-v3-contracts

Contracts for Pods (for v3 of the protocol)
https://github.com/pooltogether/pods-v3-contracts

Last synced: about 2 months ago
JSON representation

Contracts for Pods (for v3 of the protocol)

Awesome Lists containing this project

README

        



PoolTogether Brand


# PoolTogether v3 - Pods Smart Contracts

[![](https://circleci.com/gh/pooltogether/pods-v3-contracts.svg?style=shield)](https://circleci.com/gh/pooltogether/pods-v3-contracts) [![Coverage Status](https://coveralls.io/repos/github/pooltogether/pods-v3-contracts/badge.svg?branch=pod/tests)](https://coveralls.io/github/pooltogether/pods-v3-contracts?branch=pod/tests) [![built-with openzeppelin](https://img.shields.io/badge/built%20with-OpenZeppelin-3677FF)](https://docs.openzeppelin.com/)

The Pods smart contracts are a periphery smart contract collection for PoolTogether

- Lower Gas Fees
- Increased Chances of Winning

## Setup

Install dependencies:

```bash
$ yarn
```

Make sure you have `direnv` installed and copy `.envrc.example` to `.envrc`:

```bash
$ cp .envrc.example .envrc
```

Fill in your own values for `.envrc`, then run:

```bash
$ direnv allow
```

To setup the local Hardhat EVM, run:

```
$ yarn hardhat node
```

Depending on the .enrvc setup the Hardhat EVM will be new blockchain or a mainnet fork.

## Overview

The smart contracts are categorized into multiple categories

### Primary

The primary smart contracts are responsible for handling collective deposits and issuing POOL rewards

- Pod
- TokenDrop

### Factories

The factory smart contracts are responsible for deploying new Pods associated TokenDrop

- PodFactory
- TokenDropFactory

### Periphery

The periphery smart contracts help handle secondary actions, like liquidating "bonus" rewards from LOOT boxes.

- PodManager

## Development

The development, testing and deployment is handled via `hardhat`

## Testing

Run All Tests

`yarn test`