aboutsummaryrefslogtreecommitdiffstats
path: root/packages/website/ts/types.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/website/ts/types.ts')
-rw-r--r--packages/website/ts/types.ts196
1 files changed, 87 insertions, 109 deletions
diff --git a/packages/website/ts/types.ts b/packages/website/ts/types.ts
index 2005cf265..be8aea832 100644
--- a/packages/website/ts/types.ts
+++ b/packages/website/ts/types.ts
@@ -1,41 +1,10 @@
import BigNumber from 'bignumber.js';
import * as _ from 'lodash';
-// Utility function to create a K:V from a list of strings
-// Adapted from: https://basarat.gitbooks.io/typescript/content/docs/types/literal-types.html
-function strEnum(values: string[]): {[key: string]: string} {
- return _.reduce(values, (result, key) => {
- result[key] = key;
- return result;
- }, Object.create(null));
-}
-
-export enum GenerateOrderSteps {
- ChooseAssets,
- GrantAllowance,
- RemainingConfigs,
- SignTransaction,
- CopyAndShare,
-}
-
-export const Side = strEnum([
- 'receive',
- 'deposit',
-]);
-export type Side = keyof typeof Side;
-
-export const BlockchainErrs = strEnum([
- 'A_CONTRACT_NOT_DEPLOYED_ON_NETWORK',
- 'DISCONNECTED_FROM_ETHEREUM_NODE',
- 'UNHANDLED_ERROR',
-]);
-export type BlockchainErrs = keyof typeof BlockchainErrs;
-
-export const Direction = strEnum([
- 'forward',
- 'backward',
-]);
-export type Direction = keyof typeof Direction;
+export enum Side {
+ Receive = 'RECEIVE',
+ Deposit = 'DEPOSIT',
+}
export interface Token {
iconUrl?: string;
@@ -139,48 +108,46 @@ export enum BalanceErrs {
allowanceSettingFailed,
}
-export const ActionTypes = strEnum([
+export enum ActionTypes {
// Portal
- 'UPDATE_SCREEN_WIDTH',
- 'UPDATE_NODE_VERSION',
- 'RESET_STATE',
- 'ADD_TOKEN_TO_TOKEN_BY_ADDRESS',
- 'BLOCKCHAIN_ERR_ENCOUNTERED',
- 'CLEAR_TOKEN_BY_ADDRESS',
- 'UPDATE_BLOCKCHAIN_IS_LOADED',
- 'UPDATE_NETWORK_ID',
- 'UPDATE_GENERATE_ORDER_STEP',
- 'UPDATE_CHOSEN_ASSET_TOKEN',
- 'UPDATE_CHOSEN_ASSET_TOKEN_ADDRESS',
- 'UPDATE_ORDER_TAKER_ADDRESS',
- 'UPDATE_ORDER_SALT',
- 'UPDATE_ORDER_SIGNATURE_DATA',
- 'UPDATE_TOKEN_BY_ADDRESS',
- 'REMOVE_TOKEN_TO_TOKEN_BY_ADDRESS',
- 'UPDATE_TOKEN_STATE_BY_ADDRESS',
- 'REMOVE_FROM_TOKEN_STATE_BY_ADDRESS',
- 'REPLACE_TOKEN_ALLOWANCE_BY_ADDRESS',
- 'REPLACE_TOKEN_BALANCE_BY_ADDRESS',
- 'UPDATE_TOKEN_BALANCE_BY_ADDRESS',
- 'UPDATE_ORDER_EXPIRY',
- 'SWAP_ASSET_TOKENS',
- 'UPDATE_USER_ADDRESS',
- 'UPDATE_USER_ETHER_BALANCE',
- 'UPDATE_USER_SUPPLIED_ORDER_CACHE',
- 'UPDATE_ORDER_FILL_AMOUNT',
- 'UPDATE_SHOULD_BLOCKCHAIN_ERR_DIALOG_BE_OPEN',
+ UpdateScreenWidth = 'UPDATE_SCREEN_WIDTH',
+ UpdateNodeVersion = 'UPDATE_NODE_VERSION',
+ ResetState = 'RESET_STATE',
+ AddTokenToTokenByAddress = 'ADD_TOKEN_TO_TOKEN_BY_ADDRESS',
+ BlockchainErrEncountered = 'BLOCKCHAIN_ERR_ENCOUNTERED',
+ ClearTokenByAddress = 'CLEAR_TOKEN_BY_ADDRESS',
+ UpdateBlockchainIsLoaded = 'UPDATE_BLOCKCHAIN_IS_LOADED',
+ UpdateNetworkId = 'UPDATE_NETWORK_ID',
+ UpdateChosenAssetToken = 'UPDATE_CHOSEN_ASSET_TOKEN',
+ UpdateChosenAssetTokenAddress = 'UPDATE_CHOSEN_ASSET_TOKEN_ADDRESS',
+ UpdateOrderTakerAddress = 'UPDATE_ORDER_TAKER_ADDRESS',
+ UpdateOrderSalt = 'UPDATE_ORDER_SALT',
+ UpdateOrderSignatureData = 'UPDATE_ORDER_SIGNATURE_DATA',
+ UpdateTokenByAddress = 'UPDATE_TOKEN_BY_ADDRESS',
+ RemoveTokenFromTokenByAddress = 'REMOVE_TOKEN_FROM_TOKEN_BY_ADDRESS',
+ UpdateTokenStateByAddress = 'UPDATE_TOKEN_STATE_BY_ADDRESS',
+ RemoveFromTokenStateByAddress = 'REMOVE_FROM_TOKEN_STATE_BY_ADDRESS',
+ ReplaceTokenAllowanceByAddress = 'REPLACE_TOKEN_ALLOWANCE_BY_ADDRESS',
+ ReplaceTokenBalanceByAddress = 'REPLACE_TOKEN_BALANCE_BY_ADDRESS',
+ UpdateTokenBalanceByAddress = 'UPDATE_TOKEN_BALANCE_BY_ADDRESS',
+ UpdateOrderExpiry = 'UPDATE_ORDER_EXPIRY',
+ SwapAssetTokens = 'SWAP_ASSET_TOKENS',
+ UpdateUserAddress = 'UPDATE_USER_ADDRESS',
+ UpdateUserEtherBalance = 'UPDATE_USER_ETHER_BALANCE',
+ UpdateUserSuppliedOrderCache = 'UPDATE_USER_SUPPLIED_ORDER_CACHE',
+ UpdateOrderFillAmount = 'UPDATE_ORDER_FILL_AMOUNT',
+ UpdateShouldBlockchainErrDialogBeOpen = 'UPDATE_SHOULD_BLOCKCHAIN_ERR_DIALOG_BE_OPEN',
// Docs
- 'UPDATE_LIBRARY_VERSION',
- 'UPDATE_AVAILABLE_LIBRARY_VERSIONS',
+ UpdateLibraryVersion = 'UPDATE_LIBRARY_VERSION',
+ UpdateAvailableLibraryVersions = 'UPDATE_AVAILABLE_LIBRARY_VERSIONS',
// Shared
- 'SHOW_FLASH_MESSAGE',
- 'HIDE_FLASH_MESSAGE',
- 'UPDATE_PROVIDER_TYPE',
- 'UPDATE_INJECTED_PROVIDER_NAME',
-]);
-export type ActionTypes = keyof typeof ActionTypes;
+ ShowFlashMessage = 'SHOW_FLASH_MESSAGE',
+ HideFlashMessage = 'HIDE_FLASH_MESSAGE',
+ UpdateProviderType = 'UPDATE_PROVIDER_TYPE',
+ UpdateInjectedProviderName = 'UPDATE_INJECTED_PROVIDER_NAME',
+}
export interface Action {
type: ActionTypes;
@@ -253,44 +220,47 @@ export interface ContractEvent {
export type InputErrMsg = React.ReactNode | string | undefined;
export type ValidatedBigNumberCallback = (isValid: boolean, amount?: BigNumber) => void;
-export const ScreenWidths = strEnum([
- 'SM',
- 'MD',
- 'LG',
-]);
-export type ScreenWidths = keyof typeof ScreenWidths;
+export enum ScreenWidths {
+ Sm = 'SM',
+ Md = 'MD',
+ Lg = 'LG',
+}
export enum AlertTypes {
ERROR,
SUCCESS,
}
-export const EtherscanLinkSuffixes = strEnum([
- 'address',
- 'tx',
-]);
-export type EtherscanLinkSuffixes = keyof typeof EtherscanLinkSuffixes;
-
-export const BlockchainCallErrs = strEnum([
- 'CONTRACT_DOES_NOT_EXIST',
- 'USER_HAS_NO_ASSOCIATED_ADDRESSES',
- 'UNHANDLED_ERROR',
- 'TOKEN_ADDRESS_IS_INVALID',
- 'INVALID_SIGNATURE',
-]);
-export type BlockchainCallErrs = keyof typeof BlockchainCallErrs;
-
-export const KindString = strEnum([
- 'Constructor',
- 'Property',
- 'Method',
- 'Interface',
- 'Type alias',
- 'Variable',
- 'Function',
- 'Enumeration',
-]);
-export type KindString = keyof typeof KindString;
+export enum EtherscanLinkSuffixes {
+ Address = 'address',
+ Tx = 'tx',
+}
+
+export enum BlockchainErrs {
+ AContractNotDeployedOnNetwork = 'A_CONTRACT_NOT_DEPLOYED_ON_NETWORK',
+ DisconnectedFromEthereumNode = 'DISCONNECTED_FROM_ETHEREUM_NODE',
+ NoError = 'NO_ERROR',
+}
+
+export enum BlockchainCallErrs {
+ ContractDoesNotExist = 'CONTRACT_DOES_NOT_EXIST',
+ UserHasNoAssociatedAddresses = 'USER_HAS_NO_ASSOCIATED_ADDRESSES',
+ UnhandledError = 'UNHANDLED_ERROR',
+ TokenAddressIsInvalid = 'TOKEN_ADDRESS_IS_INVALID',
+}
+
+// Exception: We don't make the values uppercase because these KindString's need to
+// match up those returned by TypeDoc
+export enum KindString {
+ Constructor = 'Constructor',
+ Property = 'Property',
+ Method = 'Method',
+ Interface = 'Interface',
+ TypeAlias = 'Type alias',
+ Variable = 'Variable',
+ Function = 'Function',
+ Enumeration = 'Enumeration',
+}
export interface EnumValue {
name: string;
@@ -486,11 +456,10 @@ export interface MenuSubsectionsBySection {
[section: string]: string[];
}
-export const ProviderType = strEnum([
- 'INJECTED',
- 'LEDGER',
-]);
-export type ProviderType = keyof typeof ProviderType;
+export enum ProviderType {
+ Injected = 'INJECTED',
+ Ledger = 'LEDGER',
+}
export interface Fact {
title: string;
@@ -694,4 +663,13 @@ export interface OutdatedWrappedEtherByNetworkId {
};
}
+export enum SmartContractDocSections {
+ Introduction = 'Introduction',
+ Exchange = 'Exchange',
+ TokenTransferProxy = 'TokenTransferProxy',
+ TokenRegistry = 'TokenRegistry',
+ ZRXToken = 'ZRXToken',
+ EtherToken = 'EtherToken',
+}
+
// tslint:disable:max-file-line-count