manifold/common/new-contract.ts
2022-01-10 16:49:13 -06:00

49 lines
1002 B
TypeScript

import { calcStartPool } from "./antes";
import { Contract } from "./contract";
import { User } from "./user";
export function getNewContract(
id: string,
slug: string,
creator: User,
question: string,
description: string,
initialProb: number,
ante?: number,
closeTime?: number
) {
const { startYes, startNo, poolYes, poolNo } = calcStartPool(
initialProb,
ante
);
const contract: Contract = {
id,
slug,
outcomeType: "BINARY",
creatorId: creator.id,
creatorName: creator.name,
creatorUsername: creator.username,
question: question.trim(),
description: description.trim(),
startPool: { YES: startYes, NO: startNo },
pool: { YES: poolYes, NO: poolNo },
totalShares: { YES: 0, NO: 0 },
totalBets: { YES: 0, NO: 0 },
isResolved: false,
createdTime: Date.now(),
lastUpdatedTime: Date.now(),
volume24Hours: 0,
volume7Days: 0,
};
if (closeTime) contract.closeTime = closeTime;
return contract;
}