From e875a587e26c7525134135293277de69ca28932b Mon Sep 17 00:00:00 2001 From: Lee Clagett Date: Tue, 18 Jun 2024 21:26:28 -0400 Subject: [PATCH] Fix ZMQ Tx Pruning --- src/serialization/json_object.cpp | 9 ++++++--- src/serialization/json_object.h | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/serialization/json_object.cpp b/src/serialization/json_object.cpp index 43d9cfebe..628f41c52 100644 --- a/src/serialization/json_object.cpp +++ b/src/serialization/json_object.cpp @@ -273,7 +273,10 @@ void toJsonValue(rapidjson::Writer& dest, const cryptonote::t { INSERT_INTO_JSON_OBJECT(dest, signatures, tx.signatures); } - INSERT_INTO_JSON_OBJECT(dest, ringct, tx.rct_signatures); + { + dest.Key("ringct"); + toJsonValue(dest, tx.rct_signatures, tx.pruned); + } dest.EndObject(); } @@ -1111,7 +1114,7 @@ void fromJsonValue(const rapidjson::Value& val, cryptonote::rpc::BlockHeaderResp GET_FROM_JSON_OBJECT(val, response.reward, reward); } -void toJsonValue(rapidjson::Writer& dest, const rct::rctSig& sig) +void toJsonValue(rapidjson::Writer& dest, const rct::rctSig& sig, const bool prune) { using boost::adaptors::transform; @@ -1131,7 +1134,7 @@ void toJsonValue(rapidjson::Writer& dest, const rct::rctSig& } // prunable - if (!sig.p.bulletproofs.empty() || !sig.p.bulletproofs_plus.empty() || !sig.p.rangeSigs.empty() || !sig.p.MGs.empty() || !sig.get_pseudo_outs().empty()) + if (!prune && (!sig.p.bulletproofs.empty() || !sig.p.bulletproofs_plus.empty() || !sig.p.rangeSigs.empty() || !sig.p.MGs.empty() || !sig.get_pseudo_outs().empty())) { dest.Key("prunable"); dest.StartObject(); diff --git a/src/serialization/json_object.h b/src/serialization/json_object.h index 3868ab3f8..bbcde9bf6 100644 --- a/src/serialization/json_object.h +++ b/src/serialization/json_object.h @@ -281,7 +281,7 @@ void fromJsonValue(const rapidjson::Value& val, cryptonote::rpc::error& error); void toJsonValue(rapidjson::Writer& dest, const cryptonote::rpc::BlockHeaderResponse& response); void fromJsonValue(const rapidjson::Value& val, cryptonote::rpc::BlockHeaderResponse& response); -void toJsonValue(rapidjson::Writer& dest, const rct::rctSig& i); +void toJsonValue(rapidjson::Writer& dest, const rct::rctSig& sig, bool prune); void fromJsonValue(const rapidjson::Value& val, rct::rctSig& sig); void fromJsonValue(const rapidjson::Value& val, rct::ctkey& key);