From 4102f03803e968fe2fc032f2117a0bff382a70e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Francisco=20L=C3=B3pez?= Date: Fri, 26 Sep 2025 18:32:13 +0200 Subject: [PATCH] Use reserved funds payout calculation logic in Audino and simplify Fortune calculations --- .../payouts-calculation/audino-payouts-calculator.ts | 8 +++----- .../payouts-calculation/fortune-payouts-calculator.ts | 10 +--------- 2 files changed, 4 insertions(+), 14 deletions(-) diff --git a/packages/apps/reputation-oracle/server/src/modules/escrow-completion/payouts-calculation/audino-payouts-calculator.ts b/packages/apps/reputation-oracle/server/src/modules/escrow-completion/payouts-calculation/audino-payouts-calculator.ts index 86c627b947..c49adbb412 100644 --- a/packages/apps/reputation-oracle/server/src/modules/escrow-completion/payouts-calculation/audino-payouts-calculator.ts +++ b/packages/apps/reputation-oracle/server/src/modules/escrow-completion/payouts-calculation/audino-payouts-calculator.ts @@ -1,4 +1,4 @@ -import { EscrowClient, EscrowUtils } from '@human-protocol/sdk'; +import { EscrowClient } from '@human-protocol/sdk'; import { Injectable } from '@nestjs/common'; import type { OverrideProperties } from 'type-fest'; @@ -43,10 +43,8 @@ export class AudinoPayoutsCalculator implements EscrowPayoutsCalculator { if (annotations.jobs.length === 0 || annotations.results.length === 0) { throw new Error('Invalid annotation meta'); } - - const escrowData = await EscrowUtils.getEscrow(chainId, escrowAddress); - const jobBountyValue = - BigInt(escrowData.totalFundedAmount) / BigInt(annotations.jobs.length); + const reservedFunds = await escrowClient.getReservedFunds(escrowAddress); + const jobBountyValue = reservedFunds / BigInt(annotations.jobs.length); const workersBounties = new Map(); for (const job of annotations.jobs) { diff --git a/packages/apps/reputation-oracle/server/src/modules/escrow-completion/payouts-calculation/fortune-payouts-calculator.ts b/packages/apps/reputation-oracle/server/src/modules/escrow-completion/payouts-calculation/fortune-payouts-calculator.ts index 2eb867feb7..f2d5221d24 100644 --- a/packages/apps/reputation-oracle/server/src/modules/escrow-completion/payouts-calculation/fortune-payouts-calculator.ts +++ b/packages/apps/reputation-oracle/server/src/modules/escrow-completion/payouts-calculation/fortune-payouts-calculator.ts @@ -1,6 +1,5 @@ import { EscrowClient } from '@human-protocol/sdk'; import { Injectable } from '@nestjs/common'; -import { ethers } from 'ethers'; import type { OverrideProperties } from 'type-fest'; import { FortuneFinalResult, FortuneManifest } from '@/common/types'; @@ -42,14 +41,7 @@ export class FortunePayoutsCalculator implements EscrowPayoutsCalculator { .map((item) => item.workerAddress); const reservedFunds = await escrowClient.getReservedFunds(escrowAddress); - const tokenAddress = await escrowClient.getTokenAddress(escrowAddress); - const tokenDecimals = await this.web3Service.getTokenDecimals( - chainId, - tokenAddress, - ); - const payoutAmount = - ethers.parseUnits(reservedFunds, tokenDecimals) / - BigInt(recipients.length); + const payoutAmount = reservedFunds / BigInt(recipients.length); return recipients.map((recipient) => ({ address: recipient,