From 9d458b2aa793e492d45fa05032d437228a373aa8 Mon Sep 17 00:00:00 2001 From: Pico2x Date: Fri, 9 Sep 2022 17:51:59 +0100 Subject: [PATCH] Simplify scoring calculation --- common/scoring.ts | 46 +++------------------------------------------- 1 file changed, 3 insertions(+), 43 deletions(-) diff --git a/common/scoring.ts b/common/scoring.ts index 8e197e71..86dc3896 100644 --- a/common/scoring.ts +++ b/common/scoring.ts @@ -31,44 +31,9 @@ export function scoreTraders(contracts: Contract[], bets: Bet[][]) { } export function scoreUsersByContract(contract: Contract, bets: Bet[]) { - const { resolution } = contract - const resolutionProb = - contract.outcomeType == 'BINARY' - ? contract.resolutionProbability - : undefined - - const [closedBets, openBets] = partition( - bets, - (bet) => bet.isSold || bet.sale - ) - const { payouts: resolvePayouts } = getPayouts( - resolution as string, - contract, - openBets, - [], - {}, - resolutionProb - ) - - const salePayouts = closedBets.map((bet) => { - const { userId, sale } = bet - return { userId, payout: sale ? sale.amount : 0 } - }) - - const investments = bets - .filter((bet) => !bet.sale) - .map((bet) => { - const { userId, amount, loanAmount } = bet - const payout = -amount - (loanAmount ?? 0) - return { userId, payout } - }) - - const profits = openBets.map((bet) => { + const profits = bets.map((bet) => { const { userId } = bet - if (contract.isResolved) { - return { userId: userId, payout: 0 } - } - const payout = getContractBetMetrics(contract, [bet]).payout + const payout = getContractBetMetrics(contract, [bet]).profit console.log({ userId: userId, metrics: getContractBetMetrics(contract, [bet]), @@ -76,12 +41,7 @@ export function scoreUsersByContract(contract: Contract, bets: Bet[]) { return { userId: userId, payout: payout } }) - const netPayouts = [ - ...resolvePayouts, - ...salePayouts, - ...investments, - ...profits, - ] + const netPayouts = [...profits] const userScore = mapValues( groupBy(netPayouts, (payout) => payout.userId),