Initial investment is no longer counted, only the profit
This commit is contained in:
parent
3b626bccc4
commit
acc19d28e3
|
@ -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
|
||||
|
|
|
@ -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(
|
||||
|
|
Loading…
Reference in New Issue
Block a user