1
0
mirror of https://github.com/lightning/bolts.git synced 2024-11-19 01:50:03 +01:00

BOTL 7: fixup: clarify when to reply with a node_announcement

Do not reply with a node_announcement if the query includes an optional query flag that does not request it.
The current wording could be interpreted as "always follow with node announcements whenever
you reply with a channel announcements" which defeats the point of using query flags (if you want the node
announcements just set the corresponding bits).
This commit is contained in:
sstone 2019-08-23 13:56:45 +02:00 committed by Fabrice Drouin
parent 313c0f290e
commit c8e53fe5bf

View File

@ -660,6 +660,7 @@ The receiver:
- MUST respond to each known `short_channel_id`: - MUST respond to each known `short_channel_id`:
- if the incoming message does not include `encoded_query_flags`: - if the incoming message does not include `encoded_query_flags`:
- with a `channel_announcement` and the latest `channel_update` for each end - with a `channel_announcement` and the latest `channel_update` for each end
- MUST follow with any `node_announcement`s for each `channel_announcement`
- otherwise: - otherwise:
- We define `query_flag` for the Nth `short_channel_id` in - We define `query_flag` for the Nth `short_channel_id` in
`encoded_short_ids` to be the Nth varint of the decoded `encoded_short_ids` to be the Nth varint of the decoded
@ -675,7 +676,6 @@ The receiver:
- if bit 4 of `query_flag` is set and it has received a `node_announcement` from `node_id_2`: - if bit 4 of `query_flag` is set and it has received a `node_announcement` from `node_id_2`:
- MUST reply with the latest `node_announcement` for `node_id_2` - MUST reply with the latest `node_announcement` for `node_id_2`
- SHOULD NOT wait for the next outgoing gossip flush to send these. - SHOULD NOT wait for the next outgoing gossip flush to send these.
- MUST follow with any `node_announcement`s for each `channel_announcement`
- SHOULD avoid sending duplicate `node_announcements` in response to a single `query_short_channel_ids`. - SHOULD avoid sending duplicate `node_announcements` in response to a single `query_short_channel_ids`.
- MUST follow these responses with `reply_short_channel_ids_end`. - MUST follow these responses with `reply_short_channel_ids_end`.
- if does not maintain up-to-date channel information for `chain_hash`: - if does not maintain up-to-date channel information for `chain_hash`: