Initial investment is no longer counted, only the profit

This commit is contained in:
Pico2x 2022-09-08 11:51:35 +01:00
parent 3b626bccc4
commit acc19d28e3
2 changed files with 19 additions and 16 deletions

View File

@ -11,20 +11,16 @@ const computeInvestmentValue = (
) => {
return sumBy(bets, (bet) => {
const contract = contractsDict[bet.contractId]
return computeInvestmentValueForBet(bet, contract)
if (!contract || contract.isResolved) return 0
if (bet.sale || bet.isSold) return 0
const payout = calculatePayout(contract, bet, 'MKT')
const value = payout - (bet.loanAmount ?? 0)
if (isNaN(value)) return 0
return value
})
}
export const computeInvestmentValueForBet = (bet: Bet, contract: Contract) => {
if (!contract || contract.isResolved) return 0
if (bet.sale || bet.isSold) return 0
const payout = calculatePayout(contract, bet, 'MKT')
const value = payout - (bet.loanAmount ?? 0)
if (isNaN(value)) return 0
return value
}
const computeTotalPool = (userContracts: Contract[], startTime = 0) => {
const periodFilteredContracts = userContracts.filter(
(contract) => contract.createdTime >= startTime

View File

@ -1,7 +1,7 @@
import { groupBy, sumBy, mapValues, partition } from 'lodash'
import { Bet } from './bet'
import { computeInvestmentValueForBet } from './calculate-metrics'
import { getContractBetMetrics } from './calculate'
import { Contract } from './contract'
import { getPayouts } from './payouts'
@ -63,17 +63,24 @@ export function scoreUsersByContract(contract: Contract, bets: Bet[]) {
return { userId, payout }
})
const investmentValues = openBets.map((bet) => {
const profits = openBets.map((bet) => {
const { userId } = bet
const investmentValue = computeInvestmentValueForBet(bet, contract)
return { userId, payout: investmentValue }
if (contract.isResolved) {
return { userId: userId, payout: 0 }
}
const payout = getContractBetMetrics(contract, [bet]).payout
console.log({
userId: userId,
metrics: getContractBetMetrics(contract, [bet]),
})
return { userId: userId, payout: payout }
})
const netPayouts = [
...resolvePayouts,
...salePayouts,
...investments,
...investmentValues,
...profits,
]
const userScore = mapValues(