Replace WatchEventProvider with chain::Notify
authorJeffrey Czyz <jkczyz@gmail.com>
Thu, 30 Jul 2020 17:27:41 +0000 (10:27 -0700)
committerJeffrey Czyz <jkczyz@gmail.com>
Fri, 7 Aug 2020 00:30:31 +0000 (17:30 -0700)
commit5d5095ef168d81d10c1f21308e406771f041b493
tree089c744a19e3bad7164f5f7d85eec0e65a1de179
parentcb7badac3d054dfbe75d263ae514b7edcd1e1222
Replace WatchEventProvider with chain::Notify

WatchEventProvider served as a means for replacing ChainWatchInterface.
However, it requires users to explicitly fetch WatchEvents, even if not
interested in them. Replace WatchEventProvider by chain::Notify, which
is an optional member of ChainMonitor. If set, interesting transactions
and output spends are registered such that blocks containing them can be
retrieved from a chain source in an efficient manner.

This is useful when the chain source is not a full node. For Electrum,
it allows for pre-filtered blocks. For BIP157/158, it serves as a means
to match against compact filters.
ARCH.md
fuzz/src/chanmon_consistency.rs
fuzz/src/full_stack.rs
lightning-net-tokio/src/lib.rs
lightning/src/chain/mod.rs
lightning/src/ln/channelmonitor.rs
lightning/src/ln/functional_test_utils.rs
lightning/src/ln/functional_tests.rs
lightning/src/util/test_utils.rs