Remove signing local commitment transaction from ChannelMonitor
authorAntoine Riard <ariard@student.42.fr>
Fri, 20 Mar 2020 22:04:01 +0000 (18:04 -0400)
committerAntoine Riard <ariard@student.42.fr>
Thu, 16 Apr 2020 02:23:01 +0000 (22:23 -0400)
commit5101d2086c0cf2134ce9d729cfdf69b0a21d564e
tree9a0fe311d5847e1b16317788b6851b645095a5db
parent7ec16e5ad152f903afaa72e27ee169f252edd6c9
Remove signing local commitment transaction from ChannelMonitor

Extend external signer interface to sign local commitment transactions
on its behalf without seckey passing. This move will allow us to remove
key access from ChannelMonitor hot memory in further work.

Local commitment transaction should stay half-signed by remote until
we need to broadcast for a channel force-close or a HTLC to timeout onchain.

Add an unsafe test-only version of sign_local_commitment to fulfill our
test_framework needs.
lightning/src/chain/keysinterface.rs
lightning/src/ln/chan_utils.rs
lightning/src/ln/channel.rs
lightning/src/ln/channelmonitor.rs
lightning/src/util/enforcing_trait_impls.rs