2022-01-10 21:07:57 +00:00
|
|
|
export type Contract = {
|
2022-01-10 23:52:03 +00:00
|
|
|
id: string
|
|
|
|
slug: string // auto-generated; must be unique
|
2022-01-10 21:07:57 +00:00
|
|
|
|
2022-01-10 23:52:03 +00:00
|
|
|
creatorId: string
|
|
|
|
creatorName: string
|
|
|
|
creatorUsername: string
|
2022-01-19 07:33:46 +00:00
|
|
|
creatorAvatarUrl?: string // Start requiring after 2022-03-01
|
2022-01-10 21:07:57 +00:00
|
|
|
|
2022-01-10 23:52:03 +00:00
|
|
|
question: string
|
|
|
|
description: string // More info about what the contract is about
|
|
|
|
outcomeType: 'BINARY' // | 'MULTI' | 'interval' | 'date'
|
2022-01-10 21:07:57 +00:00
|
|
|
// outcomes: ['YES', 'NO']
|
2022-01-13 01:53:50 +00:00
|
|
|
visibility: 'public' | 'unlisted'
|
2022-01-10 21:07:57 +00:00
|
|
|
|
2022-01-12 19:01:04 +00:00
|
|
|
mechanism: 'dpm-2'
|
|
|
|
phantomShares: { YES: number; NO: number }
|
2022-01-10 23:52:03 +00:00
|
|
|
pool: { YES: number; NO: number }
|
|
|
|
totalShares: { YES: number; NO: number }
|
|
|
|
totalBets: { YES: number; NO: number }
|
2022-01-10 21:07:57 +00:00
|
|
|
|
2022-01-10 23:52:03 +00:00
|
|
|
createdTime: number // Milliseconds since epoch
|
|
|
|
lastUpdatedTime: number // If the question or description was changed
|
|
|
|
closeTime?: number // When no more trading is allowed
|
2022-01-10 21:07:57 +00:00
|
|
|
|
2022-01-10 23:52:03 +00:00
|
|
|
isResolved: boolean
|
|
|
|
resolutionTime?: number // When the contract creator resolved the market
|
|
|
|
resolution?: 'YES' | 'NO' | 'CANCEL' // Chosen by creator; must be one of outcomes
|
2022-01-10 21:07:57 +00:00
|
|
|
|
2022-01-10 23:52:03 +00:00
|
|
|
volume24Hours: number
|
|
|
|
volume7Days: number
|
|
|
|
}
|