Enhancement: Only look back to FirstValid for pending transactions that were found in the pool #5295
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.
Summary
Addresses #3967 to provide a much faster response time when looking for pending transactions.
The current behavior is to look in the pending pool for the transaction ID, if found set a flag and speculatively set the txn var to be returned but continue looking through the last ~1k blocks for the same transaction.
This change uses the information we found in the pending pool (if found) to restrict the historic rounds we search to only those where it could possibly be found.
Since this endpoint is most commonly used to track confirmed transactions, the
FirstValid
round is likely to be recent. So for an unconfirmed transaction that is found in the pool, we don't waste time looking back 1k rounds for itTest Plan
Copied bin into sandbox and curl'd it