diff --git a/src/common/crypto_boost_serialization.h b/src/common/crypto_serialization.h similarity index 56% rename from src/common/crypto_boost_serialization.h rename to src/common/crypto_serialization.h index 310c8e92..23b4c143 100644 --- a/src/common/crypto_boost_serialization.h +++ b/src/common/crypto_serialization.h @@ -1,11 +1,9 @@ -// Copyright (c) 2014-2018 Zano Project +// Copyright (c) 2014-2022 Zano Project // Copyright (c) 2014-2018 The Louisdor Project // Copyright (c) 2012-2013 The Cryptonote developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. - #pragma once - #include #include #include @@ -13,7 +11,65 @@ #include #include #include + +#include "serialization/serialization.h" +#include "serialization/debug_archive.h" +#include "crypto/chacha8.h" #include "crypto/crypto.h" +#include "crypto/hash.h" +#include "crypto/range_proofs.h" +#include "boost_serialization_maps.h" + +// +// binary serialization +// + +namespace crypto +{ + struct bpp_signature_serialized : public crypto::bppe_signature + { + BEGIN_SERIALIZE_OBJECT() + FIELD(L) + FIELD(R) + FIELD(A0) + FIELD(A) + FIELD(B) + FIELD(r) + FIELD(s) + FIELD(delta) + END_SERIALIZE() + + BEGIN_BOOST_SERIALIZATION() + BOOST_SERIALIZE(L) + BOOST_SERIALIZE(R) + BOOST_SERIALIZE(A0) + BOOST_SERIALIZE(A) + BOOST_SERIALIZE(B) + BOOST_SERIALIZE(r) + BOOST_SERIALIZE(s) + BOOST_SERIALIZE(delta) + END_BOOST_SERIALIZATION() + }; +} + +BLOB_SERIALIZER(crypto::chacha8_iv); +BLOB_SERIALIZER(crypto::hash); +BLOB_SERIALIZER(crypto::public_key); +BLOB_SERIALIZER(crypto::secret_key); +BLOB_SERIALIZER(crypto::key_derivation); +BLOB_SERIALIZER(crypto::key_image); +BLOB_SERIALIZER(crypto::signature); +VARIANT_TAG(debug_archive, crypto::hash, "hash"); +VARIANT_TAG(debug_archive, crypto::public_key, "public_key"); +VARIANT_TAG(debug_archive, crypto::secret_key, "secret_key"); +VARIANT_TAG(debug_archive, crypto::key_derivation, "key_derivation"); +VARIANT_TAG(debug_archive, crypto::key_image, "key_image"); +VARIANT_TAG(debug_archive, crypto::signature, "signature"); + + +// +// Boost serialization +// namespace boost { @@ -51,7 +107,5 @@ namespace boost { a & reinterpret_cast(x); } - } -} - -//} + } // namespace serialization +} // namespace boost diff --git a/src/currency_core/bc_offers_serialization.h b/src/currency_core/bc_offers_serialization.h index cee1e274..f786133f 100644 --- a/src/currency_core/bc_offers_serialization.h +++ b/src/currency_core/bc_offers_serialization.h @@ -13,7 +13,7 @@ #include #include #include "common/unordered_containers_boost_serialization.h" -#include "common/crypto_boost_serialization.h" +#include "common/crypto_serialization.h" #include "offers_service_basics.h" #include "offers_services_helpers.h" diff --git a/src/currency_core/currency_basic.h b/src/currency_core/currency_basic.h index 676d4f4d..37c97a58 100644 --- a/src/currency_core/currency_basic.h +++ b/src/currency_core/currency_basic.h @@ -26,7 +26,6 @@ #include "include_base_utils.h" #include "serialization/binary_archive.h" -#include "serialization/crypto.h" #include "serialization/stl_containers.h" #include "serialization/serialization.h" #include "serialization/variant.h" @@ -37,9 +36,11 @@ #include "currency_config.h" #include "crypto/crypto.h" #include "crypto/hash.h" +#include "crypto/range_proofs.h" #include "misc_language.h" #include "block_flags.h" #include "etc_custom_serialization.h" +#include "common/crypto_serialization.h" namespace currency { diff --git a/src/currency_core/currency_boost_serialization.h b/src/currency_core/currency_boost_serialization.h index 9b241bec..72d2bd4d 100644 --- a/src/currency_core/currency_boost_serialization.h +++ b/src/currency_core/currency_boost_serialization.h @@ -15,7 +15,7 @@ #include #include "currency_basic.h" #include "common/unordered_containers_boost_serialization.h" -#include "common/crypto_boost_serialization.h" +#include "common/crypto_serialization.h" #include "offers_services_helpers.h" #define CURRENT_BLOCK_ARCHIVE_VER 2 diff --git a/src/p2p/maintainers_info_boost_serialization.h b/src/p2p/maintainers_info_boost_serialization.h index fafc659e..b8b5df48 100644 --- a/src/p2p/maintainers_info_boost_serialization.h +++ b/src/p2p/maintainers_info_boost_serialization.h @@ -6,7 +6,7 @@ #pragma once #include "p2p_protocol_defs.h" -#include "common/crypto_boost_serialization.h" +#include "common/crypto_serialization.h" namespace boost { diff --git a/src/serialization/crypto.h b/src/serialization/crypto.h deleted file mode 100644 index c436b466..00000000 --- a/src/serialization/crypto.h +++ /dev/null @@ -1,63 +0,0 @@ -// Copyright (c) 2014-2017 The The Louisdor Project -// Copyright (c) 2012-2013 The Cryptonote developers -// Distributed under the MIT/X11 software license, see the accompanying -// file COPYING or http://www.opensource.org/licenses/mit-license.php. - -#include "serialization.h" -#include "debug_archive.h" -#include "crypto/chacha8.h" -#include "crypto/crypto.h" -#include "crypto/hash.h" - -/*// read -template