Pass tests with new uniform filter constructor signature
This commit is contained in:
@@ -1 +1 @@
|
||||
from .filter import *
|
||||
from .base import *
|
||||
|
||||
@@ -1,8 +1,16 @@
|
||||
# external imports
|
||||
from chainlib.eth.constant import ZERO_ADDRESS
|
||||
|
||||
|
||||
class SyncFilter:
|
||||
|
||||
def __init__(self):
|
||||
def __init__(self, chain_spec, registry, queue, caller_address=ZERO_ADDRESS):
|
||||
self.exec_count = 0
|
||||
self.match_count = 0
|
||||
self.queue = queue
|
||||
self.chain_spec = chain_spec
|
||||
self.registry = registry
|
||||
self.caller_address = caller_address
|
||||
|
||||
|
||||
def filter(self, conn, block, tx, db_session):
|
||||
|
||||
@@ -25,7 +25,7 @@ from cic_sync_filter.parse import (
|
||||
parse_transferfrom,
|
||||
parse_giftto,
|
||||
)
|
||||
from cic_sync_filter import SyncFilter
|
||||
from .base import SyncFilter
|
||||
|
||||
logg = logging.getLogger(__name__)
|
||||
|
||||
@@ -34,14 +34,6 @@ class CallbackFilter(SyncFilter):
|
||||
|
||||
trusted_addresses = []
|
||||
|
||||
def __init__(self, chain_spec, method, queue, caller_address=ZERO_ADDRESS):
|
||||
super(CallbackFilter, self).__init__()
|
||||
self.queue = queue
|
||||
self.method = method
|
||||
self.chain_spec = chain_spec
|
||||
self.caller_address = caller_address
|
||||
|
||||
|
||||
def call_back(self, transfer_type, result):
|
||||
result['chain_spec'] = result['chain_spec'].asdict()
|
||||
s = celery.signature(
|
||||
@@ -88,8 +80,8 @@ class CallbackFilter(SyncFilter):
|
||||
return (transfer_type, transfer_data)
|
||||
|
||||
|
||||
def filter(self, conn, block, tx):
|
||||
super(CallbackFilter, self).filter(conn, block, tx)
|
||||
def filter(self, conn, block, tx, db_session=None):
|
||||
super(CallbackFilter, self).filter(conn, block, tx, db_session)
|
||||
transfer_data = None
|
||||
transfer_type = None
|
||||
try:
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
# external imports
|
||||
from chainsyncer.filter import SyncFilter as BaseSyncFilter
|
||||
|
||||
|
||||
class SyncFilter(BaseSyncFilter):
|
||||
|
||||
def __init__(self):
|
||||
self.exec_count = 0
|
||||
self.match_count = 0
|
||||
|
||||
|
||||
def filter(self, conn, block, tx):
|
||||
self.exec_count += 1
|
||||
|
||||
|
||||
def register_match(self):
|
||||
self.match_count += 1
|
||||
|
||||
|
||||
def to_logline(self, block, tx, v):
|
||||
return '{} exec {} match {} block {} tx {}: {}'.format(self, self.exec_count, self.match_count, block.number, tx.index, v)
|
||||
@@ -24,12 +24,6 @@ logg = logging.getLogger()
|
||||
|
||||
class GasFilter(SyncFilter):
|
||||
|
||||
def __init__(self, chain_spec, queue=None):
|
||||
super(GasFilter, self).__init__()
|
||||
self.queue = queue
|
||||
self.chain_spec = chain_spec
|
||||
|
||||
|
||||
def filter(self, conn, block, tx, db_session):
|
||||
super(GasFilter, self).filter(conn, block, tx, db_session)
|
||||
if tx.value > 0 or len(tx.payload) == 0:
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
# standard imports
|
||||
import logging
|
||||
|
||||
# third-party imports
|
||||
# external imports
|
||||
import celery
|
||||
from chainlib.eth.constant import ZERO_ADDRESS
|
||||
from chainlib.eth.address import to_checksum_address
|
||||
from hexathon import (
|
||||
add_0x,
|
||||
@@ -19,11 +20,9 @@ account_registry_add_log_hash = '0x9cc987676e7d63379f176ea50df0ae8d2d9d1141d1231
|
||||
|
||||
class RegistrationFilter(SyncFilter):
|
||||
|
||||
def __init__(self, chain_spec, contract_address, queue=None):
|
||||
super(RegistrationFilter, self).__init__()
|
||||
self.chain_spec = chain_spec
|
||||
self.queue = queue
|
||||
self.contract_address = contract_address
|
||||
def __init__(self, chain_spec, registry, queue, caller_address=ZERO_ADDRESS):
|
||||
super(RegistrationFilter, self).__init__(chain_spec, registry, queue, caller_address=caller_address)
|
||||
self.contract_address = registry.by_name('AccountRegistry', sender_address=caller_address)
|
||||
|
||||
|
||||
def filter(self, conn, block, tx, db_session=None):
|
||||
|
||||
@@ -13,16 +13,15 @@ from chainlib.eth.gas import balance
|
||||
from chainqueue.sql.query import get_tx_cache
|
||||
from chainqueue.enum import StatusBits
|
||||
|
||||
# local imports
|
||||
from .base import SyncFilter
|
||||
|
||||
logg = logging.getLogger()
|
||||
|
||||
|
||||
class StragglerFilter:
|
||||
|
||||
def __init__(self, chain_spec, gas_balance_threshold, queue='cic-eth'):
|
||||
self.chain_spec = chain_spec
|
||||
self.queue = queue
|
||||
self.gas_balance_threshold = gas_balance_threshold
|
||||
class StragglerFilter(SyncFilter):
|
||||
|
||||
gas_balance_threshold = 0
|
||||
|
||||
def filter(self, conn, block, tx, db_session=None):
|
||||
txc = get_tx_cache(self.chain_spec, tx.hash, session=db_session)
|
||||
|
||||
@@ -24,13 +24,6 @@ logg = logging.getLogger(__name__)
|
||||
|
||||
class TokenFilter(SyncFilter):
|
||||
|
||||
def __init__(self, chain_spec, queue, call_address=ZERO_ADDRESS):
|
||||
super(TokenFilter, self).__init__()
|
||||
self.queue = queue
|
||||
self.chain_spec = chain_spec
|
||||
self.caller_address = call_address
|
||||
|
||||
|
||||
def filter(self, conn, block, tx, db_session=None):
|
||||
super(TokenFilter, self).filter(conn, block, tx, db_session)
|
||||
if not tx.payload:
|
||||
|
||||
@@ -18,14 +18,8 @@ logg = logging.getLogger(__name__)
|
||||
|
||||
class TxFilter(SyncFilter):
|
||||
|
||||
def __init__(self, chain_spec, queue):
|
||||
super(TxFilter, self).__init__()
|
||||
self.queue = queue
|
||||
self.chain_spec = chain_spec
|
||||
|
||||
|
||||
def filter(self, conn, block, tx, db_session=None):
|
||||
super(TxFilter, self).filter(conn, block, tx, db_session)
|
||||
super(TxFilter, self).filter(conn, block, tx, db_session=db_session)
|
||||
|
||||
try:
|
||||
get_tx_local(self.chain_spec, tx.hash)
|
||||
|
||||
Reference in New Issue
Block a user