paritytech / paritytech/host-rust-core
RFC: Method-level capability detection for protocol extension
@filvecchiato is already working on this.
Since Sep 11, 2026.
- Dominant language
- Swift
- Stars
- 10
- Forks
- 3
- Avg merge
- 1d 10h
- Merged PRs (30d)
- 148
Description
Source PR: #420 · docs/rfcs/0027-capability-detection.md · @ryanleecode
Description
system.feature_supported answers a Method { id } query, so a product can check whether the host has a handler for a wire discriminant. Unregistered discriminants get an UNSUPPORTED_METHOD reply instead of being dropped.
Motivation
Products update continuously while native hosts update on app-release cycles, so new products routinely run against old hosts. An unknown wire ID is dropped silently today and the pending call hangs forever.
Requirements
HostFeatureSupportedRequest::Method { id }; older hosts fail to decode it and returnMalformedFrame, which is the age signal.supportedis computed from the dispatcher's own wire table, never a static list.- Dispatch fall-through replies
UNSUPPORTED_METHODechoingrequest_id; the client rejects withCallError::Unsupported. - Codegen exposes a
supportsMethod("<method>")helper.
Tasks
- RFC document body
- Implementation — rust-core
- Implementation — hosts
- dotli
- Desktop
- iOS
- Android
- host-cli
Note: RFC number 0027 is also claimed by #468.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.