Claimable-balances guide says getLedgerEntries finds the Balance ID, but the method needs the ID as input

Abierto Apto para principiantes
#2,998 2 comentarios 1 reacción 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
1/5
Tiempo estimado
Menos de una hora
Aptitud para principiantes
78/100
Tipo de issue
Documentación
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
javascript

Línea de trabajo

La frase engañosa está alrededor de la línea 366 de docs/build/guides/transactions/claimable-balances.mdx. Lee las líneas 170-200, donde la página ya obtiene el Balance ID con transaction.getClaimableBalanceId(0) y a partir del resultado de la operación. Reescribe la frase para que getLedgerEntries lea la entrada de un Balance ID conocido, y remite a esos pasos anteriores. Está listo cuando la frase ya no implique que el método encuentra el ID y la documentación se compila.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

raven

[!NOTE]
Automated notice: Stellar Raven filed this issue from its automated evaluation pipeline. The issue includes evidence and a public source record. Please verify the live surface before you act.

Finding

The claimable-balances guide says that RPC getLedgerEntries gets the Balance ID. The sample
that follows needs the Balance ID as its input.

getLedgerEntries reads ledger entries by ledger key. A claimable-balance ledger key contains the
Balance ID. The method cannot find a Balance ID from a claimant or from a transaction.

A reader can expect getLedgerEntries to discover the ID and look for a search parameter that
does not exist.

Evidence

The live guide says: "At this point, the ClaimableBalanceEntry exists in the ledger, but we'll
need its Balance ID to claim it. You can call the RPC's getLedgerEntries endpoint to do this."

The JavaScript sample then sets BALANCE_ID to a fixed 72-character hex value with the comment
"Replace with your actual Claimable Balance ID". It parses the ID and builds
xdr.LedgerKey.claimableBalance from it.

Earlier on the same page, the creation sample gets the ID with
transaction.getClaimableBalanceId(0) before submission. It also reads the ID from the
operation result after submission.

Additional recorded evidence:

  • 2026-11-02T17:17:27Z GET https://developers.stellar.org/docs/build/guides/transactions/claimable-balances returned HTTP 200 with "we'll need its Balance ID to claim it. You can call the RPC's getLedgerEntries endpoint to do this."
  • stellar/stellar-docs main 7cb5e8a492706d2ae95bbb14be737fbf96100058 docs/build/guides/transactions/claimable-balances.mdx line 366 carries the sentence; the JavaScript sample that follows starts with "// Replace with your actual Claimable Balance ID" and builds xdr.LedgerKey.claimableBalance from that ID
  • the same page at lines 170-200 already derives the ID before submission with transaction.getClaimableBalanceId(0) and reads it from the operation result
  • golden case q-aas-claim-received-claimable-balances (golden audit pass 2, 2026-11-02) records that RPC getLedgerEntries reads a claimable balance only by a known balance id and has no claimant filter
  • stellar/stellar-docs main 5142b219 docs/data/apis/migrate-from-horizon-to-rpc.mdx lines 46-47 say GET /claimable_balances has "No direct RPC equivalent" and that getLedgerEntries retrieves "a specific claimable balance by ID"
  • the sentence came from stellar/stellar-docs#1784 (merged 2025-09-17), which replaced the earlier "can be done in several ways" text

Recommendation

Change the sentence to say that getLedgerEntries reads the entry for a known Balance ID. Point
to the earlier steps that get the ID from the transaction or the operation result.

Optional: say that RPC has no claimant filter, and that Horizon /claimable_balances?claimant=
lists the balances for a claimant.

Draft PR stellar/stellar-docs#2752 rewrites this sentence as part of a full guide refresh. That PR
is not merged and has merge conflicts with main. The one-sentence fix can land on its own.

Source Record

Raven recorded this finding as sd-061 (stellar-docs, discovered 2026-11-02).

Public source record: improvements/stellar-docs/sd-061-claimable-balance-id-via-getledgerentries.md

Immutable source snapshot: cb9360f3cdfd

Resolution Handoff

When you deploy a fix, link the resolving issue or pull request to the source record.
Then notify Raven through:

https://github.com/stellar-experimental/stellar-raven/issues/new?template=upstream-improvement-ready.yml&title=%5Bupstream-ready%5D%20sd-061%3A%20

Include the finding ID and the resolving issue or pull request.
Include the deployed version or timestamp. Include the smallest live recheck.
Raven verifies the live surface before it sets the finding to fixed-upstream.
An issue closure or merged pull request does not prove the fix.
A separate reviewer repeats the live check before Raven retires the active finding.
Raven keeps a commit-pinned snapshot when one is available.

Lenguaje dominante
MDX
Estrellas
145
Forks
326
Merge medio
2 d 18 h
PR fusionados (30 d)
109

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de stellar/stellar-docs

Todos los issues de stellar/stellar-docs

Issues similares

Más issues de Documentation

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.