diff options
author | Leonid Logvinov <logvinov.leon@gmail.com> | 2017-10-13 17:52:59 +0800 |
---|---|---|
committer | Leonid Logvinov <logvinov.leon@gmail.com> | 2017-10-13 17:52:59 +0800 |
commit | 0eaca6c691d92a10b08c0e69306291aa8de06bfb (patch) | |
tree | ffa00109b4115025b8be35822abbbbd4ddb05155 /src/types.ts | |
parent | ba654c04a086b8c4ce4330b3d6064716a4090599 (diff) | |
download | dexon-sol-tools-0eaca6c691d92a10b08c0e69306291aa8de06bfb.tar dexon-sol-tools-0eaca6c691d92a10b08c0e69306291aa8de06bfb.tar.gz dexon-sol-tools-0eaca6c691d92a10b08c0e69306291aa8de06bfb.tar.bz2 dexon-sol-tools-0eaca6c691d92a10b08c0e69306291aa8de06bfb.tar.lz dexon-sol-tools-0eaca6c691d92a10b08c0e69306291aa8de06bfb.tar.xz dexon-sol-tools-0eaca6c691d92a10b08c0e69306291aa8de06bfb.tar.zst dexon-sol-tools-0eaca6c691d92a10b08c0e69306291aa8de06bfb.zip |
Make logs fetching and sunscriptions more type-safe
Diffstat (limited to 'src/types.ts')
-rw-r--r-- | src/types.ts | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/types.ts b/src/types.ts index 8c0bc1cf9..d933404b7 100644 --- a/src/types.ts +++ b/src/types.ts @@ -36,12 +36,12 @@ export type OrderAddresses = [string, string, string, string, string]; export type OrderValues = [BigNumber.BigNumber, BigNumber.BigNumber, BigNumber.BigNumber, BigNumber.BigNumber, BigNumber.BigNumber, BigNumber.BigNumber]; -export interface LogEvent extends LogWithDecodedArgs { +export interface LogEvent<ArgsType> extends LogWithDecodedArgs<ArgsType> { removed: boolean; } -export type EventCallbackAsync = (log: LogEvent) => Promise<void>; -export type EventCallbackSync = (log: LogEvent) => void; -export type EventCallback = EventCallbackSync|EventCallbackAsync; +export type EventCallbackAsync<ArgsType> = (log: LogEvent<ArgsType>) => Promise<void>; +export type EventCallbackSync<ArgsType> = (log: LogEvent<ArgsType>) => void; +export type EventCallback<ArgsType> = EventCallbackSync<ArgsType>|EventCallbackAsync<ArgsType>; export interface ExchangeContract extends Web3.ContractInstance { isValidSignature: { callAsync: (signerAddressHex: string, dataHex: string, v: number, r: string, s: string, @@ -419,15 +419,15 @@ export interface DecodedLogArgs { [argName: string]: ContractEventArg; } -export interface DecodedArgs { - args: DecodedLogArgs; +export interface DecodedArgs<ArgsType> { + args: ArgsType; event: string; } -export interface LogWithDecodedArgs extends Web3.LogEntry, DecodedArgs {} +export interface LogWithDecodedArgs<ArgsType> extends Web3.LogEntry, DecodedArgs<ArgsType> {} export interface TransactionReceiptWithDecodedLogs extends Web3.TransactionReceipt { - logs: Array<LogWithDecodedArgs|Web3.LogEntry>; + logs: Array<LogWithDecodedArgs<DecodedLogArgs>|Web3.LogEntry>; } export interface Artifact { |