-
Notifications
You must be signed in to change notification settings - Fork 1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Clarify that terQUEUED can change ledger state #623
Conversation
Sorry, but this is not accurate. Transactions that result in ter codes, even terQUEUED, do not change the ledger. However, any transaction that results in a ter class code will be automatically retried. If it then succeeds, its result code changes. They only thing that is different about terQUEUED is that it is more likely that the transaction will succeed when it is retried. Although the original caution blurb here is technically accurate, I can see how it would be easy to misunderstand. I'll try to reword it in a way that is less confusing but still accurate. |
The important thing to remember is that, upon transaction submission, any response that the server gives you is tentative and can change, especially before the transaction is validated. In the case of So yes, you are correct that a transaction that is given a tentative result of You must never trust the transaction result code until it is in a validated ledger.* Due to a current issue in rippled, this is the case no matter what the result code is. It may make sense to call this out more clearly in the docs. * (Aside: Of course, some transactions never get included in a validated ledger - for example, if the transaction is invalid, or expires due to |
Thanks for the feedback. This has been very helpful. I must confess that I didn't realise all
Is this clear and accurate?
Could be something like
Do you think this, or similar improvements are worthwhile. Certainly as a person trying to integrate with Ripple and determine what action to take in each scenario, the clearer the things can be, the better. |
I have pushed a new commit replacing the old one following up what was discussed on this thread. I hope it works for everyone. |
Not only ter codes are retried. Other result failures could also be automatically retried and succeed later.
Thanks for the contribution. I modified it just a little bit more because I want it to be clear that it's not just |
Awesome @mDuo13. Thanks! |
The ter-codes document previously states that transaction responses with terCodes can't affect the state of the ledger. This is misleading, as terQUEUED does, normally in the next ledger, without any further action from the caller. It seems from the description that all other ter codes won't modify the ledger without resubmission.