mirror of
https://github.com/monero-project/monero.git
synced 2025-08-05 23:24:20 -04:00
wallet: transfer RPC can now return tx metadata (pending_tx)
This commit is contained in:
parent
83fa9047d8
commit
01dc829784
4 changed files with 100 additions and 3 deletions
|
@ -30,6 +30,7 @@
|
|||
#include <boost/format.hpp>
|
||||
#include <boost/asio/ip/address.hpp>
|
||||
#include <boost/filesystem/operations.hpp>
|
||||
#include <boost/algorithm/string.hpp>
|
||||
#include <cstdint>
|
||||
#include "include_base_utils.h"
|
||||
using namespace epee;
|
||||
|
@ -635,6 +636,13 @@ namespace tools
|
|||
tx_to_blob(ptx_vector.back().tx, blob);
|
||||
res.tx_blob = epee::string_tools::buff_to_hex_nodelimer(blob);
|
||||
}
|
||||
if (req.get_tx_metadata)
|
||||
{
|
||||
std::ostringstream oss;
|
||||
binary_archive<true> ar(oss);
|
||||
::serialization::serialize(ar, ptx_vector.back());
|
||||
res.tx_metadata = epee::string_tools::buff_to_hex_nodelimer(oss.str());
|
||||
}
|
||||
return true;
|
||||
}
|
||||
catch (const std::exception& e)
|
||||
|
@ -682,7 +690,7 @@ namespace tools
|
|||
}
|
||||
|
||||
// populate response with tx hashes
|
||||
for (auto & ptx : ptx_vector)
|
||||
for (const auto & ptx : ptx_vector)
|
||||
{
|
||||
res.tx_hash_list.push_back(epee::string_tools::pod_to_hex(cryptonote::get_transaction_hash(ptx.tx)));
|
||||
if (req.get_tx_keys)
|
||||
|
@ -705,6 +713,13 @@ namespace tools
|
|||
tx_to_blob(ptx.tx, blob);
|
||||
res.tx_blob_list.push_back(epee::string_tools::buff_to_hex_nodelimer(blob));
|
||||
}
|
||||
if (req.get_tx_metadata)
|
||||
{
|
||||
std::ostringstream oss;
|
||||
binary_archive<true> ar(oss);
|
||||
::serialization::serialize(ar, const_cast<tools::wallet2::pending_tx&>(ptx));
|
||||
res.tx_metadata_list.push_back(epee::string_tools::buff_to_hex_nodelimer(oss.str()));
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
|
@ -735,7 +750,7 @@ namespace tools
|
|||
m_wallet->commit_tx(ptx_vector);
|
||||
|
||||
// populate response with tx hashes
|
||||
for (auto & ptx : ptx_vector)
|
||||
for (const auto & ptx : ptx_vector)
|
||||
{
|
||||
res.tx_hash_list.push_back(epee::string_tools::pod_to_hex(cryptonote::get_transaction_hash(ptx.tx)));
|
||||
if (req.get_tx_keys)
|
||||
|
@ -749,6 +764,13 @@ namespace tools
|
|||
tx_to_blob(ptx.tx, blob);
|
||||
res.tx_blob_list.push_back(epee::string_tools::buff_to_hex_nodelimer(blob));
|
||||
}
|
||||
if (req.get_tx_metadata)
|
||||
{
|
||||
std::ostringstream oss;
|
||||
binary_archive<true> ar(oss);
|
||||
::serialization::serialize(ar, const_cast<tools::wallet2::pending_tx&>(ptx));
|
||||
res.tx_metadata_list.push_back(epee::string_tools::buff_to_hex_nodelimer(oss.str()));
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
|
@ -793,7 +815,7 @@ namespace tools
|
|||
m_wallet->commit_tx(ptx_vector);
|
||||
|
||||
// populate response with tx hashes
|
||||
for (auto & ptx : ptx_vector)
|
||||
for (const auto & ptx : ptx_vector)
|
||||
{
|
||||
res.tx_hash_list.push_back(epee::string_tools::pod_to_hex(cryptonote::get_transaction_hash(ptx.tx)));
|
||||
if (req.get_tx_keys)
|
||||
|
@ -806,6 +828,13 @@ namespace tools
|
|||
tx_to_blob(ptx.tx, blob);
|
||||
res.tx_blob_list.push_back(epee::string_tools::buff_to_hex_nodelimer(blob));
|
||||
}
|
||||
if (req.get_tx_metadata)
|
||||
{
|
||||
std::ostringstream oss;
|
||||
binary_archive<true> ar(oss);
|
||||
::serialization::serialize(ar, const_cast<tools::wallet2::pending_tx&>(ptx));
|
||||
res.tx_metadata_list.push_back(epee::string_tools::buff_to_hex_nodelimer(oss.str()));
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
|
@ -889,6 +918,13 @@ namespace tools
|
|||
tx_to_blob(ptx.tx, blob);
|
||||
res.tx_blob = epee::string_tools::buff_to_hex_nodelimer(blob);
|
||||
}
|
||||
if (req.get_tx_metadata)
|
||||
{
|
||||
std::ostringstream oss;
|
||||
binary_archive<true> ar(oss);
|
||||
::serialization::serialize(ar, const_cast<tools::wallet2::pending_tx&>(ptx));
|
||||
res.tx_metadata = epee::string_tools::buff_to_hex_nodelimer(oss.str());
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue