From eac3abdca91dbfea78a22356e5f2861bece5f107 Mon Sep 17 00:00:00 2001 From: Sergey Kuznetsov Date: Tue, 21 Jan 2025 18:00:21 +0000 Subject: [PATCH] fix: Error consistency in LedgerEntry::parsePermissionedDomains() (#5252) Update errors for parsing permissioned domains in the LedgerEntry handler to make them consistent with other parsers. --- src/test/rpc/LedgerRPC_test.cpp | 10 +++++----- src/xrpld/rpc/handlers/LedgerEntry.cpp | 13 +++++-------- 2 files changed, 10 insertions(+), 13 deletions(-) diff --git a/src/test/rpc/LedgerRPC_test.cpp b/src/test/rpc/LedgerRPC_test.cpp index 8e28eb98cd..9352518dba 100644 --- a/src/test/rpc/LedgerRPC_test.cpp +++ b/src/test/rpc/LedgerRPC_test.cpp @@ -3171,7 +3171,7 @@ class LedgerRPC_test : public beast::unit_test::suite params[jss::ledger_index] = jss::validated; params[jss::permissioned_domain] = "NotAHexString"; auto const jrr = env.rpc("json", "ledger_entry", to_string(params)); - checkErrorValue(jrr[jss::result], "malformedObjectId", ""); + checkErrorValue(jrr[jss::result], "malformedRequest", ""); } { @@ -3180,7 +3180,7 @@ class LedgerRPC_test : public beast::unit_test::suite params[jss::ledger_index] = jss::validated; params[jss::permissioned_domain] = 10; auto const jrr = env.rpc("json", "ledger_entry", to_string(params)); - checkErrorValue(jrr[jss::result], "malformedObject", ""); + checkErrorValue(jrr[jss::result], "malformedRequest", ""); } { @@ -3190,7 +3190,7 @@ class LedgerRPC_test : public beast::unit_test::suite params[jss::permissioned_domain][jss::account] = 1; params[jss::permissioned_domain][jss::seq] = seq; auto const jrr = env.rpc("json", "ledger_entry", to_string(params)); - checkErrorValue(jrr[jss::result], "malformedAccount", ""); + checkErrorValue(jrr[jss::result], "malformedRequest", ""); } { @@ -3200,7 +3200,7 @@ class LedgerRPC_test : public beast::unit_test::suite params[jss::permissioned_domain][jss::account] = ""; params[jss::permissioned_domain][jss::seq] = seq; auto const jrr = env.rpc("json", "ledger_entry", to_string(params)); - checkErrorValue(jrr[jss::result], "malformedAccount", ""); + checkErrorValue(jrr[jss::result], "malformedAddress", ""); } { @@ -3210,7 +3210,7 @@ class LedgerRPC_test : public beast::unit_test::suite params[jss::permissioned_domain][jss::account] = alice.human(); params[jss::permissioned_domain][jss::seq] = "12g"; auto const jrr = env.rpc("json", "ledger_entry", to_string(params)); - checkErrorValue(jrr[jss::result], "malformedSequence", ""); + checkErrorValue(jrr[jss::result], "malformedRequest", ""); } } diff --git a/src/xrpld/rpc/handlers/LedgerEntry.cpp b/src/xrpld/rpc/handlers/LedgerEntry.cpp index daf46ab1b3..7298ee290d 100644 --- a/src/xrpld/rpc/handlers/LedgerEntry.cpp +++ b/src/xrpld/rpc/handlers/LedgerEntry.cpp @@ -811,22 +811,19 @@ parsePermissionedDomains(Json::Value const& pd, Json::Value& jvResult) { if (pd.isString()) { - Json::Value result; - auto const index = parseIndex(pd, result); - if (!index) - jvResult[jss::error] = "malformedObjectId"; + auto const index = parseIndex(pd, jvResult); return index; } if (!pd.isObject()) { - jvResult[jss::error] = "malformedObject"; + jvResult[jss::error] = "malformedRequest"; return std::nullopt; } if (!pd.isMember(jss::account) || !pd[jss::account].isString()) { - jvResult[jss::error] = "malformedAccount"; + jvResult[jss::error] = "malformedRequest"; return std::nullopt; } @@ -834,14 +831,14 @@ parsePermissionedDomains(Json::Value const& pd, Json::Value& jvResult) (pd[jss::seq].isInt() && pd[jss::seq].asInt() < 0) || (!pd[jss::seq].isInt() && !pd[jss::seq].isUInt())) { - jvResult[jss::error] = "malformedSequence"; + jvResult[jss::error] = "malformedRequest"; return std::nullopt; } auto const account = parseBase58(pd[jss::account].asString()); if (!account) { - jvResult[jss::error] = "malformedAccount"; + jvResult[jss::error] = "malformedAddress"; return std::nullopt; }