From 6b9f45e81bfe7472493b6df66133c929780ef2fb Mon Sep 17 00:00:00 2001 From: Pieter Wuille Date: Wed, 27 Feb 2019 13:45:47 -0800 Subject: [PATCH] Support ranges arguments in RPC help --- src/rpc/util.cpp | 8 ++++++++ src/rpc/util.h | 1 + 2 files changed, 9 insertions(+) diff --git a/src/rpc/util.cpp b/src/rpc/util.cpp index 7fb139f93c05f..40ac13318631c 100644 --- a/src/rpc/util.cpp +++ b/src/rpc/util.cpp @@ -200,6 +200,7 @@ struct Sections { case RPCArg::Type::STR: case RPCArg::Type::NUM: case RPCArg::Type::AMOUNT: + case RPCArg::Type::RANGE: case RPCArg::Type::BOOL: { if (outer_type == OuterType::NAMED_ARG) return; // Nothing more to do for non-recursive types on first recursion auto left = indent; @@ -405,6 +406,10 @@ std::string RPCArg::ToDescriptionString() const ret += "numeric or string"; break; } + case Type::RANGE: { + ret += "numeric or array"; + break; + } case Type::BOOL: { ret += "boolean"; break; @@ -464,6 +469,8 @@ std::string RPCArg::ToStringObj(const bool oneline) const return res + "\"hex\""; case Type::NUM: return res + "n"; + case Type::RANGE: + return res + "n or [n,n]"; case Type::AMOUNT: return res + "amount"; case Type::BOOL: @@ -494,6 +501,7 @@ std::string RPCArg::ToString(const bool oneline) const return "\"" + m_name + "\""; } case Type::NUM: + case Type::RANGE: case Type::AMOUNT: case Type::BOOL: { return m_name; diff --git a/src/rpc/util.h b/src/rpc/util.h index f11998bafaa3b..f1bd2c89dfc50 100644 --- a/src/rpc/util.h +++ b/src/rpc/util.h @@ -51,6 +51,7 @@ struct RPCArg { OBJ_USER_KEYS, //!< Special type where the user must set the keys e.g. to define multiple addresses; as opposed to e.g. an options object where the keys are predefined AMOUNT, //!< Special type representing a floating point amount (can be either NUM or STR) STR_HEX, //!< Special type that is a STR with only hex chars + RANGE, //!< Special type that is a NUM or [NUM,NUM] }; enum class Optional {