From 25abc8ffaee381495025b73697ec18763fda2080 Mon Sep 17 00:00:00 2001 From: Denis Angell Date: Fri, 20 Feb 2026 22:42:51 +0100 Subject: [PATCH] minor adjustments --- src/libxrpl/protocol/STTx.cpp | 7 ++++--- src/libxrpl/tx/transactors/Batch.cpp | 7 +++++-- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/libxrpl/protocol/STTx.cpp b/src/libxrpl/protocol/STTx.cpp index 0c5e299702..d1d46de591 100644 --- a/src/libxrpl/protocol/STTx.cpp +++ b/src/libxrpl/protocol/STTx.cpp @@ -278,6 +278,8 @@ STTx::checkBatchSign(Rules const& rules) const JLOG(debugLog().fatal()) << "not a batch transaction"; return Unexpected("Not a batch transaction."); } + if (!isFieldPresent(sfBatchSigners)) + return Unexpected("Missing BatchSigners field."); STArray const& signers{getFieldArray(sfBatchSigners)}; for (auto const& signer : signers) { @@ -292,9 +294,8 @@ STTx::checkBatchSign(Rules const& rules) const } catch (std::exception const& e) { - JLOG(debugLog().error()) << "Batch signature check failed: " << e.what(); + return Unexpected(std::string("Internal batch signature check failure: ") + e.what()); } - return Unexpected("Internal batch signature check failure."); } Json::Value @@ -488,7 +489,7 @@ multiSignHelper( if (!validSig) return Unexpected( std::string("Invalid signature on account ") + toBase58(accountID) + - errorWhat.value_or("") + "."); + (errorWhat ? ": " + *errorWhat : "") + "."); } // All signatures verified. return {}; diff --git a/src/libxrpl/tx/transactors/Batch.cpp b/src/libxrpl/tx/transactors/Batch.cpp index 74bc8e6512..7ddc8d3b68 100644 --- a/src/libxrpl/tx/transactors/Batch.cpp +++ b/src/libxrpl/tx/transactors/Batch.cpp @@ -536,8 +536,11 @@ Batch::checkSign(PreclaimContext const& ctx) if (auto ret = Transactor::checkSign(ctx); !isTesSuccess(ret)) return ret; - if (auto ret = checkBatchSign(ctx); !isTesSuccess(ret)) - return ret; + if (ctx.tx.isFieldPresent(sfBatchSigners)) + { + if (auto ret = checkBatchSign(ctx); !isTesSuccess(ret)) + return ret; + } return tesSUCCESS; }