From 072931e4f5a61c89d7eb74480d89df60e8ec9f40 Mon Sep 17 00:00:00 2001 From: Vlad Dobromyslov Date: Tue, 15 Mar 2022 09:01:35 +0300 Subject: [PATCH] Fix sidechain_type: delete unused enums + add SIDECHAIN_TYPE_COUNT and helper functions --- .../include/graphene/chain/sidechain_defs.hpp | 24 ++++++++++++------- .../chain/sidechain_transaction_object.hpp | 2 +- .../chain/son_wallet_deposit_object.hpp | 2 +- .../chain/son_wallet_withdraw_object.hpp | 2 +- 4 files changed, 18 insertions(+), 12 deletions(-) diff --git a/libraries/chain/include/graphene/chain/sidechain_defs.hpp b/libraries/chain/include/graphene/chain/sidechain_defs.hpp index 7f986f96..8c142e53 100644 --- a/libraries/chain/include/graphene/chain/sidechain_defs.hpp +++ b/libraries/chain/include/graphene/chain/sidechain_defs.hpp @@ -1,24 +1,30 @@ #pragma once #include +#include namespace graphene { namespace chain { - enum class sidechain_type { - unknown, bitcoin, - ethereum, - eos, peerplays, - hive + hive, + SIDECHAIN_TYPE_COUNT }; +inline size_t sidechain_type_to_size_t(sidechain_type sidechain){ return static_cast(sidechain); } + +inline sidechain_type size_t_to_sidechain_type(size_t sidechain) +{ + if(sidechain >= static_cast(sidechain_type::SIDECHAIN_TYPE_COUNT)) + FC_THROW("Wrong sidechain_type: ${sidechain}", ("sidechain", sidechain)); + + return static_cast(sidechain); +} + } } FC_REFLECT_ENUM(graphene::chain::sidechain_type, - (unknown) (bitcoin) - (ethereum) - (eos) + (peerplays) (hive) - (peerplays) ) + (SIDECHAIN_TYPE_COUNT)) diff --git a/libraries/chain/include/graphene/chain/sidechain_transaction_object.hpp b/libraries/chain/include/graphene/chain/sidechain_transaction_object.hpp index 30a0dd5e..f8a4f137 100644 --- a/libraries/chain/include/graphene/chain/sidechain_transaction_object.hpp +++ b/libraries/chain/include/graphene/chain/sidechain_transaction_object.hpp @@ -27,7 +27,7 @@ namespace graphene { namespace chain { static const uint8_t type_id = sidechain_transaction_object_type; time_point_sec timestamp; - sidechain_type sidechain = sidechain_type::unknown; + sidechain_type sidechain; object_id_type object_id; std::string transaction; std::vector signers; diff --git a/libraries/chain/include/graphene/chain/son_wallet_deposit_object.hpp b/libraries/chain/include/graphene/chain/son_wallet_deposit_object.hpp index ae68a64f..642fa094 100644 --- a/libraries/chain/include/graphene/chain/son_wallet_deposit_object.hpp +++ b/libraries/chain/include/graphene/chain/son_wallet_deposit_object.hpp @@ -19,7 +19,7 @@ namespace graphene { namespace chain { time_point_sec timestamp; uint32_t block_num; - sidechain_type sidechain = sidechain_type::unknown; + sidechain_type sidechain; std::string sidechain_uid; std::string sidechain_transaction_id; std::string sidechain_from; diff --git a/libraries/chain/include/graphene/chain/son_wallet_withdraw_object.hpp b/libraries/chain/include/graphene/chain/son_wallet_withdraw_object.hpp index d65f5cab..822a0a66 100644 --- a/libraries/chain/include/graphene/chain/son_wallet_withdraw_object.hpp +++ b/libraries/chain/include/graphene/chain/son_wallet_withdraw_object.hpp @@ -19,7 +19,7 @@ namespace graphene { namespace chain { time_point_sec timestamp; uint32_t block_num; - sidechain_type sidechain = sidechain_type::unknown; + sidechain_type sidechain; std::string peerplays_uid; std::string peerplays_transaction_id; chain::account_id_type peerplays_from;