From 381f48aadcf5eba7dabd959bd6808e860171e3d5 Mon Sep 17 00:00:00 2001 From: vtexier <vit@free.fr> Date: Thu, 20 Feb 2020 16:23:52 +0100 Subject: [PATCH] [fix] fix incomplete identity (empty blockstamp) appears as duplicate in identities search --- src/sakia/data/processors/identities.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/sakia/data/processors/identities.py b/src/sakia/data/processors/identities.py index 4e32eae9..5967c4c8 100644 --- a/src/sakia/data/processors/identities.py +++ b/src/sakia/data/processors/identities.py @@ -106,6 +106,17 @@ class IdentitiesProcessor: signature=uid_data["self"], ) if identity not in identities: + # Search same identity with empty blockstamp (incomplete) + same_with_empty_blockstamp = self._identities_repo.get_one( + currency=identity.currency, + uid=identity.uid, + pubkey=identity.pubkey, + blockstamp=BlockUID.empty() + ) + # Same identity with empty blockstamp (incomplete) should not appears as duplicate + # Beware that identities in block 0 have empty blockstamps ! + if same_with_empty_blockstamp in identities: + identities.remove(same_with_empty_blockstamp) identities.append(identity) break except (errors.DuniterError, asyncio.TimeoutError, ClientError) as e: -- GitLab