Make bet calculations less wrong

This commit is contained in:
Marshall Polaris 2022-08-28 01:31:42 -07:00
parent 6202fdfc95
commit be62b9c519
3 changed files with 17 additions and 21 deletions

View File

@ -394,13 +394,11 @@ export function BetsSummary(props: {
const { hasShares, invested, profitPercent, payout, profit, totalShares } =
getContractBetMetrics(contract, bets)
const excludeSalesAndAntes = bets.filter(
(b) => !b.isAnte && !b.isSold && !b.sale
)
const yesWinnings = sumBy(excludeSalesAndAntes, (bet) =>
const excludeSales = bets.filter((b) => !b.isSold && !b.sale)
const yesWinnings = sumBy(excludeSales, (bet) =>
calculatePayout(contract, bet, 'YES')
)
const noWinnings = sumBy(excludeSalesAndAntes, (bet) =>
const noWinnings = sumBy(excludeSales, (bet) =>
calculatePayout(contract, bet, 'NO')
)

View File

@ -30,17 +30,15 @@ export function ContractTabs(props: {
const { contract, user, tips } = props
const { outcomeType } = contract
const updatedBets = useBets(contract.id, {
filterChallenges: false,
filterRedemptions: true,
})
const bets = updatedBets ?? props.bets
const userBets = user && bets.filter((bet) => bet.userId === user.id)
const bets = useBets(contract.id) ?? props.bets
const lps = useLiquidity(contract.id) ?? []
const userBets =
user && bets.filter((bet) => !bet.isAnte && bet.userId === user.id)
const visibleBets = bets.filter(
(bet) => !bet.isAnte && !bet.isRedemption && bet.amount !== 0
)
const liquidityProvisions =
useLiquidity(contract.id)?.filter((l) => !l.isAnte && l.amount > 0) ?? []
const visibleLps = lps.filter((l) => !l.isAnte && l.amount > 0)
// Load comments here, so the badge count will be correct
const updatedComments = useComments(contract.id)
@ -50,7 +48,7 @@ export function ContractTabs(props: {
<ContractBetsActivity
contract={contract}
bets={visibleBets}
liquidityProvisions={liquidityProvisions}
lps={visibleLps}
/>
)

View File

@ -16,9 +16,9 @@ import { Col } from 'web/components/layout/col'
export function ContractBetsActivity(props: {
contract: Contract
bets: Bet[]
liquidityProvisions: LiquidityProvision[]
lps: LiquidityProvision[]
}) {
const { contract, bets, liquidityProvisions } = props
const { contract, bets, lps } = props
const items = [
...bets.map((bet) => ({
@ -26,10 +26,10 @@ export function ContractBetsActivity(props: {
id: bet.id + '-' + bet.isSold,
bet,
})),
...liquidityProvisions.map((liquidity) => ({
...lps.map((lp) => ({
type: 'liquidity' as const,
id: liquidity.id,
liquidity,
id: lp.id,
lp,
})),
]
@ -37,7 +37,7 @@ export function ContractBetsActivity(props: {
item.type === 'bet'
? -item.bet.createdTime
: item.type === 'liquidity'
? -item.liquidity.createdTime
? -item.lp.createdTime
: undefined
)
@ -47,7 +47,7 @@ export function ContractBetsActivity(props: {
item.type === 'bet' ? (
<FeedBet key={item.id} contract={contract} bet={item.bet} />
) : (
<FeedLiquidity key={item.id} liquidity={item.liquidity} />
<FeedLiquidity key={item.id} liquidity={item.lp} />
)
)}
</Col>