mirror of
https://github.com/monero-project/monero.git
synced 2024-11-17 16:27:39 +00:00
wallet2: export/import wallet data functions
This commit is contained in:
parent
225a25f327
commit
d27fe32e4a
2 changed files with 55 additions and 1 deletions
|
@ -5406,6 +5406,55 @@ uint64_t wallet2::import_key_images(const std::vector<std::pair<crypto::key_imag
|
||||||
MDEBUG("Total: " << print_money(spent) << " spent, " << print_money(unspent) << " unspent");
|
MDEBUG("Total: " << print_money(spent) << " spent, " << print_money(unspent) << " unspent");
|
||||||
return m_transfers[signed_key_images.size() - 1].m_block_height;
|
return m_transfers[signed_key_images.size() - 1].m_block_height;
|
||||||
}
|
}
|
||||||
|
wallet2::payment_container wallet2::export_payments() const
|
||||||
|
{
|
||||||
|
payment_container payments;
|
||||||
|
for (auto const &p : m_payments)
|
||||||
|
{
|
||||||
|
payments.emplace(p);
|
||||||
|
}
|
||||||
|
return payments;
|
||||||
|
}
|
||||||
|
void wallet2::import_payments(const payment_container &payments)
|
||||||
|
{
|
||||||
|
m_payments.clear();
|
||||||
|
for (auto const &p : payments)
|
||||||
|
{
|
||||||
|
m_payments.emplace(p);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
void wallet2::import_payments_out(const std::list<std::pair<crypto::hash,wallet2::confirmed_transfer_details>> &confirmed_payments)
|
||||||
|
{
|
||||||
|
m_confirmed_txs.clear();
|
||||||
|
for (auto const &p : confirmed_payments)
|
||||||
|
{
|
||||||
|
m_confirmed_txs.emplace(p);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
std::vector<crypto::hash> wallet2::export_blockchain() const
|
||||||
|
{
|
||||||
|
std::vector<crypto::hash> bc;
|
||||||
|
for (auto const &b : m_blockchain)
|
||||||
|
{
|
||||||
|
bc.push_back(b);
|
||||||
|
}
|
||||||
|
return bc;
|
||||||
|
}
|
||||||
|
|
||||||
|
void wallet2::import_blockchain(const std::vector<crypto::hash> &bc)
|
||||||
|
{
|
||||||
|
m_blockchain.clear();
|
||||||
|
for (auto const &b : bc)
|
||||||
|
{
|
||||||
|
m_blockchain.push_back(b);
|
||||||
|
}
|
||||||
|
cryptonote::block genesis;
|
||||||
|
generate_genesis(genesis);
|
||||||
|
crypto::hash genesis_hash = get_block_hash(genesis);
|
||||||
|
check_genesis(genesis_hash);
|
||||||
|
m_local_bc_height = m_blockchain.size();
|
||||||
|
}
|
||||||
//----------------------------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------------------------
|
||||||
std::vector<tools::wallet2::transfer_details> wallet2::export_outputs() const
|
std::vector<tools::wallet2::transfer_details> wallet2::export_outputs() const
|
||||||
{
|
{
|
||||||
|
|
|
@ -580,9 +580,14 @@ namespace tools
|
||||||
std::string sign(const std::string &data) const;
|
std::string sign(const std::string &data) const;
|
||||||
bool verify(const std::string &data, const cryptonote::account_public_address &address, const std::string &signature) const;
|
bool verify(const std::string &data, const cryptonote::account_public_address &address, const std::string &signature) const;
|
||||||
|
|
||||||
|
// Import/Export wallet data
|
||||||
std::vector<tools::wallet2::transfer_details> export_outputs() const;
|
std::vector<tools::wallet2::transfer_details> export_outputs() const;
|
||||||
size_t import_outputs(const std::vector<tools::wallet2::transfer_details> &outputs);
|
size_t import_outputs(const std::vector<tools::wallet2::transfer_details> &outputs);
|
||||||
|
payment_container export_payments() const;
|
||||||
|
void import_payments(const payment_container &payments);
|
||||||
|
void import_payments_out(const std::list<std::pair<crypto::hash,wallet2::confirmed_transfer_details>> &confirmed_payments);
|
||||||
|
std::vector<crypto::hash> export_blockchain() const;
|
||||||
|
void import_blockchain(const std::vector<crypto::hash> &bc);
|
||||||
bool export_key_images(const std::string filename);
|
bool export_key_images(const std::string filename);
|
||||||
std::vector<std::pair<crypto::key_image, crypto::signature>> export_key_images() const;
|
std::vector<std::pair<crypto::key_image, crypto::signature>> export_key_images() const;
|
||||||
uint64_t import_key_images(const std::vector<std::pair<crypto::key_image, crypto::signature>> &signed_key_images, uint64_t &spent, uint64_t &unspent, bool check_spent = true);
|
uint64_t import_key_images(const std::vector<std::pair<crypto::key_image, crypto::signature>> &signed_key_images, uint64_t &spent, uint64_t &unspent, bool check_spent = true);
|
||||||
|
|
Loading…
Reference in a new issue