diff --git a/common/calculate.ts b/common/calculate.ts
index 3dbb6daf..b03868ed 100644
--- a/common/calculate.ts
+++ b/common/calculate.ts
@@ -34,6 +34,20 @@ export function getProbabilityAfterBet(
return getOutcomeProbability(newTotalShares, outcome)
}
+export function getProbabilityAfterSale(
+ totalShares: {
+ [outcome: string]: number
+ },
+ outcome: string,
+ shares: number
+) {
+ const prevShares = totalShares[outcome] ?? 0
+ const newTotalShares = { ...totalShares, [outcome]: prevShares - shares }
+
+ const predictionOutcome = outcome === 'NO' ? 'YES' : outcome
+ return getOutcomeProbability(newTotalShares, predictionOutcome)
+}
+
export function calculateShares(
totalShares: {
[outcome: string]: number
diff --git a/web/components/bets-list.tsx b/web/components/bets-list.tsx
index 7af046c5..f6cef617 100644
--- a/web/components/bets-list.tsx
+++ b/web/components/bets-list.tsx
@@ -25,7 +25,9 @@ import { UserLink } from './user-page'
import {
calculatePayout,
calculateSaleAmount,
+ getOutcomeProbability,
getProbability,
+ getProbabilityAfterSale,
resolvedPayout,
} from '../../common/calculate'
import { sellBet } from '../lib/firebase/api-call'
@@ -496,6 +498,19 @@ function SellButton(props: { contract: Contract; bet: Bet }) {
const { contract, bet } = props
const [isSubmitting, setIsSubmitting] = useState(false)
+ const initialProb = getOutcomeProbability(
+ contract.totalShares,
+ bet.outcome === 'NO' ? 'YES' : bet.outcome
+ )
+
+ const outcomeProb = getProbabilityAfterSale(
+ contract.totalShares,
+ bet.outcome,
+ bet.shares
+ )
+
+ const saleAmount = calculateSaleAmount(contract, bet)
+
return (