aboutsummaryrefslogtreecommitdiffstats
path: root/src/types.ts
diff options
context:
space:
mode:
authorFabio Berger <me@fabioberger.com>2017-06-02 18:31:16 +0800
committerFabio Berger <me@fabioberger.com>2017-06-02 18:31:16 +0800
commitfc3be810a25ce98402c686bd41606e08e7b5c2ac (patch)
treeda0d7ee884c9df78ee7fc0659517075461b35096 /src/types.ts
parent104b7f2549e0164f629594c590b3d2d936ba66d0 (diff)
downloaddexon-sol-tools-fc3be810a25ce98402c686bd41606e08e7b5c2ac.tar
dexon-sol-tools-fc3be810a25ce98402c686bd41606e08e7b5c2ac.tar.gz
dexon-sol-tools-fc3be810a25ce98402c686bd41606e08e7b5c2ac.tar.bz2
dexon-sol-tools-fc3be810a25ce98402c686bd41606e08e7b5c2ac.tar.lz
dexon-sol-tools-fc3be810a25ce98402c686bd41606e08e7b5c2ac.tar.xz
dexon-sol-tools-fc3be810a25ce98402c686bd41606e08e7b5c2ac.tar.zst
dexon-sol-tools-fc3be810a25ce98402c686bd41606e08e7b5c2ac.zip
Implement zeroEx.exchange.subscribeAsync made sure to clean up subscriptions if user updates the provider
Diffstat (limited to 'src/types.ts')
-rw-r--r--src/types.ts41
1 files changed, 41 insertions, 0 deletions
diff --git a/src/types.ts b/src/types.ts
index 29f7e0ee4..c6ad68d3f 100644
--- a/src/types.ts
+++ b/src/types.ts
@@ -51,6 +51,22 @@ export interface ExchangeContract {
};
}
+export type EventCallbackAsync = (err: Error, event: ContractEvent) => Promise<void>;
+export type EventCallbackSync = (err: Error, event: ContractEvent) => void;
+export type EventCallback = EventCallbackSync|EventCallbackAsync;
+export interface ContractEventObj {
+ watch: (eventWatch: EventCallback) => void;
+ stopWatching: () => void;
+}
+export type CreateContractEvent = (indexFilterValues: IndexFilterValues,
+ subscriptionOpts: SubscriptionOpts) => ContractEventObj;
+export interface ExchangeContract {
+ isValidSignature: any;
+ LogFill: CreateContractEvent;
+ LogCancel: CreateContractEvent;
+ LogError: CreateContractEvent;
+}
+
export interface TokenContract {
balanceOf: {
call: (address: string) => Promise<BigNumber.BigNumber>;
@@ -110,6 +126,13 @@ export interface ContractResponse {
}
export interface ContractEvent {
+ logIndex: number;
+ transactionIndex: number;
+ transactionHash: string;
+ blockHash: string;
+ blockNumber: number;
+ address: string;
+ type: string;
event: string;
args: any;
}
@@ -151,3 +174,21 @@ export interface TxOpts {
export interface TokenAddressBySymbol {
[symbol: string]: string;
}
+
+export const ExchangeEvents = strEnum([
+ 'LogFill',
+ 'LogCancel',
+ 'LogError',
+]);
+export type ExchangeEvents = keyof typeof ExchangeEvents;
+
+export interface IndexFilterValues {
+ [index: string]: any;
+}
+
+export interface SubscriptionOpts {
+ fromBlock: string|number;
+ toBlock: string|number;
+}
+
+export type DoneCallback = (err?: Error) => void;