diff options
author | F. Eugene Aumson <feuGeneA@users.noreply.github.com> | 2018-09-26 04:34:44 +0800 |
---|---|---|
committer | F. Eugene Aumson <feuGeneA@users.noreply.github.com> | 2018-09-26 04:34:44 +0800 |
commit | d3edb9721c21a00c40f03d5c270f19c0d9954754 (patch) | |
tree | fed69dbc80245c77af28ccc5f7c170ac8e726c7c /packages/types/src/index.ts | |
parent | de9f5d350f008f1eeb6e42a3dcf611262f6210b4 (diff) | |
parent | b40861747b73bb9a0826853751b7caa5cbf085ae (diff) | |
download | dexon-sol-tools-d3edb9721c21a00c40f03d5c270f19c0d9954754.tar dexon-sol-tools-d3edb9721c21a00c40f03d5c270f19c0d9954754.tar.gz dexon-sol-tools-d3edb9721c21a00c40f03d5c270f19c0d9954754.tar.bz2 dexon-sol-tools-d3edb9721c21a00c40f03d5c270f19c0d9954754.tar.lz dexon-sol-tools-d3edb9721c21a00c40f03d5c270f19c0d9954754.tar.xz dexon-sol-tools-d3edb9721c21a00c40f03d5c270f19c0d9954754.tar.zst dexon-sol-tools-d3edb9721c21a00c40f03d5c270f19c0d9954754.zip |
Merge remote-tracking branch 'upstream/development' into sol-doc
Diffstat (limited to 'packages/types/src/index.ts')
-rw-r--r-- | packages/types/src/index.ts | 130 |
1 files changed, 130 insertions, 0 deletions
diff --git a/packages/types/src/index.ts b/packages/types/src/index.ts index 872a51f87..dddc785b7 100644 --- a/packages/types/src/index.ts +++ b/packages/types/src/index.ts @@ -111,12 +111,14 @@ export interface OrderStateValid { isValid: true; orderHash: string; orderRelevantState: OrderRelevantState; + transactionHash?: string; } export interface OrderStateInvalid { isValid: false; orderHash: string; error: ExchangeContractErrs; + transactionHash?: string; } export type OrderState = OrderStateValid | OrderStateInvalid; @@ -244,6 +246,134 @@ 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; +} + export interface TypeDocType { type: TypeDocTypes; value: string; |