From fdadd238b4e8495d23acb8f71af5c08ace5bcfa0 Mon Sep 17 00:00:00 2001 From: sowle Date: Thu, 26 May 2022 22:25:19 +0200 Subject: [PATCH] minor improvement to transition_convert, daemon_commands_handler fixed --- src/currency_core/currency_basic_backward_comp.inl | 7 ++++--- src/daemon/daemon_commands_handler.h | 13 ++++++++++--- src/serialization/serialization.h | 1 + 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/src/currency_core/currency_basic_backward_comp.inl b/src/currency_core/currency_basic_backward_comp.inl index b6e9a684..4e3bf92a 100644 --- a/src/currency_core/currency_basic_backward_comp.inl +++ b/src/currency_core/currency_basic_backward_comp.inl @@ -100,11 +100,12 @@ bool transition_convert(const transaction_current_t& from, transaction_v1& to) } return true; } + template bool transition_convert(const transaction_v1& from, transaction_current_t& to) { + // TODO: consider using move semantic for 'from' to.attachment = from.attachment; - to.signature = NLSAG_sig(); - boost::get(to.signature).s = from.signatures; + to.signature = NLSAG_sig({from.signatures}); return true; -} \ No newline at end of file +} diff --git a/src/daemon/daemon_commands_handler.h b/src/daemon/daemon_commands_handler.h index 78d2ffef..ac7de2c8 100644 --- a/src/daemon/daemon_commands_handler.h +++ b/src/daemon/daemon_commands_handler.h @@ -663,11 +663,18 @@ private: auto ptx = bcs.get_tx(h); CHECK_AND_ASSERT_MES(ptx != nullptr, false, "failed to find transaction " << h << " in blockchain index, in block on height = " << height); - if (ptx->signatures.size() == 0) - pruned_txs += 1; + VARIANT_SWITCH_BEGIN(ptx->signature); + VARIANT_CASE(currency::NLSAG_sig, nlsag) + { + if (nlsag.s.size() == 0) + pruned_txs += 1; + signatures += nlsag.s.size(); + } + VARIANT_CASE(currency::zarcanum_sig, zs); + // @#@ + VARIANT_SWITCH_END(); txs += 1; - signatures += ptx->signatures.size(); attachments += ptx->attachment.size(); } } diff --git a/src/serialization/serialization.h b/src/serialization/serialization.h index 5af187fa..fa1565b0 100644 --- a/src/serialization/serialization.h +++ b/src/serialization/serialization.h @@ -235,6 +235,7 @@ struct transition_t template static bool chain_serialize(archive &ar, origin_type& origin_tx) { + // TODO: consider using move semantic for temporary 'dst_tx' destination_t dst_tx = AUTO_VAL_INIT(dst_tx); bool r = dst_tx.do_serialize(ar); if (!r) return r;