mirror of
https://github.com/monero-project/monero.git
synced 2024-12-27 09:29:24 -05:00
wallet_rpc_server: add all field to export_key_images
To use if you want all key images, not just the ones for recently imported outputs
This commit is contained in:
parent
ed54ac8fdf
commit
d7354c7864
@ -10771,14 +10771,17 @@ bool wallet2::export_key_images(const std::string &filename) const
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------------------------------
|
||||
std::pair<size_t, std::vector<std::pair<crypto::key_image, crypto::signature>>> wallet2::export_key_images() const
|
||||
std::pair<size_t, std::vector<std::pair<crypto::key_image, crypto::signature>>> wallet2::export_key_images(bool all) const
|
||||
{
|
||||
PERF_TIMER(export_key_images_raw);
|
||||
std::vector<std::pair<crypto::key_image, crypto::signature>> ski;
|
||||
|
||||
size_t offset = 0;
|
||||
if (!all)
|
||||
{
|
||||
while (offset < m_transfers.size() && !m_transfers[offset].m_key_image_requested)
|
||||
++offset;
|
||||
}
|
||||
|
||||
ski.reserve(m_transfers.size() - offset);
|
||||
for (size_t n = offset; n < m_transfers.size(); ++n)
|
||||
|
@ -1109,7 +1109,7 @@ namespace tools
|
||||
std::tuple<size_t, crypto::hash, std::vector<crypto::hash>> export_blockchain() const;
|
||||
void import_blockchain(const std::tuple<size_t, crypto::hash, std::vector<crypto::hash>> &bc);
|
||||
bool export_key_images(const std::string &filename) const;
|
||||
std::pair<size_t, std::vector<std::pair<crypto::key_image, crypto::signature>>> export_key_images() const;
|
||||
std::pair<size_t, std::vector<std::pair<crypto::key_image, crypto::signature>>> export_key_images(bool all = false) const;
|
||||
uint64_t import_key_images(const std::vector<std::pair<crypto::key_image, crypto::signature>> &signed_key_images, size_t offset, uint64_t &spent, uint64_t &unspent, bool check_spent = true);
|
||||
uint64_t import_key_images(const std::string &filename, uint64_t &spent, uint64_t &unspent);
|
||||
bool import_key_images(std::vector<crypto::key_image> key_images);
|
||||
|
@ -2495,7 +2495,7 @@ namespace tools
|
||||
if (!m_wallet) return not_open(er);
|
||||
try
|
||||
{
|
||||
std::pair<size_t, std::vector<std::pair<crypto::key_image, crypto::signature>>> ski = m_wallet->export_key_images();
|
||||
std::pair<size_t, std::vector<std::pair<crypto::key_image, crypto::signature>>> ski = m_wallet->export_key_images(req.all);
|
||||
res.offset = ski.first;
|
||||
res.signed_key_images.resize(ski.second.size());
|
||||
for (size_t n = 0; n < ski.second.size(); ++n)
|
||||
|
@ -47,7 +47,7 @@
|
||||
// advance which version they will stop working with
|
||||
// Don't go over 32767 for any of these
|
||||
#define WALLET_RPC_VERSION_MAJOR 1
|
||||
#define WALLET_RPC_VERSION_MINOR 6
|
||||
#define WALLET_RPC_VERSION_MINOR 7
|
||||
#define MAKE_WALLET_RPC_VERSION(major,minor) (((major)<<16)|(minor))
|
||||
#define WALLET_RPC_VERSION MAKE_WALLET_RPC_VERSION(WALLET_RPC_VERSION_MAJOR, WALLET_RPC_VERSION_MINOR)
|
||||
namespace tools
|
||||
@ -1565,7 +1565,10 @@ namespace wallet_rpc
|
||||
{
|
||||
struct request
|
||||
{
|
||||
bool all;
|
||||
|
||||
BEGIN_KV_SERIALIZE_MAP()
|
||||
KV_SERIALIZE_OPT(all, false);
|
||||
END_KV_SERIALIZE_MAP()
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user