Describe the enhancement
The current implementation of chain supports descriptors that represent only a single keychain path. With the introduction of multipath descriptors (and its implementation in bdk_wallet 2.1.0), a single descriptor can represent multiple keychains, both external and internal paths.
Under the current architecture, providing a multipath descriptor to several core components results in MultiKey errors or panics because the code attempts to derive scripts without specifying a path index.
Use case
In bdk-cli, several wallet features such as full_scan, sync, public_descriptor, policies panics and fails with MultiKey error.
See bdk-cli#238
Impact
Are you using BDK in a production project?
Which backend(s) are relevant (if any)?
Describe the enhancement
The current implementation of
chainsupports descriptors that represent only a single keychain path. With the introduction of multipath descriptors (and its implementation inbdk_wallet2.1.0), a single descriptor can represent multiple keychains, both external and internal paths.Under the current architecture, providing a multipath descriptor to several core components results in
MultiKeyerrors or panics because the code attempts to derive scripts without specifying a path index.Use case
In
bdk-cli, several wallet features such asfull_scan,sync,public_descriptor,policiespanics and fails withMultiKeyerror.See bdk-cli#238
Impact
Are you using BDK in a production project?
Which backend(s) are relevant (if any)?
bdk_chain,bdk_core)____