Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fix: Add timeout protection to prevent infinite hangs in DKG client operations
Problem
Jenkins pipeline tests were hanging indefinitely during DKG operations, particularly affecting Neuroweb testnet. The issue was caused by missing timeout protection in core blockchain interaction methods, leading to infinite loops when network conditions were poor or nodes were unresponsive.
Root Cause
Several critical DKG client methods lacked proper timeout protection:
waitForEventFinality: No timeout protection, could hang indefinitely during block confirmationsexecuteContractFunction: No timeout protection, could hang indefinitely during contract executionfinalityStatus: Only had retry limits (25s max), no total timeout protectiongetOperationResult: Only had retry limits (25s max), no total timeout protectionSolution
Added comprehensive timeout protection to prevent infinite hangs:
waitForEventFinality: Added 60-second timeout (using existingtransactionFinalityMaxWaitTimeconfig)executeContractFunction: Added 5-minute total timeoutfinalityStatus: Added 5-minute total timeout (in addition to existing retry limits)getOperationResult: Added 5-minute total timeout (in addition to existing retry limits)Impact
Testing