-
Notifications
You must be signed in to change notification settings - Fork 2.6k
traitify client #4452
Comments
@gnunicorn Interested in picking this up. |
I'd suggest leaving it in a separate crate still. |
Nope. I see your point, though – arguably – that boundary is less clear cut as you make it out to be, Either way, this isn't a short-term goal and is mainly to prevent external parties to directly bind to |
I meant API usage, and not crate dependencies. Commands like
Yes, and that's unfortunate. I'd rather make telemetry just another subscriber to client notifications, rather than bake it in. Consensus APIs, such as
👍 |
the
Client
fromsc-client
is a massive pull-it-all-together within the outer substrate infrastructure. While many features already depend on specific traits rather than the client directly, the client still has a few functions exclusive to it, that some other crates depend on, but some also depend on client without actually needing these functions. The goal is to make nothing insc-*
depend on client directly anymore and move client into the internals ofsc-service
.The way forward is probably (in this order):
Client<..>
dependencies where other traits are defining the use API well enough alreadytraits
for remaining functionality inClient
insc-api
Client
-dependencies with dependencies onsc-api
Client
intosc-service
, make it internal–this probably needs some tweaking for tests (see test-client)sc-client
This is an evolved refactor that probably has to touch a lot of (internal) code and
where
-clauses. Rust experience is required. Expect this to take a while. I am happy to mentor.The text was updated successfully, but these errors were encountered: