@nivalis/polymarket-api-types
Version:
TypeScript type definitions for Polymarket API
508 lines (486 loc) • 13.7 kB
TypeScript
declare const tag: unique symbol;
type Tagged<Type, TagName extends PropertyKey> = Type & {
readonly [tag]: { [K in TagName]: never };
};
type Datetime = Tagged<string, 'DateTime'>;
type Integer = Tagged<number, 'Int'>;
type Float = Tagged<number, 'Float'>;
type Uri = Tagged<string, 'Uri'>;
type Maybe<T> = T | null | undefined;
export type Team = {
id: Integer;
name: Maybe<string>;
league: Maybe<string>;
record: Maybe<string>;
logo: Maybe<string>;
abbreviation: Maybe<string>;
alias: Maybe<string>;
createdAt: Maybe<Datetime>;
updatedAt: Maybe<Datetime>;
providerId: Maybe<string>;
};
export type Sport = {
sport: string;
image: Uri;
resolution: Uri;
ordering: string;
tags: string;
series: string;
};
export type Tag = {
id: string;
label: Maybe<string>;
slug: Maybe<string>;
forceShow: Maybe<boolean>;
publishedAt: Maybe<string>;
createdBy: Maybe<Integer>;
updatedBy: Maybe<Integer>;
createdAt: Maybe<Datetime>;
updatedAt: Maybe<Datetime>;
forceHide: Maybe<boolean>;
isCarousel: Maybe<boolean>;
};
export type ImageOptimized = {
id: string;
imageUrlSource: Maybe<string>;
imageUrlOptimized: Maybe<string>;
imageSizeKbSource: Maybe<Float>;
imageSizeKbOptimized: Maybe<Float>;
imageOptimizedComplete: Maybe<boolean>;
imageOptimizedLastUpdated: Maybe<string>;
relId: Maybe<Integer>;
field: Maybe<string>;
relname: Maybe<string>;
};
export type Event = {
id: string;
ticker: Maybe<string>;
slug: Maybe<string>;
title: Maybe<string>;
subtitle: Maybe<string>;
description: Maybe<string>;
resolutionSource: Maybe<string>;
startDate: Maybe<Datetime>;
creationDate: Maybe<Datetime>;
endDate: Maybe<Datetime>;
image: Maybe<string>;
icon: Maybe<string>;
active: Maybe<boolean>;
closed: Maybe<boolean>;
archived: Maybe<boolean>;
new: Maybe<boolean>;
featured: Maybe<boolean>;
restricted: Maybe<boolean>;
liquidity: Maybe<Float>;
volume: Maybe<Float>;
openInterest: Maybe<Float>;
sortBy: Maybe<string>;
category: Maybe<string>;
subcategory: Maybe<string>;
isTemplate: Maybe<boolean>;
templateVariables: Maybe<string>;
published_at: Maybe<string>;
createdBy: Maybe<string>;
updatedBy: Maybe<string>;
createdAt: Maybe<Datetime>;
updatedAt: Maybe<Datetime>;
commentsEnabled: Maybe<boolean>;
competitive: Maybe<Float>;
volume24hr: Maybe<Float>;
volume1wk: Maybe<Float>;
volume1mo: Maybe<Float>;
volume1yr: Maybe<Float>;
featuredImage: Maybe<string>;
disqusThread: Maybe<string>;
parentEvent: Maybe<string>;
enableOrderBook: Maybe<boolean>;
liquidityAmm: Maybe<Float>;
liquidityClob: Maybe<Float>;
negRisk: Maybe<boolean>;
negRiskMarketID: Maybe<string>;
negRiskFeeBips: Maybe<Float>;
commentCount: Maybe<Integer>;
imageOptimized: Maybe<ImageOptimized>;
iconOptimized: Maybe<ImageOptimized>;
featuredImageOptimized: Maybe<ImageOptimized>;
subEvents: Maybe<Array<string>>;
markets: Array<Market>;
series: Array<Serie>;
categories: Array<Category>;
collections: Array<Collection>;
tags: Array<Tag>;
cyom: Maybe<boolean>;
closedTime: Maybe<Datetime>;
showAllOutcomes: Maybe<boolean>;
showMarketImages: Maybe<boolean>;
automaticallyResolved: Maybe<boolean>;
enableNegRisk: Maybe<boolean>;
automaticallyActive: Maybe<boolean>;
eventDate: Maybe<string>;
startTime: Maybe<Datetime>;
eventWeek: Maybe<Integer>;
seriesSlug: Maybe<string>;
score: Maybe<string>;
elapsed: Maybe<string>;
period: Maybe<string>;
live: Maybe<boolean>;
ended: Maybe<boolean>;
finishedTimestamp: Maybe<Datetime>;
gmpChartMode: Maybe<string>;
eventCreators: Array<EventCreator>;
tweetCount: Maybe<Integer>;
chats: Array<Chat>;
featuredOrder: Maybe<Integer>;
estimateValue: Maybe<boolean>;
cantEstimate: Maybe<boolean>;
estimatedValue: Maybe<string>;
templates: Array<Template>;
spreadsMainLine: Maybe<Float>;
totalsMainLine: Maybe<Float>;
carouselMap: Maybe<string>;
pendingDeployment: Maybe<boolean>;
deploying: Maybe<boolean>;
deployingTimestamp: Maybe<Datetime>;
scheduledDeploymentTimestamp: Maybe<Datetime>;
gameStatus: Maybe<string>;
};
export type Market = {
id: Maybe<string>;
question: Maybe<string>;
conditionId: Maybe<string>;
slug: Maybe<string>;
twitterCardImage: Maybe<string>;
resolutionSource: Maybe<string>;
endDate: Maybe<Datetime>;
category: Maybe<string>;
ammType: Maybe<string>;
liquidity: Maybe<string>;
sponsorName: Maybe<string>;
sponsorImage: Maybe<string>;
startDate: Maybe<Datetime>;
xAxisValue: Maybe<string>;
yAxisValue: Maybe<string>;
denominationToken: Maybe<string>;
fee: Maybe<string>;
image: Maybe<string>;
icon: Maybe<string>;
lowerBound: Maybe<string>;
upperBound: Maybe<string>;
description: Maybe<string>;
outcomes: Maybe<string>;
outcomePrices: Maybe<string>;
volume: Maybe<string>;
active: Maybe<boolean>;
marketType: Maybe<string>;
formatType: Maybe<string>;
lowerBoundDate: Maybe<string>;
upperBoundDate: Maybe<string>;
closed: Maybe<boolean>;
marketMakerAddress: Maybe<string>;
createdBy: Maybe<Float>;
updatedBy: Maybe<Float>;
createdAt: Maybe<Datetime>;
updatedAt: Maybe<Datetime>;
closedTime: Maybe<string>;
wideFormat: Maybe<boolean>;
new: Maybe<boolean>;
mailchimpTag: Maybe<string>;
featured: Maybe<boolean>;
archived: Maybe<boolean>;
resolvedBy: Maybe<string>;
restricted: Maybe<boolean>;
marketGroup: Maybe<Integer>;
groupItemTitle: Maybe<string>;
groupItemThreshold: Maybe<string>;
questionID: Maybe<string>;
umaEndDate: Maybe<string>;
enableOrderBook: Maybe<boolean>;
orderPriceMinTickSize: Maybe<Float>;
orderMinSize: Maybe<Float>;
umaResolutionStatus: Maybe<string>;
curationOrder: Maybe<Integer>;
volumeNum: Maybe<Float>;
liquidityNum: Maybe<Float>;
endDateIso: Maybe<string>;
startDateIso: Maybe<string>;
umaEndDateIso: Maybe<string>;
hasReviewedDates: Maybe<boolean>;
readyForCron: Maybe<boolean>;
commentsEnabled: Maybe<boolean>;
volume24hr: Maybe<Float>;
volume1wk: Maybe<Float>;
volume1mo: Maybe<Float>;
volume1yr: Maybe<Float>;
gameStartTime: Maybe<string>;
secondsDelay: Maybe<Integer>;
clobTokenIds: Maybe<string>;
disqusThread: Maybe<string>;
shortOutcomes: Maybe<string>;
teamAID: Maybe<string>;
teamBID: Maybe<string>;
umaBond: Maybe<string>;
umaReward: Maybe<string>;
fpmmLive: Maybe<boolean>;
volume24hrAmm: Maybe<Float>;
volume1wkAmm: Maybe<Float>;
volume1moAmm: Maybe<Float>;
volume1yrAmm: Maybe<Float>;
volume24hrClob: Maybe<Float>;
volume1wkClob: Maybe<Float>;
volume1moClob: Maybe<Float>;
volume1yrClob: Maybe<Float>;
volumeAmm: Maybe<Float>;
volumeClob: Maybe<Float>;
liquidityAmm: Maybe<Float>;
liquidityClob: Maybe<Float>;
makerBaseFee: Maybe<Integer>;
takerBaseFee: Maybe<Integer>;
customLiveness: Maybe<Integer>;
acceptingOrders: Maybe<boolean>;
notificationsEnabled: Maybe<boolean>;
score: Maybe<Integer>;
imageOptimized: Maybe<ImageOptimized>;
iconOptimized: Maybe<ImageOptimized>;
events: Array<Event>;
categories: Array<Category>;
tags: Array<Tag>;
creator: Maybe<string>;
ready: Maybe<boolean>;
funded: Maybe<boolean>;
pastSlugs: Maybe<string>;
readyTimestamp: Maybe<Datetime>;
fundedTimestamp: Maybe<Datetime>;
acceptingOrdersTimestamp: Maybe<Datetime>;
competitive: Maybe<Float>;
rewardsMinSize: Maybe<Float>;
rewardsMaxSpread: Maybe<Float>;
spread: Maybe<Float>;
automaticallyResolved: Maybe<boolean>;
oneDayPriceChange: Maybe<Float>;
oneHourPriceChange: Maybe<Float>;
oneWeekPriceChange: Maybe<Float>;
oneMonthPriceChange: Maybe<Float>;
oneYearPriceChange: Maybe<Float>;
lastTradePrice: Maybe<Float>;
bestBid: Maybe<Float>;
bestAsk: Maybe<Float>;
automaticallyActive: Maybe<boolean>;
clearBookOnStart: Maybe<boolean>;
chartColor: Maybe<string>;
seriesColor: Maybe<string>;
showGmpSeries: Maybe<boolean>;
showGmpOutcome: Maybe<boolean>;
manualActivation: Maybe<boolean>;
negRiskOther: Maybe<boolean>;
gameId: Maybe<string>;
groupItemRange: Maybe<string>;
sportsMarketType: Maybe<string>;
line: Maybe<Float>;
umaResolutionStatuses: Maybe<string>;
pendingDeployment: Maybe<boolean>;
deploying: Maybe<boolean>;
deployingTimestamp: Maybe<Datetime>;
scheduledDeploymentTimestamp: Maybe<Datetime>;
rfqEnabled: Maybe<boolean>;
eventStartTime: Maybe<Datetime>;
};
export type Serie = {
id: string;
ticker: Maybe<string>;
slug: Maybe<string>;
title: Maybe<string>;
subtitle: Maybe<string>;
seriesType: Maybe<string>;
recurrence: Maybe<string>;
description: Maybe<string>;
image: Maybe<string>;
icon: Maybe<string>;
layout: Maybe<string>;
active: Maybe<boolean>;
closed: Maybe<boolean>;
archived: Maybe<boolean>;
new: Maybe<boolean>;
featured: Maybe<boolean>;
restricted: Maybe<boolean>;
isTemplate: Maybe<boolean>;
templateVariables: Maybe<boolean>;
publishedAt: Maybe<string>;
createdBy: Maybe<string>;
updatedBy: Maybe<string>;
createdAt: Maybe<Datetime>;
updatedAt: Maybe<Datetime>;
commentsEnabled: Maybe<boolean>;
competitive: Maybe<string>;
volume24hr: Maybe<Float>;
volume: Maybe<Float>;
liquidity: Maybe<Float>;
startDate: Maybe<Datetime>;
pythTokenID: Maybe<string>;
cgAssetName: Maybe<string>;
score: Maybe<Integer>;
events: Array<Event>;
collections: Array<Collection>;
categories: Array<Category>;
tags: Array<Tag>;
commentCount: Maybe<Integer>;
chats: Array<Chat>;
};
export type Comment = {
id: string;
body: Maybe<string>;
parentEntityType: Maybe<string>;
parentEntityID: Maybe<Integer>;
parentCommentID: Maybe<string>;
userAddress: Maybe<string>;
replyAddress: Maybe<string>;
createdAt: Maybe<Datetime>;
updatedAt: Maybe<Datetime>;
profile: Profile;
reactions: Array<Reaction>;
reportCount: Maybe<Integer>;
reactionCount: Maybe<Integer>;
};
export type Activity = {
proxyWallet: `0x${string}`;
timestamp: Maybe<Integer>;
conditionId: `0x${string}`;
type: 'TRADE' | 'SPLIT' | 'MERGE' | 'REDEEM' | 'REWARD' | 'CONVERSION';
size: Maybe<Float>;
usdcSize: Maybe<Float>;
transactionHash: Maybe<string>;
price: Maybe<Float>;
asset: Maybe<string>;
side: 'BUY' | 'SELL';
outcomeIndex: Maybe<Integer>;
title: Maybe<string>;
slug: Maybe<string>;
icon: Maybe<string>;
eventSlug: Maybe<string>;
outcome: Maybe<string>;
name: Maybe<string>;
pseudonym: Maybe<string>;
bio: Maybe<string>;
profileImage: Maybe<string>;
profileImageOptimized: Maybe<string>;
};
export type Trades = {
proxyWallet: `0x${string}`;
side: 'BUY' | 'SELL';
asset: Maybe<string>;
conditionId: `0x${string}`;
size: Float;
price: Float;
timestamp: Integer;
title: Maybe<string>;
slug: Maybe<string>;
icon: Maybe<string>;
eventSlug: string;
outcome: Maybe<string>;
outcomeIndex: Maybe<Integer>;
name: Maybe<string>;
pseudonym: Maybe<string>;
bio: Maybe<string>;
profileImage: Maybe<string>;
profileImageOptimized: Maybe<string>;
transactionHash: Maybe<string>;
};
export type Category = {
id: string;
label: Maybe<string>;
parentCategory: Maybe<string>;
slug: Maybe<string>;
publishedAt: Maybe<string>;
createdBy: Maybe<string>;
updatedBy: Maybe<string>;
createdAt: Maybe<Datetime>;
updatedAt: Maybe<Datetime>;
};
export type Profile = {
name: Maybe<string>;
pseudonym: Maybe<string>;
displayUsernamePublic: Maybe<boolean>;
bio: Maybe<string>;
isMod: Maybe<boolean>;
isCreator: Maybe<boolean>;
proxyWallet: Maybe<string>;
baseAddress: Maybe<string>;
profileImage: Maybe<string>;
profileImageOptimized: Maybe<ImageOptimized>;
positions: Array<Position>;
};
export type Position = {
tokenId: Maybe<string>;
positionSize: Maybe<string>;
};
export type Reaction = {
id: string;
commentID: Maybe<Integer>;
reactionType: Maybe<string>;
icon: Maybe<string>;
userAddress: Maybe<string>;
createdAt: Maybe<Datetime>;
profile: Profile;
};
export type Chat = {
id: string;
channelId: Maybe<string>;
channelName: Maybe<string>;
channelImage: Maybe<string>;
live: Maybe<boolean>;
startTime: Maybe<Datetime>;
endTime: Maybe<Datetime>;
};
export type Collection = {
id: string;
ticker: Maybe<string>;
slug: Maybe<string>;
title: Maybe<string>;
subtitle: Maybe<string>;
collectionType: Maybe<string>;
description: Maybe<string>;
tags: Maybe<string>;
image: Maybe<string>;
icon: Maybe<string>;
headerImage: Maybe<string>;
layout: Maybe<string>;
active: Maybe<boolean>;
closed: Maybe<boolean>;
archived: Maybe<boolean>;
new: Maybe<boolean>;
featured: Maybe<boolean>;
restricted: Maybe<boolean>;
isTemplate: Maybe<boolean>;
templateVariables: Maybe<string>;
publishedAt: Maybe<string>;
createdBy: Maybe<string>;
updatedBy: Maybe<string>;
createdAt: Maybe<Datetime>;
updatedAt: Maybe<Datetime>;
commentsEnabled: Maybe<boolean>;
imageOptimized: Maybe<ImageOptimized>;
iconOptimized: Maybe<ImageOptimized>;
headerImageOptimized: Maybe<ImageOptimized>;
};
export type Template = {
id: string;
eventTitle: Maybe<string>;
eventSlug: Maybe<string>;
eventImage: Maybe<string>;
marketTitle: Maybe<string>;
description: Maybe<string>;
resolutionSource: Maybe<string>;
negRisk: Maybe<boolean>;
sortBy: Maybe<string>;
showMarketImages: Maybe<boolean>;
seriesSlug: Maybe<string>;
outcomes: Maybe<string>;
};
export type EventCreator = {
id: string;
creatorName: Maybe<string>;
creatorHandle: Maybe<string>;
creatorUrl: Maybe<string>;
creatorImage: Maybe<string>;
createdAt: Maybe<Datetime>;
updatedAt: Maybe<Datetime>;
};