rippled icon indicating copy to clipboard operation
rippled copied to clipboard

Enhance `type` filter in account_objects (Version: [rippled v2.2.3])

Open ckeshava opened this issue 1 year ago • 1 comments

Summary

The account_objects request accepts a type input parameter. Here are the reference docs. This is a request for incorporating additional ledger objects as inputs to this parameter. The documentation mentions only a few of the ledger objects. Ledger Objects like DID are not included on that list.

Motivation

While this is not blocking critical functionality, it helps in obtaining relevant ledger objects faster. This parameter is especially helpful for quick visual inspection.

Solution

When a non-supported type is specified, the command fails silently. For instance, using type: "credential" returns an empty array of account_objects, despite the said account holding appropriate credential ledger objects. This was tested against a custom feature branch.

This lambda function handles the type filter and it looks correct, upon first glance. I'll need to dig deeper to understand the issue, or perhaps I'm specifying the type input incorrectly.

ckeshava avatar Oct 18 '24 21:10 ckeshava

Does the account have a bunch of other objects? Is there a marker included?

Sometimes if an account has a bunch of objects, the first page doesn't have any of that type.

mvadari avatar Oct 18 '24 21:10 mvadari

Thanks for the reply. I had made a mistake whilst specifying the account value. This RPC appears to be working fine, as far as Verifiable Credentials are concerned.

The documentation needs to be updated to state that "All ledger objects are supported inside the type filter of the account_objects RPC." (After a brief perusal of the code, I don't see any reason to the contrary).

ckeshava avatar Oct 21 '24 18:10 ckeshava