aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLeonid Logvinov <logvinov.leon@gmail.com>2018-09-25 19:36:47 +0800
committerGitHub <noreply@github.com>2018-09-25 19:36:47 +0800
commit64f41259eb1f438c9c71c121f328ccf527eb3b03 (patch)
tree8e612ecbcf7dab56efc74f9b7bdde2be079f33b0
parent408f5731880d61877964275301ad10d522aad6a7 (diff)
parentb85db17e75e818b5b554cc2b8068aba980d95804 (diff)
downloaddexon-0x-contracts-64f41259eb1f438c9c71c121f328ccf527eb3b03.tar.gz
dexon-0x-contracts-64f41259eb1f438c9c71c121f328ccf527eb3b03.tar.zst
dexon-0x-contracts-64f41259eb1f438c9c71c121f328ccf527eb3b03.zip
Merge pull request #1085 from 0xProject/feature/export-sra-types
[sra-types] Move SRA types from @0xproject/connect to @0xproject/types
-rw-r--r--packages/asset-buyer/src/order_providers/standard_relayer_api_order_provider.ts3
-rw-r--r--packages/connect/CHANGELOG.json9
-rw-r--r--packages/connect/src/http_client.ts18
-rw-r--r--packages/connect/src/index.ts25
-rw-r--r--packages/connect/src/types.ts145
-rw-r--r--packages/connect/src/utils/orders_channel_message_parser.ts2
-rw-r--r--packages/connect/src/utils/relayer_response_json_parsers.ts2
-rw-r--r--packages/connect/src/utils/type_converters.ts2
-rw-r--r--packages/connect/src/ws_orders_channel.ts3
-rw-r--r--packages/connect/test/fixtures/standard_relayer_api/asset_pairs.ts2
-rw-r--r--packages/connect/test/fixtures/standard_relayer_api/fee_recipients.ts2
-rw-r--r--packages/connect/test/fixtures/standard_relayer_api/order_config.ts2
-rw-r--r--packages/connect/test/fixtures/standard_relayer_api/orderbook.ts2
-rw-r--r--packages/connect/test/fixtures/standard_relayer_api/orders.ts2
-rw-r--r--packages/types/CHANGELOG.json4
-rw-r--r--packages/types/src/index.ts128
-rw-r--r--yarn.lock6
17 files changed, 190 insertions, 167 deletions
diff --git a/packages/asset-buyer/src/order_providers/standard_relayer_api_order_provider.ts b/packages/asset-buyer/src/order_providers/standard_relayer_api_order_provider.ts
index be3e9da50..31942c25b 100644
--- a/packages/asset-buyer/src/order_providers/standard_relayer_api_order_provider.ts
+++ b/packages/asset-buyer/src/order_providers/standard_relayer_api_order_provider.ts
@@ -1,4 +1,5 @@
-import { APIOrder, HttpClient, OrderbookResponse } from '@0xproject/connect';
+import { HttpClient } from '@0xproject/connect';
+import { APIOrder, OrderbookResponse } from '@0xproject/types';
import * as _ from 'lodash';
import {
diff --git a/packages/connect/CHANGELOG.json b/packages/connect/CHANGELOG.json
index f5ca80279..b39c8d272 100644
--- a/packages/connect/CHANGELOG.json
+++ b/packages/connect/CHANGELOG.json
@@ -1,5 +1,14 @@
[
{
+ "version": "2.0.3",
+ "changes": [
+ {
+ "note": "Import SRA-related types from @0xproject/types",
+ "pr": 1085
+ }
+ ]
+ },
+ {
"timestamp": 1537541580,
"version": "2.0.2",
"changes": [
diff --git a/packages/connect/src/http_client.ts b/packages/connect/src/http_client.ts
index bdcfdd8d2..8a68d6c23 100644
--- a/packages/connect/src/http_client.ts
+++ b/packages/connect/src/http_client.ts
@@ -1,19 +1,10 @@
import { assert } from '@0xproject/assert';
import { schemas } from '@0xproject/json-schemas';
-import { SignedOrder } from '@0xproject/types';
-import { fetchAsync } from '@0xproject/utils';
-import * as _ from 'lodash';
-import * as queryString from 'query-string';
-
-import { schemas as clientSchemas } from './schemas/schemas';
import {
APIOrder,
AssetPairsRequestOpts,
AssetPairsResponse,
- Client,
FeeRecipientsResponse,
- HttpRequestOptions,
- HttpRequestType,
OrderbookRequest,
OrderbookResponse,
OrderConfigRequest,
@@ -22,7 +13,14 @@ import {
OrdersResponse,
PagedRequestOpts,
RequestOpts,
-} from './types';
+ SignedOrder,
+} from '@0xproject/types';
+import { fetchAsync } from '@0xproject/utils';
+import * as _ from 'lodash';
+import * as queryString from 'query-string';
+
+import { schemas as clientSchemas } from './schemas/schemas';
+import { Client, HttpRequestOptions, HttpRequestType } from './types';
import { relayerResponseJsonParsers } from './utils/relayer_response_json_parsers';
const TRAILING_SLASHES_REGEX = /\/+$/;
diff --git a/packages/connect/src/index.ts b/packages/connect/src/index.ts
index 0b9cad038..0ec5a0f68 100644
--- a/packages/connect/src/index.ts
+++ b/packages/connect/src/index.ts
@@ -1,23 +1,20 @@
export { HttpClient } from './http_client';
export { ordersChannelFactory } from './orders_channel_factory';
+export { Client, OrdersChannel, OrdersChannelHandler } from './types';
export {
- Client,
+ APIOrder,
+ AssetPairsRequestOpts,
+ AssetPairsResponse,
+ FeeRecipientsResponse,
+ OrderbookRequest,
+ OrderbookResponse,
OrderConfigRequest,
OrderConfigResponse,
- OrdersChannel,
- OrdersChannelHandler,
OrdersChannelSubscriptionOpts,
- OrderbookRequest,
- OrderbookResponse,
OrdersRequestOpts,
- PagedRequestOpts,
- AssetPairsRequestOpts,
- RequestOpts,
- AssetPairsResponse,
- FeeRecipientsResponse,
- APIOrder,
OrdersResponse,
+ PagedRequestOpts,
PaginatedCollection,
-} from './types';
-
-export { SignedOrder } from '@0xproject/types';
+ RequestOpts,
+ SignedOrder,
+} from '@0xproject/types';
diff --git a/packages/connect/src/types.ts b/packages/connect/src/types.ts
index b76af081c..4bb0ae534 100644
--- a/packages/connect/src/types.ts
+++ b/packages/connect/src/types.ts
@@ -1,5 +1,18 @@
-import { SignedOrder } from '@0xproject/types';
-import { BigNumber } from '@0xproject/utils';
+import {
+ APIOrder,
+ AssetPairsItem,
+ AssetPairsRequestOpts,
+ FeeRecipientsResponse,
+ OrderbookRequest,
+ OrderbookResponse,
+ OrderConfigRequest,
+ OrderConfigResponse,
+ OrdersChannelSubscriptionOpts,
+ OrdersRequestOpts,
+ PagedRequestOpts,
+ PaginatedCollection,
+ SignedOrder,
+} from '@0xproject/types';
export interface Client {
getAssetPairsAsync: (
@@ -18,140 +31,12 @@ export interface OrdersChannel {
close: () => void;
}
-/**
- * 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 interface OrdersChannelHandler {
onUpdate: (channel: OrdersChannel, subscriptionOpts: OrdersChannelSubscriptionOpts, orders: APIOrder[]) => void;
onError: (channel: OrdersChannel, err: Error, subscriptionOpts?: OrdersChannelSubscriptionOpts) => void;
onClose: (channel: OrdersChannel) => void;
}
-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 HttpRequestOptions {
params?: object;
payload?: object;
diff --git a/packages/connect/src/utils/orders_channel_message_parser.ts b/packages/connect/src/utils/orders_channel_message_parser.ts
index 1b6cda17b..943d7802e 100644
--- a/packages/connect/src/utils/orders_channel_message_parser.ts
+++ b/packages/connect/src/utils/orders_channel_message_parser.ts
@@ -2,7 +2,7 @@ import { assert } from '@0xproject/assert';
import { schemas } from '@0xproject/json-schemas';
import * as _ from 'lodash';
-import { OrdersChannelMessage, OrdersChannelMessageTypes } from '../types';
+import { OrdersChannelMessage, OrdersChannelMessageTypes } from '@0xproject/types';
import { relayerResponseJsonParsers } from './relayer_response_json_parsers';
diff --git a/packages/connect/src/utils/relayer_response_json_parsers.ts b/packages/connect/src/utils/relayer_response_json_parsers.ts
index bc31f231d..356e2dde6 100644
--- a/packages/connect/src/utils/relayer_response_json_parsers.ts
+++ b/packages/connect/src/utils/relayer_response_json_parsers.ts
@@ -9,7 +9,7 @@ import {
OrderbookResponse,
OrderConfigResponse,
OrdersResponse,
-} from '../types';
+} from '@0xproject/types';
import { typeConverters } from './type_converters';
diff --git a/packages/connect/src/utils/type_converters.ts b/packages/connect/src/utils/type_converters.ts
index d57ea00e5..99760cf74 100644
--- a/packages/connect/src/utils/type_converters.ts
+++ b/packages/connect/src/utils/type_converters.ts
@@ -1,7 +1,7 @@
import { orderParsingUtils } from '@0xproject/order-utils';
import * as _ from 'lodash';
-import { APIOrder } from '../types';
+import { APIOrder } from '@0xproject/types';
export const typeConverters = {
convertOrderbookStringFieldsToBigNumber(orderbook: any): any {
diff --git a/packages/connect/src/ws_orders_channel.ts b/packages/connect/src/ws_orders_channel.ts
index cde4acbc3..bf5e8508d 100644
--- a/packages/connect/src/ws_orders_channel.ts
+++ b/packages/connect/src/ws_orders_channel.ts
@@ -1,8 +1,9 @@
+import { OrdersChannelMessageTypes, OrdersChannelSubscriptionOpts } from '@0xproject/types';
import * as _ from 'lodash';
import { v4 as uuid } from 'uuid';
import * as WebSocket from 'websocket';
-import { OrdersChannel, OrdersChannelHandler, OrdersChannelMessageTypes, OrdersChannelSubscriptionOpts } from './types';
+import { OrdersChannel, OrdersChannelHandler } from './types';
import { assert } from './utils/assert';
import { ordersChannelMessageParser } from './utils/orders_channel_message_parser';
diff --git a/packages/connect/test/fixtures/standard_relayer_api/asset_pairs.ts b/packages/connect/test/fixtures/standard_relayer_api/asset_pairs.ts
index 5ce703317..27216e421 100644
--- a/packages/connect/test/fixtures/standard_relayer_api/asset_pairs.ts
+++ b/packages/connect/test/fixtures/standard_relayer_api/asset_pairs.ts
@@ -1,6 +1,6 @@
import { BigNumber } from '@0xproject/utils';
-import { AssetPairsResponse } from '../../../src/types';
+import { AssetPairsResponse } from '@0xproject/types';
export const assetDataPairsResponse: AssetPairsResponse = {
total: 43,
diff --git a/packages/connect/test/fixtures/standard_relayer_api/fee_recipients.ts b/packages/connect/test/fixtures/standard_relayer_api/fee_recipients.ts
index e17ffe7a8..6f544e9d3 100644
--- a/packages/connect/test/fixtures/standard_relayer_api/fee_recipients.ts
+++ b/packages/connect/test/fixtures/standard_relayer_api/fee_recipients.ts
@@ -1,4 +1,4 @@
-import { FeeRecipientsResponse } from '../../../src/types';
+import { FeeRecipientsResponse } from '@0xproject/types';
export const feeRecipientsResponse: FeeRecipientsResponse = {
total: 3,
diff --git a/packages/connect/test/fixtures/standard_relayer_api/order_config.ts b/packages/connect/test/fixtures/standard_relayer_api/order_config.ts
index 36f01a009..56a4ac550 100644
--- a/packages/connect/test/fixtures/standard_relayer_api/order_config.ts
+++ b/packages/connect/test/fixtures/standard_relayer_api/order_config.ts
@@ -1,6 +1,6 @@
import { BigNumber } from '@0xproject/utils';
-import { OrderConfigResponse } from '../../../src/types';
+import { OrderConfigResponse } from '@0xproject/types';
export const orderConfigResponse: OrderConfigResponse = {
senderAddress: '0xa2b31dacf30a9c50ca473337c01d8a201ae33e32',
diff --git a/packages/connect/test/fixtures/standard_relayer_api/orderbook.ts b/packages/connect/test/fixtures/standard_relayer_api/orderbook.ts
index d5f39a51f..21d51da74 100644
--- a/packages/connect/test/fixtures/standard_relayer_api/orderbook.ts
+++ b/packages/connect/test/fixtures/standard_relayer_api/orderbook.ts
@@ -1,6 +1,6 @@
import { BigNumber } from '@0xproject/utils';
-import { OrderbookResponse } from '../../../src/types';
+import { OrderbookResponse } from '@0xproject/types';
export const orderbookResponse: OrderbookResponse = {
bids: {
diff --git a/packages/connect/test/fixtures/standard_relayer_api/orders.ts b/packages/connect/test/fixtures/standard_relayer_api/orders.ts
index 01f8974b8..fb85990d0 100644
--- a/packages/connect/test/fixtures/standard_relayer_api/orders.ts
+++ b/packages/connect/test/fixtures/standard_relayer_api/orders.ts
@@ -1,6 +1,6 @@
import { BigNumber } from '@0xproject/utils';
-import { OrdersResponse } from '../../../src/types';
+import { OrdersResponse } from '@0xproject/types';
export const ordersResponse: OrdersResponse = {
total: 984,
diff --git a/packages/types/CHANGELOG.json b/packages/types/CHANGELOG.json
index 8b1346347..9cdb3bc1f 100644
--- a/packages/types/CHANGELOG.json
+++ b/packages/types/CHANGELOG.json
@@ -5,6 +5,10 @@
{
"note": "Add ObjectMap type",
"pr": 1037
+ },
+ {
+ "note": "Add SRA types from connect",
+ "pr": 1085
}
]
},
diff --git a/packages/types/src/index.ts b/packages/types/src/index.ts
index 25803e8c8..d27060ee5 100644
--- a/packages/types/src/index.ts
+++ b/packages/types/src/index.ts
@@ -243,3 +243,131 @@ export enum StatusCodes {
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;
+}
diff --git a/yarn.lock b/yarn.lock
index 7464a9c5d..aa30946a8 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -5296,9 +5296,9 @@ ethereumjs-wallet@~0.6.0:
utf8 "^3.0.0"
uuid "^3.3.2"
-ethers@3.0.22:
- version "3.0.22"
- resolved "https://registry.npmjs.org/ethers/-/ethers-3.0.22.tgz#7fab1ea16521705837aa43c15831877b2716b436"
+ethers@0xproject/ethers.js#eip-838-reasons, ethers@3.0.22:
+ version "3.0.18"
+ resolved "https://codeload.github.com/0xproject/ethers.js/tar.gz/b91342bd200d142af0165d6befddf783c8ae8447"
dependencies:
aes-js "3.0.0"
bn.js "^4.4.0"