]> git.bitcoin.ninja Git - rust-lightning/commit
Refactor `channel_update` processing logic into local fns
authorMatt Corallo <git@bluematt.me>
Wed, 11 Sep 2024 23:29:07 +0000 (23:29 +0000)
committerMatt Corallo <git@bluematt.me>
Wed, 11 Sep 2024 23:37:40 +0000 (23:37 +0000)
commit0b7838b59de357bce02d86fc840a3906be8d189f
tree0878ae2fe026549bd5858a566ad430e3814fd8f3
parentdb905e8a8d620b880fb14e5e574d4d733d64cd06
Refactor `channel_update` processing logic into local fns

In the next commit we'll move to checking `channel_update`s in
three steps - first we check if the `channel_update` is new and the
latest for a channel, then we check the signature, and finally we
update our local state. This allows us to avoid holding a lock on
`NetworkGraph::channels` while validating the message signature.

Here we do a quick prefactor to make that simpler - moving the
validation logic of `channel_update` that we'll do in step one (and
repeat in step three) into a local function. We also take this
opportunity to do one static check unlocked which we had been doing
while holding a `channel` lock.
lightning/src/routing/gossip.rs