Merge pull request #1298

97288a5 wallet2_api: add API for tx notes (moneromooo-monero)
This commit is contained in:
Riccardo Spagni 2016-11-08 22:45:54 +02:00
commit af2ceb29fa
No known key found for this signature in database
GPG key ID: 55432DF31CCD4FCD
5 changed files with 46 additions and 0 deletions

View file

@ -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()
{

View file

@ -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:

View file

@ -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()
{

View file

@ -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();

View file

@ -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;
};
/**