Make bet calculations less wrong
This commit is contained in:
parent
6202fdfc95
commit
be62b9c519
|
@ -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')
|
||||
)
|
||||
|
||||
|
|
|
@ -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}
|
||||
/>
|
||||
)
|
||||
|
||||
|
|
|
@ -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>
|
||||
|
|
Loading…
Reference in New Issue
Block a user