# @pooltogether/yield-source-interface

> PoolTogether would like to integrate any protocol that serves as a yield source. The PoolTogether 3.3.0 contracts introduce a Yield Source Prize Pool, that is bound to a contract that implements the Yield Source Interface. This is a generic interface th

Latest version **1.4.0** (published 2022-04-27) · GPL-3.0 license · 0 weekly downloads

## Install

```sh
npm install @pooltogether/yield-source-interface
pnpm add @pooltogether/yield-source-interface
yarn add @pooltogether/yield-source-interface
bun add @pooltogether/yield-source-interface
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.4.0 |
| Published | 2022-04-27 |
| First published | 2021-03-17 |
| Weekly downloads | 0 |
| License | GPL-3.0 |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 2 |
| Unpacked size | 2 MB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Maintainers | sudokames, asselstine, chuckbergeron, dylandesrosier, pierrick, kamesdev |

## Links

- npm: https://www.npmjs.com/package/@pooltogether/yield-source-interface
- npm.io page: https://npm.io/package/@pooltogether/yield-source-interface

## Dependencies (2)

- [hardhat-deploy](https://npm.io/package/hardhat-deploy.md) ^0.11.4
- [hardhat-deploy-ethers](https://npm.io/package/hardhat-deploy-ethers.md) ^0.3.0-beta.13

## Recent versions

- 1.4.0 (latest) — 2022-04-27
- 1.5.0-beta.1 (beta) — 2022-06-07
- 1.3.0 — 2021-10-08
- 1.2.0 — 2021-10-07
- 1.1.0 — 2021-09-07
- 1.0.2 — 2021-08-16
- 1.0.1 — 2021-03-17
- 1.0.0 — 2021-03-17

## README

# PoolTogether Yield Source Specification

PoolTogether would like to integrate any protocol that serves as a yield source.  The PoolTogether 3.3.0 contracts introduce a Yield Source Prize Pool, that is bound to a contract that implements the Yield Source Interface.  This is a generic interface that allows a Yield Source Prize Pool to use an external contract for yield.  As long as a contract supports the Yield Source Interface, it can be plugged into the Yield Source Prize Pool.  This makes it easy to add new yield sources.

# Yield Source Interface

The Yield Source Interface is defined in the [IYieldSource.sol](./contracts/IYieldSource.sol) file.

Keep in mind:

- All deposits are denominated in the `depositToken()` ERC20.
- The `balanceOfToken(address)` function is similar to the Aave aToken, in that the balance must always increase.

# Implementations

**Note: these implementations may or may not have been audited.**  They should be considered experimental until proven otherwise.

- [Compound cToken Yield Source](https://github.com/pooltogether/pooltogether-pool-contracts/blob/f3c40ecacc654caa323f956f91e9851703a73111/contracts/yield-source/CTokenYieldSource.sol)
- [Aave aToken Yield Source](https://github.com/pooltogether/aave-yield-source)
- [xSushi Yield Source](https://github.com/steffenix/sushi-pooltogether)
- [Yearn V2 Vault Yield Source](https://github.com/pooltogether/pooltogether-yearnv2-yield-source)

---
_Source: https://npm.io/package/@pooltogether/yield-source-interface · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
