Make ChannelKeys an API and template Channel with it.
authorMatt Corallo <git@bluematt.me>
Tue, 26 Nov 2019 21:46:33 +0000 (16:46 -0500)
committerMatt Corallo <git@bluematt.me>
Wed, 11 Dec 2019 22:29:42 +0000 (17:29 -0500)
commitf2a2fd0d48be78972ed81481c2dfbfb68ecda44e
treeaa2d91ec890d5b4b9a858247ad0a1cda7319bb4e
parent8defcf1107a7f564ebce0048dd98ae72f2026db6
Make ChannelKeys an API and template Channel with it.

Instead of having in-memory access to the list of private keys
associated with a channel, we should have a generic API which
allows us to request signing, allowing the user to store private
keys any way they like.

The first step is the (rather mechanical) process of templating
the entire tree of ChannelManager -> Channel impls by the
key-providing type. In a later commit we should expose only public
keys where possible.
fuzz/src/chanmon_consistency.rs
fuzz/src/full_stack.rs
lightning/src/chain/keysinterface.rs
lightning/src/ln/chan_utils.rs
lightning/src/ln/channel.rs
lightning/src/ln/channelmanager.rs
lightning/src/ln/functional_test_utils.rs
lightning/src/ln/functional_tests.rs
lightning/src/util/enforcing_trait_impls.rs [new file with mode: 0644]
lightning/src/util/mod.rs
lightning/src/util/test_utils.rs