aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbinaryFate <binaryfate@users.noreply.github.com>2017-06-25 20:42:56 +0200
committerbinaryFate <binaryfate@users.noreply.github.com>2017-06-26 12:22:12 +0200
commit5a09d79caf699c3dc33e889e1db412f41e7b0414 (patch)
treef203aee902f9e660e08e02334f962d1eb2fcc514
parentMerge pull request #2111 (diff)
downloadmonero-5a09d79caf699c3dc33e889e1db412f41e7b0414.tar.xz
Fix #2120: return per-tx amount in transfer_split RPC call.
Diffstat (limited to '')
-rw-r--r--src/wallet/wallet_rpc_server.cpp7
-rw-r--r--src/wallet/wallet_rpc_server_commands_defs.h2
2 files changed, 9 insertions, 0 deletions
diff --git a/src/wallet/wallet_rpc_server.cpp b/src/wallet/wallet_rpc_server.cpp
index f2b3dcaf5..afedc61a6 100644
--- a/src/wallet/wallet_rpc_server.cpp
+++ b/src/wallet/wallet_rpc_server.cpp
@@ -509,6 +509,7 @@ namespace tools
try
{
uint64_t mixin = req.mixin;
+ uint64_t ptx_amount;
if (mixin < 2 && m_wallet->use_fork_rules(2, 10)) {
LOG_PRINT_L1("Requested mixin " << req.mixin << " too low for hard fork 2, using 2");
mixin = 2;
@@ -530,6 +531,12 @@ namespace tools
{
res.tx_key_list.push_back(epee::string_tools::pod_to_hex(ptx.tx_key));
}
+ // Compute amount leaving wallet in tx. By convention dests does not include change outputs
+ ptx_amount = 0;
+ for(auto & dt: ptx.dests)
+ ptx_amount += dt.amount;
+ res.amount_list.push_back(ptx_amount);
+
res.fee_list.push_back(ptx.fee);
}
diff --git a/src/wallet/wallet_rpc_server_commands_defs.h b/src/wallet/wallet_rpc_server_commands_defs.h
index 3c10dc41f..12ac281e4 100644
--- a/src/wallet/wallet_rpc_server_commands_defs.h
+++ b/src/wallet/wallet_rpc_server_commands_defs.h
@@ -180,11 +180,13 @@ namespace wallet_rpc
{
std::list<std::string> tx_hash_list;
std::list<std::string> tx_key_list;
+ std::list<uint64_t> amount_list;
std::list<uint64_t> fee_list;
BEGIN_KV_SERIALIZE_MAP()
KV_SERIALIZE(tx_hash_list)
KV_SERIALIZE(tx_key_list)
+ KV_SERIALIZE(amount_list)
KV_SERIALIZE(fee_list)
END_KV_SERIALIZE_MAP()
};