open-index/open-npm huggingface dataset:
npm package: @pooltogether/token-listener-interface
Description: The token listener interface allows contracts to 'listen' to token mints, transfers, and burns from some contracts.  The PoolTogether V3 Prize Pool expects it's Prize Strategy to implement the Token Listener Interface.  The PoolTogether V3 "Multiple Winne
Latest version: 1.0.0

# PoolTogether Token Listener Interface

The token listener interface allows contracts to 'listen' to token mints, transfers, and burns from some contracts.  The PoolTogether V3 Prize Pool expects it's Prize Strategy to implement the Token Listener Interface.  The PoolTogether V3 "Multiple Winners" Prize Strategy can also have a Token Listener attached to it; effectively chaining callbacks from the prize pool to the prize strategy.

# Token Listener Interface

The Token Listener Interface is defined in the [ITokenListener.sol](./contracts/ITokenListener.sol) file.  It inherits from the [IERC165](./contracts/IERC165.sol) so that it supports on-chain reflection. ERC165 support is required by some consumers of token listeners, such as the core PoolTogether V3 prize pool and the Multiple Winners prize strategy.

# Usage

You can depend on this package via NPM if you like:

```
$ yarn add @pooltogether/token-listener-interface
```

# Implementations

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

- [Multiple Winners Prize Strategy](https://github.com/pooltogether/pooltogether-pool-contracts/blob/f3c40ecacc654caa323f956f91e9851703a73111/contracts/yield-source/CTokenYieldSource.sol)
npm package: @pooltogether/utilities
Description: Shared utility functions across PoolTogether apps
Author: PoolTogether Inc.
Latest version: 0.7.0

# PoolTogether utilities

A collection of various utility functions used across the PoolTogether applications.

## NOTE

Make sure you keep `peerDependencies` and `devDependencies` versions in sync!

## How to use

1. `yarn add @pooltogether/utilities`
2. `import * as Utils from '@pooltogether/utilities'` OR `import { functionYouWantToUse } from '@pooltogether/utilities'`

## Local development

Local development works best with yalc
`yarn global add yalc`

In pooltogether-utilities:
`yarn start`

In the app you're importing pooltogether-utilities:
`yalc link @pooltogether/utilities`

When you save changes inside the utilities `src` folder, the package will rebuild and be pushed to all other projects that have run `yalc link @pooltogether/utilities`.

## TODO:

- moooooore tests
npm package: @pooltogether/v4-autotask-lib
Description: The autotask library helps manage V4 contract execution.
Author: PoolTogether Inc.
Latest version: 1.1.0

# PoolTogether V4 Autotask Library

The autotask library helps manage V4 contract execution.

## Getting Started

To start developing, use:

```bash
npm start # or yarn start
```


To create build, use:

```bash
npm build # or yarn build
```
npm package: @pooltogether/v4-pool-data
Description: ![CI](https://github.com/pooltogether/v4-pool-data/actions/workflows/main.yml/badge.svg)
Author: PoolTogether Inc.
Latest version: 1.11.0

![CI](https://github.com/pooltogether/v4-pool-data/actions/workflows/main.yml/badge.svg)

# v4 Pool data

A [Contract List](https://github.com/pooltogether/contract-list-schema) of the latest v4 PoolTogether deployments on mainnets and testnets.

# Installation

```bash
yarn add @pooltogether/v4-pool-data
```

# Use

```js
import { mainnet, testnet } from '@pooltogether/v4-pool-data'
```

`mainnet` consists of all of the deployments on mainnets (ex. Ethereum, Polygon, etc.)
`testnet` consists of all of the deployments on testnets (ex. Rinkeby, Mumbai, etc.)
npm package: @pooltogether/v4-testnet
Description: The V4 testnet deployed contracts and essential hardhat tasks.
Author: PoolTogether Inc.
Latest version: 1.10.0

# PoolTogether V4 Testnet
The V4 testnet deployed contracts and essential hardhat tasks.

# Getting Started
Install `direnv` module.

We use [direnv](https://direnv.net/) to manage environment variables.  You'll likely need to install it.

```sh
cp .envrc.example .envrc
```

To run fork scripts, deploy or perform any operation with a mainnet/testnet node you will need an Infura API key.

### Disbursement Address
To `disburse` and `deposit` you will need to add a list of address(es) to DISBURSE_ADDRESSES.


**Example**
```.sh
export DISBURSE_ADDRESSES='0x0000000000000000000000000000000000000000,0x0000000000000000000000000000000000000001'
```

# Setup
```.sh
yarn
```

## New Deployments
```.sh
yarn deploy:goerli
```

```.sh
yarn deploy:mumbai
```

```.sh
yarn deploy:fuji
```

```.sh
yarn deploy:optimismgoerli
```

```.sh
yarn deploy:arbitrumgoerli
```

## Acquire Tokens & Tickets

```.sh
yarn disburse goerli
```

```sh
yarn disburse mumbai
```

```sh
yarn disburse fuji
```

```sh
yarn disburse optimismgoerli
```

```sh
yarn disburse arbitrumgoerli
```

```sh
yarn deposit goerli
```

```sh
yarn deposit mumbai
```

```sh
yarn deposit fuji
```

```sh
yarn deposit optimismgoerli
```

```sh
yarn deposit arbitrumgoerli
```

## Test Deployment Scripts

```.sh
yarn node:goerli
```

```.sh
yarn node:mumbai
```

```.sh
yarn node:fuji
```

```.sh
yarn node:optimismgoerli
```

```.sh
yarn node:arbitrumgoerli
```
npm package: @pooltogether/versioning
Description: Versions of the PoolTogether contracts
Latest version: 1.0.0-beta.7

# PoolTogether Contract Versioning Tool

Ever wonder what version the contract you are looking at is? 
This tool is aimed to ease this pain with a package that provides a simple API to gain more information about contract versions.

## How to use
1. Add the package to your project using `yarn add @pooltogether/versioning`
2. Import into .ts file using `import * as ContractVersions from @pooltogether/versioning`
3. Call below methods on `ContractVersions, for example:
```ts
const mainnet_v3_3_1_contracts = ContractVersions.findByVersionAndChainId("v3.3.1",1)
```


## How to update
0. Ensure .envrc variables are set and run `direnv allow` and `nvm use`
1. Upon deploying a new version of contracts (for example v3.3.1) be sure to `git tag` this as a release
2. Import these files as an npm package using the npm:<npm-package-name>@version as the source
3. Run `yarn reinstall`. This will fetch all the contract versions, parse and fire some synchronous rpc calls. This may take some time and require retrying if API rate limits are hit. 
4. You can now seach by Address, Bytecode, ContractName, and Version as per the following API's

Note: if a new network is added, a JSON RPC endpoint must also be added.

### FindByVersion
Returns all contracts for version:
```ts
function findByVersion(version: string, includeBytecode: boolean = false): ContractInterface[]
```


Returns all contracts for version and chainId:
```ts
function findByVersionAndChainId(version: string, chainId:number, includeBytecode: boolean = false): ContractInterface[]
```


### FindByAddress
Returns all contracts matching address and chainId:
```ts
function findByAddressAndChainId(address: string, chainId: number, includeBytecode: boolean = false): ContractInterface[]
```
### FindByBytecode
Returns all contracts matching bytecode: 
```ts
function findByBytecode(bytecode: string): ContractInterface[]
```

### FindByContractName
Returns all contracts matching contract name:
```ts
function findByContractName(contractName: string, includeBytecode: boolean = false): ContractInterface[]
```

Returns all contracts matching contract name and ChainId:
```ts
function findByContractNameAndChainId(contractName: string, chainId: number, includeBytecode: boolean = false): ContractInterface[]
```

## Development
`yarn && direnv allow && yarn generate && yarn start`
npm package: @poolzfinance/api4
Description: Bridge between front and back
Author: Poolz team
Latest version: 1.16.8

[![Quality gate](https://sonarcloud.io/api/project_badges/quality_gate?project=The-Poolz_InterfaceAPI4&token=f0ba11edcd186439dd94a0e63b805bff7b46d80e)](https://sonarcloud.io/summary/new_code?id=The-Poolz_InterfaceAPI4)

# InterfaceAPI4

InterfaceAPI4 provides a small React wrapper around the Poolz GraphQL API. It exposes an `API4Provider` component and a collection of hooks for querying and mutating data.

## Installation

```
pnpm install
```

## Building the package

```
pnpm build
```

## Running tests

```
pnpm test
```

## Basic usage

Wrap your application with `API4Provider` and pass it your GraphQL endpoint and a function that signs messages for authentication:

```tsx
import API4Provider from "@poolzfinance/api4/dist/components/API4Provider";

const App = () => (
  <API4Provider
    account={address}
    options={{
      uri: "https://api4.poolz.finance/graphql",
      siweCallBack: async () => ({
        eip4361message: "...",
        signature: "..."
      })
    }}
  >
    {/** your routes */}
  </API4Provider>
);
```

After the provider is configured you can start using the generated hooks:

```tsx
import { useGetCurrentTime } from "@poolzfinance/api4";

const { data, loading } = useGetCurrentTime();
```

The project also includes many other hooks located in `src/endpoints` for interacting with different parts of the API.
npm package: @poolzfinance/builders
Description: [![Build and Test](https://github.com/The-Poolz/LockDealNFT.Builders/actions/workflows/node.js.yml/badge.svg)](https://github.com/The-Poolz/LockDealNFT.Builders/actions/workflows/node.js.yml) [![codecov](https://codecov.io/gh/The-Poolz/LockDealNFT.Builde
Author: The Poolz
Latest version: 1.2.2

# LockDealNFT.Builders

[![Build and Test](https://github.com/The-Poolz/LockDealNFT.Builders/actions/workflows/node.js.yml/badge.svg)](https://github.com/The-Poolz/LockDealNFT.Builders/actions/workflows/node.js.yml)
[![codecov](https://codecov.io/gh/The-Poolz/LockDealNFT.Builders/branch/master/graph/badge.svg)](https://codecov.io/gh/The-Poolz/LockDealNFT.Builders)
[![CodeFactor](https://www.codefactor.io/repository/github/the-poolz/LockDealNFT.Builders/badge)](https://www.codefactor.io/repository/github/the-poolz/LockDealNFT.Builders)
[![npm version](https://img.shields.io/npm/v/@poolzfinance/builders/latest.svg)](https://www.npmjs.com/package/@poolzfinance/builders/v/latest)
[![License](https://img.shields.io/badge/License-MIT-blue.svg)](https://github.com/The-Poolz/LockDealNFT.Builders/blob/master/LICENSE)

**Builders** are **Solidity** smart contracts designed to **mass-create NFTs** using the [LockDealNFT](https://github.com/The-Poolz/LockDealNFT) system.

### Navigation

-   [Installation](#installation)
-   [Simple Builder](https://github.com/The-Poolz/LockDealNFT.Builders/tree/master/contracts/SimpleBuilder#simplebuilder)
-   [Simple Refund Builder](https://github.com/The-Poolz/LockDealNFT.Builders/tree/master/contracts/SimpleRefundBuilder#simplerefundbuilder)
-   [License](#license)

## Installation

**Install the packages:**

```console
npm i
```

```console
yarn
```

**Compile contracts:**

```console
npx hardhat compile
```

**Run tests:**

```console
npx hardhat test
```

**Run coverage:**

```console
npx hardhat coverage
```

**Deploy:**

```console
npx truffle dashboard
```

```console
npx hardhat run ./scripts/deploySimpleBuilder.ts --network truffleDashboard
```

```console
npx hardhat run ./scripts/deploySimpleRefundBuilder.ts --network truffleDashboard
```

## License

[The-Poolz](https://poolz.finance/) Contracts is released under the [MIT License](https://github.com/The-Poolz/LockDealNFT.Builders/blob/master/LICENSE).
npm package: @poolzfinance/cooldown
Description: The library converts the received data from the [`DelayVault` contract](https://bscscan.com/address/0x5eb57B1210338b13E3D5572d5e1670285Aa71702#readContract#F3) `GetDelayLimits` method:
Author: Poolz Team
Latest version: 0.2.1

# The CoolDown lib

The library converts the received data from the [`DelayVault` contract](https://bscscan.com/address/0x5eb57B1210338b13E3D5572d5e1670285Aa71702#readContract#F3) `GetDelayLimits` method:

```typescript
interface IGetDelayLimits {
  Amounts: string[]
  StartDelays: string[]
  CliffDelays: string[]
  FinishDelays: string[]
}
```

The results of the conversion, see the [tests](./tests/cooldownBlock.test.ts)

## Installation

You can install the package either using [NPM](https://www.npmjs.com/package/@poolzfinance/cooldown) or using [Yarn](https://yarnpkg.com/package/@poolzfinance/cooldown)

### Using NPM

```bash
npm install @poolzfinance/cooldown
```

### Yarn

```bash
yarn add @poolzfinance/cooldown
```

### Pnpm

```bash
pnpm add @poolzfinance/cooldown
```

## Usage

```typescript
import { cooldownBlock } from "@poolzfinance/cooldown"

const result = cooldownBlock(delayLimits)
```