open-index/open-npm huggingface dataset:
npm package: @pooltogether/operations-contracts
Description: Operations contracts for the PoolTogether protocol
Author: Aodhgan Gleeson
Latest version: 0.1.0

# pooltogether-operations-contracts

[![Coverage Status](https://coveralls.io/repos/github/pooltogether/pooltogether-operations-contracts/badge.svg?branch=main)](https://coveralls.io/github/pooltogether/pooltogether-operations-contracts?branch=main)


PoolTogether Operations contracts is PoolTogether's integration with ChainLinks upkeep system.

## How it works

The goal of this system is to fully automate the awarding of the PoolTogether governance owned prize pools.

A registry of these prize pools exists (as an Ownable MappedSinglyLinkedList) and the prize strategy for each prize pool checked every block (`canStartAward()` and `canCompleteAward()`) to see if upkeep is required.

If upkeep is required then either `startAward()` or `completeAward()` are called on the prize pool. 

To prevent out-of-gas situations, a prize pool upkeep batch size is defined in the constructor. 

The upkeepers performing the upkeep are compensated in LINK so the PrizeStrategyUpkeep contact needs to maintain a balance of LINK. 

### Registry Interface



# Installation
Install the repo and dependencies by running:
`yarn`

## Deployment
These contracts can be deployed to a network by running:
`yarn deploy <networkName>`

# Testing
Run the unit tests locally with:
`yarn test`

## Coverage
Generate the test coverage report with:
`yarn coverage`
npm package: @pooltogether/owner-manager-contracts
Description: PoolTogether Owner Manager Contracts
Latest version: 1.1.0

# PoolTogether Owner Manager Contracts
[![Coverage Status](https://coveralls.io/repos/github/pooltogether/owner-manager-contracts/badge.svg?branch=master)](https://coveralls.io/github/pooltogether/owner-manager-contracts?branch=master)

![Tests](https://github.com/pooltogether/owner-manager-contracts/actions/workflows/main.yml/badge.svg)

Abstract ownable contract with additional manager role

Contract module based on Ownable which provides a basic access control mechanism, where
there is an account (a draw manager for example) that can be granted exclusive access to
specific functions.

The manager account needs to be set using {setManager}.
 
This module is used through inheritance. It will make available the modifier
`onlyManager`, which can be applied to your functions to restrict their use to the manager.


## Usage
This repo is setup to compile (`nvm use && yarn compile`) and successfully pass tests (`yarn test`)


# Installation
Install the repo and dependencies by running:
`yarn`

## Deployment
These contracts can be deployed to a network by running:
`yarn deploy <networkName>`

## Verification
These contracts can be verified on Etherscan, or an Etherscan clone, for example (Polygonscan) by running:
`yarn etherscan-verify <ethereum network name>` or `yarn etherscan-verify-polygon matic`


# Testing
Run the unit tests locally with:
`yarn test`

## Coverage
Generate the test coverage report with:
`yarn coverage`
npm package: @pooltogether/pooltogether-generic-registry
Description: Generic registry for contract addresses
Author: Aodhgan Gleeson
Latest version: 1.0.11

# pooltogether-generic-registry

[![Coverage Status](https://coveralls.io/repos/github/pooltogether/pooltogether-generic-registry/badge.svg?branch=master&poke=true)](https://coveralls.io/github/pooltogether/pooltogether-generic-registry?branch=master)

![Tests](https://github.com/pooltogether/pooltogether-generic-registry/actions/workflows/main.yml/badge.svg)


An iterable Generic Address Registry implmentation using a singly linked list as the underlying data structure. 


# Installation
Install the repo and dependencies by running:
`yarn`

## Deployment
These contracts can be deployed to a network by running:
`yarn deploy <networkName>`

# Testing
Run the unit tests locally with:
`yarn test`

## Coverage
Generate the test coverage report with:
`yarn coverage`
npm package: @pooltogether/pooltogether-pods-upkeep
Description: Upkeep integration contracts for the PoolTogether pods
Author: Aodhgan Gleeson
Latest version: 1.0.2

# pooltogether-pods-upkeep

[![Coverage Status](https://coveralls.io/repos/github/pooltogether/pooltogether-pods-upkeep/badge.svg?branch=master)](https://coveralls.io/github/pooltogether/pooltogether-pods-upkeep?branch=master)

![Tests](https://github.com/pooltogether/pooltogether-pods-upkeep/actions/workflows/main.yml/badge.svg)


PoolTogether Operations contracts is PoolTogether's integration with ChainLinks Upkeep system for pods.

## How it works

The goal of this system is to automate calling the `batch` function of the PoolTogether governance owned prize pool pods.

A registry of these prize pools exists (as an Ownable MappedSinglyLinkedList) and logic is run to see if the batch function requires running. This is determined by
a time period (in blocks): `upkeepBlockInterval`

The upkeepers performing the upkeep are compensated in LINK so the PrizeStrategyUpkeep contact needs to maintain a healthy balance of LINK. 

# Installation
Install the repo and dependencies by running:
`yarn`

## Deployment
These contracts can be deployed to a network by running:
`yarn deploy <networkName>`

# Testing
Run the unit tests locally with:
`yarn test`

## Coverage
Generate the test coverage report with:
`yarn coverage`
npm package: @pooltogether/pooltogether-prizestrategy-upkeep
Description: Upkeep integration contracts for the PoolTogether protocol
Author: Aodhgan Gleeson
Latest version: 1.0.6

# PoolTogether PrizePool Upkeep

[![Coverage Status](https://coveralls.io/repos/github/pooltogether/pooltogether-operations-contracts/badge.svg?branch=main)](https://coveralls.io/github/pooltogether/pooltogether-operations-contracts?branch=main)
![Tests](https://github.com/pooltogether/pooltogether-prizepool-upkeep/actions/workflows/main.yml/badge.svg)

PoolTogether Operations contracts is PoolTogether's integration with ChainLinks upkeep system, [currently in beta](https://docs.chain.link/docs/kovan-keeper-network-beta/).

## How it works

The goal of this system is to fully automate the awarding of the PoolTogether governance owned prize pools.

A registry of these prize pools exists (as an Ownable MappedSinglyLinkedList) and the prize strategy for each prize pool checked every block (`canStartAward()` and `canCompleteAward()`) to see if upkeep is required.

If upkeep is required then either `startAward()` or `completeAward()` are called on the prize pool. 

To prevent out-of-gas situations, an owner updatable `upkeepBatchSize` is maintained to prevent attempting to award too many prize strategies in the same transaction.

An owner updatable `upkeepMinimumBlockInterval` is also maintained so as to mitigate multiple `performUpkeep()` transactions within the same block - if a transaction is to be included in the same block, it will revert. 

# Installation
Install the repo and dependencies by running:
`yarn`

## Deployment
These contracts can be deployed to a network by running:
`yarn deploy <networkName>`

# Testing
Run the unit tests locally with:
`yarn test`

## Coverage
Generate the test coverage report with:
`yarn coverage`
npm package: @pooltogether/pooltogether-proxy-factory-package
Description: Typescript package to use the GenericProxyFactory
Latest version: 1.0.1

# pooltogether-proxy-factory-package

Typescript wrapper to use PoolTogether's Generic Minimal Proxy Factory for deploying contracts.

## How it works

Import this package into your repo using:
`yarn add -D @pooltogether/pooltogether-proxy-factory-package`


Import in the deployments script:
```typescript
import { factoryDeploy } from "@pooltogether/pooltogether-proxy-factory-package"
```
or
```javascript
const { factoryDeploy } = require("@pooltogether/pooltogether-proxy-factory-package")
```


Pass the paramaters required:
```typescript
interface DeploySettings {
    implementationAddress: string
    contractName: string
    overWrite?: boolean
    signer?: any 
    initializeData?: any
    provider: any 
}
```



# Installation
Install the repo and dependencies by running:
`yarn`


# Testing
Run the unit tests locally with:
`yarn test`

## Coverage
Generate the test coverage report with:
`yarn coverage`

Todo:
- use peerDependency for pooltgoether-proxy-factory
- Write script that extracts deployed generic proxy factory addresses automatically
- update tpes for DeploySettings interface
- do we need both the signer and the provider
- prublish non beta version
npm package: @pooltogether/pooltogether-react-tailwind-ui
Description: PoolTogether UI elements in a shared lib
Author: PoolTogether
Latest version: 0.0.1

# PoolTogether React Tailwind UI Components

React UI components using **tailwindcss**

## Components:

- Alert
- Breadcrumbs
- Button
- Card
- Dropdown
- Loader
- Modal
- Navbar
- Panel
- Select
- Table
- Tabs
- Text
- TextArea
- TextField

## Installation:

`yarn add @pooltogether/pooltogether-react-tailwind-ui`

## Usage:

```js
// tailwind.config.js
const pooltogetherTheme = require("@pooltogether/pooltogether-react-tailwind-ui");
module.exports = pooltogetherTheme({
  purge: [],
  theme: {
    extend: {},
  },
  variants: {},
  plugins: [],
});
```

```js
// _app.jsx
import "@pooltogether/pooltogether-react-tailwind-ui/dist/index.css";
```

```js
import React from "react";
import { Button } from "@pooltogether/pooltogether-react-tailwind-ui";

<Button type="submit">Submit</Button>;

// -------------------

import React from "react";
import Link from "next/link";
import { ButtonLink } from "@pooltogether/pooltogether-react-tailwind-ui";

<Link href={href} as={as} scroll={false}>
  <Button type="submit">Submit</Button>
</Link>;
```

## Running Locally:

Due to an issue with hooks when using multiple copies of react you will need to link your local library's
react and react-dom packages to the project's react and react-dom `node_modules` directories.

In the project directory:

`cd node_modules/react && yarn link && cd ../react-dom && yarn link && cd ../..`

In the library:

`yarn link react && yarn link react-dom`

- You can run `yarn link` inside **pooltogether-react-tailwind-ui** and then `yarn link @pooltogether/pooltogether-react-tailwind-ui` inside a project you have created to test the components locally.

- You can run `yarn start` to start **pooltogether-react-tailwind-ui** in watch mode and it will compile any new components you add.

- `yarn test` will run jest

# TODO:

- integrate prettier/husky with our default prettier config
- figure out if Link needs to be dependency injected through props for <PageTitleAndBreadcrumbs /> :(
- copy unit tests over and get them running in this lib
- figure out how to integrate <PoolCurrencyIcon />
npm package: @pooltogether/pooltogether-sushi-yield-source
Description: ``` yarn ```
Latest version: 1.0.0

[![Coverage Status](https://coveralls.io/repos/github/steffenix/sushi-pooltogether/badge.svg?branch=master)](https://coveralls.io/github/steffenix/sushi-pooltogether?branch=master)
![Tests](https://github.com/steffenix/sushi-pooltogether/actions/workflows/test.yml/badge.svg)
![Linting](https://github.com/steffenix/sushi-pooltogether/actions/workflows/lint.yml/badge.svg)

# Install project

```
yarn
```

# Run tests

## Setup

You will needs to enviroment variables to run the tests.

```
export WEB3_INFURA_PROJECT_ID=
export ETHERSCAN_TOKEN=
```

You will get the first one from https://infura.io/
You will get the second one from https://etherscan.io/


## Verify

```
yarn verify
```

runs both test and hint.

## Test

```
yarn test
```


## Coverage

```
yarn coverage
```

# Deployement

In order to deploy to mainnet:
```
export HDWALLET_MNEMONIC=
yarn hardhat --network mainnet deploy
yarn hardhat --network mainnet etherscan-verify --api-key $ETHERSCAN_TOKEN
```