mirror of
https://github.com/wownero/wownero-cpp.git
synced 2026-10-17 15:21:30 +02:00
Merge remote-tracking branch 'origin/0.3.0_update_0.16.0'
Conflicts: README.md
This commit is contained in:
@@ -11,7 +11,7 @@
|
||||
|
||||
## Overview
|
||||
|
||||
This project is a C++ library for using Monero wallets with native bindings to [Monero Core v0.15.0.5 Carbon Chameleon](https://web.getmonero.org/downloads/).
|
||||
This project is a C++ library for using Monero wallets with native bindings to [Monero Core v0.16.0.0 'Nitrogen Nebula'](https://web.getmonero.org/downloads/).
|
||||
|
||||
In addition, this project conforms to an [API specification](http://moneroecosystem.org/monero-java/monero-spec.pdf) intended to be intuitive, robust, and for long-term use in the Monero project.
|
||||
|
||||
|
||||
@@ -205,7 +205,7 @@ $(function() {
|
||||
<div class="ttc" id="classmonero_1_1monero__wallet_html_aa99175937b6c342597c28e4a9a31e8c8"><div class="ttname"><a href="classmonero_1_1monero__wallet.html#aa99175937b6c342597c28e4a9a31e8c8">monero::monero_wallet::get_listeners</a></div><div class="ttdeci">virtual std::set< monero_wallet_listener * > get_listeners()</div><div class="ttdef"><b>Definition:</b> monero_wallet.h:398</div></div>
|
||||
<div class="ttc" id="structmonero_1_1monero__tx__config_html"><div class="ttname"><a href="structmonero_1_1monero__tx__config.html">monero::monero_tx_config</a></div><div class="ttdef"><b>Definition:</b> monero_wallet_model.h:343</div></div>
|
||||
<div class="ttc" id="classmonero_1_1monero__wallet_html_a93058114cff787076edf9440d1087baf"><div class="ttname"><a href="classmonero_1_1monero__wallet.html#a93058114cff787076edf9440d1087baf">monero::monero_wallet::create_txs</a></div><div class="ttdeci">virtual std::vector< std::shared_ptr< monero_tx_wallet > > create_txs(const monero_tx_config &config)</div><div class="ttdef"><b>Definition:</b> monero_wallet.h:785</div></div>
|
||||
<div class="ttc" id="structmonero_1_1wallet2__listener_html"><div class="ttname"><a href="structmonero_1_1wallet2__listener.html">monero::wallet2_listener</a></div><div class="ttdef"><b>Definition:</b> monero_wallet_core.cpp:688</div></div>
|
||||
<div class="ttc" id="structmonero_1_1wallet2__listener_html"><div class="ttname"><a href="structmonero_1_1wallet2__listener.html">monero::wallet2_listener</a></div><div class="ttdef"><b>Definition:</b> monero_wallet_core.cpp:679</div></div>
|
||||
<div class="ttc" id="classmonero_1_1monero__wallet_html_adc414619a0d246a014331f4a9d54d914"><div class="ttname"><a href="classmonero_1_1monero__wallet.html#adc414619a0d246a014331f4a9d54d914">monero::monero_wallet::verify_message</a></div><div class="ttdeci">virtual bool verify_message(const std::string &msg, const std::string &address, const std::string &signature) const</div><div class="ttdef"><b>Definition:</b> monero_wallet.h:911</div></div>
|
||||
<div class="ttc" id="classmonero_1_1monero__wallet_html_a2892affa378f7a465ca045172ba2c270"><div class="ttname"><a href="classmonero_1_1monero__wallet.html#a2892affa378f7a465ca045172ba2c270">monero::monero_wallet::get_account</a></div><div class="ttdeci">virtual monero_account get_account(uint32_t account_idx) const</div><div class="ttdef"><b>Definition:</b> monero_wallet.h:586</div></div>
|
||||
</div><!-- fragment --></div><!-- contents -->
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -203,10 +203,10 @@ std::string </td><td class="memItemRight" valign="bottom"><b>get_default_ri
|
||||
<tr class="separator:aab39fad177c2dd5acb39537280278043"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a11ef2da5190ff16e820b26ada8cfd943"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemonero.html#a11ef2da5190ff16e820b26ada8cfd943">validate_transfer</a> (wallet2 *m_w2, const std::list< wallet_rpc::transfer_destination > &destinations, const std::string &payment_id, std::vector< cryptonote::tx_destination_entry > &dsts, std::vector< uint8_t > &extra, bool at_least_one_destination, epee::json_rpc::error &er)</td></tr>
|
||||
<tr class="separator:a11ef2da5190ff16e820b26ada8cfd943"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a85ad4bc6a98437b114bc85e57c12a567"><td class="memTemplParams" colspan="2"><a id="a85ad4bc6a98437b114bc85e57c12a567"></a>
|
||||
<tr class="memitem:ae743b032b8f40c2d4cf67c1ddc6e0d8b"><td class="memTemplParams" colspan="2"><a id="ae743b032b8f40c2d4cf67c1ddc6e0d8b"></a>
|
||||
template<typename Ts , typename Tu > </td></tr>
|
||||
<tr class="memitem:a85ad4bc6a98437b114bc85e57c12a567"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><b>fill_response</b> (wallet2 *m_w2, std::vector< tools::wallet2::pending_tx > &ptx_vector, bool get_tx_key, Ts &tx_key, Tu &amount, Tu &fee, std::string &multisig_txset, std::string &unsigned_txset, bool do_not_relay, Ts &tx_hash, bool get_tx_hex, Ts &tx_blob, bool get_tx_metadata, Ts &tx_metadata, epee::json_rpc::error &er)</td></tr>
|
||||
<tr class="separator:a85ad4bc6a98437b114bc85e57c12a567"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ae743b032b8f40c2d4cf67c1ddc6e0d8b"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><b>fill_response</b> (wallet2 *m_w2, std::vector< tools::wallet2::pending_tx > &ptx_vector, bool get_tx_key, Ts &tx_key, Tu &amount, Tu &fee, Tu &weight, std::string &multisig_txset, std::string &unsigned_txset, bool do_not_relay, Ts &tx_hash, bool get_tx_hex, Ts &tx_blob, bool get_tx_metadata, Ts &tx_metadata, epee::json_rpc::error &er)</td></tr>
|
||||
<tr class="separator:ae743b032b8f40c2d4cf67c1ddc6e0d8b"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ad28462ef279a5dddc5369e6a9dbc7d4b"><td class="memItemLeft" align="right" valign="top"><a id="ad28462ef279a5dddc5369e6a9dbc7d4b"></a>
|
||||
void </td><td class="memItemRight" valign="bottom"><b>merge_incoming_transfer</b> (std::vector< std::shared_ptr< <a class="el" href="structmonero_1_1monero__incoming__transfer.html">monero_incoming_transfer</a> >> &transfers, const std::shared_ptr< <a class="el" href="structmonero_1_1monero__incoming__transfer.html">monero_incoming_transfer</a> > &transfer)</td></tr>
|
||||
<tr class="separator:ad28462ef279a5dddc5369e6a9dbc7d4b"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
|
||||
@@ -77,9 +77,10 @@ $(function() {
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>m_index</b> (defined in <a class="el" href="structmonero_1_1monero__address__book__entry.html">monero::monero_address_book_entry</a>)</td><td class="entry"><a class="el" href="structmonero_1_1monero__address__book__entry.html">monero::monero_address_book_entry</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>m_payment_id</b> (defined in <a class="el" href="structmonero_1_1monero__address__book__entry.html">monero::monero_address_book_entry</a>)</td><td class="entry"><a class="el" href="structmonero_1_1monero__address__book__entry.html">monero::monero_address_book_entry</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>monero_address_book_entry</b>() (defined in <a class="el" href="structmonero_1_1monero__address__book__entry.html">monero::monero_address_book_entry</a>)</td><td class="entry"><a class="el" href="structmonero_1_1monero__address__book__entry.html">monero::monero_address_book_entry</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>monero_address_book_entry</b>(uint64_t index, const std::string &address, const std::string &description, const std::string &payment_id) (defined in <a class="el" href="structmonero_1_1monero__address__book__entry.html">monero::monero_address_book_entry</a>)</td><td class="entry"><a class="el" href="structmonero_1_1monero__address__book__entry.html">monero::monero_address_book_entry</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="structmonero_1_1serializable__struct.html#a723e44b22962d02d3f78bc7c2043dc1e">serialize</a>() const</td><td class="entry"><a class="el" href="structmonero_1_1serializable__struct.html">monero::serializable_struct</a></td><td class="entry"></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="structmonero_1_1monero__address__book__entry.html#a581c7ca994d40a7518b8b2aee9f7fd19">to_rapidjson_val</a>(rapidjson::Document::AllocatorType &allocator) const</td><td class="entry"><a class="el" href="structmonero_1_1monero__address__book__entry.html">monero::monero_address_book_entry</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>monero_address_book_entry</b>(uint64_t index, const std::string &address, const std::string &description) (defined in <a class="el" href="structmonero_1_1monero__address__book__entry.html">monero::monero_address_book_entry</a>)</td><td class="entry"><a class="el" href="structmonero_1_1monero__address__book__entry.html">monero::monero_address_book_entry</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>monero_address_book_entry</b>(uint64_t index, const std::string &address, const std::string &description, const std::string &payment_id) (defined in <a class="el" href="structmonero_1_1monero__address__book__entry.html">monero::monero_address_book_entry</a>)</td><td class="entry"><a class="el" href="structmonero_1_1monero__address__book__entry.html">monero::monero_address_book_entry</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="structmonero_1_1serializable__struct.html#a723e44b22962d02d3f78bc7c2043dc1e">serialize</a>() const</td><td class="entry"><a class="el" href="structmonero_1_1serializable__struct.html">monero::serializable_struct</a></td><td class="entry"></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="structmonero_1_1monero__address__book__entry.html#a581c7ca994d40a7518b8b2aee9f7fd19">to_rapidjson_val</a>(rapidjson::Document::AllocatorType &allocator) const</td><td class="entry"><a class="el" href="structmonero_1_1monero__address__book__entry.html">monero::monero_address_book_entry</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
|
||||
</table></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
|
||||
@@ -87,6 +87,9 @@ Inheritance diagram for monero::monero_address_book_entry:</div>
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
|
||||
Public Member Functions</h2></td></tr>
|
||||
<tr class="memitem:a965a60cb6c1e61b095e0ddf269b9c6af"><td class="memItemLeft" align="right" valign="top"><a id="a965a60cb6c1e61b095e0ddf269b9c6af"></a>
|
||||
 </td><td class="memItemRight" valign="bottom"><b>monero_address_book_entry</b> (uint64_t index, const std::string &address, const std::string &description)</td></tr>
|
||||
<tr class="separator:a965a60cb6c1e61b095e0ddf269b9c6af"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a927d72a12a04e91300f5faf298925e63"><td class="memItemLeft" align="right" valign="top"><a id="a927d72a12a04e91300f5faf298925e63"></a>
|
||||
 </td><td class="memItemRight" valign="bottom"><b>monero_address_book_entry</b> (uint64_t index, const std::string &address, const std::string &description, const std::string &payment_id)</td></tr>
|
||||
<tr class="separator:a927d72a12a04e91300f5faf298925e63"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
|
||||
@@ -80,7 +80,7 @@ $(function() {
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>m_account_index</b> (defined in <a class="el" href="structmonero_1_1monero__transfer.html">monero::monero_transfer</a>)</td><td class="entry"><a class="el" href="structmonero_1_1monero__transfer.html">monero::monero_transfer</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>m_address</b> (defined in <a class="el" href="structmonero_1_1monero__incoming__transfer.html">monero::monero_incoming_transfer</a>)</td><td class="entry"><a class="el" href="structmonero_1_1monero__incoming__transfer.html">monero::monero_incoming_transfer</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>m_amount</b> (defined in <a class="el" href="structmonero_1_1monero__transfer.html">monero::monero_transfer</a>)</td><td class="entry"><a class="el" href="structmonero_1_1monero__transfer.html">monero::monero_transfer</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>m_num_suggested_confirmations</b> (defined in <a class="el" href="structmonero_1_1monero__transfer.html">monero::monero_transfer</a>)</td><td class="entry"><a class="el" href="structmonero_1_1monero__transfer.html">monero::monero_transfer</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>m_num_suggested_confirmations</b> (defined in <a class="el" href="structmonero_1_1monero__incoming__transfer.html">monero::monero_incoming_transfer</a>)</td><td class="entry"><a class="el" href="structmonero_1_1monero__incoming__transfer.html">monero::monero_incoming_transfer</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>m_subaddress_index</b> (defined in <a class="el" href="structmonero_1_1monero__incoming__transfer.html">monero::monero_incoming_transfer</a>)</td><td class="entry"><a class="el" href="structmonero_1_1monero__incoming__transfer.html">monero::monero_incoming_transfer</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>m_tx</b> (defined in <a class="el" href="structmonero_1_1monero__transfer.html">monero::monero_transfer</a>)</td><td class="entry"><a class="el" href="structmonero_1_1monero__transfer.html">monero::monero_transfer</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>merge</b>(const std::shared_ptr< monero_transfer > &self, const std::shared_ptr< monero_transfer > &other) (defined in <a class="el" href="structmonero_1_1monero__incoming__transfer.html">monero::monero_incoming_transfer</a>)</td><td class="entry"><a class="el" href="structmonero_1_1monero__incoming__transfer.html">monero::monero_incoming_transfer</a></td><td class="entry"></td></tr>
|
||||
|
||||
@@ -127,6 +127,9 @@ boost::optional< uint32_t > </td><td class="memItemRight" valign="bot
|
||||
<tr class="memitem:a79316a691ffb09e7ca2a293815a02e70"><td class="memItemLeft" align="right" valign="top"><a id="a79316a691ffb09e7ca2a293815a02e70"></a>
|
||||
boost::optional< std::string > </td><td class="memItemRight" valign="bottom"><b>m_address</b></td></tr>
|
||||
<tr class="separator:a79316a691ffb09e7ca2a293815a02e70"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ac3f2bc8be9e05b812f549af81cc340e4"><td class="memItemLeft" align="right" valign="top"><a id="ac3f2bc8be9e05b812f549af81cc340e4"></a>
|
||||
boost::optional< uint64_t > </td><td class="memItemRight" valign="bottom"><b>m_num_suggested_confirmations</b></td></tr>
|
||||
<tr class="separator:ac3f2bc8be9e05b812f549af81cc340e4"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="inherit_header pub_attribs_structmonero_1_1monero__transfer"><td colspan="2" onclick="javascript:toggleInherit('pub_attribs_structmonero_1_1monero__transfer')"><img src="closed.png" alt="-"/> Public Attributes inherited from <a class="el" href="structmonero_1_1monero__transfer.html">monero::monero_transfer</a></td></tr>
|
||||
<tr class="memitem:ad8805f58288f529e5a28426ea8a97e79 inherit pub_attribs_structmonero_1_1monero__transfer"><td class="memItemLeft" align="right" valign="top"><a id="ad8805f58288f529e5a28426ea8a97e79"></a>
|
||||
std::shared_ptr< <a class="el" href="structmonero_1_1monero__tx__wallet.html">monero_tx_wallet</a> > </td><td class="memItemRight" valign="bottom"><b>m_tx</b></td></tr>
|
||||
@@ -137,9 +140,6 @@ boost::optional< uint64_t > </td><td class="memItemRight" valign="bot
|
||||
<tr class="memitem:a121fc549ccc450ae81c0e8626fa81565 inherit pub_attribs_structmonero_1_1monero__transfer"><td class="memItemLeft" align="right" valign="top"><a id="a121fc549ccc450ae81c0e8626fa81565"></a>
|
||||
boost::optional< uint32_t > </td><td class="memItemRight" valign="bottom"><b>m_account_index</b></td></tr>
|
||||
<tr class="separator:a121fc549ccc450ae81c0e8626fa81565 inherit pub_attribs_structmonero_1_1monero__transfer"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a33b70ec4ef38105a1c5667bffee872d6 inherit pub_attribs_structmonero_1_1monero__transfer"><td class="memItemLeft" align="right" valign="top"><a id="a33b70ec4ef38105a1c5667bffee872d6"></a>
|
||||
boost::optional< uint64_t > </td><td class="memItemRight" valign="bottom"><b>m_num_suggested_confirmations</b></td></tr>
|
||||
<tr class="separator:a33b70ec4ef38105a1c5667bffee872d6 inherit pub_attribs_structmonero_1_1monero__transfer"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
|
||||
Additional Inherited Members</h2></td></tr>
|
||||
|
||||
@@ -81,13 +81,12 @@ $(function() {
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>m_addresses</b> (defined in <a class="el" href="structmonero_1_1monero__outgoing__transfer.html">monero::monero_outgoing_transfer</a>)</td><td class="entry"><a class="el" href="structmonero_1_1monero__outgoing__transfer.html">monero::monero_outgoing_transfer</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>m_amount</b> (defined in <a class="el" href="structmonero_1_1monero__transfer.html">monero::monero_transfer</a>)</td><td class="entry"><a class="el" href="structmonero_1_1monero__transfer.html">monero::monero_transfer</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>m_destinations</b> (defined in <a class="el" href="structmonero_1_1monero__outgoing__transfer.html">monero::monero_outgoing_transfer</a>)</td><td class="entry"><a class="el" href="structmonero_1_1monero__outgoing__transfer.html">monero::monero_outgoing_transfer</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>m_num_suggested_confirmations</b> (defined in <a class="el" href="structmonero_1_1monero__transfer.html">monero::monero_transfer</a>)</td><td class="entry"><a class="el" href="structmonero_1_1monero__transfer.html">monero::monero_transfer</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>m_subaddress_indices</b> (defined in <a class="el" href="structmonero_1_1monero__outgoing__transfer.html">monero::monero_outgoing_transfer</a>)</td><td class="entry"><a class="el" href="structmonero_1_1monero__outgoing__transfer.html">monero::monero_outgoing_transfer</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>m_tx</b> (defined in <a class="el" href="structmonero_1_1monero__transfer.html">monero::monero_transfer</a>)</td><td class="entry"><a class="el" href="structmonero_1_1monero__transfer.html">monero::monero_transfer</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>merge</b>(const std::shared_ptr< monero_transfer > &self, const std::shared_ptr< monero_transfer > &other) (defined in <a class="el" href="structmonero_1_1monero__outgoing__transfer.html">monero::monero_outgoing_transfer</a>)</td><td class="entry"><a class="el" href="structmonero_1_1monero__outgoing__transfer.html">monero::monero_outgoing_transfer</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>merge</b>(const std::shared_ptr< monero_outgoing_transfer > &self, const std::shared_ptr< monero_outgoing_transfer > &other) (defined in <a class="el" href="structmonero_1_1monero__outgoing__transfer.html">monero::monero_outgoing_transfer</a>)</td><td class="entry"><a class="el" href="structmonero_1_1monero__outgoing__transfer.html">monero::monero_outgoing_transfer</a></td><td class="entry"></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="structmonero_1_1serializable__struct.html#a723e44b22962d02d3f78bc7c2043dc1e">serialize</a>() const</td><td class="entry"><a class="el" href="structmonero_1_1serializable__struct.html">monero::serializable_struct</a></td><td class="entry"></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="structmonero_1_1monero__outgoing__transfer.html#ae2252aa8350174cb8a365ba8fd617c68">to_rapidjson_val</a>(rapidjson::Document::AllocatorType &allocator) const</td><td class="entry"><a class="el" href="structmonero_1_1monero__outgoing__transfer.html">monero::monero_outgoing_transfer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>m_subaddress_indices</b> (defined in <a class="el" href="structmonero_1_1monero__outgoing__transfer.html">monero::monero_outgoing_transfer</a>)</td><td class="entry"><a class="el" href="structmonero_1_1monero__outgoing__transfer.html">monero::monero_outgoing_transfer</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>m_tx</b> (defined in <a class="el" href="structmonero_1_1monero__transfer.html">monero::monero_transfer</a>)</td><td class="entry"><a class="el" href="structmonero_1_1monero__transfer.html">monero::monero_transfer</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>merge</b>(const std::shared_ptr< monero_transfer > &self, const std::shared_ptr< monero_transfer > &other) (defined in <a class="el" href="structmonero_1_1monero__outgoing__transfer.html">monero::monero_outgoing_transfer</a>)</td><td class="entry"><a class="el" href="structmonero_1_1monero__outgoing__transfer.html">monero::monero_outgoing_transfer</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>merge</b>(const std::shared_ptr< monero_outgoing_transfer > &self, const std::shared_ptr< monero_outgoing_transfer > &other) (defined in <a class="el" href="structmonero_1_1monero__outgoing__transfer.html">monero::monero_outgoing_transfer</a>)</td><td class="entry"><a class="el" href="structmonero_1_1monero__outgoing__transfer.html">monero::monero_outgoing_transfer</a></td><td class="entry"></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="structmonero_1_1serializable__struct.html#a723e44b22962d02d3f78bc7c2043dc1e">serialize</a>() const</td><td class="entry"><a class="el" href="structmonero_1_1serializable__struct.html">monero::serializable_struct</a></td><td class="entry"></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="structmonero_1_1monero__outgoing__transfer.html#ae2252aa8350174cb8a365ba8fd617c68">to_rapidjson_val</a>(rapidjson::Document::AllocatorType &allocator) const</td><td class="entry"><a class="el" href="structmonero_1_1monero__outgoing__transfer.html">monero::monero_outgoing_transfer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
|
||||
</table></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
|
||||
@@ -140,9 +140,6 @@ boost::optional< uint64_t > </td><td class="memItemRight" valign="bot
|
||||
<tr class="memitem:a121fc549ccc450ae81c0e8626fa81565 inherit pub_attribs_structmonero_1_1monero__transfer"><td class="memItemLeft" align="right" valign="top"><a id="a121fc549ccc450ae81c0e8626fa81565"></a>
|
||||
boost::optional< uint32_t > </td><td class="memItemRight" valign="bottom"><b>m_account_index</b></td></tr>
|
||||
<tr class="separator:a121fc549ccc450ae81c0e8626fa81565 inherit pub_attribs_structmonero_1_1monero__transfer"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a33b70ec4ef38105a1c5667bffee872d6 inherit pub_attribs_structmonero_1_1monero__transfer"><td class="memItemLeft" align="right" valign="top"><a id="a33b70ec4ef38105a1c5667bffee872d6"></a>
|
||||
boost::optional< uint64_t > </td><td class="memItemRight" valign="bottom"><b>m_num_suggested_confirmations</b></td></tr>
|
||||
<tr class="separator:a33b70ec4ef38105a1c5667bffee872d6 inherit pub_attribs_structmonero_1_1monero__transfer"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
|
||||
Additional Inherited Members</h2></td></tr>
|
||||
|
||||
@@ -78,11 +78,10 @@ $(function() {
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>is_outgoing</b>() const (defined in <a class="el" href="structmonero_1_1monero__transfer.html">monero::monero_transfer</a>)</td><td class="entry"><a class="el" href="structmonero_1_1monero__transfer.html">monero::monero_transfer</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>m_account_index</b> (defined in <a class="el" href="structmonero_1_1monero__transfer.html">monero::monero_transfer</a>)</td><td class="entry"><a class="el" href="structmonero_1_1monero__transfer.html">monero::monero_transfer</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>m_amount</b> (defined in <a class="el" href="structmonero_1_1monero__transfer.html">monero::monero_transfer</a>)</td><td class="entry"><a class="el" href="structmonero_1_1monero__transfer.html">monero::monero_transfer</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>m_num_suggested_confirmations</b> (defined in <a class="el" href="structmonero_1_1monero__transfer.html">monero::monero_transfer</a>)</td><td class="entry"><a class="el" href="structmonero_1_1monero__transfer.html">monero::monero_transfer</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>m_tx</b> (defined in <a class="el" href="structmonero_1_1monero__transfer.html">monero::monero_transfer</a>)</td><td class="entry"><a class="el" href="structmonero_1_1monero__transfer.html">monero::monero_transfer</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>merge</b>(const std::shared_ptr< monero_transfer > &self, const std::shared_ptr< monero_transfer > &other) (defined in <a class="el" href="structmonero_1_1monero__transfer.html">monero::monero_transfer</a>)</td><td class="entry"><a class="el" href="structmonero_1_1monero__transfer.html">monero::monero_transfer</a></td><td class="entry"></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="structmonero_1_1serializable__struct.html#a723e44b22962d02d3f78bc7c2043dc1e">serialize</a>() const</td><td class="entry"><a class="el" href="structmonero_1_1serializable__struct.html">monero::serializable_struct</a></td><td class="entry"></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="structmonero_1_1monero__transfer.html#ae34c855d2139c06df65ee46be86df9e6">to_rapidjson_val</a>(rapidjson::Document::AllocatorType &allocator) const</td><td class="entry"><a class="el" href="structmonero_1_1monero__transfer.html">monero::monero_transfer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>m_tx</b> (defined in <a class="el" href="structmonero_1_1monero__transfer.html">monero::monero_transfer</a>)</td><td class="entry"><a class="el" href="structmonero_1_1monero__transfer.html">monero::monero_transfer</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>merge</b>(const std::shared_ptr< monero_transfer > &self, const std::shared_ptr< monero_transfer > &other) (defined in <a class="el" href="structmonero_1_1monero__transfer.html">monero::monero_transfer</a>)</td><td class="entry"><a class="el" href="structmonero_1_1monero__transfer.html">monero::monero_transfer</a></td><td class="entry"></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="structmonero_1_1serializable__struct.html#a723e44b22962d02d3f78bc7c2043dc1e">serialize</a>() const</td><td class="entry"><a class="el" href="structmonero_1_1serializable__struct.html">monero::serializable_struct</a></td><td class="entry"></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="structmonero_1_1monero__transfer.html#ae34c855d2139c06df65ee46be86df9e6">to_rapidjson_val</a>(rapidjson::Document::AllocatorType &allocator) const</td><td class="entry"><a class="el" href="structmonero_1_1monero__transfer.html">monero::monero_transfer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
|
||||
</table></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
|
||||
@@ -126,9 +126,6 @@ boost::optional< uint64_t > </td><td class="memItemRight" valign="bot
|
||||
<tr class="memitem:a121fc549ccc450ae81c0e8626fa81565"><td class="memItemLeft" align="right" valign="top"><a id="a121fc549ccc450ae81c0e8626fa81565"></a>
|
||||
boost::optional< uint32_t > </td><td class="memItemRight" valign="bottom"><b>m_account_index</b></td></tr>
|
||||
<tr class="separator:a121fc549ccc450ae81c0e8626fa81565"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a33b70ec4ef38105a1c5667bffee872d6"><td class="memItemLeft" align="right" valign="top"><a id="a33b70ec4ef38105a1c5667bffee872d6"></a>
|
||||
boost::optional< uint64_t > </td><td class="memItemRight" valign="bottom"><b>m_num_suggested_confirmations</b></td></tr>
|
||||
<tr class="separator:a33b70ec4ef38105a1c5667bffee872d6"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock"><p>Models a base transfer of funds to or from the wallet.</p>
|
||||
|
||||
@@ -86,15 +86,14 @@ $(function() {
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>m_destinations</b> (defined in <a class="el" href="structmonero_1_1monero__transfer__query.html">monero::monero_transfer_query</a>)</td><td class="entry"><a class="el" href="structmonero_1_1monero__transfer__query.html">monero::monero_transfer_query</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>m_has_destinations</b> (defined in <a class="el" href="structmonero_1_1monero__transfer__query.html">monero::monero_transfer_query</a>)</td><td class="entry"><a class="el" href="structmonero_1_1monero__transfer__query.html">monero::monero_transfer_query</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>m_is_incoming</b> (defined in <a class="el" href="structmonero_1_1monero__transfer__query.html">monero::monero_transfer_query</a>)</td><td class="entry"><a class="el" href="structmonero_1_1monero__transfer__query.html">monero::monero_transfer_query</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>m_num_suggested_confirmations</b> (defined in <a class="el" href="structmonero_1_1monero__transfer.html">monero::monero_transfer</a>)</td><td class="entry"><a class="el" href="structmonero_1_1monero__transfer.html">monero::monero_transfer</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>m_subaddress_index</b> (defined in <a class="el" href="structmonero_1_1monero__transfer__query.html">monero::monero_transfer_query</a>)</td><td class="entry"><a class="el" href="structmonero_1_1monero__transfer__query.html">monero::monero_transfer_query</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>m_subaddress_indices</b> (defined in <a class="el" href="structmonero_1_1monero__transfer__query.html">monero::monero_transfer_query</a>)</td><td class="entry"><a class="el" href="structmonero_1_1monero__transfer__query.html">monero::monero_transfer_query</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>m_tx</b> (defined in <a class="el" href="structmonero_1_1monero__transfer.html">monero::monero_transfer</a>)</td><td class="entry"><a class="el" href="structmonero_1_1monero__transfer.html">monero::monero_transfer</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>m_tx_query</b> (defined in <a class="el" href="structmonero_1_1monero__transfer__query.html">monero::monero_transfer_query</a>)</td><td class="entry"><a class="el" href="structmonero_1_1monero__transfer__query.html">monero::monero_transfer_query</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>meets_criteria</b>(monero_transfer *transfer, bool query_parent=true) const (defined in <a class="el" href="structmonero_1_1monero__transfer__query.html">monero::monero_transfer_query</a>)</td><td class="entry"><a class="el" href="structmonero_1_1monero__transfer__query.html">monero::monero_transfer_query</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>merge</b>(const std::shared_ptr< monero_transfer > &self, const std::shared_ptr< monero_transfer > &other) (defined in <a class="el" href="structmonero_1_1monero__transfer.html">monero::monero_transfer</a>)</td><td class="entry"><a class="el" href="structmonero_1_1monero__transfer.html">monero::monero_transfer</a></td><td class="entry"></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="structmonero_1_1serializable__struct.html#a723e44b22962d02d3f78bc7c2043dc1e">serialize</a>() const</td><td class="entry"><a class="el" href="structmonero_1_1serializable__struct.html">monero::serializable_struct</a></td><td class="entry"></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="structmonero_1_1monero__transfer__query.html#a04694bb70b70a24b2eb347f127c2aed8">to_rapidjson_val</a>(rapidjson::Document::AllocatorType &allocator) const</td><td class="entry"><a class="el" href="structmonero_1_1monero__transfer__query.html">monero::monero_transfer_query</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>m_subaddress_index</b> (defined in <a class="el" href="structmonero_1_1monero__transfer__query.html">monero::monero_transfer_query</a>)</td><td class="entry"><a class="el" href="structmonero_1_1monero__transfer__query.html">monero::monero_transfer_query</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>m_subaddress_indices</b> (defined in <a class="el" href="structmonero_1_1monero__transfer__query.html">monero::monero_transfer_query</a>)</td><td class="entry"><a class="el" href="structmonero_1_1monero__transfer__query.html">monero::monero_transfer_query</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>m_tx</b> (defined in <a class="el" href="structmonero_1_1monero__transfer.html">monero::monero_transfer</a>)</td><td class="entry"><a class="el" href="structmonero_1_1monero__transfer.html">monero::monero_transfer</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>m_tx_query</b> (defined in <a class="el" href="structmonero_1_1monero__transfer__query.html">monero::monero_transfer_query</a>)</td><td class="entry"><a class="el" href="structmonero_1_1monero__transfer__query.html">monero::monero_transfer_query</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>meets_criteria</b>(monero_transfer *transfer, bool query_parent=true) const (defined in <a class="el" href="structmonero_1_1monero__transfer__query.html">monero::monero_transfer_query</a>)</td><td class="entry"><a class="el" href="structmonero_1_1monero__transfer__query.html">monero::monero_transfer_query</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>merge</b>(const std::shared_ptr< monero_transfer > &self, const std::shared_ptr< monero_transfer > &other) (defined in <a class="el" href="structmonero_1_1monero__transfer.html">monero::monero_transfer</a>)</td><td class="entry"><a class="el" href="structmonero_1_1monero__transfer.html">monero::monero_transfer</a></td><td class="entry"></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="structmonero_1_1serializable__struct.html#a723e44b22962d02d3f78bc7c2043dc1e">serialize</a>() const</td><td class="entry"><a class="el" href="structmonero_1_1serializable__struct.html">monero::serializable_struct</a></td><td class="entry"></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="structmonero_1_1monero__transfer__query.html#a04694bb70b70a24b2eb347f127c2aed8">to_rapidjson_val</a>(rapidjson::Document::AllocatorType &allocator) const</td><td class="entry"><a class="el" href="structmonero_1_1monero__transfer__query.html">monero::monero_transfer_query</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
|
||||
</table></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
|
||||
@@ -166,9 +166,6 @@ boost::optional< uint64_t > </td><td class="memItemRight" valign="bot
|
||||
<tr class="memitem:a121fc549ccc450ae81c0e8626fa81565 inherit pub_attribs_structmonero_1_1monero__transfer"><td class="memItemLeft" align="right" valign="top"><a id="a121fc549ccc450ae81c0e8626fa81565"></a>
|
||||
boost::optional< uint32_t > </td><td class="memItemRight" valign="bottom"><b>m_account_index</b></td></tr>
|
||||
<tr class="separator:a121fc549ccc450ae81c0e8626fa81565 inherit pub_attribs_structmonero_1_1monero__transfer"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a33b70ec4ef38105a1c5667bffee872d6 inherit pub_attribs_structmonero_1_1monero__transfer"><td class="memItemLeft" align="right" valign="top"><a id="a33b70ec4ef38105a1c5667bffee872d6"></a>
|
||||
boost::optional< uint64_t > </td><td class="memItemRight" valign="bottom"><b>m_num_suggested_confirmations</b></td></tr>
|
||||
<tr class="separator:a33b70ec4ef38105a1c5667bffee872d6 inherit pub_attribs_structmonero_1_1monero__transfer"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock"><p>Configures a query to retrieve transfers.</p>
|
||||
|
||||
@@ -72,12 +72,12 @@ $(function() {
|
||||
|
||||
<p>This is the complete list of members for <a class="el" href="structmonero_1_1wallet2__listener.html">monero::wallet2_listener</a>, including all inherited members.</p>
|
||||
<table class="directory">
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>on_money_received</b>(uint64_t height, const crypto::hash &txid, const cryptonote::transaction &cn_tx, uint64_t amount, const cryptonote::subaddress_index &subaddr_index, uint64_t unlock_time) (defined in <a class="el" href="structmonero_1_1wallet2__listener.html">monero::wallet2_listener</a>)</td><td class="entry"><a class="el" href="structmonero_1_1wallet2__listener.html">monero::wallet2_listener</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>on_money_spent</b>(uint64_t height, const crypto::hash &txid, const cryptonote::transaction &cn_tx_in, uint64_t amount, const cryptonote::transaction &cn_tx_out, const cryptonote::subaddress_index &subaddr_index) (defined in <a class="el" href="structmonero_1_1wallet2__listener.html">monero::wallet2_listener</a>)</td><td class="entry"><a class="el" href="structmonero_1_1wallet2__listener.html">monero::wallet2_listener</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>on_new_block</b>(uint64_t height, const cryptonote::block &cn_block) (defined in <a class="el" href="structmonero_1_1wallet2__listener.html">monero::wallet2_listener</a>)</td><td class="entry"><a class="el" href="structmonero_1_1wallet2__listener.html">monero::wallet2_listener</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>on_money_received</b>(uint64_t height, const crypto::hash &txid, const cryptonote::transaction &cn_tx, uint64_t amount, const cryptonote::subaddress_index &subaddr_index, bool is_change, uint64_t unlock_time) override (defined in <a class="el" href="structmonero_1_1wallet2__listener.html">monero::wallet2_listener</a>)</td><td class="entry"><a class="el" href="structmonero_1_1wallet2__listener.html">monero::wallet2_listener</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>on_money_spent</b>(uint64_t height, const crypto::hash &txid, const cryptonote::transaction &cn_tx_in, uint64_t amount, const cryptonote::transaction &cn_tx_out, const cryptonote::subaddress_index &subaddr_index) override (defined in <a class="el" href="structmonero_1_1wallet2__listener.html">monero::wallet2_listener</a>)</td><td class="entry"><a class="el" href="structmonero_1_1wallet2__listener.html">monero::wallet2_listener</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>on_new_block</b>(uint64_t height, const cryptonote::block &cn_block) override (defined in <a class="el" href="structmonero_1_1wallet2__listener.html">monero::wallet2_listener</a>)</td><td class="entry"><a class="el" href="structmonero_1_1wallet2__listener.html">monero::wallet2_listener</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>on_sync_end</b>() (defined in <a class="el" href="structmonero_1_1wallet2__listener.html">monero::wallet2_listener</a>)</td><td class="entry"><a class="el" href="structmonero_1_1wallet2__listener.html">monero::wallet2_listener</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>on_sync_start</b>(uint64_t start_height) (defined in <a class="el" href="structmonero_1_1wallet2__listener.html">monero::wallet2_listener</a>)</td><td class="entry"><a class="el" href="structmonero_1_1wallet2__listener.html">monero::wallet2_listener</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>on_unconfirmed_money_received</b>(uint64_t height, const crypto::hash &txid, const cryptonote::transaction &cn_tx, uint64_t amount, const cryptonote::subaddress_index &subaddr_index) (defined in <a class="el" href="structmonero_1_1wallet2__listener.html">monero::wallet2_listener</a>)</td><td class="entry"><a class="el" href="structmonero_1_1wallet2__listener.html">monero::wallet2_listener</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>on_unconfirmed_money_received</b>(uint64_t height, const crypto::hash &txid, const cryptonote::transaction &cn_tx, uint64_t amount, const cryptonote::subaddress_index &subaddr_index) override (defined in <a class="el" href="structmonero_1_1wallet2__listener.html">monero::wallet2_listener</a>)</td><td class="entry"><a class="el" href="structmonero_1_1wallet2__listener.html">monero::wallet2_listener</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>update_listening</b>() (defined in <a class="el" href="structmonero_1_1wallet2__listener.html">monero::wallet2_listener</a>)</td><td class="entry"><a class="el" href="structmonero_1_1wallet2__listener.html">monero::wallet2_listener</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="structmonero_1_1wallet2__listener.html#a1d6ed61247228a3ff7f676e3f58f6c89">wallet2_listener</a>(monero_wallet_core &wallet, tools::wallet2 &m_w2)</td><td class="entry"><a class="el" href="structmonero_1_1wallet2__listener.html">monero::wallet2_listener</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~wallet2_listener</b>() (defined in <a class="el" href="structmonero_1_1wallet2__listener.html">monero::wallet2_listener</a>)</td><td class="entry"><a class="el" href="structmonero_1_1wallet2__listener.html">monero::wallet2_listener</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||
|
||||
@@ -92,18 +92,18 @@ void </td><td class="memItemRight" valign="bottom"><b>on_sync_start</b> (ui
|
||||
<tr class="memitem:aad9ba433b530ad165ad8d5f7e3569883"><td class="memItemLeft" align="right" valign="top"><a id="aad9ba433b530ad165ad8d5f7e3569883"></a>
|
||||
void </td><td class="memItemRight" valign="bottom"><b>on_sync_end</b> ()</td></tr>
|
||||
<tr class="separator:aad9ba433b530ad165ad8d5f7e3569883"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a2b8d563e2f1695df2f799a671c69a95a"><td class="memItemLeft" align="right" valign="top"><a id="a2b8d563e2f1695df2f799a671c69a95a"></a>
|
||||
void </td><td class="memItemRight" valign="bottom"><b>on_new_block</b> (uint64_t height, const cryptonote::block &cn_block)</td></tr>
|
||||
<tr class="separator:a2b8d563e2f1695df2f799a671c69a95a"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a710359e5882a806b1b6642340e68d614"><td class="memItemLeft" align="right" valign="top"><a id="a710359e5882a806b1b6642340e68d614"></a>
|
||||
void </td><td class="memItemRight" valign="bottom"><b>on_unconfirmed_money_received</b> (uint64_t height, const crypto::hash &txid, const cryptonote::transaction &cn_tx, uint64_t amount, const cryptonote::subaddress_index &subaddr_index)</td></tr>
|
||||
<tr class="separator:a710359e5882a806b1b6642340e68d614"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a956e4b003e0872bf4ffeaa7800d520f3"><td class="memItemLeft" align="right" valign="top"><a id="a956e4b003e0872bf4ffeaa7800d520f3"></a>
|
||||
void </td><td class="memItemRight" valign="bottom"><b>on_money_received</b> (uint64_t height, const crypto::hash &txid, const cryptonote::transaction &cn_tx, uint64_t amount, const cryptonote::subaddress_index &subaddr_index, uint64_t unlock_time)</td></tr>
|
||||
<tr class="separator:a956e4b003e0872bf4ffeaa7800d520f3"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a3ead16a5f407ea9bd60802a3c423e858"><td class="memItemLeft" align="right" valign="top"><a id="a3ead16a5f407ea9bd60802a3c423e858"></a>
|
||||
void </td><td class="memItemRight" valign="bottom"><b>on_money_spent</b> (uint64_t height, const crypto::hash &txid, const cryptonote::transaction &cn_tx_in, uint64_t amount, const cryptonote::transaction &cn_tx_out, const cryptonote::subaddress_index &subaddr_index)</td></tr>
|
||||
<tr class="separator:a3ead16a5f407ea9bd60802a3c423e858"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a8a488e675685c55fa91b8408225ae741"><td class="memItemLeft" align="right" valign="top"><a id="a8a488e675685c55fa91b8408225ae741"></a>
|
||||
void </td><td class="memItemRight" valign="bottom"><b>on_new_block</b> (uint64_t height, const cryptonote::block &cn_block) override</td></tr>
|
||||
<tr class="separator:a8a488e675685c55fa91b8408225ae741"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:afa32a65c7d452ca0e740dbaa8262ac06"><td class="memItemLeft" align="right" valign="top"><a id="afa32a65c7d452ca0e740dbaa8262ac06"></a>
|
||||
void </td><td class="memItemRight" valign="bottom"><b>on_unconfirmed_money_received</b> (uint64_t height, const crypto::hash &txid, const cryptonote::transaction &cn_tx, uint64_t amount, const cryptonote::subaddress_index &subaddr_index) override</td></tr>
|
||||
<tr class="separator:afa32a65c7d452ca0e740dbaa8262ac06"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a29448e44406249c38d53b9ae182ae81a"><td class="memItemLeft" align="right" valign="top"><a id="a29448e44406249c38d53b9ae182ae81a"></a>
|
||||
void </td><td class="memItemRight" valign="bottom"><b>on_money_received</b> (uint64_t height, const crypto::hash &txid, const cryptonote::transaction &cn_tx, uint64_t amount, const cryptonote::subaddress_index &subaddr_index, bool is_change, uint64_t unlock_time) override</td></tr>
|
||||
<tr class="separator:a29448e44406249c38d53b9ae182ae81a"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:adb44155c73587a7dd6c6c04fee44bae3"><td class="memItemLeft" align="right" valign="top"><a id="adb44155c73587a7dd6c6c04fee44bae3"></a>
|
||||
void </td><td class="memItemRight" valign="bottom"><b>on_money_spent</b> (uint64_t height, const crypto::hash &txid, const cryptonote::transaction &cn_tx_in, uint64_t amount, const cryptonote::transaction &cn_tx_out, const cryptonote::subaddress_index &subaddr_index) override</td></tr>
|
||||
<tr class="separator:adb44155c73587a7dd6c6c04fee44bae3"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock"><p>Listens to wallet2 notifications in order to notify external wallet listeners. </p>
|
||||
|
||||
@@ -319,8 +319,8 @@ namespace monero {
|
||||
else if (key == std::string("prunedHex")) tx->m_pruned_hex = it->second.data();
|
||||
else if (key == std::string("prunableHex")) tx->m_prunable_hex = it->second.data();
|
||||
else if (key == std::string("prunableHash")) tx->m_prunable_hash = it->second.data();
|
||||
else if (key == std::string("size")) throw std::runtime_error("size deserialization not implemented");
|
||||
else if (key == std::string("weight")) throw std::runtime_error("weight deserialization not implemented");
|
||||
else if (key == std::string("size")) tx->m_size = it->second.get_value<uint64_t>();
|
||||
else if (key == std::string("weight")) tx->m_weight = it->second.get_value<uint64_t>();
|
||||
else if (key == std::string("inputs")) throw std::runtime_error("inputs deserializationn not implemented");
|
||||
else if (key == std::string("outputs")) throw std::runtime_error("outputs deserializationn not implemented");
|
||||
else if (key == std::string("outputIndices")) throw std::runtime_error("m_output_indices deserialization not implemented");
|
||||
|
||||
@@ -234,11 +234,6 @@ namespace monero {
|
||||
outgoing_transfer->m_amount = amount;
|
||||
}
|
||||
|
||||
// compute m_num_suggested_confirmations TODO monero core: this logic is based on wallet_rpc_server.cpp:87 but it should be encapsulated in wallet2
|
||||
uint64_t block_reward = m_w2.get_last_block_reward();
|
||||
if (block_reward == 0) outgoing_transfer->m_num_suggested_confirmations = 0;
|
||||
else outgoing_transfer->m_num_suggested_confirmations = (*outgoing_transfer->m_amount + block_reward - 1) / block_reward;
|
||||
|
||||
// return pointer to new tx
|
||||
return tx;
|
||||
}
|
||||
@@ -339,11 +334,6 @@ namespace monero {
|
||||
outgoing_transfer->m_amount = amount;
|
||||
}
|
||||
|
||||
// compute num_suggested_confirmations TODO monero core: this logic is based on wallet_rpc_server.cpp:87 but it should be encapsulated in wallet2
|
||||
uint64_t block_reward = m_w2.get_last_block_reward();
|
||||
if (block_reward == 0) outgoing_transfer->m_num_suggested_confirmations = 0;
|
||||
else outgoing_transfer->m_num_suggested_confirmations = (*outgoing_transfer->m_amount + block_reward - 1) / block_reward;
|
||||
|
||||
// return pointer to new tx
|
||||
return tx;
|
||||
}
|
||||
@@ -622,7 +612,7 @@ namespace monero {
|
||||
//------------------------------------------------------------------------------------------------------------------------------
|
||||
template<typename Ts, typename Tu>
|
||||
bool fill_response(wallet2* m_w2, std::vector<tools::wallet2::pending_tx> &ptx_vector,
|
||||
bool get_tx_key, Ts& tx_key, Tu &amount, Tu &fee, std::string &multisig_txset, std::string &unsigned_txset, bool do_not_relay,
|
||||
bool get_tx_key, Ts& tx_key, Tu &amount, Tu &fee, Tu &weight, std::string &multisig_txset, std::string &unsigned_txset, bool do_not_relay,
|
||||
Ts &tx_hash, bool get_tx_hex, Ts &tx_blob, bool get_tx_metadata, Ts &tx_metadata, epee::json_rpc::error &er)
|
||||
{
|
||||
for (const auto & ptx : ptx_vector)
|
||||
@@ -637,6 +627,7 @@ namespace monero {
|
||||
// Compute amount leaving wallet in tx. By convention dests does not include change outputs
|
||||
fill(amount, total_amount(ptx));
|
||||
fill(fee, ptx.fee);
|
||||
fill(weight, cryptonote::get_transaction_weight(ptx.tx));
|
||||
}
|
||||
|
||||
if (m_w2->multisig())
|
||||
@@ -720,7 +711,7 @@ namespace monero {
|
||||
m_sync_end_height = boost::none;
|
||||
}
|
||||
|
||||
void on_new_block(uint64_t height, const cryptonote::block& cn_block) {
|
||||
void on_new_block(uint64_t height, const cryptonote::block& cn_block) override {
|
||||
if (m_wallet.get_listeners().empty()) return;
|
||||
|
||||
// ignore notifications before sync start height, irrelevant to clients
|
||||
@@ -740,7 +731,7 @@ namespace monero {
|
||||
}
|
||||
}
|
||||
|
||||
void on_unconfirmed_money_received(uint64_t height, const crypto::hash &txid, const cryptonote::transaction& cn_tx, uint64_t amount, const cryptonote::subaddress_index& subaddr_index) {
|
||||
void on_unconfirmed_money_received(uint64_t height, const crypto::hash &txid, const cryptonote::transaction& cn_tx, uint64_t amount, const cryptonote::subaddress_index& subaddr_index) override {
|
||||
if (m_wallet.get_listeners().empty()) return;
|
||||
|
||||
// create library tx
|
||||
@@ -763,7 +754,7 @@ namespace monero {
|
||||
tx.reset();
|
||||
}
|
||||
|
||||
void on_money_received(uint64_t height, const crypto::hash &txid, const cryptonote::transaction& cn_tx, uint64_t amount, const cryptonote::subaddress_index& subaddr_index, uint64_t unlock_time) {
|
||||
void on_money_received(uint64_t height, const crypto::hash &txid, const cryptonote::transaction& cn_tx, uint64_t amount, const cryptonote::subaddress_index& subaddr_index, bool is_change, uint64_t unlock_time) override {
|
||||
if (m_wallet.get_listeners().empty()) return;
|
||||
|
||||
// create native library tx
|
||||
@@ -792,7 +783,7 @@ namespace monero {
|
||||
tx.reset();
|
||||
}
|
||||
|
||||
void on_money_spent(uint64_t height, const crypto::hash &txid, const cryptonote::transaction& cn_tx_in, uint64_t amount, const cryptonote::transaction& cn_tx_out, const cryptonote::subaddress_index& subaddr_index) {
|
||||
void on_money_spent(uint64_t height, const crypto::hash &txid, const cryptonote::transaction& cn_tx_in, uint64_t amount, const cryptonote::transaction& cn_tx_out, const cryptonote::subaddress_index& subaddr_index) override {
|
||||
if (m_wallet.get_listeners().empty()) return;
|
||||
if (&cn_tx_in != &cn_tx_out) throw std::runtime_error("on_money_spent() in tx is different than out tx");
|
||||
|
||||
@@ -819,23 +810,11 @@ namespace monero {
|
||||
monero_utils::free(block);
|
||||
output.reset();
|
||||
tx.reset();
|
||||
|
||||
// TODO **: to notify or not to notify?
|
||||
// std::string tx_hash = epee::string_tools::pod_to_hex(txid);
|
||||
// LOG_PRINT_L3(__FUNCTION__ << ": money spent. height: " << height
|
||||
// << ", tx: " << tx_hash
|
||||
// << ", amount: " << print_money(amount)
|
||||
// << ", idx: " << subaddr_index);
|
||||
// // do not signal on sent tx if wallet is not syncronized completely
|
||||
// if (m_listener && m_wallet->synchronized()) {
|
||||
// m_listener->moneySpent(tx_hash, amount);
|
||||
// m_listener->updated();
|
||||
// }
|
||||
}
|
||||
|
||||
private:
|
||||
monero_wallet_core& m_wallet; // wallet to provide context for notifications
|
||||
tools::wallet2& m_w2; // internal wallet implementation to listen to
|
||||
monero_wallet_core& m_wallet; // wallet to provide context for notifications
|
||||
tools::wallet2& m_w2; // internal wallet implementation to listen to
|
||||
boost::optional<uint64_t> m_sync_start_height;
|
||||
boost::optional<uint64_t> m_sync_end_height;
|
||||
};
|
||||
@@ -1664,12 +1643,13 @@ namespace monero {
|
||||
std::list<std::string> tx_keys;
|
||||
std::list<uint64_t> tx_amounts;
|
||||
std::list<uint64_t> tx_fees;
|
||||
std::list<uint64_t> tx_weights;
|
||||
std::string multisig_tx_hex;
|
||||
std::string unsigned_tx_hex;
|
||||
std::list<std::string> tx_hashes;
|
||||
std::list<std::string> tx_blobs;
|
||||
std::list<std::string> tx_metadatas;
|
||||
if (!fill_response(m_w2.get(), ptx_vector, get_tx_keys, tx_keys, tx_amounts, tx_fees, multisig_tx_hex, unsigned_tx_hex, !relay, tx_hashes, get_tx_hex, tx_blobs, get_tx_metadata, tx_metadatas, err)) {
|
||||
if (!fill_response(m_w2.get(), ptx_vector, get_tx_keys, tx_keys, tx_amounts, tx_fees, tx_weights, multisig_tx_hex, unsigned_tx_hex, !relay, tx_hashes, get_tx_hex, tx_blobs, get_tx_metadata, tx_metadatas, err)) {
|
||||
throw std::runtime_error("need to handle error filling response!"); // TODO
|
||||
}
|
||||
|
||||
@@ -1679,6 +1659,7 @@ namespace monero {
|
||||
auto tx_keys_iter = tx_keys.begin();
|
||||
auto tx_amounts_iter = tx_amounts.begin();
|
||||
auto tx_fees_iter = tx_fees.begin();
|
||||
auto tx_weights_iter = tx_weights.begin();
|
||||
auto tx_blobs_iter = tx_blobs.begin();
|
||||
auto tx_metadatas_iter = tx_metadatas.begin();
|
||||
while (tx_fees_iter != tx_fees.end()) {
|
||||
@@ -1689,6 +1670,7 @@ namespace monero {
|
||||
tx->m_hash = *tx_hashes_iter;
|
||||
tx->m_key = *tx_keys_iter;
|
||||
tx->m_fee = *tx_fees_iter;
|
||||
tx->m_weight = *tx_weights_iter;
|
||||
tx->m_full_hex = *tx_blobs_iter;
|
||||
tx->m_metadata = *tx_metadatas_iter;
|
||||
std::shared_ptr<monero_outgoing_transfer> out_transfer = std::make_shared<monero_outgoing_transfer>();
|
||||
@@ -1846,12 +1828,13 @@ namespace monero {
|
||||
std::list<std::string> tx_keys;
|
||||
std::list<uint64_t> tx_amounts;
|
||||
std::list<uint64_t> tx_fees;
|
||||
std::list<uint64_t> tx_weights;
|
||||
std::string multisig_tx_hex;
|
||||
std::string unsigned_tx_hex;
|
||||
std::list<std::string> tx_hashes;
|
||||
std::list<std::string> tx_blobs;
|
||||
std::list<std::string> tx_metadatas;
|
||||
if (!fill_response(m_w2.get(), ptx_vector, get_tx_keys, tx_keys, tx_amounts, tx_fees, multisig_tx_hex, unsigned_tx_hex, !relay, tx_hashes, get_tx_hex, tx_blobs, get_tx_metadata, tx_metadatas, err)) {
|
||||
if (!fill_response(m_w2.get(), ptx_vector, get_tx_keys, tx_keys, tx_amounts, tx_fees, tx_weights, multisig_tx_hex, unsigned_tx_hex, !relay, tx_hashes, get_tx_hex, tx_blobs, get_tx_metadata, tx_metadatas, err)) {
|
||||
throw std::runtime_error("need to handle error filling response!"); // TODO
|
||||
}
|
||||
|
||||
@@ -1861,6 +1844,7 @@ namespace monero {
|
||||
auto tx_keys_iter = tx_keys.begin();
|
||||
auto tx_amounts_iter = tx_amounts.begin();
|
||||
auto tx_fees_iter = tx_fees.begin();
|
||||
auto tx_weights_iter = tx_weights.begin();
|
||||
auto tx_blobs_iter = tx_blobs.begin();
|
||||
auto tx_metadatas_iter = tx_metadatas.begin();
|
||||
while (tx_fees_iter != tx_fees.end()) {
|
||||
@@ -1873,6 +1857,7 @@ namespace monero {
|
||||
tx->m_is_outgoing = true;
|
||||
tx->m_key = *tx_keys_iter;
|
||||
tx->m_fee = *tx_fees_iter;
|
||||
tx->m_weight = *tx_weights_iter;
|
||||
tx->m_full_hex = *tx_blobs_iter;
|
||||
tx->m_metadata = *tx_metadatas_iter;
|
||||
std::shared_ptr<monero_outgoing_transfer> out_transfer = std::make_shared<monero_outgoing_transfer>();
|
||||
@@ -1966,12 +1951,13 @@ namespace monero {
|
||||
std::list<std::string> tx_keys;
|
||||
std::list<uint64_t> tx_amounts;
|
||||
std::list<uint64_t> tx_fees;
|
||||
std::list<uint64_t> tx_weights;
|
||||
std::string multisig_tx_hex;
|
||||
std::string unsigned_tx_hex;
|
||||
std::list<std::string> tx_hashes;
|
||||
std::list<std::string> tx_blobs;
|
||||
std::list<std::string> tx_metadatas;
|
||||
if (!fill_response(m_w2.get(), ptx_vector, get_tx_keys, tx_keys, tx_amounts, tx_fees, multisig_tx_hex, unsigned_tx_hex, !relay, tx_hashes, get_tx_hex, tx_blobs, get_tx_metadata, tx_metadatas, err)) {
|
||||
if (!fill_response(m_w2.get(), ptx_vector, get_tx_keys, tx_keys, tx_amounts, tx_fees, tx_weights, multisig_tx_hex, unsigned_tx_hex, !relay, tx_hashes, get_tx_hex, tx_blobs, get_tx_metadata, tx_metadatas, err)) {
|
||||
throw std::runtime_error("need to handle error filling response!"); // TODO: return err message
|
||||
}
|
||||
|
||||
@@ -1981,6 +1967,7 @@ namespace monero {
|
||||
auto tx_keys_iter = tx_keys.begin();
|
||||
auto tx_amounts_iter = tx_amounts.begin();
|
||||
auto tx_fees_iter = tx_fees.begin();
|
||||
auto tx_weights_iter = tx_weights.begin();
|
||||
auto tx_blobs_iter = tx_blobs.begin();
|
||||
auto tx_metadatas_iter = tx_metadatas.begin();
|
||||
while (tx_fees_iter != tx_fees.end()) {
|
||||
@@ -1992,6 +1979,7 @@ namespace monero {
|
||||
tx->m_is_outgoing = true;
|
||||
tx->m_key = *tx_keys_iter;
|
||||
tx->m_fee = *tx_fees_iter;
|
||||
tx->m_weight = *tx_weights_iter;
|
||||
tx->m_full_hex = *tx_blobs_iter;
|
||||
tx->m_metadata = *tx_metadatas_iter;
|
||||
std::shared_ptr<monero_outgoing_transfer> out_transfer = std::make_shared<monero_outgoing_transfer>();
|
||||
@@ -2053,13 +2041,14 @@ namespace monero {
|
||||
std::list<std::string> tx_keys;
|
||||
std::list<uint64_t> tx_amounts;
|
||||
std::list<uint64_t> tx_fees;
|
||||
std::list<uint64_t> tx_weights;
|
||||
std::string multisig_tx_hex;
|
||||
std::string unsigned_tx_hex;
|
||||
std::list<std::string> tx_hashes;
|
||||
std::list<std::string> tx_blobs;
|
||||
std::list<std::string> tx_metadatas;
|
||||
epee::json_rpc::error er;
|
||||
if (!fill_response(m_w2.get(), ptx_vector, get_tx_keys, tx_keys, tx_amounts, tx_fees, multisig_tx_hex, unsigned_tx_hex, !relay, tx_hashes, get_tx_hex, tx_blobs, get_tx_metadata, tx_metadatas, er)) {
|
||||
if (!fill_response(m_w2.get(), ptx_vector, get_tx_keys, tx_keys, tx_amounts, tx_fees, tx_weights, multisig_tx_hex, unsigned_tx_hex, !relay, tx_hashes, get_tx_hex, tx_blobs, get_tx_metadata, tx_metadatas, er)) {
|
||||
throw std::runtime_error("need to handle error filling response!"); // TODO: return err message
|
||||
}
|
||||
|
||||
@@ -2069,6 +2058,7 @@ namespace monero {
|
||||
auto tx_keys_iter = tx_keys.begin();
|
||||
auto tx_amounts_iter = tx_amounts.begin();
|
||||
auto tx_fees_iter = tx_fees.begin();
|
||||
auto tx_weights_iter = tx_weights.begin();
|
||||
auto tx_blobs_iter = tx_blobs.begin();
|
||||
auto tx_metadatas_iter = tx_metadatas.begin();
|
||||
while (tx_fees_iter != tx_fees.end()) {
|
||||
@@ -2080,6 +2070,7 @@ namespace monero {
|
||||
tx->m_is_outgoing = true;
|
||||
tx->m_key = *tx_keys_iter;
|
||||
tx->m_fee = *tx_fees_iter;
|
||||
tx->m_weight = *tx_weights_iter;
|
||||
tx->m_full_hex = *tx_blobs_iter;
|
||||
tx->m_metadata = *tx_metadatas_iter;
|
||||
std::shared_ptr<monero_outgoing_transfer> out_transfer = std::make_shared<monero_outgoing_transfer>();
|
||||
@@ -2622,14 +2613,20 @@ namespace monero {
|
||||
if (indices.empty()) {
|
||||
uint64_t idx = 0;
|
||||
for (const auto &w2_entry: w2_entries) {
|
||||
monero_address_book_entry entry(idx++, cryptonote::get_account_address_as_str(m_w2->nettype(), w2_entry.m_is_subaddress, w2_entry.m_address), w2_entry.m_description, epee::string_tools::pod_to_hex(w2_entry.m_payment_id));
|
||||
std::string address;
|
||||
if (w2_entry.m_has_payment_id) address = cryptonote::get_account_integrated_address_as_str(m_w2->nettype(), w2_entry.m_address, w2_entry.m_payment_id);
|
||||
else address = get_account_address_as_str(m_w2->nettype(), w2_entry.m_is_subaddress, w2_entry.m_address);
|
||||
monero_address_book_entry entry(idx++, address, w2_entry.m_description);
|
||||
entries.push_back(entry);
|
||||
}
|
||||
} else {
|
||||
for (uint64_t idx : indices) {
|
||||
if (idx >= w2_entries.size()) throw std::runtime_error("Index out of range: " + std::to_string(idx));
|
||||
const auto &w2_entry = w2_entries[idx];
|
||||
monero_address_book_entry entry(idx++, cryptonote::get_account_address_as_str(m_w2->nettype(), w2_entry.m_is_subaddress, w2_entry.m_address), w2_entry.m_description, epee::string_tools::pod_to_hex(w2_entry.m_payment_id));
|
||||
std::string address;
|
||||
if (w2_entry.m_has_payment_id) address = cryptonote::get_account_integrated_address_as_str(m_w2->nettype(), w2_entry.m_address, w2_entry.m_payment_id);
|
||||
else address = get_account_address_as_str(m_w2->nettype(), w2_entry.m_is_subaddress, w2_entry.m_address);
|
||||
monero_address_book_entry entry(idx++, address, w2_entry.m_description);
|
||||
entries.push_back(entry);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -621,7 +621,6 @@ namespace monero {
|
||||
rapidjson::Value value_num(rapidjson::kNumberType);
|
||||
if (m_amount != boost::none) monero_utils::addJsonMember("amount", m_amount.get(), allocator, root, value_num);
|
||||
if (m_account_index != boost::none) monero_utils::addJsonMember("accountIndex", m_account_index.get(), allocator, root, value_num);
|
||||
if (m_num_suggested_confirmations != boost::none) monero_utils::addJsonMember("numSuggestedConfirmations", m_num_suggested_confirmations.get(), allocator, root, value_num);
|
||||
|
||||
// return root
|
||||
return root;
|
||||
@@ -641,7 +640,6 @@ namespace monero {
|
||||
tgt->m_tx = src->m_tx; // reference parent tx by default
|
||||
tgt->m_amount = src->m_amount;
|
||||
tgt->m_account_index = src->m_account_index;
|
||||
tgt->m_num_suggested_confirmations = src->m_num_suggested_confirmations;
|
||||
return tgt;
|
||||
}
|
||||
|
||||
@@ -658,14 +656,11 @@ namespace monero {
|
||||
// otherwise merge transfer fields
|
||||
m_account_index = gen_utils::reconcile(m_account_index, other->m_account_index, "acountIndex");
|
||||
|
||||
// TODO monero core: failed m_tx in pool (after testUpdateLockedDifferentAccounts()) causes non-originating saved wallets to return duplicate incoming transfers but one has amount/m_num_suggested_confirmations of 0
|
||||
// TODO monero core: failed m_tx in pool (after testUpdateLockedDifferentAccounts()) causes non-originating saved wallets to return duplicate incoming transfers but one has amount of 0
|
||||
if (m_amount != boost::none && other->m_amount != boost::none && *m_amount != *other->m_amount && (*m_amount == 0 || *other->m_amount == 0)) {
|
||||
m_account_index = gen_utils::reconcile(m_account_index, other->m_account_index, boost::none, boost::none, true, "acountIndex");
|
||||
m_num_suggested_confirmations = gen_utils::reconcile(m_num_suggested_confirmations, other->m_num_suggested_confirmations, boost::none, boost::none, true, "m_num_suggested_confirmations");
|
||||
MWARNING("WARNING: failed tx in pool causes non-originating wallets to return duplicate incoming transfers but with one amount/m_num_suggested_confirmations of 0");
|
||||
throw std::runtime_error("failed tx in pool causes non-originating wallets to return duplicate incoming transfers but with one amount/m_num_suggested_confirmations of 0");
|
||||
} else {
|
||||
m_amount = gen_utils::reconcile(m_amount, other->m_amount, "transfer amount");
|
||||
m_num_suggested_confirmations = gen_utils::reconcile(m_num_suggested_confirmations, other->m_num_suggested_confirmations, boost::none, boost::none, false, "m_num_suggested_confirmations");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -679,6 +674,7 @@ namespace monero {
|
||||
// set num values
|
||||
rapidjson::Value value_num(rapidjson::kNumberType);
|
||||
if (m_subaddress_index != boost::none) monero_utils::addJsonMember("subaddressIndex", m_subaddress_index.get(), allocator, root, value_num);
|
||||
if (m_num_suggested_confirmations != boost::none) monero_utils::addJsonMember("numSuggestedConfirmations", m_num_suggested_confirmations.get(), allocator, root, value_num);
|
||||
|
||||
// set std::string values
|
||||
rapidjson::Value value_str(rapidjson::kStringType);
|
||||
@@ -708,6 +704,7 @@ namespace monero {
|
||||
monero_transfer::merge(self, other);
|
||||
m_subaddress_index = gen_utils::reconcile(m_subaddress_index, other->m_subaddress_index, "incoming transfer m_subaddress_index");
|
||||
m_address = gen_utils::reconcile(m_address, other->m_address);
|
||||
m_num_suggested_confirmations = gen_utils::reconcile(m_num_suggested_confirmations, other->m_num_suggested_confirmations, boost::none, boost::none, false, "m_num_suggested_confirmations");
|
||||
}
|
||||
|
||||
// ----------------------- MONERO OUTGOING TRANSFER -------------------------
|
||||
|
||||
@@ -131,7 +131,6 @@ namespace monero {
|
||||
std::shared_ptr<monero_tx_wallet> m_tx;
|
||||
boost::optional<uint64_t> m_amount;
|
||||
boost::optional<uint32_t> m_account_index;
|
||||
boost::optional<uint64_t> m_num_suggested_confirmations;
|
||||
|
||||
rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType& allocator) const;
|
||||
static void from_property_tree(const boost::property_tree::ptree& node, const std::shared_ptr<monero_transfer>& transfer);
|
||||
@@ -150,6 +149,7 @@ namespace monero {
|
||||
struct monero_incoming_transfer : public monero_transfer {
|
||||
boost::optional<uint32_t> m_subaddress_index;
|
||||
boost::optional<std::string> m_address;
|
||||
boost::optional<uint64_t> m_num_suggested_confirmations;
|
||||
|
||||
rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType& allocator) const;
|
||||
std::shared_ptr<monero_incoming_transfer> copy(const std::shared_ptr<monero_transfer>& src, const std::shared_ptr<monero_transfer>& tgt) const;
|
||||
@@ -452,6 +452,7 @@ namespace monero {
|
||||
boost::optional<std::string> m_payment_id;
|
||||
|
||||
monero_address_book_entry() {}
|
||||
monero_address_book_entry(uint64_t index, const std::string& address, const std::string& description) : m_index(index), m_address(address), m_description(description) {}
|
||||
monero_address_book_entry(uint64_t index, const std::string& address, const std::string& description, const std::string& payment_id) : m_index(index), m_address(address), m_description(description), m_payment_id(payment_id) {}
|
||||
rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType& allocator) const;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user