diff --git a/src/common/crypto_serialization.h b/src/common/crypto_serialization.h index 79af98bc..89b05d8f 100644 --- a/src/common/crypto_serialization.h +++ b/src/common/crypto_serialization.h @@ -94,6 +94,27 @@ namespace crypto END_BOOST_SERIALIZATION() }; + struct CLSAG_GGXG_signature_serialized : public CLSAG_GGXG_signature + { + BEGIN_SERIALIZE_OBJECT() + FIELD(c) + FIELD((std::vector&)(r_g)) + FIELD((std::vector&)(r_x)) + FIELD(K1) + FIELD(K2) + FIELD(K3) + END_SERIALIZE() + + BEGIN_BOOST_SERIALIZATION() + BOOST_SERIALIZE(c) + BOOST_SERIALIZE((std::vector&)(r_g)) + BOOST_SERIALIZE((std::vector&)(r_x)) + BOOST_SERIALIZE(K1) + BOOST_SERIALIZE(K2) + BOOST_SERIALIZE(K3) + END_BOOST_SERIALIZATION() + }; + } // namespace crypto BLOB_SERIALIZER(crypto::chacha8_iv); diff --git a/src/currency_core/currency_basic.h b/src/currency_core/currency_basic.h index 6dad210d..9ab8a12f 100644 --- a/src/currency_core/currency_basic.h +++ b/src/currency_core/currency_basic.h @@ -493,13 +493,33 @@ namespace currency BEGIN_SERIALIZE_OBJECT() FIELD(d) FIELD(C) - // TODO + FIELD(C_prime); + FIELD(E); + FIELD(c); + FIELD(y0); + FIELD(y1); + FIELD(y2); + FIELD(y3); + FIELD(y4); + FIELD((crypto::bppe_signature_serialized&)E_range_proof); + FIELD(pseudo_out_amount_commitment); + FIELD((crypto::CLSAG_GGXG_signature_serialized&)clsag_ggxg); END_SERIALIZE() BEGIN_BOOST_SERIALIZATION() BOOST_SERIALIZE(d) BOOST_SERIALIZE(C) - // TODO + BOOST_SERIALIZE(C_prime); + BOOST_SERIALIZE(E); + BOOST_SERIALIZE(c); + BOOST_SERIALIZE(y0); + BOOST_SERIALIZE(y1); + BOOST_SERIALIZE(y2); + BOOST_SERIALIZE(y3); + BOOST_SERIALIZE(y4); + BOOST_SERIALIZE((crypto::bppe_signature_serialized&)E_range_proof); + BOOST_SERIALIZE(pseudo_out_amount_commitment); + BOOST_SERIALIZE((crypto::CLSAG_GGXG_signature_serialized&)clsag_ggxg); END_BOOST_SERIALIZATION() };