From 6c995710d8cdc8dbbb3da2d11dc8dfe335074ec9 Mon Sep 17 00:00:00 2001 From: moneromooo-monero Date: Wed, 19 Aug 2015 20:59:44 +0100 Subject: make tx keys available to the user They are also stored in the cache file, to be retrieved using a new get_tx_key command. --- src/cryptonote_core/cryptonote_format_utils.cpp | 3 ++- src/cryptonote_core/cryptonote_format_utils.h | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) (limited to 'src/cryptonote_core') diff --git a/src/cryptonote_core/cryptonote_format_utils.cpp b/src/cryptonote_core/cryptonote_format_utils.cpp index af8e703bf..cac51c042 100644 --- a/src/cryptonote_core/cryptonote_format_utils.cpp +++ b/src/cryptonote_core/cryptonote_format_utils.cpp @@ -408,7 +408,7 @@ namespace cryptonote return encrypt_payment_id(payment_id, public_key, secret_key); } //--------------------------------------------------------------- - bool construct_tx(const account_keys& sender_account_keys, const std::vector& sources, const std::vector& destinations, std::vector extra, transaction& tx, uint64_t unlock_time) + bool construct_tx(const account_keys& sender_account_keys, const std::vector& sources, const std::vector& destinations, std::vector extra, transaction& tx, uint64_t unlock_time, crypto::secret_key &tx_key) { tx.vin.clear(); tx.vout.clear(); @@ -420,6 +420,7 @@ namespace cryptonote tx.extra = extra; keypair txkey = keypair::generate(); add_tx_pub_key_to_extra(tx, txkey.pub); + tx_key = txkey.sec; // if we have a stealth payment id, find it and encrypt it with the tx key now std::vector tx_extra_fields; diff --git a/src/cryptonote_core/cryptonote_format_utils.h b/src/cryptonote_core/cryptonote_format_utils.h index 319205368..ddc0eadaa 100644 --- a/src/cryptonote_core/cryptonote_format_utils.h +++ b/src/cryptonote_core/cryptonote_format_utils.h @@ -69,7 +69,7 @@ namespace cryptonote }; //--------------------------------------------------------------- - bool construct_tx(const account_keys& sender_account_keys, const std::vector& sources, const std::vector& destinations, std::vector extra, transaction& tx, uint64_t unlock_time); + bool construct_tx(const account_keys& sender_account_keys, const std::vector& sources, const std::vector& destinations, std::vector extra, transaction& tx, uint64_t unlock_time, crypto::secret_key &txkey); template bool find_tx_extra_field_by_type(const std::vector& tx_extra_fields, T& field) -- cgit v1.2.3