contract.collectedFees is no longer sometimes nonexistent

This commit is contained in:
Marshall Polaris 2022-05-27 13:19:58 -07:00
parent e5ce17c2ad
commit fda7496778
4 changed files with 13 additions and 43 deletions

View File

@ -3,13 +3,7 @@ import { sum, groupBy, sumBy, mapValues } from 'lodash'
import { Bet, NumericBet } from './bet'
import { deductDpmFees, getDpmProbability } from './calculate-dpm'
import { DPM, FreeResponse, FullContract, Multi } from './contract'
import {
DPM_CREATOR_FEE,
DPM_FEES,
DPM_PLATFORM_FEE,
Fees,
noFees,
} from './fees'
import { DPM_CREATOR_FEE, DPM_FEES, DPM_PLATFORM_FEE } from './fees'
import { addObjects } from './util/object'
export const getDpmCancelPayouts = (
@ -31,7 +25,7 @@ export const getDpmCancelPayouts = (
payouts,
creatorPayout: 0,
liquidityPayouts: [],
collectedFees: contract.collectedFees ?? noFees,
collectedFees: contract.collectedFees,
}
}
@ -57,17 +51,11 @@ export const getDpmStandardPayouts = (
const profits = sumBy(payouts, (po) => Math.max(0, po.profit))
const creatorFee = DPM_CREATOR_FEE * profits
const platformFee = DPM_PLATFORM_FEE * profits
const finalFees: Fees = {
const collectedFees = addObjects(contract.collectedFees, {
creatorFee,
platformFee,
liquidityFee: 0,
}
const collectedFees = addObjects<Fees>(
finalFees,
contract.collectedFees ?? {}
)
})
console.log(
'resolved',
@ -115,17 +103,11 @@ export const getNumericDpmPayouts = (
const profits = sumBy(payouts, (po) => Math.max(0, po.profit))
const creatorFee = DPM_CREATOR_FEE * profits
const platformFee = DPM_PLATFORM_FEE * profits
const finalFees: Fees = {
const collectedFees = addObjects(contract.collectedFees, {
creatorFee,
platformFee,
liquidityFee: 0,
}
const collectedFees = addObjects<Fees>(
finalFees,
contract.collectedFees ?? {}
)
})
console.log(
'resolved numeric bucket: ',
@ -174,17 +156,11 @@ export const getDpmMktPayouts = (
const creatorFee = DPM_CREATOR_FEE * profits
const platformFee = DPM_PLATFORM_FEE * profits
const finalFees: Fees = {
const collectedFees = addObjects(contract.collectedFees, {
creatorFee,
platformFee,
liquidityFee: 0,
}
const collectedFees = addObjects<Fees>(
finalFees,
contract.collectedFees ?? {}
)
})
console.log(
'resolved MKT',
@ -233,17 +209,11 @@ export const getPayoutsMultiOutcome = (
const creatorFee = DPM_CREATOR_FEE * profits
const platformFee = DPM_PLATFORM_FEE * profits
const finalFees: Fees = {
const collectedFees = addObjects(contract.collectedFees, {
creatorFee,
platformFee,
liquidityFee: 0,
}
const collectedFees = addObjects<Fees>(
finalFees,
contract.collectedFees ?? noFees
)
})
console.log(
'resolved',

View File

@ -78,7 +78,7 @@ export const sellBet = functions.runWith({ minInstances: 1 }).https.onCall(
pool: newPool,
totalShares: newTotalShares,
totalBets: newTotalBets,
collectedFees: addObjects<Fees>(fees ?? {}, collectedFees ?? {}),
collectedFees: addObjects(fees, collectedFees),
volume: volume + Math.abs(newBet.amount),
})
)

View File

@ -101,7 +101,7 @@ export const sellShares = functions.runWith({ minInstances: 1 }).https.onCall(
removeUndefinedProps({
pool: newPool,
p: newP,
collectedFees: addObjects(fees ?? {}, collectedFees ?? {}),
collectedFees: addObjects(fees, collectedFees),
volume: volume + Math.abs(newBet.amount),
})
)

View File

@ -95,7 +95,7 @@ export function ContractInfoDialog(props: { contract: Contract; bets: Bet[] }) {
<tr>
<td>Creator earnings</td>
<td>{formatMoney(contract.collectedFees?.creatorFee ?? 0)}</td>
<td>{formatMoney(contract.collectedFees.creatorFee)}</td>
</tr>
<tr>