From ac67f7ae30b2a84d7a1ce44bcb03e4b20292a443 Mon Sep 17 00:00:00 2001 From: ThomasV Date: Sun, 10 May 2020 12:16:16 +0200 Subject: [PATCH] discard channel updates too far in the future, or too close apart (see #6124) --- electrum/channel_db.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/electrum/channel_db.py b/electrum/channel_db.py index decd5ad33..a53729088 100644 --- a/electrum/channel_db.py +++ b/electrum/channel_db.py @@ -404,6 +404,8 @@ class ChannelDB(SqlDB): timestamp = payload['timestamp'] if max_age and now - timestamp > max_age: return UpdateStatus.EXPIRED + if timestamp - now > 60: + return UpdateStatus.DEPRECATED channel_info = self._channels.get(short_channel_id) if not channel_info: return UpdateStatus.ORPHANED @@ -417,7 +419,7 @@ class ChannelDB(SqlDB): short_channel_id = ShortChannelID(payload['short_channel_id']) key = (start_node, short_channel_id) old_policy = self._policies.get(key) - if old_policy and timestamp <= old_policy.timestamp: + if old_policy and timestamp <= old_policy.timestamp + 60: return UpdateStatus.DEPRECATED if verify: self.verify_channel_update(payload)