Skip to content

Legacy filter API: eth_newFilter / eth_getFilterChanges / eth_uninstallFilter #76

Description

@koko1123

Motivation

Many managed RPC plans and restrictive environments are HTTP-only -- no WebSocket, so WsClient/log_watcher are unavailable. The polling filter API is the standard fallback and the last missing piece of the core eth_* read surface.

Scope

On Provider:

  • newFilter(LogFilter) !u128, newBlockFilter() !u128, newPendingTransactionFilter() !u128 (filter IDs are opaque hex quantities)
  • getFilterChanges(id) -- polymorphic result: logs for log filters, hashes for block/pending filters
  • getFilterLogs(id), uninstallFilter(id) !bool
  • Optional follow-up: an HTTP polling variant of log_watcher built on these

Pointers

Reuse parseLogsResponse/parseHash in provider.zig; filter IDs expire server-side (~5min idle) -- document re-creation on error.RpcError.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions