diff --git a/src/rpc/RPCHelpers.cpp b/src/rpc/RPCHelpers.cpp index f583b764..f5b867ba 100644 --- a/src/rpc/RPCHelpers.cpp +++ b/src/rpc/RPCHelpers.cpp @@ -1149,21 +1149,15 @@ parseBook(ripple::Currency pays, ripple::AccountID payIssuer, ripple::Currency g { if (isXRP(pays) && !isXRP(payIssuer)) return Status{ - RippledError::rpcSRC_ISR_MALFORMED, - "Unneeded field 'taker_pays.issuer' for XRP currency " - "specification."}; + RippledError::rpcSRC_ISR_MALFORMED, "Unneeded field 'taker_pays.issuer' for XRP currency specification."}; if (!isXRP(pays) && isXRP(payIssuer)) return Status{ - RippledError::rpcSRC_ISR_MALFORMED, - "Invalid field 'taker_pays.issuer', expected non-XRP " - "issuer."}; + RippledError::rpcSRC_ISR_MALFORMED, "Invalid field 'taker_pays.issuer', expected non-XRP issuer."}; if (ripple::isXRP(gets) && !ripple::isXRP(getIssuer)) return Status{ - RippledError::rpcDST_ISR_MALFORMED, - "Unneeded field 'taker_gets.issuer' for XRP currency " - "specification."}; + RippledError::rpcDST_ISR_MALFORMED, "Unneeded field 'taker_gets.issuer' for XRP currency specification."}; if (!ripple::isXRP(gets) && ripple::isXRP(getIssuer)) return Status{ @@ -1233,15 +1227,11 @@ parseBook(boost::json::object const& request) if (isXRP(pay_currency) && !isXRP(pay_issuer)) return Status{ - RippledError::rpcSRC_ISR_MALFORMED, - "Unneeded field 'taker_pays.issuer' for XRP currency " - "specification."}; + RippledError::rpcSRC_ISR_MALFORMED, "Unneeded field 'taker_pays.issuer' for XRP currency specification."}; if (!isXRP(pay_currency) && isXRP(pay_issuer)) return Status{ - RippledError::rpcSRC_ISR_MALFORMED, - "Invalid field 'taker_pays.issuer', expected non-XRP " - "issuer."}; + RippledError::rpcSRC_ISR_MALFORMED, "Invalid field 'taker_pays.issuer', expected non-XRP issuer."}; if ((!isXRP(pay_currency)) && (!taker_pays.contains("issuer"))) return Status{RippledError::rpcSRC_ISR_MALFORMED, "Missing non-XRP issuer."}; @@ -1258,9 +1248,7 @@ parseBook(boost::json::object const& request) if (get_issuer == ripple::noAccount()) return Status{ - RippledError::rpcDST_ISR_MALFORMED, - "Invalid field 'taker_gets.issuer', bad issuer account " - "one."}; + RippledError::rpcDST_ISR_MALFORMED, "Invalid field 'taker_gets.issuer', bad issuer account one."}; } else { @@ -1269,9 +1257,7 @@ parseBook(boost::json::object const& request) if (ripple::isXRP(get_currency) && !ripple::isXRP(get_issuer)) return Status{ - RippledError::rpcDST_ISR_MALFORMED, - "Unneeded field 'taker_gets.issuer' for XRP currency " - "specification."}; + RippledError::rpcDST_ISR_MALFORMED, "Unneeded field 'taker_gets.issuer' for XRP currency specification."}; if (!ripple::isXRP(get_currency) && ripple::isXRP(get_issuer)) return Status{ diff --git a/src/rpc/common/Validators.cpp b/src/rpc/common/Validators.cpp index 8323e9dc..822189fb 100644 --- a/src/rpc/common/Validators.cpp +++ b/src/rpc/common/Validators.cpp @@ -146,11 +146,7 @@ CustomValidator IssuerValidator = if (issuer == ripple::noAccount()) return Error{Status{ - RippledError::rpcINVALID_PARAMS, - fmt::format( - "Invalid field '{}', bad issuer account " - "one.", - key)}}; + RippledError::rpcINVALID_PARAMS, fmt::format("Invalid field '{}', bad issuer account one.", key)}}; return MaybeError{}; }}; diff --git a/src/rpc/common/Validators.h b/src/rpc/common/Validators.h index 1a3db81b..1b60e79b 100644 --- a/src/rpc/common/Validators.h +++ b/src/rpc/common/Validators.h @@ -417,7 +417,7 @@ public: auto const res = value_to(value.as_object().at(key.data())); if (std::find(std::begin(options_), std::end(options_), res) == std::end(options_)) - return Error{Status{RippledError::rpcINVALID_PARAMS}}; + return Error{Status{RippledError::rpcINVALID_PARAMS, fmt::format("Invalid field '{}'.", key)}}; return {}; } diff --git a/src/rpc/handlers/AccountTx.cpp b/src/rpc/handlers/AccountTx.cpp index 04b2785c..91c6ddcb 100644 --- a/src/rpc/handlers/AccountTx.cpp +++ b/src/rpc/handlers/AccountTx.cpp @@ -105,10 +105,9 @@ AccountTxHandler::process(AccountTxHandler::Input input, Context const& ctx) con if (input.ledgerHash || input.ledgerIndex || input.usingValidatedLedger) { if (ctx.apiVersion > 1u && (input.ledgerIndexMax || input.ledgerIndexMin)) - { return Error{Status{RippledError::rpcINVALID_PARAMS, "containsLedgerSpecifierAndRange"}}; - } - else if (!input.ledgerIndexMax && !input.ledgerIndexMin) + + if (!input.ledgerIndexMax && !input.ledgerIndexMin) { // mimic rippled, when both range and index specified, respect the range. // take ledger from ledgerHash or ledgerIndex only when range is not specified diff --git a/src/rpc/handlers/BookOffers.h b/src/rpc/handlers/BookOffers.h index 94ff517c..80600184 100644 --- a/src/rpc/handlers/BookOffers.h +++ b/src/rpc/handlers/BookOffers.h @@ -95,7 +95,7 @@ public: // return INVALID_PARAMS if account format is wrong for "taker" {JS(taker), meta::WithCustomError{ - validation::AccountValidator, Status(RippledError::rpcINVALID_PARAMS, "Invalid field 'taker'")}}, + validation::AccountValidator, Status(RippledError::rpcINVALID_PARAMS, "Invalid field 'taker'.")}}, {JS(limit), validation::Type{}, validation::Min(1u), diff --git a/src/rpc/handlers/LedgerData.h b/src/rpc/handlers/LedgerData.h index 5ecc53eb..df2a3ef2 100644 --- a/src/rpc/handlers/LedgerData.h +++ b/src/rpc/handlers/LedgerData.h @@ -100,9 +100,7 @@ public: meta::WithCustomError{ validation::Type{}, Status{ripple::rpcINVALID_PARAMS, "Invalid field 'type', not string."}}, - meta::WithCustomError{ - validation::OneOf(TYPES_KEYS.cbegin(), TYPES_KEYS.cend()), - Status{ripple::rpcINVALID_PARAMS, "Invalid field 'type'."}}}, + validation::OneOf(TYPES_KEYS.cbegin(), TYPES_KEYS.cend())}, }; return rpcSpec; diff --git a/unittests/rpc/handlers/AccountObjectsTests.cpp b/unittests/rpc/handlers/AccountObjectsTests.cpp index 91660cf2..25517c16 100644 --- a/unittests/rpc/handlers/AccountObjectsTests.cpp +++ b/unittests/rpc/handlers/AccountObjectsTests.cpp @@ -85,7 +85,7 @@ generateTestValuesForParametersTest() "TypeInvalid", R"({"account":"rLEsXccBGNR3UPuPu2hUXPjziKC3qKSBun", "type":"wrong"})", "invalidParams", - "Invalid parameters."}, + "Invalid field 'type'."}, AccountObjectsParamTestCaseBundle{ "LedgerHashInvalid", R"({"account":"rLEsXccBGNR3UPuPu2hUXPjziKC3qKSBun", "ledger_hash":"1"})", diff --git a/unittests/rpc/handlers/BookOffersTests.cpp b/unittests/rpc/handlers/BookOffersTests.cpp index d39b53bf..eca3b0cb 100644 --- a/unittests/rpc/handlers/BookOffersTests.cpp +++ b/unittests/rpc/handlers/BookOffersTests.cpp @@ -256,7 +256,7 @@ generateParameterBookOffersTestBundles() "taker": "123" })", "invalidParams", - "Invalid field 'taker'"}, + "Invalid field 'taker'."}, ParameterTestBundle{ "TakerNotString", R"({ @@ -272,7 +272,7 @@ generateParameterBookOffersTestBundles() "taker": 123 })", "invalidParams", - "Invalid field 'taker'"}, + "Invalid field 'taker'."}, ParameterTestBundle{ "LimitNotInt", R"({ @@ -384,8 +384,7 @@ generateParameterBookOffersTestBundles() } })", "srcIsrMalformed", - "Unneeded field 'taker_pays.issuer' for XRP currency " - "specification."}, + "Unneeded field 'taker_pays.issuer' for XRP currency specification."}, ParameterTestBundle{ "PaysCurrencyWithXRPIssuer", R"({ @@ -430,8 +429,7 @@ generateParameterBookOffersTestBundles() } })", "dstIsrMalformed", - "Unneeded field 'taker_gets.issuer' for XRP currency " - "specification."}, + "Unneeded field 'taker_gets.issuer' for XRP currency specification."}, ParameterTestBundle{ "BadMarket", R"({ diff --git a/unittests/rpc/handlers/SubscribeTests.cpp b/unittests/rpc/handlers/SubscribeTests.cpp index 9e9c1c94..2acc970b 100644 --- a/unittests/rpc/handlers/SubscribeTests.cpp +++ b/unittests/rpc/handlers/SubscribeTests.cpp @@ -410,8 +410,7 @@ generateTestValuesForParametersTest() ] })", "dstIsrMalformed", - "Unneeded field 'taker_gets.issuer' for XRP currency " - "specification."}, + "Unneeded field 'taker_gets.issuer' for XRP currency specification."}, SubscribeParamTestCaseBundle{ "BooksItemTakerPaysXRPHasIssuer", R"({ @@ -430,8 +429,7 @@ generateTestValuesForParametersTest() ] })", "srcIsrMalformed", - "Unneeded field 'taker_pays.issuer' for XRP currency " - "specification."}, + "Unneeded field 'taker_pays.issuer' for XRP currency specification."}, SubscribeParamTestCaseBundle{ "BooksItemBadMartket", R"({ diff --git a/unittests/rpc/handlers/UnsubscribeTests.cpp b/unittests/rpc/handlers/UnsubscribeTests.cpp index 975e3f68..96f1ee1e 100644 --- a/unittests/rpc/handlers/UnsubscribeTests.cpp +++ b/unittests/rpc/handlers/UnsubscribeTests.cpp @@ -405,8 +405,7 @@ generateTestValuesForParametersTest() ] })", "dstIsrMalformed", - "Unneeded field 'taker_gets.issuer' for XRP currency " - "specification."}, + "Unneeded field 'taker_gets.issuer' for XRP currency specification."}, UnsubscribeParamTestCaseBundle{ "BooksItemTakerPaysXRPHasIssuer", R"({ @@ -426,8 +425,7 @@ generateTestValuesForParametersTest() ] })", "srcIsrMalformed", - "Unneeded field 'taker_pays.issuer' for XRP currency " - "specification."}, + "Unneeded field 'taker_pays.issuer' for XRP currency specification."}, UnsubscribeParamTestCaseBundle{ "BooksItemBadMartket", R"({