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 } =
|
const { hasShares, invested, profitPercent, payout, profit, totalShares } =
|
||||||
getContractBetMetrics(contract, bets)
|
getContractBetMetrics(contract, bets)
|
||||||
|
|
||||||
const excludeSalesAndAntes = bets.filter(
|
const excludeSales = bets.filter((b) => !b.isSold && !b.sale)
|
||||||
(b) => !b.isAnte && !b.isSold && !b.sale
|
const yesWinnings = sumBy(excludeSales, (bet) =>
|
||||||
)
|
|
||||||
const yesWinnings = sumBy(excludeSalesAndAntes, (bet) =>
|
|
||||||
calculatePayout(contract, bet, 'YES')
|
calculatePayout(contract, bet, 'YES')
|
||||||
)
|
)
|
||||||
const noWinnings = sumBy(excludeSalesAndAntes, (bet) =>
|
const noWinnings = sumBy(excludeSales, (bet) =>
|
||||||
calculatePayout(contract, bet, 'NO')
|
calculatePayout(contract, bet, 'NO')
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -30,17 +30,15 @@ export function ContractTabs(props: {
|
||||||
const { contract, user, tips } = props
|
const { contract, user, tips } = props
|
||||||
const { outcomeType } = contract
|
const { outcomeType } = contract
|
||||||
|
|
||||||
const updatedBets = useBets(contract.id, {
|
const bets = useBets(contract.id) ?? props.bets
|
||||||
filterChallenges: false,
|
const lps = useLiquidity(contract.id) ?? []
|
||||||
filterRedemptions: true,
|
|
||||||
})
|
const userBets =
|
||||||
const bets = updatedBets ?? props.bets
|
user && bets.filter((bet) => !bet.isAnte && bet.userId === user.id)
|
||||||
const userBets = user && bets.filter((bet) => bet.userId === user.id)
|
|
||||||
const visibleBets = bets.filter(
|
const visibleBets = bets.filter(
|
||||||
(bet) => !bet.isAnte && !bet.isRedemption && bet.amount !== 0
|
(bet) => !bet.isAnte && !bet.isRedemption && bet.amount !== 0
|
||||||
)
|
)
|
||||||
const liquidityProvisions =
|
const visibleLps = lps.filter((l) => !l.isAnte && l.amount > 0)
|
||||||
useLiquidity(contract.id)?.filter((l) => !l.isAnte && l.amount > 0) ?? []
|
|
||||||
|
|
||||||
// Load comments here, so the badge count will be correct
|
// Load comments here, so the badge count will be correct
|
||||||
const updatedComments = useComments(contract.id)
|
const updatedComments = useComments(contract.id)
|
||||||
|
@ -50,7 +48,7 @@ export function ContractTabs(props: {
|
||||||
<ContractBetsActivity
|
<ContractBetsActivity
|
||||||
contract={contract}
|
contract={contract}
|
||||||
bets={visibleBets}
|
bets={visibleBets}
|
||||||
liquidityProvisions={liquidityProvisions}
|
lps={visibleLps}
|
||||||
/>
|
/>
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -16,9 +16,9 @@ import { Col } from 'web/components/layout/col'
|
||||||
export function ContractBetsActivity(props: {
|
export function ContractBetsActivity(props: {
|
||||||
contract: Contract
|
contract: Contract
|
||||||
bets: Bet[]
|
bets: Bet[]
|
||||||
liquidityProvisions: LiquidityProvision[]
|
lps: LiquidityProvision[]
|
||||||
}) {
|
}) {
|
||||||
const { contract, bets, liquidityProvisions } = props
|
const { contract, bets, lps } = props
|
||||||
|
|
||||||
const items = [
|
const items = [
|
||||||
...bets.map((bet) => ({
|
...bets.map((bet) => ({
|
||||||
|
@ -26,10 +26,10 @@ export function ContractBetsActivity(props: {
|
||||||
id: bet.id + '-' + bet.isSold,
|
id: bet.id + '-' + bet.isSold,
|
||||||
bet,
|
bet,
|
||||||
})),
|
})),
|
||||||
...liquidityProvisions.map((liquidity) => ({
|
...lps.map((lp) => ({
|
||||||
type: 'liquidity' as const,
|
type: 'liquidity' as const,
|
||||||
id: liquidity.id,
|
id: lp.id,
|
||||||
liquidity,
|
lp,
|
||||||
})),
|
})),
|
||||||
]
|
]
|
||||||
|
|
||||||
|
@ -37,7 +37,7 @@ export function ContractBetsActivity(props: {
|
||||||
item.type === 'bet'
|
item.type === 'bet'
|
||||||
? -item.bet.createdTime
|
? -item.bet.createdTime
|
||||||
: item.type === 'liquidity'
|
: item.type === 'liquidity'
|
||||||
? -item.liquidity.createdTime
|
? -item.lp.createdTime
|
||||||
: undefined
|
: undefined
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -47,7 +47,7 @@ export function ContractBetsActivity(props: {
|
||||||
item.type === 'bet' ? (
|
item.type === 'bet' ? (
|
||||||
<FeedBet key={item.id} contract={contract} bet={item.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>
|
</Col>
|
||||||
|
|
Loading…
Reference in New Issue
Block a user