hsmtool: implement new derivetoremote
method
#7344
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This method has a similar purpose as
guesstoremote
but is for use when the channel's database ID is known. It produces the private key that can spend the to_remote output of the peer's commitment transaction. It assumes the channel was negotiated withoption_static_remotekey
unless the optional per-commitment point argument is provided.Changelog-Added: hsmtool has a new
derivetoremote
method.Motivation: I implemented this method so that I could import my funds from remote unilateral closures into other wallets. While
guesstoremote
could mostly get the job done, it's needlessly slow when we already know the database ID of the channel, and it doesn't work at all for channels that were negotiated withoutoption_static_remotekey
.