feat: transaction timeout #7329
Merged
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.
Explanation
Automatically fail pending transactions if no receipt and hash is not recognised by network after multiple attempts.
Threshold is defined in new feature flag, supporting chain specific and default values.
Ignores transactions with future nonce or if new optional
isTimeoutEnabledcallback returnsfalse.References
Related to #23563
Checklist
Note
Automatically fails pending transactions with no receipt and not found on-network after a feature-flagged number of attempts, with per-transaction opt-out.
helpers/PendingTransactionTracker.tsto fail transactions lacking a receipt and absent from the network (getTransactionByHash) aftergetTimeoutAttemptsthreshold.Transaction not found on network after timeout.isTimeoutEnabledhook; tracks attempts perhash; leverages messenger feature flags.TransactionControllerby addinghooks.isTimeoutEnabledand passing it toPendingTransactionTracker.getTimeoutAttemptsinutils/feature-flags.ts(per-chain and default support).PendingTransactionTracker.test.tsto mock specific RPC calls and cover timeout paths, counter reset, and edge cases.getTimeoutAttemptsinutils/feature-flags.test.ts.CHANGELOG.mdwith the new auto-fail behavior and configuration details.Written by Cursor Bugbot for commit 2efcfba. This will update automatically on new commits. Configure here.