Rehabilitate all except straggler after removal of db_session in filter

This commit is contained in:
lash 2022-04-23 10:28:22 +00:00
parent 38d5ca3826
commit 1de24f8436
Signed by: lash
GPG Key ID: 21D2E7BB88C2A746
4 changed files with 11 additions and 10 deletions

View File

@ -10,7 +10,7 @@ from chainqueue.sql.state import (
from chainqueue.error import TxStateChangeError
from hexathon import to_int as hex_to_int
from chainlib.eth.gas import balance
from chainqueue.sql.query import get_tx_cache
from cic_eth.queue.query import get_tx_cache_local
from chainqueue.enum import StatusBits
# local imports
@ -24,7 +24,7 @@ class StragglerFilter(SyncFilter):
gas_balance_threshold = 0
def filter(self, conn, block, tx):
txc = get_tx_cache(self.chain_spec, tx.hash)
txc = get_tx_cache_local(self.chain_spec, tx.hash)
if txc['status_code'] & StatusBits.GAS_ISSUES > 0:
o = balance(tx.outputs[0])
r = conn.do(o)
@ -46,7 +46,7 @@ class StragglerFilter(SyncFilter):
try:
obsolete_by_cache(self.chain_spec, tx.hash, False, session=db_session)
obsolete_by_cache(self.chain_spec, tx.hash, False)
except TxStateChangeError:
set_fubar(self.chain_spec, tx.hash, session=db_session)
return False

View File

@ -26,11 +26,9 @@ logg = logging.getLogger(__name__)
class TransferAuthFilter(SyncFilter):
def __init__(self, registry, chain_spec, conn, queue=None, call_address=ZERO_ADDRESS):
self.queue = queue
self.chain_spec = chain_spec
registry = CICRegistry(chain_spec, conn)
self.transfer_request_contract = registry.by_name('TransferAuthorization', sender_address=call_address)
def __init__(self, chain_spec, registry, queue, caller_address=ZERO_ADDRESS):
super(TransferAuthFilter, self).__init__(chain_spec, registry, queue, caller_address=caller_address)
self.transfer_request_contract = registry.by_name('TransferAuthorization', sender_address=caller_address)
def filter(self, conn, block, tx):

View File

@ -19,7 +19,7 @@ logg = logging.getLogger(__name__)
class TxFilter(SyncFilter):
def filter(self, conn, block, tx):
super(TxFilter, self).filter(conn, block)
super(TxFilter, self).filter(conn, block, tx)
try:
get_tx_local(self.chain_spec, tx.hash)

View File

@ -17,6 +17,7 @@ from chainlib.eth.block import (
from hexathon import strip_0x
from chainqueue.sql.query import get_account_tx
from cic_eth.encode import tx_normalize
from cic_eth_registry import CICRegistry
# local imports
from cic_sync_filter.transferauth import TransferAuthFilter
@ -61,7 +62,9 @@ def test_filter_transferauth(
tx_src = unpack(tx_signed_raw_bytes, default_chain_spec)
tx = Tx(tx_src, block=block)
fltr = TransferAuthFilter(cic_registry, default_chain_spec, eth_rpc, call_address=contract_roles['CONTRACT_DEPLOYER'])
registry = CICRegistry(default_chain_spec, eth_rpc)
queue = None
fltr = TransferAuthFilter(default_chain_spec, registry, queue, caller_address=contract_roles['CONTRACT_DEPLOYER'])
t = fltr.filter(eth_rpc, block, tx)
t.get_leaf()