@sx-bet/sportx-js
Version:
Provides an easy to use API to interact with the SportX relayer.
69 lines (68 loc) • 4.07 kB
TypeScript
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 {};