Skip to content

Commit 7c1db56

Browse files
committed
arch: update diagram to reflect changes to KeysInterface
KeysInterface was split into EntropySource, SignerProvider and NodeSigner in #1930.
1 parent bc1931b commit 7c1db56

File tree

1 file changed

+26
-24
lines changed

1 file changed

+26
-24
lines changed

ARCH.md

+26-24
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,9 @@ monitoring for liveness of peers, routing messages to `ChannelManager` and `P2PG
1818
instances directly, and receiving messages from them via the `EventsProvider` interface.
1919

2020
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.
2424

2525
The library does not rely on the presence of a runtime environment outside of access to
2626
heap, atomic integers, and basic Mutex primitives. This means the library will never
@@ -31,28 +31,30 @@ block time for current time knowledge.
3131

3232
At 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

Comments
 (0)