@@ -18,9 +18,9 @@ monitoring for liveness of peers, routing messages to `ChannelManager` and `P2PG
18
18
instances directly, and receiving messages from them via the ` EventsProvider ` interface.
19
19
20
20
These 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.
24
24
25
25
The library does not rely on the presence of a runtime environment outside of access to
26
26
heap, atomic integers, and basic Mutex primitives. This means the library will never
@@ -31,28 +31,30 @@ block time for current time knowledge.
31
31
32
32
At a high level, some of the common interfaces fit together as follows:
33
33
34
-
35
34
```
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 |------------
56
58
| -------------- \ / ----------------
57
59
| ^ \ / |
58
60
(as RoutingMessageHandler) | v v
0 commit comments