aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormoneromooo-monero <moneromooo-monero@users.noreply.github.com>2016-11-05 20:53:45 +0000
committermoneromooo-monero <moneromooo-monero@users.noreply.github.com>2016-11-05 21:19:08 +0000
commit97288a5ce21cedc6d040fe2f7b858e3a1736dc6e (patch)
treecc68df1e7d39fb253d5a5497361c07e169a6e740
parentMerge pull request #1272 (diff)
downloadmonero-97288a5ce21cedc6d040fe2f7b858e3a1736dc6e.tar.xz
wallet2_api: add API for tx notes
-rw-r--r--src/wallet/api/pending_transaction.cpp8
-rw-r--r--src/wallet/api/pending_transaction.h1
-rw-r--r--src/wallet/api/wallet.cpp20
-rw-r--r--src/wallet/api/wallet.h2
-rw-r--r--src/wallet/wallet2_api.h15
5 files changed, 46 insertions, 0 deletions
diff --git a/src/wallet/api/pending_transaction.cpp b/src/wallet/api/pending_transaction.cpp
index 26ce9fc7e..e1a5e7674 100644
--- a/src/wallet/api/pending_transaction.cpp
+++ b/src/wallet/api/pending_transaction.cpp
@@ -69,6 +69,14 @@ string PendingTransactionImpl::errorString() const
return m_errorString;
}
+std::vector<std::string> PendingTransactionImpl::txid() const
+{
+ std::vector<std::string> txid;
+ for (const auto &pt: m_pending_tx)
+ txid.push_back(epee::string_tools::pod_to_hex(cryptonote::get_transaction_hash(pt.tx)));
+ return txid;
+}
+
bool PendingTransactionImpl::commit()
{
diff --git a/src/wallet/api/pending_transaction.h b/src/wallet/api/pending_transaction.h
index 8e09bec91..2f06d2f6e 100644
--- a/src/wallet/api/pending_transaction.h
+++ b/src/wallet/api/pending_transaction.h
@@ -49,6 +49,7 @@ public:
uint64_t amount() const;
uint64_t dust() const;
uint64_t fee() const;
+ std::vector<std::string> txid() const;
// TODO: continue with interface;
private:
diff --git a/src/wallet/api/wallet.cpp b/src/wallet/api/wallet.cpp
index 9a9638b40..7227b6b4d 100644
--- a/src/wallet/api/wallet.cpp
+++ b/src/wallet/api/wallet.cpp
@@ -707,6 +707,26 @@ void WalletImpl::setDefaultMixin(uint32_t arg)
m_wallet->default_mixin(arg);
}
+bool WalletImpl::setUserNote(const std::string &txid, const std::string &note)
+{
+ cryptonote::blobdata txid_data;
+ if(!epee::string_tools::parse_hexstr_to_binbuff(txid, txid_data))
+ return false;
+ const crypto::hash htxid = *reinterpret_cast<const crypto::hash*>(txid_data.data());
+
+ m_wallet->set_tx_note(htxid, note);
+ return true;
+}
+
+std::string WalletImpl::getUserNote(const std::string &txid) const
+{
+ cryptonote::blobdata txid_data;
+ if(!epee::string_tools::parse_hexstr_to_binbuff(txid, txid_data))
+ return "";
+ const crypto::hash htxid = *reinterpret_cast<const crypto::hash*>(txid_data.data());
+
+ return m_wallet->get_tx_note(htxid);
+}
bool WalletImpl::connectToDaemon()
{
diff --git a/src/wallet/api/wallet.h b/src/wallet/api/wallet.h
index c8a59f7c3..69c27b035 100644
--- a/src/wallet/api/wallet.h
+++ b/src/wallet/api/wallet.h
@@ -97,6 +97,8 @@ public:
virtual void setListener(WalletListener * l);
virtual uint32_t defaultMixin() const;
virtual void setDefaultMixin(uint32_t arg);
+ virtual bool setUserNote(const std::string &txid, const std::string &note);
+ virtual std::string getUserNote(const std::string &txid) const;
private:
void clearStatus();
diff --git a/src/wallet/wallet2_api.h b/src/wallet/wallet2_api.h
index 8427ba250..bf86167df 100644
--- a/src/wallet/wallet2_api.h
+++ b/src/wallet/wallet2_api.h
@@ -65,6 +65,7 @@ struct PendingTransaction
virtual uint64_t amount() const = 0;
virtual uint64_t dust() const = 0;
virtual uint64_t fee() const = 0;
+ virtual std::vector<std::string> txid() const = 0;
};
/**
@@ -340,6 +341,20 @@ struct Wallet
* \param arg
*/
virtual void setDefaultMixin(uint32_t arg) = 0;
+
+ /*!
+ * \brief setUserNote - attach an arbitrary string note to a txid
+ * \param txid - the transaction id to attach the note to
+ * \param note - the note
+ * \return true if succesful, false otherwise
+ */
+ virtual bool setUserNote(const std::string &txid, const std::string &note) = 0;
+ /*!
+ * \brief getUserNote - return an arbitrary string note attached to a txid
+ * \param txid - the transaction id to attach the note to
+ * \return the attached note, or empty string if there is none
+ */
+ virtual std::string getUserNote(const std::string &txid) const = 0;
};
/**