wallet: fix serialization of new m_key_image_known member

This commit is contained in:
moneromooo-monero 2016-11-13 11:34:43 +00:00
parent 9363b2ac19
commit a99ab49dd5
No known key found for this signature in database
GPG key ID: 686F07454D6CEFC3

View file

@ -611,7 +611,7 @@ namespace tools
}; };
} }
BOOST_CLASS_VERSION(tools::wallet2, 15) BOOST_CLASS_VERSION(tools::wallet2, 15)
BOOST_CLASS_VERSION(tools::wallet2::transfer_details, 5) BOOST_CLASS_VERSION(tools::wallet2::transfer_details, 6)
BOOST_CLASS_VERSION(tools::wallet2::payment_details, 1) BOOST_CLASS_VERSION(tools::wallet2::payment_details, 1)
BOOST_CLASS_VERSION(tools::wallet2::unconfirmed_transfer_details, 6) BOOST_CLASS_VERSION(tools::wallet2::unconfirmed_transfer_details, 6)
BOOST_CLASS_VERSION(tools::wallet2::confirmed_transfer_details, 3) BOOST_CLASS_VERSION(tools::wallet2::confirmed_transfer_details, 3)
@ -640,8 +640,11 @@ namespace boost
{ {
x.m_rct = x.m_tx.vout[x.m_internal_output_index].amount == 0; x.m_rct = x.m_tx.vout[x.m_internal_output_index].amount == 0;
} }
if (ver < 6)
{
x.m_key_image_known = true; x.m_key_image_known = true;
} }
}
template <class Archive> template <class Archive>
inline void serialize(Archive &a, tools::wallet2::transfer_details &x, const boost::serialization::version_type ver) inline void serialize(Archive &a, tools::wallet2::transfer_details &x, const boost::serialization::version_type ver)
@ -689,7 +692,18 @@ namespace boost
} }
a & x.m_rct; a & x.m_rct;
if (ver < 5) if (ver < 5)
{
initialize_transfer_details(a, x, ver);
return; return;
}
if (ver < 6)
{
// v5 did not properly initialize
uint8_t u;
a & u;
x.m_key_image_known = true;
return;
}
a & x.m_key_image_known; a & x.m_key_image_known;
} }