34 #include <boost/serialization/vector.hpp> 35 #include <boost/serialization/utility.hpp> 36 #include <boost/serialization/variant.hpp> 37 #include <boost/serialization/set.hpp> 38 #include <boost/serialization/map.hpp> 39 #include <boost/serialization/is_bitwise_serializable.hpp> 40 #include <boost/archive/binary_iarchive.hpp> 41 #include <boost/archive/portable_binary_iarchive.hpp> 42 #include <boost/archive/portable_binary_oarchive.hpp> 57 template <
class Archive>
62 template <
class Archive>
67 template <
class Archive>
72 template <
class Archive>
78 template <
class Archive>
83 template <
class Archive>
88 template <
class Archive>
94 template <
class Archive>
102 template <
class Archive>
108 template <
class Archive>
114 template <
class Archive>
120 template <
class Archive>
128 template <
class Archive>
137 template <
class Archive>
145 template <
class Archive>
153 template <
class Archive>
163 template <
class Archive>
183 template <
class Archive>
196 template <
class Archive>
199 a &
reinterpret_cast<char (&)[sizeof(
rct::key)]
>(x);
202 template <
class Archive>
209 template <
class Archive>
216 template <
class Archive>
233 template <
class Archive>
241 template <
class Archive>
249 template <
class Archive>
256 template <
class Archive>
265 template <
class Archive>
271 template <
class Archive>
272 inline typename std::enable_if<Archive::is_loading::value, void>::type
serializeOutPk(Archive &
a,
rct::ctkeyV &outPk_,
const boost::serialization::version_type ver)
276 outPk_.resize(outPk.size());
277 for (
size_t n = 0; n < outPk_.size(); ++n)
280 outPk_[n].mask = outPk[n];
284 template <
class Archive>
285 inline typename std::enable_if<Archive::is_saving::value, void>::type
serializeOutPk(Archive &
a,
rct::ctkeyV &outPk_,
const boost::serialization::version_type ver)
288 for (
size_t n = 0; n < outPk_.size(); ++n)
289 outPk[n] = outPk_[n].mask;
293 template <
class Archive>
300 throw boost::archive::archive_exception(boost::archive::archive_exception::other_exception,
"Unsupported rct type");
310 template <
class Archive>
321 template <
class Archive>
328 throw boost::archive::archive_exception(boost::archive::archive_exception::other_exception,
"Unsupported rct type");
345 template <
class Archive>
352 template <
class Archive>
355 if (Archive::is_loading::value)
370 uint64_t v = x_.convert_to<uint64_t>();
373 x_ = x & 0xffffffffffffffff;
374 v = x_.convert_to<uint64_t>();
Definition: binary_utils.h:37
key ee
Definition: rctTypes.h:142
std::vector< rangeSig > rangeSigs
Definition: rctTypes.h:319
rct::key b
Definition: rctTypes.h:185
key64 Ci
Definition: rctTypes.h:171
Definition: cryptonote_basic.h:109
Definition: rctTypes.h:111
Definition: rctTypes.h:318
key k
Definition: rctTypes.h:105
txout_to_script script
Definition: cryptonote_basic.h:113
Definition: unordered_containers_boost_serialization.h:38
std::vector< ecdhTuple > ecdhInfo
Definition: rctTypes.h:246
std::vector< mgSig > MGs
Definition: rctTypes.h:321
key ki
Definition: rctTypes.h:108
POD_CLASS key_derivation
Definition: crypto.h:98
Definition: cryptonote_basic.h:409
void serialize(Archive &a, std::unordered_map< h_key, hval > &x, const boost::serialization::version_type ver)
Definition: unordered_containers_boost_serialization.h:127
rct::key S
Definition: rctTypes.h:182
Definition: rctTypes.h:96
key mask
Definition: rctTypes.h:125
key amount
Definition: rctTypes.h:126
rct::keyV L
Definition: rctTypes.h:184
size_t prevout
Definition: cryptonote_basic.h:112
Definition: rctTypes.h:233
std::enable_if< Archive::is_loading::value, void >::type serializeOutPk(Archive &a, rct::ctkeyV &outPk_, const boost::serialization::version_type ver)
Definition: cryptonote_boost_serialization.h:272
epee::mlocked< tools::scrubbed< ec_scalar > > secret_key
Definition: crypto.h:82
etn_amount txnFee
Definition: rctTypes.h:248
size_t prevout
Definition: cryptonote_basic.h:99
std::vector< uint64_t > key_offsets
Definition: cryptonote_basic.h:127
Definition: cryptonote_basic.h:77
Definition: cryptonote_basic.h:61
rct::key T1
Definition: rctTypes.h:182
Definition: rctTypes.h:124
int bp_version
Definition: rctTypes.h:238
key dest
Definition: rctTypes.h:97
key64 s0
Definition: rctTypes.h:140
rct::key mu
Definition: rctTypes.h:183
std::vector< Bulletproof > bulletproofs
Definition: rctTypes.h:320
Definition: cryptonote_basic.h:87
Definition: rctTypes.h:104
std::vector< uint8_t > extra
Definition: cryptonote_basic.h:181
crypto::hash prev
Definition: cryptonote_basic.h:98
std::vector< key > keyV
Definition: rctTypes.h:88
Definition: cryptonote_basic.h:170
std::vector< tx_out > vout
Definition: cryptonote_basic.h:179
Definition: cryptonote_basic.h:96
std::vector< txin_v > vin
Definition: cryptonote_basic.h:178
rct::keyV R
Definition: rctTypes.h:184
std::vector< uint8_t > script
Definition: cryptonote_basic.h:64
Definition: cryptonote_basic.h:72
uint64_t unlock_time
Definition: cryptonote_basic.h:176
rct::rctSig rct_signatures
Definition: cryptonote_basic.h:213
Definition: rctTypes.h:139
Definition: rctTypes.h:231
rctSigPrunable p
Definition: rctTypes.h:437
std::vector< ctkey > ctkeyV
Definition: rctTypes.h:100
uint64_t amount
Definition: cryptonote_basic.h:126
key L
Definition: rctTypes.h:106
Definition: rctTypes.h:232
Definition: rctTypes.h:78
int b
Definition: base.py:1
Definition: cryptonote_basic.h:124
Definition: rctTypes.h:436
key R
Definition: rctTypes.h:107
size_t version
Definition: cryptonote_basic.h:175
keyV pseudoOuts
Definition: rctTypes.h:322
Definition: rctTypes.h:169
crypto::hash hash
Definition: cryptonote_basic.h:74
POD_CLASS public_key
Definition: crypto.h:76
Definition: rctTypes.h:152
std::vector< std::vector< crypto::signature > > signatures
Definition: cryptonote_basic.h:212
rct::key T2
Definition: rctTypes.h:182
Definition: rctTypes.h:179
std::vector< key > c
Definition: rctTypes.h:112
boroSig asig
Definition: rctTypes.h:170
std::vector< uint8_t > sigset
Definition: cryptonote_basic.h:100
POD_CLASS signature
Definition: crypto.h:108
key identity()
Definition: rctOps.h:73
crypto::hash prev
Definition: cryptonote_basic.h:111
POD_CLASS hash8
Definition: hash.h:53
Definition: rctTypes.h:230
crypto::public_key key
Definition: cryptonote_basic.h:81
boost::multiprecision::uint128_t difficulty_type
Definition: difficulty.h:43
Definition: rctTypes.h:229
POD_CLASS key_image
Definition: crypto.h:102
std::vector< uint8_t > sigset
Definition: cryptonote_basic.h:114
uint64_t amount
Definition: cryptonote_basic.h:145
uint8_t type
Definition: rctTypes.h:241
txout_target_v target
Definition: cryptonote_basic.h:146
key cc
Definition: rctTypes.h:154
string a
Definition: MakeCryptoOps.py:15
crypto::key_image k_image
Definition: cryptonote_basic.h:128
key mask
Definition: rctTypes.h:98
keyM ss
Definition: rctTypes.h:153
RangeProofType range_proof_type
Definition: rctTypes.h:237
Definition: rctTypes.h:236
std::vector< crypto::public_key > keys
Definition: cryptonote_basic.h:63
rct::key A
Definition: rctTypes.h:182
POD_CLASS hash
Definition: hash.h:50
rct::key a
Definition: rctTypes.h:185
Definition: cryptonote_basic.h:143
rct::key taux
Definition: rctTypes.h:183
rct::keyV V
Definition: rctTypes.h:181
keyV pseudoOuts
Definition: rctTypes.h:245
size_t height
Definition: cryptonote_basic.h:89
Definition: rctTypes.h:240
Definition: cryptonote_basic.h:204
ctkeyV outPk
Definition: rctTypes.h:247
rct::key t
Definition: rctTypes.h:185
key64 s1
Definition: rctTypes.h:141