UNPKG

@sx-bet/sportx-js

Version:

Provides an easy to use API to interact with the SportX relayer.

228 lines (227 loc) 5.18 kB
import { IApproveSpenderPayload } from "./internal"; export interface IRelayerMakerOrder { marketHash: string; baseToken: string; maker: string; totalBetSize: string; percentageOdds: string; expiry: number; apiExpiry: number; executor: string; salt: string; isMakerBettingOutcomeOne: boolean; } export interface ISignedRelayerMakerOrder extends IRelayerMakerOrder { signature: string; } export interface IRelayerMarketOrderRequest { marketHash: string; takerPayAmount: string; takerDirection: "outcomeOne" | "outcomeTwo"; taker: string; baseToken: string; } export interface IRelayerHistoricalMarketRequest { marketHashes: string[]; } export interface IGetTradesRequest { startDate?: number; endDate?: number; bettor?: string; settled?: boolean; marketHashes?: string[]; baseToken?: string; maker?: boolean; affiliate?: string; pageSize?: number; paginationKey?: string; } export interface IPendingBetsRequest { bettor: string; startDate?: number; endDate?: number; fillHash?: string; baseToken?: string; } export interface IRelayerMetaFillOrderRequest { orderHashes: string[]; takerAmounts: string[]; taker: string; takerSig: string; fillSalt: string; action: string; market: string; betting: string; stake: string; odds: string; returning: string; affiliateAddress?: string; approveProxyPayload?: IApproveSpenderPayload; } export interface IDetailedRelayerMakerOrder extends ISignedRelayerMakerOrder { orderHash: string; fillAmount: string; } export interface IRelayerActiveOrders { [marketHash: string]: IDetailedRelayerMakerOrder[]; } export interface IRelayerResponse { status: string; data?: any; reason?: string; } export interface IMetadata { executorAddress: string; oracleFees: { [token: string]: string; }; sportXAffiliate: { address: string; amount: string; }; makerOrderMinimums: { [token: string]: string; }; takerMinimums: { [token: string]: string; }; addresses: { [network: string]: { [token: string]: string; }; }; bettingEnabled: boolean; depositMinimums: { [token: string]: string; }; withdrawMinimums: { [token: string]: string; }; totalVolume: number; } export interface ILeague { leagueId: number; label: string; sportId: number; homeTeamFirst: boolean; } export interface ILiveScore { currentPeriod: string; extra: string; leagueId: number; periodTime: string; periods: IPeriod[]; sportId: number; teamOneScore: number; teamTwoScore: number; updatedAt: string; sportXeventId: string; } export interface IPeriod { label: string; isFinished: boolean; teamOneScore: string; teamTwoScore: string; } export interface IActiveLeague { leagueId: number; label: string; sportId: number; homeTeamFirst: boolean; eventsByType: { [group: string]: number; }; } export interface ISport { sportId: number; label: string; } export interface INewOrder { marketHash: string; totalBetSize: string; percentageOdds: string; baseToken: string; expiry: number; isMakerBettingOutcomeOne: boolean; } export interface ITrade { baseToken: string; bettor: string; stake: string; odds: string; orderHash: string; marketHash: string; maker: boolean; betTime: number; bettingOutcomeOne: boolean; settled: boolean; } export interface ITradesResponse { trades: ITrade[]; nextKey: string; pageSize: number; } export declare enum BetStatus { PENDING = "PENDING", SUCCESS = "SUCCESS", FAIL = "FAIL", TIMEOUT = "TIMEOUT" } export interface IPendingBet { taker: string; fillAmounts: string[]; orderHashes: string[]; status: BetStatus; betTime: number; fillHash: string; baseToken: string; } export interface IMarket { status: string; marketHash: string; outcomeOneName: string; outcomeTwoName: string; outcomeVoidName: string; teamOneName: string; teamTwoName: string; type: string; gameTime: number; line?: number; reportedDate?: number; outcome?: number; teamOneScore?: number; teamTwoScore?: number; teamOneMeta?: string; teamTwoMeta?: string; marketMeta?: string; sportXeventId: string; sportLabel: string; sportId: number; leagueId: number; homeTeamFirst: boolean; leagueLabel: string; mainLine?: boolean; group1: string; group2?: string; group3?: string; } export interface ICancelEventOrdersRequest { signature: string; sportXeventId: string; salt: string; maker: string; timestamp: number; } export interface ICancelAllOrdersRequest { signature: string; salt: string; maker: string; timestamp: number; } export interface ICancelOrderRequest { signature: string; orderHashes: string[]; salt: string; maker: string; timestamp: number; }