Skip to content

Commit

Permalink
exit from claiming prizes if no prizes left to claim
Browse files Browse the repository at this point in the history
  • Loading branch information
chuckbergeron committed Jun 22, 2023
1 parent 77a7182 commit a24186d
Show file tree
Hide file tree
Showing 4 changed files with 21 additions and 35 deletions.
26 changes: 15 additions & 11 deletions packages/library/src/claimerProfitablePrizeTxs.ts
Original file line number Diff line number Diff line change
@@ -1,19 +1,11 @@
import { ethers, BigNumber, Contract } from 'ethers';
import { PopulatedTransaction } from '@ethersproject/contracts';
import { Provider } from '@ethersproject/providers';
import {
ClaimedPrize,
getContract,
getSubgraphVaults,
getSubgraphClaimedPrizes,
getWinnersClaims,
populateSubgraphVaultAccounts,
} from '@pooltogether/v5-utils-js';
import { Claim, getContract } from '@pooltogether/v5-utils-js';
import chalk from 'chalk';

import {
ContractsBlob,
Claim,
Token,
ClaimPrizeContext,
GetClaimerProfitablePrizeTxsParams,
Expand Down Expand Up @@ -80,7 +72,20 @@ export async function getClaimerProfitablePrizeTxs(
// #2. Get data from v5-draw-results
const drawId = context.drawId.toString();
const claims = await fetchClaims(chainId, prizePool.address, drawId);
console.log(claims);
const claimedPrizes = claims.map((claim) => claim.claimed);
const claimsRemainingCount = claims.length - claimedPrizes.length;
if (claimedPrizes.length === 0) {
console.log(chalk.dim(`No claimed prizes in subgraph for draw #${drawId}.`));
} else {
console.log(chalk.dim(`${claimedPrizes.length} prizes already claimed for draw #${drawId}.`));
}
console.log(chalk.dim(`${claimsRemainingCount} prizes remaining to be claimed...`));

if (claimsRemainingCount === 0) {
printAsterisks();
console.log(chalk.yellow(`No prizes left to claim. Exiting ...`));
return [];
}

// #3. Decide if profitable or not
printAsterisks();
Expand Down Expand Up @@ -462,7 +467,6 @@ const fetchClaims = async (
): Promise<Claim[]> => {
let claims: Claim[] = [];
const uri = `https://raw.githubusercontent.com/pooltogether/v5-draw-results/main/prizes/${chainId}/${prizePoolAddress.toLowerCase()}/draw/${drawId}/prizes.json`;
console.log(uri);

try {
const response = await fetch(uri);
Expand Down
10 changes: 5 additions & 5 deletions packages/library/src/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -84,11 +84,11 @@ export interface GetClaimerProfitablePrizeTxsParams {
feeRecipient: string;
}

export interface Claim {
vault: string;
winner: string;
tier: number;
}
// export interface Claim {
// vault: string;
// winner: string;
// tier: number;
// }

export interface RelayerContext {
tokenInAllowance: BigNumber;
Expand Down
2 changes: 1 addition & 1 deletion packages/prize-claimer/src/cli.ts
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ if (esMain(import.meta)) {
const populatedTxs = await populateTransactions(params, readProvider);

printAsterisks();
console.log(chalk.blue(`6. Sending transactions ...`));
console.log(chalk.blue(`Sending transactions ...`));
printSpacer();

const fakeEvent = {
Expand Down
18 changes: 0 additions & 18 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -2728,24 +2728,6 @@
resolved "https://registry.yarnpkg.com/@pooltogether/contract-list-schema/-/contract-list-schema-0.1.4.tgz#52a4b35e1ef1b263c643e517ca1908180cf1cb6e"
integrity sha512-oLAu9TGfU9xf1QFJJZQxUj0hsfcRao/DMCZ1hVvDkmwOnX1PUkuhuvZfvgwLFd4hJ4m2kjdCyTJ+VJ5qvgjyww==

"@pooltogether/[email protected]":
version "0.0.1-beta.23"
resolved "https://registry.yarnpkg.com/@pooltogether/v5-utils-js/-/v5-utils-js-0.0.1-beta.23.tgz#fdf7c3b7ef1fe904ece44c23e919ab0713e4af97"
integrity sha512-IhVA+nbuE3xw5Gc3F+/Tgd9VXMi5PjRlSc5IOgMgNfPNP9IlC8YbMDUOeCdftFxVVBO7U0G5Dkn2OI9VWD2H9w==
dependencies:
"@pooltogether/contract-list-schema" "^0.1.4"
"@types/lodash" "^4.14.195"
ethereum-multicall "^2.17.0"
ethers "^5.5.1"
ethers-multicall-provider "^3.0.3"
graphql "^16.6.0"
graphql-request "^6.0.0"
lodash "^4.17.21"
node-fetch "^2.6.11"
tsc "^2.0.4"
tsc-watch "^6.0.4"
typescript "^5.0.4"

"@rollup/plugin-babel@^5.1.0":
version "5.3.1"
resolved "https://registry.yarnpkg.com/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz#04bc0608f4aa4b2e4b1aebf284344d0f68fda283"
Expand Down

0 comments on commit a24186d

Please sign in to comment.