The @pooltogether/v5-utils-js node module package provides computations for the PoolTogether v5 protocol.
High-order operations like processing subgraphs and chain state (draws, winners, etc..) is included in the computations namespaced functions.
🖥️ Computations:
Consume subgraph and protocol chain state to return computed outcomes:
Create Issue to request new features.
Open Pull Request adhering to Contribution guidelines.
This project is available as an NPM package:
npm install @pooltogether/v5-utils-jsyarn add @pooltogether/v5-utils-jsThe repo can be cloned from Github for contributions.
git clone https://github.com/pooltogether/v5-utils-jsGetting the list of contracts for a specific network is easy using the downloadContractsBlob(chainId) function.
Currently supports:
- Sepolia (testnet)
 - Mumbai (testnet)
 - Goerli (testnet) (outdated!)
 
import { downloadContractsBlob } from "@pooltogether/v5-utils-js";
async function main() {
  const contracts = await downloadContractsBlob(chainId);
}
main();computeDrawWinners(provider, contracts, chainId, filterAutoClaimDisabled?: boolean) computes and returns a JSON blob of winner's Claim objects for each tier of a prize pool, grouped by vault for the previous draw.
import { computeDrawWinners } from "@pooltogether/v5-utils-js";
// Compute Winners for the last Draw
const winners = computeDrawWinners(provider, contracts, chainId, filterAutoClaimDisabled?: boolean);