fix: Error consistency in LedgerEntry::parsePermissionedDomains() (#5252)

Update errors for parsing permissioned domains in the LedgerEntry handler to make them consistent with other parsers.
This commit is contained in:
Sergey Kuznetsov
2025-01-21 18:00:21 +00:00
committed by tequ
parent 0617dc221d
commit 1e2c92290d
2 changed files with 10 additions and 13 deletions

View File

@@ -3810,7 +3810,7 @@ public:
params[jss::ledger_index] = jss::validated; params[jss::ledger_index] = jss::validated;
params[jss::permissioned_domain] = "NotAHexString"; params[jss::permissioned_domain] = "NotAHexString";
auto const jrr = env.rpc("json", "ledger_entry", to_string(params)); auto const jrr = env.rpc("json", "ledger_entry", to_string(params));
checkErrorValue(jrr[jss::result], "malformedObjectId", ""); checkErrorValue(jrr[jss::result], "malformedRequest", "");
} }
{ {
@@ -3819,7 +3819,7 @@ public:
params[jss::ledger_index] = jss::validated; params[jss::ledger_index] = jss::validated;
params[jss::permissioned_domain] = 10; params[jss::permissioned_domain] = 10;
auto const jrr = env.rpc("json", "ledger_entry", to_string(params)); auto const jrr = env.rpc("json", "ledger_entry", to_string(params));
checkErrorValue(jrr[jss::result], "malformedObject", ""); checkErrorValue(jrr[jss::result], "malformedRequest", "");
} }
{ {
@@ -3829,7 +3829,7 @@ public:
params[jss::permissioned_domain][jss::account] = 1; params[jss::permissioned_domain][jss::account] = 1;
params[jss::permissioned_domain][jss::seq] = seq; params[jss::permissioned_domain][jss::seq] = seq;
auto const jrr = env.rpc("json", "ledger_entry", to_string(params)); auto const jrr = env.rpc("json", "ledger_entry", to_string(params));
checkErrorValue(jrr[jss::result], "malformedAccount", ""); checkErrorValue(jrr[jss::result], "malformedRequest", "");
} }
{ {
@@ -3839,7 +3839,7 @@ public:
params[jss::permissioned_domain][jss::account] = ""; params[jss::permissioned_domain][jss::account] = "";
params[jss::permissioned_domain][jss::seq] = seq; params[jss::permissioned_domain][jss::seq] = seq;
auto const jrr = env.rpc("json", "ledger_entry", to_string(params)); auto const jrr = env.rpc("json", "ledger_entry", to_string(params));
checkErrorValue(jrr[jss::result], "malformedAccount", ""); checkErrorValue(jrr[jss::result], "malformedAddress", "");
} }
{ {
@@ -3849,7 +3849,7 @@ public:
params[jss::permissioned_domain][jss::account] = alice.human(); params[jss::permissioned_domain][jss::account] = alice.human();
params[jss::permissioned_domain][jss::seq] = "12g"; params[jss::permissioned_domain][jss::seq] = "12g";
auto const jrr = env.rpc("json", "ledger_entry", to_string(params)); auto const jrr = env.rpc("json", "ledger_entry", to_string(params));
checkErrorValue(jrr[jss::result], "malformedSequence", ""); checkErrorValue(jrr[jss::result], "malformedRequest", "");
} }
} }

View File

@@ -998,22 +998,19 @@ parsePermissionedDomains(Json::Value const& pd, Json::Value& jvResult)
{ {
if (pd.isString()) if (pd.isString())
{ {
Json::Value result; auto const index = parseIndex(pd, jvResult);
auto const index = parseIndex(pd, result);
if (!index)
jvResult[jss::error] = "malformedObjectId";
return index; return index;
} }
if (!pd.isObject()) if (!pd.isObject())
{ {
jvResult[jss::error] = "malformedObject"; jvResult[jss::error] = "malformedRequest";
return std::nullopt; return std::nullopt;
} }
if (!pd.isMember(jss::account) || !pd[jss::account].isString()) if (!pd.isMember(jss::account) || !pd[jss::account].isString())
{ {
jvResult[jss::error] = "malformedAccount"; jvResult[jss::error] = "malformedRequest";
return std::nullopt; return std::nullopt;
} }
@@ -1021,14 +1018,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].asInt() < 0) ||
(!pd[jss::seq].isInt() && !pd[jss::seq].isUInt())) (!pd[jss::seq].isInt() && !pd[jss::seq].isUInt()))
{ {
jvResult[jss::error] = "malformedSequence"; jvResult[jss::error] = "malformedRequest";
return std::nullopt; return std::nullopt;
} }
auto const account = parseBase58<AccountID>(pd[jss::account].asString()); auto const account = parseBase58<AccountID>(pd[jss::account].asString());
if (!account) if (!account)
{ {
jvResult[jss::error] = "malformedAccount"; jvResult[jss::error] = "malformedAddress";
return std::nullopt; return std::nullopt;
} }