Skip to content

feat(truapi-provider): native and wasm ChainProvider with WebSocket and embedded smoldot backends - #276

Merged
TarikGul merged 71 commits into
mainfrom
tiago-truapi-provider
Aug 18, 2026
Merged

feat(truapi-provider): native and wasm ChainProvider with WebSocket and embedded smoldot backends#276
TarikGul merged 71 commits into
mainfrom
tiago-truapi-provider

Conversation

@BigTava

@BigTava BigTava commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Adds the truapi-provider crate: a native and wasm32 implementation of truapi_platform::ChainProvider whose per-chain backend is a remote WebSocket JSON-RPC node or an embedded smoldot light client.
  • Serves one embedded smoldot light client per provider so host-internal flows and product connections share sync, peers, and warm state, while each connection keeps an isolated JSON-RPC pipe.

@BigTava
BigTava requested a review from a team July 13, 2026 20:40
@BigTava
BigTava marked this pull request as draft July 13, 2026 20:45
BigTava added 14 commits July 13, 2026 21:46
…d-client locks, panic-free light-client builder, and Apache-2.0 attribution for the vendored platform
… GenericError, and require at least one backend feature
…ed platform client identity, a WS disconnect test, and doc/dep-pin notes
@pgherveou

pgherveou commented Jul 14, 2026

Copy link
Copy Markdown
Collaborator

For reference, the design so far has been

  • the core builds, signs, and submits the Transaction, routing chain traffic through
  • the host's own the JSON-RPC connection

Owning the connection end to end make sense as well, but might require some research as well to understand the trade-off, especially on native platform like iOS where a networking stack built on top of the Native SDK might
be more efficient.

Anyway that should not prevent you from testing this PR out.
I would make also the required changes to the dotli submodule, (maybe merge main first and branch of the submodule in hosts/dotli from the current sha).

The core should probably now own the networking settings preference that currently live in dotli

Comment thread rust/crates/truapi-provider/src/config.rs Outdated
Comment thread rust/crates/truapi-provider/src/config.rs
Comment thread rust/crates/truapi-provider/src/config.rs Outdated
@socket-security

socket-security Bot commented Aug 14, 2026

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Addedcargo/​smoldot-light@​2.0.1981009310070

View full report

Comment thread rust/crates/truapi-provider/src/light.rs Outdated
Comment thread rust/crates/truapi-provider/src/provider.rs
Comment thread rust/crates/truapi-provider/src/ws.rs Outdated
Comment thread rust/crates/truapi-provider/src/ws.rs
@TarikGul
TarikGul added this pull request to the merge queue Aug 18, 2026
Merged via the queue into main with commit 5f80e9d Aug 18, 2026
17 checks passed
@TarikGul
TarikGul deleted the tiago-truapi-provider branch August 18, 2026 12:56
TarikGul added a commit that referenced this pull request Aug 18, 2026
#276 landed a new crate and three distribution surfaces after this branch was
cut, each carrying the old repository name: the provider's iOS binary target and
release script, its Android POM metadata, its SPM instructions, and the
@parity/truapi-provider npm metadata.

The iOS provider binary is still 0.0.0-unpublished, so its first release has to
be cut against the renamed repository.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants