From 142f6e7d2a936dac641a53a3c7e3bd6756fc9fc5 Mon Sep 17 00:00:00 2001 From: Samuel Furter Date: Tue, 26 Mar 2019 22:07:03 +0100 Subject: [PATCH] eth.subscribe types fixed --- packages/web3-eth/types/index.d.ts | 16 ++++++++------- packages/web3-eth/types/tests/eth.tests.ts | 23 ++++------------------ 2 files changed, 13 insertions(+), 26 deletions(-) diff --git a/packages/web3-eth/types/index.d.ts b/packages/web3-eth/types/index.d.ts index dd933814500..b1b83da3c28 100644 --- a/packages/web3-eth/types/index.d.ts +++ b/packages/web3-eth/types/index.d.ts @@ -54,10 +54,11 @@ export class Eth extends AbstractWeb3Module { clearSubscriptions(): Promise; - subscribe(type: 'logs', options?: Logs, callback?: (error: Error, log: Log) => void): Subscription; - subscribe(type: 'syncing', options?: null, callback?: (error: Error, result: any) => void): Subscription; - subscribe(type: 'newBlockHeaders', options?: null, callback?: (error: Error, blockHeader: BlockHeader) => void): Subscription; - subscribe(type: 'pendingTransactions', options?: null, callback?: (error: Error, transactionHash: string) => void): Subscription; + subscribe( + type: string, + options?: LogsOptions, + callback?: (error: Error, item: Log | Syncing | BlockHeader | string) => void + ): Subscription; getProtocolVersion(callback?: (error: Error, protocolVersion: string) => void): Promise; @@ -186,12 +187,13 @@ export interface Block extends BlockHeader { export interface PastLogsOptions { fromBlock?: number | string; toBlock?: number | string; - address: string | string[]; + address?: string | string[]; topics?: Array; } -export interface Logs { - fromBlock?: number +export interface LogsOptions { + fromBlock?: number | string, + toBlock?: number | string, address?: string | string[] topics?: Array } diff --git a/packages/web3-eth/types/tests/eth.tests.ts b/packages/web3-eth/types/tests/eth.tests.ts index a5694ab5d6d..53e8049e081 100644 --- a/packages/web3-eth/types/tests/eth.tests.ts +++ b/packages/web3-eth/types/tests/eth.tests.ts @@ -45,28 +45,13 @@ eth.net; eth.clearSubscriptions(); -// $ExpectType Subscription +// $ExpectType Subscription eth.subscribe('logs'); -// $ExpectType Subscription +// $ExpectType Subscription eth.subscribe('logs', {}); -// $ExpectType Subscription -eth.subscribe('logs', {}, (error: Error, log: Log) => {}); - -// $ExpectType Subscription -eth.subscribe('syncing'); -// $ExpectType Subscription -eth.subscribe('syncing', null, (error: Error, result: any) => {}); - -// $ExpectType Subscription -eth.subscribe('newBlockHeaders'); -// $ExpectType Subscription -eth.subscribe('newBlockHeaders', null, (error: Error, blockHeader: BlockHeader) => {}); - -// $ExpectType Subscription -eth.subscribe('pendingTransactions'); -// $ExpectType Subscription -eth.subscribe('pendingTransactions', null, (error: Error, transactionHash: string) => {}); +// $ExpectType Subscription +eth.subscribe('logs', {}, (error: Error, log: string | Log | Syncing | BlockHeader) => {}); // $ExpectType Providers Eth.providers;