Add `channel_keys_id` to `SpendableOutputDescriptor::StaticOutput` 2023-11-2744-followups
authorMatt Corallo <git@bluematt.me>
Mon, 27 Nov 2023 21:37:42 +0000 (21:37 +0000)
committerMatt Corallo <git@bluematt.me>
Mon, 27 Nov 2023 21:37:42 +0000 (21:37 +0000)
commitd5710fd6ae05296413e5d316bd9fe30cb70e76d2
tree40a2abacb37b5dd54643a03ce495c7bee8f0eb9b
parent146a291f15b359289bf536f5579e8cc7bd00b512
Add `channel_keys_id` to `SpendableOutputDescriptor::StaticOutput`

In 7f0fd868ad4e8072440f1eb79e78894de1629157, `channel_keys_id` was
added as an argument to `SignerProvider::get_destination_script`,
allowing implementors to generate a new script for each channel.

This is great, however users then have no way to re-derive the
corresponding private key when they ultimately receive a
`SpendableOutputDescriptor::StaticOutput`. Instead, they have to
track all the addresses as they derive them separately. In many
cases this is fine, but we should support both deployments, which
we do here by simply including the missing `channel_keys_id` for
the user.
lightning/src/chain/channelmonitor.rs
lightning/src/sign/mod.rs