From d9a5f57da262d45ad640cf020156923f3d0caecb Mon Sep 17 00:00:00 2001 From: Duke Leto Date: Wed, 25 Aug 2021 00:44:16 -0400 Subject: [PATCH] z_shieldcoinbase plumbing --- src/rpc.cpp | 18 ++++++++++++++++++ src/rpc.h | 1 + 2 files changed, 19 insertions(+) diff --git a/src/rpc.cpp b/src/rpc.cpp index 0322c5e..0e938d2 100644 --- a/src/rpc.cpp +++ b/src/rpc.cpp @@ -265,6 +265,24 @@ void RPC::getTransactions(const std::function& cb) { conn->doRPCWithDefaultErrorHandling(makePayload(method), cb); } +void RPC::shieldCoinbase(QJsonArray ¶ms, const std::function& cb, + const std::function& err) { + QJsonObject payload = { + {"jsonrpc", "1.0"}, + {"id", "42"}, + {"method", "z_shieldcoinbase"}, + {"params", params} + }; + + conn->doRPC(payload, cb, [=] (QNetworkReply *reply, const QJsonValue &parsed) { + if (!parsed.isUndefined() && !parsed["error"].toObject()["message"].isNull()) { + err(parsed["error"].toObject()["message"].toString()); + } else { + err(reply->errorString()); + } + }); +} + void RPC::sendZTransaction(QJsonValue params, const std::function& cb, const std::function& err) { QJsonObject payload = { diff --git a/src/rpc.h b/src/rpc.h index 7c13bd5..6136c79 100644 --- a/src/rpc.h +++ b/src/rpc.h @@ -79,6 +79,7 @@ public: void fillTxJsonParams(QJsonArray& params, Tx tx); void sendZTransaction(QJsonValue params, const std::function& cb, const std::function& err); + void shieldCoinbase(QJsonArray& params, const std::function& cb, const std::function& err); void watchTxStatus(); const QMap getWatchingTxns() { return watchingOps; }