UNPKG

@sx-bet/sportx-js

Version:

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

69 lines (68 loc) 4.07 kB
import { Web3Provider } from "@ethersproject/providers"; import * as ably from "ably"; import { Environments } from "./constants"; import { IApproveSpenderPayload, IFillDetailsMetadata, ISportXArgs } from "./types/internal"; import { IActiveLeague, IDetailedRelayerMakerOrder, IGetTradesRequest, ILeague, ILiveScore, IMarket, IMetadata, INewOrder, IPendingBet, IPendingBetsRequest, IRelayerMakerOrder, IRelayerResponse, ISignedRelayerMakerOrder, ISport, ITradesResponse } from "./types/relayer"; export interface ISportX { init(): Promise<void>; getMetadata(): Promise<IMetadata>; getLeagues(): Promise<ILeague[]>; getSports(): Promise<ISport[]>; getActiveLeagues(): Promise<ILeague[]>; getActiveMarkets(mainLinesOnly?: boolean, eventId?: number, leagueId?: string, liveOnly?: boolean, betGroup?: string): Promise<IMarket[]>; getPopularMarkets(): Promise<IMarket[]>; marketLookup(marketHashes: string[]): Promise<IMarket[]>; newOrder(orders: INewOrder[]): Promise<IRelayerResponse>; cancelOrder(orderHashes: string[]): Promise<IRelayerResponse>; cancelAllOrders(): Promise<IRelayerResponse>; cancelOrdersByEvent(sportXeventId: string): Promise<IRelayerResponse>; getPendingOrFailedBets(pendingBetsRequest: IPendingBetsRequest): Promise<IPendingBet[]>; getOrders(marketHashes?: string[], maker?: string, baseToken?: string): Promise<IDetailedRelayerMakerOrder[]>; fillOrders(orders: IRelayerMakerOrder[], takerAmounts: string[], fillDetailsMetadata?: IFillDetailsMetadata, affiliateAddress?: string, approveProxyPayload?: IApproveSpenderPayload): Promise<IRelayerResponse>; getTrades(tradeRequest: IGetTradesRequest): Promise<ITradesResponse>; approveSportXContracts(token: string): Promise<any>; getRealtimeConnection(): ably.Types.RealtimePromise; getEip712Signature(payload: any): Promise<string>; getLiveScores(eventIds: string[]): Promise<ILiveScore[]>; } declare class SportX implements ISportX { private signingWallet; private relayerUrl; private provider; private initialized; private debug; private metadata; private ably; private environment; private privateKey; private sidechainChainId; private network; private baseTokenWrappers; private apiKey; constructor(env: Environments, customProviderUrl?: string, privateKey?: string, customProvider?: Web3Provider, apiUrl?: string, apiKey?: string); cancelOrder(orderHashes: string[]): Promise<IRelayerResponse>; cancelAllOrders(): Promise<IRelayerResponse>; cancelOrdersByEvent(sportXeventId: string): Promise<IRelayerResponse>; getPopularMarkets(): Promise<IMarket[]>; getRealtimeConnection(): ably.Types.RealtimePromise; init(): Promise<void>; getActiveLeagues(): Promise<IActiveLeague[]>; getMetadata(): Promise<IMetadata>; getLeagues(): Promise<ILeague[]>; getSports(): Promise<ISport[]>; getLiveScores(eventIds: string[]): Promise<ILiveScore[]>; getActiveMarkets(mainLinesOnly?: boolean, eventId?: number, leagueId?: string, liveOnly?: boolean, betGroup?: string): Promise<IMarket[]>; marketLookup(marketHashes: string[]): Promise<IMarket[]>; newOrder(orders: INewOrder[]): Promise<IRelayerResponse>; fillOrders(orders: ISignedRelayerMakerOrder[], takerAmounts: string[], fillDetailsMetadata?: IFillDetailsMetadata, affiliateAddress?: string, approveProxyPayload?: IApproveSpenderPayload): Promise<IRelayerResponse>; getPendingOrFailedBets(request: IPendingBetsRequest): Promise<IPendingBet[]>; getTrades(tradeRequest: IGetTradesRequest): Promise<ITradesResponse>; getOrders(marketHashes?: string[], maker?: string, baseToken?: string): Promise<IDetailedRelayerMakerOrder[]>; approveSportXContracts(token: string): Promise<any>; getEip712Signature(payload: any): Promise<string>; private tryParseResponse; private verifyChainIds; } export declare function newSportX(sportXObj: ISportXArgs): Promise<SportX>; export declare function getValidEnv(env: string): Environments; export {};