From 95d150de01b86481313ad1bcf49baef0810283a3 Mon Sep 17 00:00:00 2001 From: sierra19XX <15652887+sierra19XX@users.noreply.github.com> Date: Tue, 25 Aug 2020 09:56:46 +0000 Subject: [PATCH] Issue375 - slow comparison of public_key_type --- libraries/chain/include/graphene/chain/protocol/types.hpp | 1 + libraries/chain/protocol/types.cpp | 7 ++++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/libraries/chain/include/graphene/chain/protocol/types.hpp b/libraries/chain/include/graphene/chain/protocol/types.hpp index 6fa2ab4d1..3c5b4e33e 100644 --- a/libraries/chain/include/graphene/chain/protocol/types.hpp +++ b/libraries/chain/include/graphene/chain/protocol/types.hpp @@ -355,6 +355,7 @@ namespace graphene { namespace chain { friend bool operator == ( const public_key_type& p1, const fc::ecc::public_key& p2); friend bool operator == ( const public_key_type& p1, const public_key_type& p2); friend bool operator != ( const public_key_type& p1, const public_key_type& p2); + friend bool operator < ( const public_key_type& p1, const public_key_type& p2); // TODO: This is temporary for testing bool is_valid_v1( const std::string& base58str ); bool is_valid_muse( const std::string& base58str ); diff --git a/libraries/chain/protocol/types.cpp b/libraries/chain/protocol/types.cpp index b7cac207a..0dd753fb6 100644 --- a/libraries/chain/protocol/types.cpp +++ b/libraries/chain/protocol/types.cpp @@ -134,7 +134,12 @@ namespace graphene { namespace chain { { return p1.key_data != p2.key_data; } - + + bool operator < ( const public_key_type& p1, const public_key_type& p2) + { + return p1.key_data < p2.key_data; + } + // extended_public_key_type extended_public_key_type::extended_public_key_type():key_data(){};