aboutsummaryrefslogtreecommitdiffstats
path: root/packages/0x.js/src/types.ts
diff options
context:
space:
mode:
authorLeonid Logvinov <logvinov.leon@gmail.com>2018-02-09 01:01:53 +0800
committerLeonid Logvinov <logvinov.leon@gmail.com>2018-02-15 03:22:36 +0800
commitf3e6ef0fa96e2252e41b7ed6f2c3e88a1560153e (patch)
tree0208e1e119e1a6976e8e2332eaca9681b4ae20ed /packages/0x.js/src/types.ts
parent18e1c2dea5d3c5387db6f616cd0ebbfe89dc308b (diff)
downloaddexon-sol-tools-f3e6ef0fa96e2252e41b7ed6f2c3e88a1560153e.tar
dexon-sol-tools-f3e6ef0fa96e2252e41b7ed6f2c3e88a1560153e.tar.gz
dexon-sol-tools-f3e6ef0fa96e2252e41b7ed6f2c3e88a1560153e.tar.bz2
dexon-sol-tools-f3e6ef0fa96e2252e41b7ed6f2c3e88a1560153e.tar.lz
dexon-sol-tools-f3e6ef0fa96e2252e41b7ed6f2c3e88a1560153e.tar.xz
dexon-sol-tools-f3e6ef0fa96e2252e41b7ed6f2c3e88a1560153e.tar.zst
dexon-sol-tools-f3e6ef0fa96e2252e41b7ed6f2c3e88a1560153e.zip
Better validate ZeroExConfig on public networks
Diffstat (limited to 'packages/0x.js/src/types.ts')
-rw-r--r--packages/0x.js/src/types.ts36
1 files changed, 26 insertions, 10 deletions
diff --git a/packages/0x.js/src/types.ts b/packages/0x.js/src/types.ts
index ab97f7775..f0660391b 100644
--- a/packages/0x.js/src/types.ts
+++ b/packages/0x.js/src/types.ts
@@ -9,6 +9,10 @@ import { ExchangeContractEventArgs, ExchangeEvents } from './contract_wrappers/g
import { TokenContractEventArgs, TokenEvents } from './contract_wrappers/generated/token';
export enum ZeroExError {
+ ZRXAddressRequired = 'ZRX_ADDREESS_REQUIRED',
+ ExchangeAddressRequired = 'EXCHANGE_ADDREESS_REQUIRED',
+ TokenRegistryAddressRequired = 'TOKEN_REGISTRY_ADDREESS_REQUIRED',
+ TokenTransferProxyAddressRequired = 'TOKEN_TRANSFER_PROXY_ADDREESS_REQUIRED',
ExchangeContractDoesNotExist = 'EXCHANGE_CONTRACT_DOES_NOT_EXIST',
ZRXContractDoesNotExist = 'ZRX_CONTRACT_DOES_NOT_EXIST',
EtherTokenContractDoesNotExist = 'ETHER_TOKEN_CONTRACT_DOES_NOT_EXIST',
@@ -195,8 +199,28 @@ export interface OrderStateWatcherConfig {
cleanupJobIntervalMs?: number;
}
+export interface ZeroExPublicNetworkConfig {
+ networkId: 1 | 3 | 4 | 42 | 50;
+ gasPrice?: BigNumber;
+ exchangeContractAddress?: string;
+ zrxContractAddress?: string;
+ tokenRegistryContractAddress?: string;
+ tokenTransferProxyContractAddress?: string;
+ orderWatcherConfig?: OrderStateWatcherConfig;
+}
+
+export interface ZeroExPrivateNetworkConfig {
+ networkId: number;
+ gasPrice?: BigNumber;
+ exchangeContractAddress: string;
+ zrxContractAddress: string;
+ tokenRegistryContractAddress: string;
+ tokenTransferProxyContractAddress: string;
+ orderWatcherConfig?: OrderStateWatcherConfig;
+}
+
/*
- * networkId: The id of the underlying ethereum network your provider is connected to. (1-mainnet, 42-kovan, 50-testrpc)
+ * networkId: The id of the underlying ethereum network your provider is connected to. (1-mainnet, 3-ropsten, 4-rinkeby, 42-kovan, 50-testrpc)
* gasPrice: Gas price to use with every transaction
* exchangeContractAddress: The address of an exchange contract to use
* zrxContractAddress: The address of the ZRX contract to use
@@ -204,15 +228,7 @@ export interface OrderStateWatcherConfig {
* tokenTransferProxyContractAddress: The address of the token transfer proxy contract to use
* orderWatcherConfig: All the configs related to the orderWatcher
*/
-export interface ZeroExConfig {
- networkId: number;
- gasPrice?: BigNumber;
- exchangeContractAddress?: string;
- zrxContractAddress?: string;
- tokenRegistryContractAddress?: string;
- tokenTransferProxyContractAddress?: string;
- orderWatcherConfig?: OrderStateWatcherConfig;
-}
+export type ZeroExConfig = ZeroExPublicNetworkConfig | ZeroExPrivateNetworkConfig;
export type ArtifactContractName = 'ZRX' | 'TokenTransferProxy' | 'TokenRegistry' | 'Token' | 'Exchange' | 'EtherToken';