diff options
author | Fabio Berger <me@fabioberger.com> | 2017-06-02 18:31:16 +0800 |
---|---|---|
committer | Fabio Berger <me@fabioberger.com> | 2017-06-02 18:31:16 +0800 |
commit | fc3be810a25ce98402c686bd41606e08e7b5c2ac (patch) | |
tree | da0d7ee884c9df78ee7fc0659517075461b35096 /src/types.ts | |
parent | 104b7f2549e0164f629594c590b3d2d936ba66d0 (diff) | |
download | dexon-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.ts | 41 |
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; |