|
|
|
@ -11931,14 +11931,15 @@ void wallet2::import_blockchain(const std::tuple<size_t, crypto::hash, std::vect
|
|
|
|
|
m_last_block_reward = cryptonote::get_outs_money_amount(genesis.miner_tx);
|
|
|
|
|
}
|
|
|
|
|
//----------------------------------------------------------------------------------------------------
|
|
|
|
|
std::pair<size_t, std::vector<tools::wallet2::transfer_details>> wallet2::export_outputs() const
|
|
|
|
|
std::pair<size_t, std::vector<tools::wallet2::transfer_details>> wallet2::export_outputs(bool all) const
|
|
|
|
|
{
|
|
|
|
|
PERF_TIMER(export_outputs);
|
|
|
|
|
std::vector<tools::wallet2::transfer_details> outs;
|
|
|
|
|
|
|
|
|
|
size_t offset = 0;
|
|
|
|
|
while (offset < m_transfers.size() && (m_transfers[offset].m_key_image_known && !m_transfers[offset].m_key_image_request))
|
|
|
|
|
++offset;
|
|
|
|
|
if (!all)
|
|
|
|
|
while (offset < m_transfers.size() && (m_transfers[offset].m_key_image_known && !m_transfers[offset].m_key_image_request))
|
|
|
|
|
++offset;
|
|
|
|
|
|
|
|
|
|
outs.reserve(m_transfers.size() - offset);
|
|
|
|
|
for (size_t n = offset; n < m_transfers.size(); ++n)
|
|
|
|
@ -11951,13 +11952,13 @@ std::pair<size_t, std::vector<tools::wallet2::transfer_details>> wallet2::export
|
|
|
|
|
return std::make_pair(offset, outs);
|
|
|
|
|
}
|
|
|
|
|
//----------------------------------------------------------------------------------------------------
|
|
|
|
|
std::string wallet2::export_outputs_to_str() const
|
|
|
|
|
std::string wallet2::export_outputs_to_str(bool all) const
|
|
|
|
|
{
|
|
|
|
|
PERF_TIMER(export_outputs_to_str);
|
|
|
|
|
|
|
|
|
|
std::stringstream oss;
|
|
|
|
|
boost::archive::portable_binary_oarchive ar(oss);
|
|
|
|
|
const auto& outputs = export_outputs();
|
|
|
|
|
const auto& outputs = export_outputs(all);
|
|
|
|
|
ar << outputs;
|
|
|
|
|
|
|
|
|
|
std::string magic(OUTPUT_EXPORT_FILE_MAGIC, strlen(OUTPUT_EXPORT_FILE_MAGIC));
|
|
|
|
|