diff options
author | Fabio Berger <me@fabioberger.com> | 2018-09-25 20:07:14 +0800 |
---|---|---|
committer | Fabio Berger <me@fabioberger.com> | 2018-09-25 20:07:14 +0800 |
commit | 977d55c61b9ba8979e0846a780cd8020c821df9b (patch) | |
tree | a4c7c16da62f7c3aed4321927d8ef16fc5d23eeb /packages/types/src/index.ts | |
parent | fc3acec669f21b8c5bcb5e3d4f712c2adaf2cf64 (diff) | |
parent | 78ef98c27ce954f7e46b261b0809ff9d8d70519b (diff) | |
download | dexon-sol-tools-977d55c61b9ba8979e0846a780cd8020c821df9b.tar dexon-sol-tools-977d55c61b9ba8979e0846a780cd8020c821df9b.tar.gz dexon-sol-tools-977d55c61b9ba8979e0846a780cd8020c821df9b.tar.bz2 dexon-sol-tools-977d55c61b9ba8979e0846a780cd8020c821df9b.tar.lz dexon-sol-tools-977d55c61b9ba8979e0846a780cd8020c821df9b.tar.xz dexon-sol-tools-977d55c61b9ba8979e0846a780cd8020c821df9b.tar.zst dexon-sol-tools-977d55c61b9ba8979e0846a780cd8020c821df9b.zip |
merge development
Diffstat (limited to 'packages/types/src/index.ts')
-rw-r--r-- | packages/types/src/index.ts | 132 |
1 files changed, 132 insertions, 0 deletions
diff --git a/packages/types/src/index.ts b/packages/types/src/index.ts index 48a9e23d1..d27060ee5 100644 --- a/packages/types/src/index.ts +++ b/packages/types/src/index.ts @@ -239,3 +239,135 @@ export enum StatusCodes { MethodNotAllowed = 405, GatewayTimeout = 504, } + +export interface ObjectMap<T> { + [key: string]: T; +} + +/** + * baseAssetData: The address of assetData designated as the baseToken in the currency pair calculation of price + * quoteAssetData: The address of assetData designated as the quoteToken in the currency pair calculation of price + * limit: Maximum number of bids and asks in orderbook snapshot + */ +export interface OrdersChannelSubscriptionOpts { + baseAssetData: string; + quoteAssetData: string; + limit: number; +} + +export type OrdersChannelMessage = UpdateOrdersChannelMessage | UnknownOrdersChannelMessage; + +export enum OrdersChannelMessageTypes { + Update = 'update', + Unknown = 'unknown', +} + +export interface UpdateOrdersChannelMessage { + type: OrdersChannelMessageTypes.Update; + requestId: string; + payload: APIOrder[]; +} + +export interface UnknownOrdersChannelMessage { + type: OrdersChannelMessageTypes.Unknown; + requestId: string; + payload: undefined; +} + +export enum WebsocketConnectionEventType { + Close = 'close', + Error = 'error', + Message = 'message', +} + +export enum WebsocketClientEventType { + Connect = 'connect', + ConnectFailed = 'connectFailed', +} + +export type OrdersResponse = PaginatedCollection<APIOrder>; + +export interface APIOrder { + order: SignedOrder; + metaData: object; +} + +export interface AssetPairsRequestOpts { + assetDataA?: string; + assetDataB?: string; +} + +export type AssetPairsResponse = PaginatedCollection<AssetPairsItem>; + +export interface AssetPairsItem { + assetDataA: Asset; + assetDataB: Asset; +} + +export interface Asset { + assetData: string; + minAmount: BigNumber; + maxAmount: BigNumber; + precision: number; +} + +export interface OrdersRequestOpts { + makerAssetProxyId?: string; + takerAssetProxyId?: string; + makerAssetAddress?: string; + takerAssetAddress?: string; + exchangeAddress?: string; + senderAddress?: string; + makerAssetData?: string; + takerAssetData?: string; + makerAddress?: string; + takerAddress?: string; + traderAddress?: string; + feeRecipientAddress?: string; +} + +export interface OrderbookRequest { + baseAssetData: string; + quoteAssetData: string; +} + +export interface OrderbookResponse { + bids: PaginatedCollection<APIOrder>; + asks: PaginatedCollection<APIOrder>; +} + +export interface PaginatedCollection<T> { + total: number; + page: number; + perPage: number; + records: T[]; +} + +export interface OrderConfigRequest { + makerAddress: string; + takerAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerAssetData: string; + takerAssetData: string; + exchangeAddress: string; + expirationTimeSeconds: BigNumber; +} + +export interface OrderConfigResponse { + makerFee: BigNumber; + takerFee: BigNumber; + feeRecipientAddress: string; + senderAddress: string; +} + +export type FeeRecipientsResponse = PaginatedCollection<string>; + +export interface RequestOpts { + networkId?: number; +} + +export interface PagedRequestOpts { + page?: number; + perPage?: number; +} |