From 4e2377995d286eb01456ed1dfd29cd278282ec19 Mon Sep 17 00:00:00 2001 From: Lee Clagett Date: Sun, 31 May 2020 01:22:33 -0400 Subject: Change ZMQ-JSON txextra to hex and remove unnecessary base fields --- src/serialization/json_object.cpp | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'src/serialization/json_object.cpp') diff --git a/src/serialization/json_object.cpp b/src/serialization/json_object.cpp index 6228b4bec..1f71126c3 100644 --- a/src/serialization/json_object.cpp +++ b/src/serialization/json_object.cpp @@ -146,6 +146,26 @@ void fromJsonValue(const rapidjson::Value& val, std::string& str) str = val.GetString(); } +void toJsonValue(rapidjson::Writer& dest, const std::vector& src) +{ + const std::string hex = epee::to_hex::string(epee::to_span(src)); + dest.String(hex.data(), hex.size()); +} + +void fromJsonValue(const rapidjson::Value& val, std::vector& dest) +{ + if (!val.IsString()) + { + throw WRONG_TYPE("string"); + } + + dest.resize(val.GetStringLength() / 2); + if ((val.GetStringLength() % 2) != 0 || !epee::from_hex::to_buffer(epee::to_mut_span(dest), {val.GetString(), val.GetStringLength()})) + { + throw BAD_INPUT(); + } +} + void toJsonValue(rapidjson::Writer& dest, bool i) { dest.Bool(i); -- cgit v1.2.3