From 6f4d1d598b6395e963a0350739bcfa45cee470f1 Mon Sep 17 00:00:00 2001 From: Iuri Matias Date: Thu, 22 Aug 2019 17:13:22 -0400 Subject: [PATCH] implement eth_getFilterLogs --- remix-lib/src/execution/logsManager.js | 7 +++++++ remix-simulator/README.md | 2 +- remix-simulator/src/methods/filters.js | 7 ++++++- 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/remix-lib/src/execution/logsManager.js b/remix-lib/src/execution/logsManager.js index 0c4fdd9f59..e0737ed0d1 100644 --- a/remix-lib/src/execution/logsManager.js +++ b/remix-lib/src/execution/logsManager.js @@ -73,6 +73,13 @@ class LogsManager { return matchedSubscriptions } + getLogsForSubscription(subscriptionId) { + const subscriptionParams = this.subscriptions[subscriptionId] + const [_queryType, queryFilter] = subscriptionParams + + return this.getLogsFor(queryFilter); + } + transmit (result) { this.notificationCallbacks.forEach((callback) => { if (result.params.result.raw) { diff --git a/remix-simulator/README.md b/remix-simulator/README.md index 7ae41539ee..0d80b24fa3 100644 --- a/remix-simulator/README.md +++ b/remix-simulator/README.md @@ -45,7 +45,7 @@ Implemented: * [_] eth_newPendingTransactionFilter * [_] eth_uninstallFilter * [_] eth_getFilterChanges -* [_] eth_getFilterLogs +* [X] eth_getFilterLogs * [X] eth_getLogs * [_] eth_getWork * [_] eth_submitWork diff --git a/remix-simulator/src/methods/filters.js b/remix-simulator/src/methods/filters.js index 3146a18264..aa18234914 100644 --- a/remix-simulator/src/methods/filters.js +++ b/remix-simulator/src/methods/filters.js @@ -13,7 +13,12 @@ Filters.prototype.methods = function () { } } -// https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_getlogs +Filters.prototype.eth_getFilterLogs = function (payload, cb) { + let subscriptionId = payload.params[0]; + let results = executionContext.logsManager.getLogsForSubscription(subscriptionId) + cb(null, results) +} + Filters.prototype.eth_getLogs = function (payload, cb) { let results = executionContext.logsManager.getLogsFor(payload.params[0]) cb(null, results)