Fix blockchain transaction error handling#4094
Open
Bojan131 wants to merge 1 commit intov8/developfrom
Open
Conversation
- Add retry logic for transient errors (socket hang up, connection reset, 502/503, fee too low) - Only bump gas price on nonce/fee errors, not on network errors - Add gas estimation retries for transient RPC failures - Add 60s timeout on RPC provider connection to prevent node hanging on unresponsive RPCs - Fix BigNumber NaN bug in gas price calculation during retry - Fix Gnosis EIP-1559 gas params and double gwei-parsing in gas price comparison - Add RPC failover for blockchain event fetching (try all providers before failing) - Log warning when blockchain events are missed due to large block gaps Made-with: Cursor
Closed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
What
Fixes various transient blockchain errors that caused publishes and other operations to fail unnecessarily — socket hang ups, connection resets, fee too low on Gnosis, RPC timeouts on NeuroWeb, and missed blockchain events.
Changes
Transaction retries (web3-service.js)
Gnosis gas fixes (gnosis-service.js)
Event listener resilience (ot-ethers.js, blockchain-event-listener-command.js)
Error constants (constants.js)
Why
These errors were the main cause of failed publishes on Gnosis ("fee too low", "transaction execution fails"), Base ("socket hang up"), and NeuroWeb ("expect block number from id", node hanging on startup). The retry logic handles temporary RPC hiccups, and the gas fixes prevent permanent failures on Gnosis.
Made with Cursor