aboutsummaryrefslogtreecommitdiff
path: root/src/wallet/api/wallet.cpp
diff options
context:
space:
mode:
authormoneromooo-monero <moneromooo-monero@users.noreply.github.com>2018-03-05 15:04:59 +0000
committermoneromooo-monero <moneromooo-monero@users.noreply.github.com>2018-03-16 10:33:05 +0000
commitb057a21d56a19f109a58ba873ec2fd69ee533cd5 (patch)
tree27941f7c3e490ab9efa1eab2f42a7d019325bced /src/wallet/api/wallet.cpp
parentringdb: factor ring addition code (diff)
downloadmonero-b057a21d56a19f109a58ba873ec2fd69ee533cd5.tar.xz
wallet2_api: add ring api
Diffstat (limited to 'src/wallet/api/wallet.cpp')
-rw-r--r--src/wallet/api/wallet.cpp38
1 files changed, 38 insertions, 0 deletions
diff --git a/src/wallet/api/wallet.cpp b/src/wallet/api/wallet.cpp
index 64407a341..be3ca9853 100644
--- a/src/wallet/api/wallet.cpp
+++ b/src/wallet/api/wallet.cpp
@@ -1952,6 +1952,44 @@ bool WalletImpl::unblackballOutput(const std::string &pubkey)
return true;
}
+bool WalletImpl::getRing(const std::string &key_image, std::vector<uint64_t> &ring) const
+{
+ crypto::key_image raw_key_image;
+ if (!epee::string_tools::hex_to_pod(key_image, raw_key_image))
+ {
+ m_status = Status_Error;
+ m_errorString = tr("Failed to parse key image");
+ return false;
+ }
+ bool ret = m_wallet->get_ring(raw_key_image, ring);
+ if (!ret)
+ {
+ m_status = Status_Error;
+ m_errorString = tr("Failed to get ring");
+ return false;
+ }
+ return true;
+}
+
+bool WalletImpl::setRing(const std::string &key_image, const std::vector<uint64_t> &ring, bool relative)
+{
+ crypto::key_image raw_key_image;
+ if (!epee::string_tools::hex_to_pod(key_image, raw_key_image))
+ {
+ m_status = Status_Error;
+ m_errorString = tr("Failed to parse key image");
+ return false;
+ }
+ bool ret = m_wallet->set_ring(raw_key_image, ring, relative);
+ if (!ret)
+ {
+ m_status = Status_Error;
+ m_errorString = tr("Failed to set ring");
+ return false;
+ }
+ return true;
+}
+
} // namespace
namespace Bitmonero = Monero;