Allow for automatic retry if tx_too_early - #32
Merged
Merged
Conversation
hklee93
approved these changes
May 8, 2025
hklee93
left a comment
Contributor
There was a problem hiding this comment.
interesting error, haven't seen this one so far but glad we have seen it!
Contributor
Author
|
Yeah, this one is new. It only got introduced with #28. That's my bad 😅 wasn't factoring in that the clocks might not be synchronized. |
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.
With the introduction of timebounds into A2U payments, it seems to be possible that even when using
Time.nowformin_time, it can still be earlier than the time recorded on Horizon servers. Presumably this is by a small margin, and there's nothing inherently wrong with the transaction request, so rather than immediately raising an error like we would for most user-side errors, this one we can re-attempt like a server-side error (and indeed the tx_too_early code raises errors quite frequently if we don't do this).