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) => {
|
return sumBy(bets, (bet) => {
|
||||||
const contract = contractsDict[bet.contractId]
|
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 computeTotalPool = (userContracts: Contract[], startTime = 0) => {
|
||||||
const periodFilteredContracts = userContracts.filter(
|
const periodFilteredContracts = userContracts.filter(
|
||||||
(contract) => contract.createdTime >= startTime
|
(contract) => contract.createdTime >= startTime
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import { groupBy, sumBy, mapValues, partition } from 'lodash'
|
import { groupBy, sumBy, mapValues, partition } from 'lodash'
|
||||||
|
|
||||||
import { Bet } from './bet'
|
import { Bet } from './bet'
|
||||||
import { computeInvestmentValueForBet } from './calculate-metrics'
|
import { getContractBetMetrics } from './calculate'
|
||||||
import { Contract } from './contract'
|
import { Contract } from './contract'
|
||||||
import { getPayouts } from './payouts'
|
import { getPayouts } from './payouts'
|
||||||
|
|
||||||
|
@ -63,17 +63,24 @@ export function scoreUsersByContract(contract: Contract, bets: Bet[]) {
|
||||||
return { userId, payout }
|
return { userId, payout }
|
||||||
})
|
})
|
||||||
|
|
||||||
const investmentValues = openBets.map((bet) => {
|
const profits = openBets.map((bet) => {
|
||||||
const { userId } = bet
|
const { userId } = bet
|
||||||
const investmentValue = computeInvestmentValueForBet(bet, contract)
|
if (contract.isResolved) {
|
||||||
return { userId, payout: investmentValue }
|
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 = [
|
const netPayouts = [
|
||||||
...resolvePayouts,
|
...resolvePayouts,
|
||||||
...salePayouts,
|
...salePayouts,
|
||||||
...investments,
|
...investments,
|
||||||
...investmentValues,
|
...profits,
|
||||||
]
|
]
|
||||||
|
|
||||||
const userScore = mapValues(
|
const userScore = mapValues(
|
||||||
|
|
Loading…
Reference in New Issue
Block a user