aboutsummaryrefslogtreecommitdiffstats
path: root/packages/types/src/index.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/types/src/index.ts')
-rw-r--r--packages/types/src/index.ts130
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;