Skip to content

feat: poll Soroban RPC getEvents for contract_event subscriptions #3

@cokehill

Description

@cokehill

Summary

Contract events are not available over Horizon SSE. We poll the Soroban JSON-RPC
getEvents method on a configurable interval.

Acceptance criteria

  • StreamManager._streamContractEvents() polls getEvents using fetch
  • filter.poll_interval_ms controls interval (default 5000ms)
  • filter.topics passed through to the RPC filter array
  • Tracks last seen ledger to avoid duplicate deliveries
  • Gracefully handles RPC errors (logs, does not crash)
  • Integration test against Soroban testnet RPC (or mocked response)

Notes

Soroban RPC: https://developers.stellar.org/docs/data/rpc/api-reference/methods/getEvents
Default testnet RPC: https://soroban-testnet.stellar.org

Metadata

Metadata

Assignees

Labels

CoreCore streaming engineSorobanSoroban/RPC integrationenhancementNew feature or request

Type

No type
No fields configured for issues without a type.

Projects

Status

Todo

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions