@@ -18,9 +18,9 @@ monitoring for liveness of peers, routing messages to `ChannelManager` and `P2PG
1818instances directly, and receiving messages from them via the ` EventsProvider ` interface.
1919
2020These structs communicate with each other using a public API, so that you can easily add
21- a proxy in between for special handling. Further, APIs for key generation, transaction
22- broadcasting, block fetching, and fee estimation must be implemented and the data
23- provided by you, the user.
21+ a proxy in between for special handling. Further, APIs for key generation, entropy source,
22+ transaction broadcasting, block fetching, and fee estimation must be implemented and the
23+ data provided by you, the user.
2424
2525The library does not rely on the presence of a runtime environment outside of access to
2626heap, atomic integers, and basic Mutex primitives. This means the library will never
@@ -31,28 +31,30 @@ block time for current time knowledge.
3131
3232At a high level, some of the common interfaces fit together as follows:
3333
34-
3534```
36-
37- -----------------
38- | KeysInterface | --------------
39- ----------------- | UserConfig |
40- -------------------- ^ --------------
41- ------| MessageSendEvent | | ^ ----------------
42- / -------------------- | | | FeeEstimator | <-----------------------
43- | (as MessageSendEventsProvider) | | ---------------- \
44- | ^ | | ^ ------------------------ |
45- | \ | | / ---------> | BroadcasterInterface | |
46- | \ | | / / ------------------------ |
47- | \ | | / / ^ |
48- | (as ------------------ ---------------- | |
49- | ChannelMessageHandler)-> | ChannelManager | ----> | chain::Watch | | |
50- v / ------------------ ---------------- | |
51- --------------- / (as EventsProvider) ^ | |
52- | PeerManager |- \ | | |
53- --------------- \ | (is-a) | |
54- | -------------- \ _---------------- / /
55- | | UtxoLookup | \ / | ChainMonitor |---------------
35+ ------------------ --------------
36+ | SignerProvider | | NodeSigner |
37+ ------------------ --------------
38+ ----------------- ^ ^ --------------
39+ | EntropySource | <---- \ / ----> | UserConfig |
40+ ----------------- \ | | / --------------
41+ | | | |
42+ -------------------- | | | | ----------------
43+ ------| MessageSendEvent | | | | | | FeeEstimator | <----------------
44+ / -------------------- | | | | ---------------- \
45+ | (as MessageSendEventsProvider) | | | | ^ |
46+ | ^ | | | | / ----------------------- |
47+ | \ | | | | / ----> | BroadcasterInterface | |
48+ | \ | | | | / / ----------------------- |
49+ | \ | | | | / / ^ |
50+ | (as ------------------ ---------------- | |
51+ | ChannelMessageHandler)-> | ChannelManager | ----> | chain::Watch | | |
52+ v / ------------------ ---------------- | |
53+ --------------- / (as EventsProvider) ^ | |
54+ | PeerManager |- \ | | |
55+ --------------- \ | (is-a) / |
56+ | -------------- \ _---------------- /
57+ | | UtxoLookup | \ / | ChainMonitor |------------
5658 | -------------- \ / ----------------
5759 | ^ \ / |
5860(as RoutingMessageHandler) | v v
0 commit comments