-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
account_lines paginating when there is only one "line" (Version: 1.9.4) #4340
Comments
I've been able to reproduce this, and should have a fix PR soon. |
* Resolves XRPLF#4340 and XRPLF#4354 * Add unit test that walks all the object types and verifies that all of their indexes can work as a marker.
* Resolves XRPLF#4340 and XRPLF#4354 * Add unit test that walks all the object types and verifies that all of their indexes can work as a marker.
#4361 resolves the issue with the Please read the description of that PR for more details. |
* Resolves XRPLF#4340 and XRPLF#4354 * Add unit test that walks all the object types and verifies that all of their indexes can work as a marker.
* Resolves XRPLF#4340 and XRPLF#4354 * Add unit test that walks all the object types and verifies that all of their indexes can work as a marker.
* Resolves XRPLF#4340 and XRPLF#4354 * Add unit test that walks all the object types and verifies that all of their indexes can work as a marker.
* Resolves XRPLF#4340 and XRPLF#4354 * Add unit test that walks all the object types and verifies that all of their indexes can work as a marker.
* Resolves XRPLF#4340 and XRPLF#4354 * Add unit test that walks all the object types and verifies that all of their indexes can work as a marker.
There were situations where `marker`s returned by `account_lines` did not work on subsequent requests, returning "Invalid Parameters". This was caused by the optimization implemented in "Enforce account RPC limits by account objects traversed": e289896?diff=unified&w=1 Previously, the ledger traversal would find up to `limit` account lines, and if there were more, the marker would be derived from the key of the next account line. After the change, ledger traversal would _consider_ up to `limit` account objects of any kind found in the account's directory structure. If there were more, the marker would be derived from the key of the next object, regardless of type. With this optimization, it is expected that `account_lines` may return fewer than `limit` account lines - even 0 - along with a marker indicating that there are may be more available. The problem is that this optimization did not update the `RPC::isOwnedByAccount` helper function to handle those other object types. Additionally, XLS-20 added `ltNFTOKEN_OFFER` ledger objects to objects that have been added to the account's directory structure, but did not update `RPC::isOwnedByAccount` to be able to handle those objects. The `marker` provided in the example for #4354 includes the key for an `ltNFTOKEN_OFFER`. When that `marker` is used on subsequent calls, it is not recognized as valid, and so the request fails. * Add unit test that walks all the object types and verifies that all of their indexes can work as a marker. * Fix #4340 * Fix #4354
Issue Description
account_lines
command of accountrBLadExFZKY7AqpTDxqSoWJgmgVZyA6wcX
returns marker where there should be no markers.Also with limit of 100 there is no "lines" returned, when querying 200 there is 1 item in "lines" returned.
Note: There are lot of NFTs in this account.
Steps to Reproduce
Use https://xrpl.org/websocket-api-tool.html#account_lines
This above returns marker and lines response is empty.
This above returns marker and lines response returns one (1) item in "lines".
Using marker returns "invalidParams" error.
Results are consistant for xrplcluster.com, s1.ripple.com and s2.ripple.com.
Expected Result
No marker, only one trustline returned with no limit defined or limit 1 minimum,
Actual Result
As you can see "marker" value filled and "lines" is empty.
Supporting Files
Discovered by KegsRP https://twitter.com/KegsRp/status/1590593708130697216
The text was updated successfully, but these errors were encountered: