Change limit prob validation to be only on Binary markets (not numeric)
This commit is contained in:
parent
62728e52b7
commit
814c4aa01d
|
@ -30,15 +30,7 @@ const bodySchema = z.object({
|
||||||
|
|
||||||
const binarySchema = z.object({
|
const binarySchema = z.object({
|
||||||
outcome: z.enum(['YES', 'NO']),
|
outcome: z.enum(['YES', 'NO']),
|
||||||
limitProb: z
|
limitProb: z.number().gte(0.001).lte(0.999).optional(),
|
||||||
.number()
|
|
||||||
.gte(0.001)
|
|
||||||
.lte(0.999)
|
|
||||||
.refine(
|
|
||||||
(p) => Math.round(p * 100) === p * 100,
|
|
||||||
'limitProb must be in increments of 0.01 (i.e. whole percentage points)'
|
|
||||||
)
|
|
||||||
.optional(),
|
|
||||||
})
|
})
|
||||||
|
|
||||||
const freeResponseSchema = z.object({
|
const freeResponseSchema = z.object({
|
||||||
|
@ -92,6 +84,15 @@ export const placebet = newEndpoint({}, async (req, auth) => {
|
||||||
) {
|
) {
|
||||||
const { outcome, limitProb } = validate(binarySchema, req.body)
|
const { outcome, limitProb } = validate(binarySchema, req.body)
|
||||||
|
|
||||||
|
if (limitProb !== undefined && outcomeType === 'BINARY') {
|
||||||
|
const isRounded = Math.round(limitProb * 100) === limitProb * 100
|
||||||
|
if (!isRounded)
|
||||||
|
throw new APIError(
|
||||||
|
400,
|
||||||
|
'limitProb must be in increments of 0.01 (i.e. whole percentage points)'
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
const unfilledBetsSnap = await trans.get(
|
const unfilledBetsSnap = await trans.get(
|
||||||
getUnfilledBetsQuery(contractDoc)
|
getUnfilledBetsQuery(contractDoc)
|
||||||
)
|
)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user