From 6707754580490c5a801d6205af0841794d20b3c9 Mon Sep 17 00:00:00 2001 From: Richard Moore Date: Thu, 23 Apr 2020 23:10:21 -0400 Subject: [PATCH] Added WebSocketProvider support for ENS names in filters. --- packages/providers/src.ts/websocket-provider.ts | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/packages/providers/src.ts/websocket-provider.ts b/packages/providers/src.ts/websocket-provider.ts index 9fdf74f081..88ac396e35 100644 --- a/packages/providers/src.ts/websocket-provider.ts +++ b/packages/providers/src.ts/websocket-provider.ts @@ -167,7 +167,9 @@ export class WebSocketProvider extends JsonRpcProvider { async _subscribe(tag: string, param: Array, processFunc: (result: any) => void): Promise { let subIdPromise = this._subIds[tag]; if (subIdPromise == null) { - subIdPromise = this.send("eth_subscribe", param); + subIdPromise = Promise.all(param).then((param) => { + return this.send("eth_subscribe", param); + }); this._subIds[tag] = subIdPromise; } const subId = await subIdPromise; @@ -188,11 +190,12 @@ export class WebSocketProvider extends JsonRpcProvider { }); break; - case "filter": - this._subscribe(event.tag, [ "logs", event.filter ], (result: any) => { + case "filter": { + this._subscribe(event.tag, [ "logs", this._getFilter(event.filter) ], (result: any) => { this.emit(event.filter, result); }); break; + } case "tx": { const emitReceipt = (event: Event) => {