From 0febc60cbe7f772a628c52bab7864178afb00406 Mon Sep 17 00:00:00 2001 From: Ed Hennis Date: Tue, 28 Oct 2025 18:31:31 -0400 Subject: [PATCH] Ignore the contents of SigningPubKey when multisigning with a target --- src/xrpld/rpc/detail/TransactionSign.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/xrpld/rpc/detail/TransactionSign.cpp b/src/xrpld/rpc/detail/TransactionSign.cpp index aa7c706a19..9f4cec763b 100644 --- a/src/xrpld/rpc/detail/TransactionSign.cpp +++ b/src/xrpld/rpc/detail/TransactionSign.cpp @@ -1097,7 +1097,11 @@ checkMultiSignFields(Json::Value const& jvRequest) if (!tx_json.isMember(sfSigningPubKey.getJsonName())) return RPC::missing_field_error("tx_json.SigningPubKey"); - if (!tx_json[sfSigningPubKey.getJsonName()].asString().empty()) + // Multi-signing into a signature_target object field is fine, + // because it means the signature is not for the transaction + // Account. + if (!jvRequest.isMember(jss::signature_target) && + !tx_json[sfSigningPubKey.getJsonName()].asString().empty()) return RPC::make_error( rpcINVALID_PARAMS, "When multi-signing 'tx_json.SigningPubKey' must be empty.");