@sx-bet/sportx-js
Version:
Provides an easy to use API to interact with the SportX relayer.
63 lines (62 loc) • 1.53 kB
TypeScript
import { BigNumber } from "@ethersproject/bignumber";
import { Contract } from "@ethersproject/contracts";
import { Web3Provider } from "@ethersproject/providers";
import { Environments } from "../constants";
export interface IContractOrder {
marketHash: string;
maker: string;
totalBetSize: BigNumber;
percentageOdds: BigNumber;
expiry: BigNumber;
baseToken: string;
salt: BigNumber;
executor: string;
isMakerBettingOutcomeOne: boolean;
}
export interface IPermit {
holder: string;
spender: string;
nonce: number;
expiry: number;
allowed: boolean;
}
export interface IApproveSpenderPayload {
owner: string;
spender: string;
tokenAddress: string;
amount: string;
signature: string;
}
export interface IFillDetailsMetadata {
action: string;
market: string;
betting: string;
stake: string;
odds: string;
returning: string;
}
export interface IFillDetails extends IFillDetailsMetadata {
fills: IFillObject;
}
export interface IFillObject {
orders: IContractOrder[];
makerSigs: string[];
takerAmounts: BigNumber[];
fillSalt: BigNumber;
beneficiary: string;
}
export interface ICancelDetails {
message: string;
orders: string[];
}
export interface IBaseTokenWrappers {
[address: string]: Contract;
}
export interface ISportXArgs {
env: Environments;
customSidechainProviderUrl?: string;
privateKey?: string;
sidechainProvider?: Web3Provider;
apiUrl?: string;
apiKey?: string;
}