rippled behebt Seitenumbruch in account_lines und zwei weiteren Abfragen
Die Maintainer von rippled, dem Referenzserver des XRP Ledger, haben am 2. Oktober eine Korrektur der Paginierung in drei kontobezogenen API-Methoden übernommen: account_lines, account_offers und account_channels. Der Pull Request mit der Nummer 8274 ist noch in keinem Release enthalten.
Alle drei Methoden blättern durch die Objekte im Owner Directory eines Kontos, der Struktur im Ledger, die alles verzeichnet, was einem Konto gehört, und geben einen Marker zurück, mit dem der Client die nächste Seite anfordert. Kommt eine Anfrage mit Marker, prüft der Server, ob er auf einen Eintrag dieses Kontos zeigt. Laut Pull Request nutzte diese Prüfung eine fest codierte Liste zugehöriger Objekttypen in der Funktion rpc::isRelatedToAccount, und die Liste stammte aus der Zeit vor vielen später hinzugekommenen Typen, darunter Credential, Oracle, PermissionedDomain, MPTokenIssuance, MPToken, Vault, LoanBroker, Loan, Sponsorship, Delegate und DID.
Fiel eine Seitengrenze auf einen dieser neueren Einträge, konnte der Marker die Prüfung nicht bestehen, und die Paginierung für dieses Konto brach. Die Korrektur macht die Markerprüfung allgemein: Sie prüft direkt die Zugehörigkeit zum Owner Directory statt eine Typliste abzugleichen, sodass sie korrekt bleibt, wenn neue Ledger-Eintragstypen hinzukommen. Eine Änderung der öffentlichen API weist der Pull Request nicht aus.

Warum das wichtig ist
Das XRP Ledger hat über Amendments eine lange Reihe neuer Objekttypen bekommen, und jede Liste, die Typen von Hand aufzählt, ist eine Stelle, an der die neuesten vergessen werden. Getroffen hätte es Wallets und Explorer, die durch Konten mit Vaults, Krediten oder Multi-Purpose-Tokens blättern; die allgemeine Prüfung beseitigt die Fehlerklasse, statt der Liste Namen hinzuzufügen.