Group bets by user first
This commit is contained in:
parent
ce7dc05cc7
commit
ac17be0557
|
@ -31,18 +31,8 @@ export function scoreTraders(contracts: Contract[], bets: Bet[][]) {
|
||||||
}
|
}
|
||||||
|
|
||||||
export function scoreUsersByContract(contract: Contract, bets: Bet[]) {
|
export function scoreUsersByContract(contract: Contract, bets: Bet[]) {
|
||||||
const profits = bets.map((bet) => {
|
const betsByUser = groupBy(bets, bet => bet.userId)
|
||||||
const { userId } = bet
|
return mapValues(betsByUser, bets => getContractBetMetrics(contract, bets).profit)
|
||||||
const payout = getContractBetMetrics(contract, [bet]).profit
|
|
||||||
return { userId, payout }
|
|
||||||
})
|
|
||||||
|
|
||||||
const userScore = mapValues(
|
|
||||||
groupBy(profits, (payout) => payout.userId),
|
|
||||||
(payouts) => sumBy(payouts, ({ payout }) => payout)
|
|
||||||
)
|
|
||||||
|
|
||||||
return userScore
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export function addUserScores(
|
export function addUserScores(
|
||||||
|
|
Loading…
Reference in New Issue
Block a user