Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Gossip cleanup part 1: Removing reliance on private gossip messages #6869

Merged
merged 29 commits into from
Dec 13, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
dad0022
compiler: fix for -O3 errors.
rustyrussell Dec 6, 2023
522295a
common: prepare unit tests for lack of private channels.
rustyrussell Dec 6, 2023
84361ca
pytest: use wait_local_channel_active
endothermicdev Dec 6, 2023
9b34784
gossipd: correctly attribute our own channel update to ourselves
endothermicdev Dec 6, 2023
5a29dda
db: add private channel inbound fields
endothermicdev Dec 6, 2023
4dfe403
gossipd: pass remote private channel update to ld
endothermicdev Dec 6, 2023
2fa59d9
gossipd: always send information about our channels' gossip updates.
rustyrussell Dec 6, 2023
cc215c4
listpeerchannels: show gossip updates.
rustyrussell Dec 6, 2023
c0bc986
pyln-testing: when waiting for active channel, make sure remote has s…
rustyrussell Dec 6, 2023
9cb6644
gossmap: insert temporary per-caller flag to turn off private gossip.
rustyrussell Dec 6, 2023
adf5758
common: generic routine to turn listpeerchannels into gossmap local u…
rustyrussell Dec 6, 2023
53ffd08
plugins/topology: temporary hack to allow per-access private gossmap …
rustyrussell Dec 6, 2023
4a396e8
plugins/fetchinvoice: use gossmods_from_listpeerchannels instead of p…
rustyrussell Dec 13, 2023
fcc1010
libplugin-pay: make sure get_gossmap calls are balanced by put_gossmap.
rustyrussell Dec 13, 2023
2d06738
plugins/pay: use gossmods_from_listpeerchannels instead of private go…
rustyrussell Dec 13, 2023
dd3b594
common: add tests that json_scan can omit an entire object member.
rustyrussell Dec 13, 2023
88b41fe
plugins/renepay: add localmods later.
rustyrussell Dec 13, 2023
ccec35d
plugins/renepay: use gossmods_from_listpeerchannels instead of privat…
rustyrussell Dec 13, 2023
d536eeb
pytest: fix test_zeroconf_open()
rustyrussell Dec 13, 2023
08dda8d
lightningd: permit wrong-alias lookups for private channel_update.
rustyrussell Dec 13, 2023
06efdc7
lightningd: make listincoming use gossmods_from_listpeerchannels().
rustyrussell Dec 13, 2023
5a81edd
pytest: remove test waits for routehints.
rustyrussell Dec 13, 2023
da4ba26
topology: don't show private nodes in listnodes.
rustyrussell Dec 13, 2023
f6a2210
pytest: fix tests in assumption that listchannels will no longer show…
rustyrussell Dec 13, 2023
3362f74
pytest: skip test_hook_crash on liquid CI
endothermicdev Dec 13, 2023
9bf173c
topology: don't show private nodes in listchannels.
rustyrussell Dec 13, 2023
1d8f94e
common: gossmap now always ignores private gossip_store messages.
rustyrussell Dec 13, 2023
59a0479
topology: deprecate overriding `active` in `listchannels` with `listp…
rustyrussell Dec 13, 2023
406e6d0
plugins: re-enable listchannels local info in deprecated mode.
rustyrussell Dec 13, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
73 changes: 72 additions & 1 deletion .msggen.json
Original file line number Diff line number Diff line change
Expand Up @@ -1171,7 +1171,8 @@
"ListPeerChannels.channels[].their_reserve_msat": 31,
"ListPeerChannels.channels[].their_to_self_delay": 38,
"ListPeerChannels.channels[].to_us_msat": 23,
"ListPeerChannels.channels[].total_msat": 26
"ListPeerChannels.channels[].total_msat": 26,
"ListPeerChannels.channels[].updates": 55
},
"ListpeerchannelsChannelsAlias": {
"ListPeerChannels.channels[].alias.local": 1,
Expand Down Expand Up @@ -1218,6 +1219,24 @@
"ListPeerChannels.channels[].state_changes[].old_state": 2,
"ListPeerChannels.channels[].state_changes[].timestamp": 1
},
"ListpeerchannelsChannelsUpdates": {
"ListPeerChannels.channels[].updates.local": 1,
"ListPeerChannels.channels[].updates.remote": 2
},
"ListpeerchannelsChannelsUpdatesLocal": {
"ListPeerChannels.channels[].updates.local.cltv_expiry_delta": 3,
"ListPeerChannels.channels[].updates.local.fee_base_msat": 4,
"ListPeerChannels.channels[].updates.local.fee_proportional_millionths": 5,
"ListPeerChannels.channels[].updates.local.htlc_maximum_msat": 2,
"ListPeerChannels.channels[].updates.local.htlc_minimum_msat": 1
},
"ListpeerchannelsChannelsUpdatesRemote": {
"ListPeerChannels.channels[].updates.remote.cltv_expiry_delta": 3,
"ListPeerChannels.channels[].updates.remote.fee_base_msat": 4,
"ListPeerChannels.channels[].updates.remote.fee_proportional_millionths": 5,
"ListPeerChannels.channels[].updates.remote.htlc_maximum_msat": 2,
"ListPeerChannels.channels[].updates.remote.htlc_minimum_msat": 1
},
"ListpeerchannelsRequest": {
"ListPeerChannels.id": 1
},
Expand Down Expand Up @@ -4511,6 +4530,58 @@
"added": "v23.02",
"deprecated": false
},
"ListPeerChannels.channels[].updates": {
"added": "v24.02",
"deprecated": false
},
"ListPeerChannels.channels[].updates.local": {
"added": "v24.02",
"deprecated": false
},
"ListPeerChannels.channels[].updates.local.cltv_expiry_delta": {
"added": "v24.02",
"deprecated": false
},
"ListPeerChannels.channels[].updates.local.fee_base_msat": {
"added": "v24.02",
"deprecated": false
},
"ListPeerChannels.channels[].updates.local.fee_proportional_millionths": {
"added": "v24.02",
"deprecated": false
},
"ListPeerChannels.channels[].updates.local.htlc_maximum_msat": {
"added": "v24.02",
"deprecated": false
},
"ListPeerChannels.channels[].updates.local.htlc_minimum_msat": {
"added": "v24.02",
"deprecated": false
},
"ListPeerChannels.channels[].updates.remote": {
"added": "v24.02",
"deprecated": false
},
"ListPeerChannels.channels[].updates.remote.cltv_expiry_delta": {
"added": "v24.02",
"deprecated": false
},
"ListPeerChannels.channels[].updates.remote.fee_base_msat": {
"added": "v24.02",
"deprecated": false
},
"ListPeerChannels.channels[].updates.remote.fee_proportional_millionths": {
"added": "v24.02",
"deprecated": false
},
"ListPeerChannels.channels[].updates.remote.htlc_maximum_msat": {
"added": "v24.02",
"deprecated": false
},
"ListPeerChannels.channels[].updates.remote.htlc_minimum_msat": {
"added": "v24.02",
"deprecated": false
},
"ListPeerChannels.id": {
"added": "v23.02",
"deprecated": false
Expand Down
2 changes: 1 addition & 1 deletion channeld/channeld.c
Original file line number Diff line number Diff line change
Expand Up @@ -3458,7 +3458,7 @@ static void resume_splice_negotiation(struct peer *peer,
u32 chan_output_index;
struct bitcoin_signature their_sig;
struct pubkey *their_pubkey;
struct bitcoin_tx *final_tx;
struct bitcoin_tx *final_tx COMPILER_WANTS_INIT("12.3.0 -O3");
struct bitcoin_txid final_txid;
u8 **wit_stack;
struct tlv_txsigs_tlvs *txsig_tlvs, *their_txsigs_tlvs;
Expand Down
22 changes: 22 additions & 0 deletions cln-grpc/proto/node.proto

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

37 changes: 37 additions & 0 deletions cln-grpc/src/convert.rs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

38 changes: 38 additions & 0 deletions cln-rpc/src/model.rs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions common/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ COMMON_SRC_NOGEN := \
common/fp16.c \
common/gossip_store.c \
common/gossmap.c \
common/gossmods_listpeerchannels.c \
common/hash_u5.c \
common/hmac.c \
common/hsm_encryption.c \
Expand Down
4 changes: 0 additions & 4 deletions common/gossmap.c
Original file line number Diff line number Diff line change
Expand Up @@ -636,12 +636,8 @@ static bool map_catchup(struct gossmap *map, size_t *num_rejected)
type = map_be16(map, off);
if (type == WIRE_CHANNEL_ANNOUNCEMENT)
add_channel(map, off, false);
else if (type == WIRE_GOSSIP_STORE_PRIVATE_CHANNEL)
add_channel(map, off + 2 + 8 + 2, true);
else if (type == WIRE_CHANNEL_UPDATE)
num_bad += !update_channel(map, off);
else if (type == WIRE_GOSSIP_STORE_PRIVATE_UPDATE)
num_bad += !update_channel(map, off + 2 + 2);
else if (type == WIRE_GOSSIP_STORE_DELETE_CHAN)
remove_channel_by_deletemsg(map, off);
else if (type == WIRE_NODE_ANNOUNCEMENT)
Expand Down