@dydxprotocol/exchange-wrappers
Version:
Collection of exchange wrapper contracts used by the dYdX Protocol
78 lines (77 loc) • 2.11 kB
TypeScript
import BigNumber from 'bignumber.js';
export declare type address = string;
export declare type BigNumberable = BigNumber | number | string;
export declare enum OrderType {
Test = "TEST",
ZeroExV2 = "ZERO_EX_V2",
ZeroExV2MultiOrder = "ZERO_EX_V2_MULTI_ORDER",
OasisV1 = "OASIS_V1",
OasisV2 = "OASIS_V2",
OasisV3 = "OASIS_V3",
OasisV3Market = "OASIS_V3_MARKET",
OpenDirectly = "OPEN_DIRECTLY",
SaiDai = "SAI_DAI",
Curve = "CURVE"
}
export interface Order {
type: OrderType;
exchangeWrapperAddress?: string;
}
export interface TestOrder extends Order {
originator: string;
makerToken: string;
takerToken: string;
makerAmount: BigNumber;
takerAmount: BigNumber;
allegedTakerAmount: BigNumber;
desiredMakerAmount: BigNumber;
}
interface ZeroExV2OrderBase {
exchangeAddress: string;
expirationTimeSeconds: BigNumber;
feeRecipientAddress: string;
makerAddress: string;
makerAssetAmount: BigNumber;
makerAssetData: string;
makerFee: BigNumber;
salt: BigNumber;
senderAddress: string;
signature: string;
takerAddress: string;
takerAssetAmount: BigNumber;
takerAssetData: string;
takerFee: BigNumber;
}
export interface ZeroExV2Order extends Order, ZeroExV2OrderBase {
}
export interface ZeroExV2MultiOrder extends Order {
maxPrice?: string | BigNumber;
orders: ZeroExV2OrderBase[];
}
export interface OasisV1Order extends Order {
id: string | BigNumber;
}
export interface OasisV2Order extends Order {
id: string | BigNumber;
}
export interface OasisV3Order extends Order {
id: string | BigNumber;
}
export interface OasisV3MarketOrder extends Order {
maxPrice?: string | BigNumber;
}
export interface OpenDirectlyOrder extends Order {
}
export interface SaiDaiOrder extends Order {
}
export interface CurveOrder extends Order {
minToAmount: BigNumberable;
trades: {
curveAddress: address;
fromId: BigNumberable;
toId: BigNumberable;
fromAmount: BigNumberable;
exchangeUnderlying: boolean;
}[];
}
export {};