From eac0b4b839ffbb37acd819797d7f4f95a5cd7397 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Kujawski?= Date: Sat, 27 Apr 2024 18:21:16 +0200 Subject: [PATCH] fix: adjust verifier formulas to epoch 3 --- epoch-verifier/src/data/context.ts | 5 ++++- epoch-verifier/src/data/fetcher.ts | 2 +- epoch-verifier/src/verifications/donations.ts | 9 ++++++--- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/epoch-verifier/src/data/context.ts b/epoch-verifier/src/data/context.ts index f3fb2385e7..887653d911 100644 --- a/epoch-verifier/src/data/context.ts +++ b/epoch-verifier/src/data/context.ts @@ -56,5 +56,8 @@ export function individualDonationsByProposals(context: Context): Map { - return new Map(context.rewards.map((r) => [r.proposal, r] as const)) + return new Map(context.rewards + .filter(r => r.matched !== BigInt(0)) + .map((r) => [r.proposal, r] as const) + ); } diff --git a/epoch-verifier/src/data/fetcher.ts b/epoch-verifier/src/data/fetcher.ts index c119b8a7a8..b263a4b54d 100644 --- a/epoch-verifier/src/data/fetcher.ts +++ b/epoch-verifier/src/data/fetcher.ts @@ -57,7 +57,7 @@ export class HttpFetcher { } async apiGetAllocations(epoch: number): Promise { - return this._get_array(`/allocations/epoch/${epoch}`, "users' allocations", AllocationImpl, (data: ApiAllocations) => data.allocations) + return this._get_array(`/allocations/epoch/${epoch}?includeZeroAllocations=true`, "users' allocations", AllocationImpl, (data: ApiAllocations) => data.allocations) } async apiGetRewards(epoch: number): Promise{ diff --git a/epoch-verifier/src/verifications/donations.ts b/epoch-verifier/src/verifications/donations.ts index 128e83cd20..28715a70e0 100644 --- a/epoch-verifier/src/verifications/donations.ts +++ b/epoch-verifier/src/verifications/donations.ts @@ -65,8 +65,8 @@ export function verifyMatchingFundFromEpochInfo(context: Context): VerificationR } export function verifyAllEpochRewards(context: Context): VerificationResult { - const allBudgets = context.epochInfo.individualRewards + context.epochInfo.ppf + context.epochInfo.matchedRewards + context.epochInfo.communityFund + context.epochInfo.operationalCost - return assertEq(allBudgets, context.epochInfo.stakingProceeds) + const allBudgets = context.epochInfo.individualRewards + context.epochInfo.ppf - context.epochInfo.patronsRewards + context.epochInfo.matchedRewards + context.epochInfo.communityFund + context.epochInfo.operationalCost + return assertEq(allBudgets, context.epochInfo.stakingProceeds, BigInt(100)) } export function verifyTotalWithdrawals(context: Context): VerificationResult { @@ -77,6 +77,9 @@ export function verifyTotalWithdrawals(context: Context): VerificationResult { .map(([user, donationsSum]) => context.budgets.get(user)! - donationsSum) .reduce((acc, user_claimed) => acc + user_claimed, BigInt(0)) - const rewards = context.rewards.reduce((acc, reward) => acc + reward.allocated + reward.matched, BigInt(0)) + const rewards = context.rewards + .filter((reward) => reward.matched !== BigInt(0)) + .reduce((acc, reward) => acc + reward.allocated + reward.matched, BigInt(0)) + return assertEq(claimed + rewards, context.epochInfo.totalWithdrawals) }