electrum

Electrum Bitcoin wallet
git clone https://git.parazyd.org/electrum
Log | Files | Refs | Submodules

commit ac67f7ae30b2a84d7a1ce44bcb03e4b20292a443
parent 1322fa6a08f6c591a1911b233e7d6b509c09538a
Author: ThomasV <thomasv@electrum.org>
Date:   Sun, 10 May 2020 12:16:16 +0200

discard channel updates too far in the future, or too close apart (see #6124)

Diffstat:
Melectrum/channel_db.py | 4+++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git 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)