eth-monitor

Monitor and cache ethereum transactions with match filters
git clone git://git.defalsify.org/eth-monitor.git
Info | Log | Files | Refs | README | LICENSE

base.py (580B)


      1 # standard imports
      2 import os
      3 import logging
      4 import json
      5 
      6 # external imports
      7 from hexathon import strip_0x
      8 from chainsyncer.filter import SyncFilter
      9 
     10 logg = logging.getLogger(__name__)
     11 
     12 
     13 class RuledFilter(SyncFilter):
     14 
     15     def __init__(self, rules_filter=None, store=None):
     16         self.rules_filter = rules_filter
     17 
     18 
     19     def filter(self, conn, block, tx, **kwargs):
     20         if self.rules_filter != None:
     21             if not self.rules_filter.apply_rules(tx):
     22                 logg.debug('rule match failed for tx {}'.format(tx.hash))
     23                 return True
     24         return False