Closed elsirion closed 8 months ago
So VSS support is currently just cfg
-gated because it's not fully ready yet. This will however be dropped soon. We also won't hide it behind a feature as we want to make it configurable via the Builder
during runtime, and especially since our bindings don't have access to the Rust features.
Or if you are ok with it maybe even defaulting to rustls in vls_client (that's what we do with Fedimint)
We actually do default to rustls
, but the issue might be that VssClient
doesn't set default-features = false
for reqwest
, which should be fixed with this: https://github.com/lightningdevkit/vss-rust-client/pull/27
Note that openssl
is not an actual dependency of VssClient
and would only be build when a specifc cfg
flag is enabled.
Patched vss-client 0.2.2 should be available now with above fix.
Just confirmed LDK Node's Cargo.lock
makes no mention of openssl
anymore. Closing as completed.
Currently,
vss
is hidden behind acfg()
switch and not a feature, which means that it has to be considered for dependency resolution and its transitive dependencies, likeopenssl
, will end up inCargo.lock
. This is necessary since, even though we know we'll never want to compile it, cargo can't tell this.Since
openssl
is a pain to deal with we ban it in Fedimint CI by greppingCargo.lock
, which currently blocks upgrading to ldk-node 0.2 (https://github.com/fedimint/fedimint/pull/4354) and would be quite a bit of work to special-case to allowopenssl
onyl as a transitive dependency ofldk-node
(since we know we'll never compile it there).The resolutions that seem reasonable to me are:
vss
becomes a feature instead of acfg()
switch, it's reasonable to not requireit imovls_client
andldk-node
to choose the TLS implementation would also workrustls
invls_client
(that's what we do with Fedimint)I'm happy to open a PR, just want to get your feedback first.