From 120a47b10c7bb6852b379378d7a284fd76f817a4 Mon Sep 17 00:00:00 2001 From: jouzo Date: Wed, 10 Nov 2021 09:40:55 +0100 Subject: [PATCH 1/2] Fix updateloantoken arguments parsing and description --- src/masternodes/rpc_loan.cpp | 16 +++++++--------- src/rpc/client.cpp | 4 ++-- 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/src/masternodes/rpc_loan.cpp b/src/masternodes/rpc_loan.cpp index a56f6be527..adf72ae6d5 100644 --- a/src/masternodes/rpc_loan.cpp +++ b/src/masternodes/rpc_loan.cpp @@ -401,14 +401,14 @@ UniValue updateloantoken(const JSONRPCRequest& request) { auto pwallet = GetWallet(request); RPCHelpMan{"updateloantoken", - "Creates (and submits to local node and network) a token for a price feed set in collateral token.\n" + + "Creates (and submits to local node and network) a transaction to update loan token metadata.\n" + HelpRequiringPassphrase(pwallet) + "\n", { {"token", RPCArg::Type::STR, RPCArg::Optional::NO, "The tokens's symbol, id or creation tx"}, - {"metadata", RPCArg::Type::OBJ, RPCArg::Optional::OMITTED, "", + {"metadata", RPCArg::Type::OBJ, RPCArg::Optional::NO, "", { - {"symbol", RPCArg::Type::STR, RPCArg::Optional::OMITTED, "Token's symbol (unique), not longer than " + std::to_string(CToken::MAX_TOKEN_SYMBOL_LENGTH)}, - {"name", RPCArg::Type::STR, RPCArg::Optional::OMITTED, "Token's name (optional), not longer than " + std::to_string(CToken::MAX_TOKEN_NAME_LENGTH)}, + {"symbol", RPCArg::Type::STR, RPCArg::Optional::OMITTED, "New token's symbol (unique), not longer than " + std::to_string(CToken::MAX_TOKEN_SYMBOL_LENGTH)}, + {"name", RPCArg::Type::STR, RPCArg::Optional::OMITTED, "Newoken's name (optional), not longer than " + std::to_string(CToken::MAX_TOKEN_NAME_LENGTH)}, {"fixedIntervalPriceId", RPCArg::Type::STR_HEX, RPCArg::Optional::OMITTED, "token/currency pair to use for price of token"}, {"mintable", RPCArg::Type::BOOL, RPCArg::Optional::OMITTED, "Token's 'Mintable' property (bool, optional), default is 'True'"}, {"interest", RPCArg::Type::NUM, RPCArg::Optional::OMITTED, "Interest rate (optional)."}, @@ -430,7 +430,8 @@ UniValue updateloantoken(const JSONRPCRequest& request) { "\"hash\" (string) The hex-encoded hash of broadcasted transaction\n" }, RPCExamples{ - HelpExampleCli("updateloantoken", R"('"token":"TSLAAA", {"symbol":"TSLA","fixedIntervalPriceId":"TSLA/USD", "mintable": true, "interest": 0.03}')") + HelpExampleCli("updateloantoken", R"("TSLAAA", {"symbol":"TSLA","fixedIntervalPriceId":"TSLA/USD", "mintable": true, "interest": 0.03}')") + + HelpExampleRpc("updateloantoken", R"("TSLAAA", {"symbol":"TSLA","fixedIntervalPriceId":"TSLA/USD", "mintable": true, "interest": 0.03})") }, }.Check(request); @@ -439,10 +440,7 @@ UniValue updateloantoken(const JSONRPCRequest& request) { pwallet->BlockUntilSyncedToCurrentChain(); - RPCTypeCheck(request.params, {UniValueType(), UniValue::VOBJ, UniValue::VARR}, false); - if (request.params[0].isNull()) - throw JSONRPCError(RPC_INVALID_PARAMETER, - "Invalid parameters, arguments 0 must be non-null and expected as string with token symbol, id or creation txid"); + RPCTypeCheck(request.params, {UniValueType(), UniValue::VOBJ, UniValue::VARR}, true); std::string const tokenStr = trim_ws(request.params[0].getValStr()); UniValue metaObj = request.params[1].get_obj(); diff --git a/src/rpc/client.cpp b/src/rpc/client.cpp index 951c81fc8e..8ea826d86a 100644 --- a/src/rpc/client.cpp +++ b/src/rpc/client.cpp @@ -236,8 +236,8 @@ static const CRPCConvertParam vRPCConvertParams[] = { "listcollateraltokens", 0, "by" }, { "setloantoken", 0, "metadata" }, { "setloantoken", 1, "inputs" }, - { "updateloantoken", 0, "metadata" }, - { "updateloantoken", 1, "inputs" }, + { "updateloantoken", 1, "metadata" }, + { "updateloantoken", 2, "inputs" }, { "takeloan", 0, "metadata" }, { "takeloan", 1, "inputs" }, { "paybackloan", 0, "metadata" }, From a7ae3f87d34bd7606c133914058168980051c243 Mon Sep 17 00:00:00 2001 From: jouzo Date: Wed, 24 Nov 2021 10:52:32 +0100 Subject: [PATCH 2/2] Add missing token argument to dispatch table --- src/masternodes/rpc_loan.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/masternodes/rpc_loan.cpp b/src/masternodes/rpc_loan.cpp index adf72ae6d5..644a76742b 100644 --- a/src/masternodes/rpc_loan.cpp +++ b/src/masternodes/rpc_loan.cpp @@ -1374,7 +1374,7 @@ static const CRPCCommand commands[] = {"loan", "getcollateraltoken", &getcollateraltoken, {"by"}}, {"loan", "listcollateraltokens", &listcollateraltokens, {"by"}}, {"loan", "setloantoken", &setloantoken, {"metadata", "inputs"}}, - {"loan", "updateloantoken", &updateloantoken, {"metadata", "inputs"}}, + {"loan", "updateloantoken", &updateloantoken, {"token", "metadata", "inputs"}}, {"loan", "listloantokens", &listloantokens, {}}, {"loan", "getloantoken", &getloantoken, {"by"}}, {"loan", "createloanscheme", &createloanscheme, {"mincolratio", "interestrate", "id", "inputs"}},