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

Aperta Adatta ai principianti
#2,998 2 commenti 1 reazione 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
1/5
Tempo stimato
Meno di un'ora
Idoneità per principianti
78/100
Tipo di issue
Documentazione
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
javascript
Ambito
documentation

Direzione di ricerca

La frase fuorviante si trova intorno alla riga 366 di docs/build/guides/transactions/claimable-balances.mdx. Leggi le righe 170-200, dove la pagina ottiene già il Balance ID con transaction.getClaimableBalanceId(0) e dal risultato dell'operazione. Riscrivi la frase in modo che getLedgerEntries legga la voce per un Balance ID noto, e rimanda a quei passaggi precedenti. È completato quando la frase non lascia più intendere che il metodo trova l'ID e la documentazione si compila.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

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.

Lingua principale
MDX
Stelle
145
Fork
326
Merge medio
2g 18h
PR unite (30g)
109

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di stellar/stellar-docs

Tutte le issue di stellar/stellar-docs

Issue simili

Altre issue su Documentation

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.