aboutsummaryrefslogtreecommitdiffstats
path: root/src/types.ts
diff options
context:
space:
mode:
authorFabio Berger <me@fabioberger.com>2017-06-03 03:18:02 +0800
committerGitHub <noreply@github.com>2017-06-03 03:18:02 +0800
commit3d75a502359b54226311215182d388615dbd8498 (patch)
treeeba084371931a9bd7534fd9c2dfadee8e18e64fc /src/types.ts
parent88815e5b4514e4953cc150241340e0b53dadc198 (diff)
parent2e5e8c8987c681ffd0dd1535cb26874a39b8abec (diff)
downloaddexon-sol-tools-3d75a502359b54226311215182d388615dbd8498.tar
dexon-sol-tools-3d75a502359b54226311215182d388615dbd8498.tar.gz
dexon-sol-tools-3d75a502359b54226311215182d388615dbd8498.tar.bz2
dexon-sol-tools-3d75a502359b54226311215182d388615dbd8498.tar.lz
dexon-sol-tools-3d75a502359b54226311215182d388615dbd8498.tar.xz
dexon-sol-tools-3d75a502359b54226311215182d388615dbd8498.tar.zst
dexon-sol-tools-3d75a502359b54226311215182d388615dbd8498.zip
Merge pull request #32 from 0xProject/addEventSubscriptions
Implement zeroEx.exchange.subscribeAsync
Diffstat (limited to 'src/types.ts')
-rw-r--r--src/types.ts54
1 files changed, 50 insertions, 4 deletions
diff --git a/src/types.ts b/src/types.ts
index 9d3127325..68194f548 100644
--- a/src/types.ts
+++ b/src/types.ts
@@ -35,8 +35,26 @@ export type OrderAddresses = [string, string, string, string, string];
export type OrderValues = [BigNumber.BigNumber, BigNumber.BigNumber, BigNumber.BigNumber,
BigNumber.BigNumber, BigNumber.BigNumber, BigNumber.BigNumber];
+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;
+ isValidSignature: {
+ call: (signerAddressHex: string, dataHex: string, v: number, r: string, s: string,
+ txOpts: TxOpts) => Promise<boolean>;
+ };
+ LogFill: CreateContractEvent;
+ LogCancel: CreateContractEvent;
+ LogError: CreateContractEvent;
+ ZRX: {
+ call: () => Promise<string>;
+ };
getUnavailableValueT: {
call: (orderHash: string) => BigNumber.BigNumber;
};
@@ -56,9 +74,6 @@ export interface ExchangeContract {
cancelled: {
call: (orderHash: string) => BigNumber.BigNumber;
};
- ZRX: {
- call: () => Promise<string>;
- };
}
export interface TokenContract {
@@ -121,6 +136,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;
}
@@ -158,3 +180,27 @@ export interface TxOpts {
from: string;
gas?: number;
}
+
+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 type BlockParam = 'latest'|'earliest'|'pending'|number;
+
+export interface SubscriptionOpts {
+ fromBlock: BlockParam;
+ toBlock: BlockParam;
+}
+
+export type DoneCallback = (err?: Error) => void;