aboutsummaryrefslogtreecommitdiffstats
path: root/packages/instant/src/types.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/instant/src/types.ts')
-rw-r--r--packages/instant/src/types.ts55
1 files changed, 43 insertions, 12 deletions
diff --git a/packages/instant/src/types.ts b/packages/instant/src/types.ts
index 449bc0f31..d65f70008 100644
--- a/packages/instant/src/types.ts
+++ b/packages/instant/src/types.ts
@@ -1,20 +1,23 @@
-import { AssetProxyId, ObjectMap } from '@0x/types';
+import { AssetBuyer, BigNumber } from '@0x/asset-buyer';
+import { AssetProxyId, ObjectMap, SignedOrder } from '@0x/types';
+import { Web3Wrapper } from '@0x/web3-wrapper';
+import { Provider } from 'ethereum-types';
// Reusable
export type Maybe<T> = T | undefined;
export enum AsyncProcessState {
- NONE = 'None',
- PENDING = 'Pending',
- SUCCESS = 'Success',
- FAILURE = 'Failure',
+ None = 'NONE',
+ Pending = 'PENDING',
+ Success = 'SUCCESS',
+ Failure = 'FAILURE',
}
export enum OrderProcessState {
- NONE = 'None',
- VALIDATING = 'Validating',
- PROCESSING = 'Processing',
- SUCCESS = 'Success',
- FAILURE = 'Failure',
+ None = 'NONE',
+ Validating = 'VALIDATING',
+ Processing = 'PROCESSING',
+ Success = 'SUCCESS',
+ Failure = 'FAILURE',
}
export interface SimulatedProgress {
@@ -23,10 +26,10 @@ export interface SimulatedProgress {
}
interface OrderStatePreTx {
- processState: OrderProcessState.NONE | OrderProcessState.VALIDATING;
+ processState: OrderProcessState.None | OrderProcessState.Validating;
}
interface OrderStatePostTx {
- processState: OrderProcessState.PROCESSING | OrderProcessState.SUCCESS | OrderProcessState.FAILURE;
+ processState: OrderProcessState.Processing | OrderProcessState.Success | OrderProcessState.Failure;
txHash: string;
progress: SimulatedProgress;
}
@@ -89,3 +92,31 @@ export interface AffiliateInfo {
feeRecipient: string;
feePercentage: number;
}
+
+export interface ProviderState {
+ provider: Provider;
+ assetBuyer: AssetBuyer;
+ web3Wrapper: Web3Wrapper;
+ account: Account;
+}
+
+export enum AccountState {
+ Loading = 'LOADING',
+ Ready = 'READY',
+ Locked = 'LOCKED', // TODO(bmillman): break this up into locked / privacy mode enabled
+ Error = 'ERROR',
+ None = 'NONE,',
+}
+
+export interface AccountReady {
+ state: AccountState.Ready;
+ address: string;
+ ethBalanceInWei?: BigNumber;
+}
+export interface AccountNotReady {
+ state: AccountState.None | AccountState.Loading | AccountState.Locked | AccountState.Error;
+}
+
+export type Account = AccountReady | AccountNotReady;
+
+export type OrderSource = string | SignedOrder[];