diff --git a/src/config/settings.py b/src/config/settings.py index d3b8e49a..36bde134 100644 --- a/src/config/settings.py +++ b/src/config/settings.py @@ -33,6 +33,7 @@ class Settings(metaclass=Singleton): consensus_retry_timeout: int execution_endpoints: list[str] execution_timeout: int + execution_transaction_timeout: int execution_retry_timeout: int harvest_vault: bool @@ -162,6 +163,9 @@ def set( 'POOL_SIZE', default=None, cast=lambda x: int(x) if x else None ) self.execution_timeout = decouple_config('EXECUTION_TIMEOUT', default=30, cast=int) + self.execution_transaction_timeout = decouple_config( + 'EXECUTION_TRANSACTION_TIMEOUT', default=300, cast=int + ) self.execution_retry_timeout = decouple_config( 'EXECUTION_RETRY_TIMEOUT', default=60, cast=int ) diff --git a/src/exits/execution.py b/src/exits/execution.py index 73ff4973..7c8b1c59 100644 --- a/src/exits/execution.py +++ b/src/exits/execution.py @@ -36,5 +36,7 @@ async def submit_exit_signatures( return None logger.info('Waiting for transaction %s confirmation', Web3.to_hex(tx)) - await execution_client.eth.wait_for_transaction_receipt(tx, timeout=300) + await execution_client.eth.wait_for_transaction_receipt( + tx, timeout=settings.execution_transaction_timeout + ) return Web3.to_hex(tx) diff --git a/src/harvest/execution.py b/src/harvest/execution.py index d9d6a854..4f1e33e2 100644 --- a/src/harvest/execution.py +++ b/src/harvest/execution.py @@ -35,5 +35,7 @@ async def submit_harvest_transaction(harvest_params: HarvestParams) -> HexStr | tx_hash = Web3.to_hex(tx) logger.info('Waiting for transaction %s confirmation', tx_hash) - await execution_client.eth.wait_for_transaction_receipt(tx, timeout=300) + await execution_client.eth.wait_for_transaction_receipt( + tx, timeout=settings.execution_transaction_timeout + ) return tx_hash diff --git a/src/validators/execution.py b/src/validators/execution.py index 47bb8b04..51b9918a 100644 --- a/src/validators/execution.py +++ b/src/validators/execution.py @@ -289,7 +289,9 @@ async def register_single_validator( tx_hash = Web3.to_hex(tx) logger.info('Waiting for transaction %s confirmation', tx_hash) - await execution_client.eth.wait_for_transaction_receipt(tx, timeout=300) + await execution_client.eth.wait_for_transaction_receipt( + tx, timeout=settings.execution_transaction_timeout + ) return tx_hash @@ -339,5 +341,7 @@ async def register_multiple_validator( tx_hash = Web3.to_hex(tx) logger.info('Waiting for transaction %s confirmation', tx_hash) - await execution_client.eth.wait_for_transaction_receipt(tx, timeout=300) + await execution_client.eth.wait_for_transaction_receipt( + tx, timeout=settings.execution_transaction_timeout + ) return tx_hash