Skip to content

Bug: createRpcServer retry/backoff proxy only wraps 7 hard-coded method names #510

Description

@Jaydbrown

src/soroban.ts:103-111ASYNC_METHODS is ['getAccount','getEvents','simulateTransaction','sendTransaction','getTransaction','getLatestLedger','getNetwork'].

Any other SorobanRpc.Server method the SDK calls — e.g. getLedgerEntries, getContractData, getFeeStats, getHealth, getEvents variants, pollTransaction — is returned straight from Reflect.get with no rate-limit classification, backoff, or RpcServiceUnavailableError mapping.

Impact

Rate-limit resilience (the whole point of createRpcServer) silently does not apply to those calls. As the SDK grows to use more RPC methods, each new one is unprotected by default and the gap is invisible.

Suggested fix

Wrap by capability (any function-valued property whose name isn't explicitly excluded), or centralise all RPC access through a single retrying helper instead of an allow-list.

Metadata

Metadata

Labels

Stellar WaveIssues in the Stellar wave programbugSomething isn't workingpriority: mediumMissing feature or UX issue

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions