export error reason via submit/simulate

This commit is contained in:
Mayukha Vadari
2026-07-22 18:09:19 -04:00
parent 445574089f
commit 2c69d58f26
5 changed files with 6 additions and 0 deletions

View File

@@ -239,6 +239,7 @@ JSS(enabled); // out: AmendmentTable
JSS(engine_result); // out: NetworkOPs, TransactionSign, Submit
JSS(engine_result_code); // out: NetworkOPs, TransactionSign, Submit
JSS(engine_result_message); // out: NetworkOPs, TransactionSign, Submit
JSS(engine_result_reason); // out: NetworkOPs, TransactionSign, Submit
JSS(entire_set); // out: get_aggregate_price
JSS(ephemeral_key); // out: ValidatorInfo
// in/out: Manifest

View File

@@ -3321,6 +3321,7 @@ NetworkOPsImp::transJson(
jvObj[jss::engine_result] = sToken;
jvObj[jss::engine_result_code] = result;
jvObj[jss::engine_result_message] = sHuman;
jvObj[jss::engine_result_reason] = result.reason;
if (transaction->getTxnType() == ttOFFER_CREATE)
{

View File

@@ -804,6 +804,7 @@ transactionFormatResultImpl(Transaction::pointer tpTrans, unsigned apiVersion)
jvResult[jss::engine_result] = sToken;
jvResult[jss::engine_result_code] = tpTrans->getResult();
jvResult[jss::engine_result_message] = sHuman;
jvResult[jss::engine_result_reason] = tpTrans->getResult().reason;
}
}
catch (std::exception&)

View File

@@ -264,6 +264,7 @@ simulateTxn(RPC::JsonContext& context, std::shared_ptr<Transaction> transaction)
jvResult[jss::engine_result] = token;
jvResult[jss::engine_result_code] = result.ter;
jvResult[jss::engine_result_message] = message;
jvResult[jss::engine_result_reason] = result.ter.reason;
}
else
{
@@ -272,6 +273,7 @@ simulateTxn(RPC::JsonContext& context, std::shared_ptr<Transaction> transaction)
jvResult[jss::engine_result] = "unknown";
jvResult[jss::engine_result_code] = result.ter;
jvResult[jss::engine_result_message] = "unknown";
jvResult[jss::engine_result_reason] = "unknown";
// LCOV_EXCL_STOP
}

View File

@@ -154,6 +154,7 @@ doSubmit(RPC::JsonContext& context)
jvResult[jss::engine_result] = sToken;
jvResult[jss::engine_result_code] = transaction->getResult();
jvResult[jss::engine_result_message] = sHuman;
jvResult[jss::engine_result_reason] = transaction->getResult().reason;
auto const submitResult = transaction->getSubmitResult();