From b13d68c7e99319420b0ee500308635442c8594d2 Mon Sep 17 00:00:00 2001 From: debris Date: Wed, 27 Jan 2016 19:00:42 +0100 Subject: [PATCH] missing eth filter interface --- rpc/src/v1/traits/eth.rs | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/rpc/src/v1/traits/eth.rs b/rpc/src/v1/traits/eth.rs index 1586e7069..3dcdfdf05 100644 --- a/rpc/src/v1/traits/eth.rs +++ b/rpc/src/v1/traits/eth.rs @@ -131,21 +131,33 @@ pub trait Eth: Sized + Send + Sync + 'static { /// Eth filters rpc api (polling). // TODO: do filters api properly pub trait EthFilter: Sized + Send + Sync + 'static { - /// Returns id of new block filter + /// Returns id of new filter. + fn new_filter(&self, _: Params) -> Result { rpc_unimplemented!() } + + /// Returns id of new block filter. fn new_block_filter(&self, _: Params) -> Result { rpc_unimplemented!() } - /// Returns id of new block filter + /// Returns id of new block filter. fn new_pending_transaction_filter(&self, _: Params) -> Result { rpc_unimplemented!() } - /// Returns filter changes since last poll + /// Returns filter changes since last poll. fn filter_changes(&self, _: Params) -> Result { rpc_unimplemented!() } + /// Returns filter logs. + fn filter_logs(&self, _: Params) -> Result { rpc_unimplemented!() } + + /// Uninstalls filter. + fn uninstall_filter(&self, _: Params) -> Result { rpc_unimplemented!() } + /// Should be used to convert object to io delegate. fn to_delegate(self) -> IoDelegate { let mut delegate = IoDelegate::new(Arc::new(self)); + delegate.add_method("eth_newFilter", EthFilter::new_filter); delegate.add_method("eth_newBlockFilter", EthFilter::new_block_filter); delegate.add_method("eth_newPendingTransactionFilter", EthFilter::new_pending_transaction_filter); delegate.add_method("eth_getFilterChanges", EthFilter::filter_changes); + delegate.add_method("eth_getFilterLogs", EthFilter::filter_logs); + delegate.add_method("eth_uninstallFilter", EthFilter::uninstall_filter); delegate } }