From 9398cd98d054ab274108e377e0f45762c81d8ee4 Mon Sep 17 00:00:00 2001 From: philip Date: Tue, 4 Jan 2022 18:39:08 +0300 Subject: [PATCH] Default to max gas oracle. --- apps/cic-eth/cic_eth/task.py | 29 ++++++++++++++--------------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/apps/cic-eth/cic_eth/task.py b/apps/cic-eth/cic_eth/task.py index 4ca502b0..b611ecbf 100644 --- a/apps/cic-eth/cic_eth/task.py +++ b/apps/cic-eth/cic_eth/task.py @@ -17,7 +17,7 @@ from cic_eth_registry.error import UnknownContractError # local imports from cic_eth.error import SeppukuError from cic_eth.db.models.base import SessionBase -from cic_eth.eth.util import CacheGasOracle +from cic_eth.eth.util import CacheGasOracle, MaxGasOracle #logg = logging.getLogger().getChild(__name__) logg = logging.getLogger() @@ -41,21 +41,20 @@ class BaseTask(celery.Task): def create_gas_oracle(self, conn, address=None, *args, **kwargs): - if address == None: - return RPCGasOracle( + x = None + if address is None: + x = RPCGasOracle( conn, code_callback=kwargs.get('code_callback', self.get_min_fee_limit), min_price=self.min_fee_price, id_generator=kwargs.get('id_generator'), ) + else: - return CacheGasOracle( - conn, - address, - method=kwargs.get('method'), - min_price=self.min_fee_price, - id_generator=kwargs.get('id_generator'), - ) + x = MaxGasOracle(conn) + x.code_callback = x.get_fee_units + + return x def get_min_fee_limit(self, code): @@ -84,7 +83,7 @@ class BaseTask(celery.Task): ) s.apply_async() - + class CriticalTask(BaseTask): retry_jitter = True retry_backoff = True @@ -96,7 +95,7 @@ class CriticalSQLAlchemyTask(CriticalTask): sqlalchemy.exc.DatabaseError, sqlalchemy.exc.TimeoutError, sqlalchemy.exc.ResourceClosedError, - ) + ) class CriticalWeb3Task(CriticalTask): @@ -104,7 +103,7 @@ class CriticalWeb3Task(CriticalTask): ConnectionError, ) safe_gas_threshold_amount = 60000 * 3 - safe_gas_refill_amount = safe_gas_threshold_amount * 5 + safe_gas_refill_amount = safe_gas_threshold_amount * 5 safe_gas_gifter_balance = safe_gas_threshold_amount * 5 * 100 @@ -122,13 +121,13 @@ class CriticalSQLAlchemyAndSignerTask(CriticalTask): sqlalchemy.exc.DatabaseError, sqlalchemy.exc.TimeoutError, sqlalchemy.exc.ResourceClosedError, - ) + ) class CriticalWeb3AndSignerTask(CriticalWeb3Task): autoretry_for = ( ConnectionError, ) - + @celery_app.task() def check_health(self): pass