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