UNPKG

@dydxprotocol/exchange-wrappers

Version:

Collection of exchange wrapper contracts used by the dYdX Protocol

78 lines (77 loc) 2.11 kB
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 {};