Update resolve market to set closeTime to the earlier of closeTime and resolutionTime.
This commit is contained in:
parent
a680d80793
commit
a9b887a4f4
|
@ -8,6 +8,7 @@ import { Bet } from '../../common/bet'
|
||||||
import { getUser, payUser } from './utils'
|
import { getUser, payUser } from './utils'
|
||||||
import { sendMarketResolutionEmail } from './emails'
|
import { sendMarketResolutionEmail } from './emails'
|
||||||
import { getPayouts, getPayoutsMultiOutcome } from '../../common/payouts'
|
import { getPayouts, getPayoutsMultiOutcome } from '../../common/payouts'
|
||||||
|
import { removeUndefinedProps } from '../../common/util/object'
|
||||||
|
|
||||||
export const resolveMarket = functions
|
export const resolveMarket = functions
|
||||||
.runWith({ minInstances: 1 })
|
.runWith({ minInstances: 1 })
|
||||||
|
@ -31,7 +32,7 @@ export const resolveMarket = functions
|
||||||
if (!contractSnap.exists)
|
if (!contractSnap.exists)
|
||||||
return { status: 'error', message: 'Invalid contract' }
|
return { status: 'error', message: 'Invalid contract' }
|
||||||
const contract = contractSnap.data() as Contract
|
const contract = contractSnap.data() as Contract
|
||||||
const { creatorId, outcomeType } = contract
|
const { creatorId, outcomeType, closeTime } = contract
|
||||||
|
|
||||||
if (outcomeType === 'BINARY') {
|
if (outcomeType === 'BINARY') {
|
||||||
if (!['YES', 'NO', 'MKT', 'CANCEL'].includes(outcome))
|
if (!['YES', 'NO', 'MKT', 'CANCEL'].includes(outcome))
|
||||||
|
@ -68,15 +69,21 @@ export const resolveMarket = functions
|
||||||
const resolutionProbability =
|
const resolutionProbability =
|
||||||
probabilityInt !== undefined ? probabilityInt / 100 : undefined
|
probabilityInt !== undefined ? probabilityInt / 100 : undefined
|
||||||
|
|
||||||
await contractDoc.update({
|
const resolutionTime = Date.now()
|
||||||
isResolved: true,
|
const newCloseTime = closeTime
|
||||||
resolution: outcome,
|
? Math.min(closeTime, resolutionTime)
|
||||||
resolutionTime: Date.now(),
|
: closeTime
|
||||||
...(resolutionProbability === undefined
|
|
||||||
? {}
|
await contractDoc.update(
|
||||||
: { resolutionProbability }),
|
removeUndefinedProps({
|
||||||
...(resolutions === undefined ? {} : { resolutions }),
|
isResolved: true,
|
||||||
})
|
resolution: outcome,
|
||||||
|
resolutionTime,
|
||||||
|
closeTime: newCloseTime,
|
||||||
|
resolutionProbability,
|
||||||
|
resolutions,
|
||||||
|
})
|
||||||
|
)
|
||||||
|
|
||||||
console.log('contract ', contractId, 'resolved to:', outcome)
|
console.log('contract ', contractId, 'resolved to:', outcome)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user