From e1aee43359be003019997e6ded3bedaa934faba7 Mon Sep 17 00:00:00 2001 From: tequ Date: Tue, 3 Feb 2026 14:45:55 +0900 Subject: [PATCH] address review --- src/xrpld/app/tx/detail/SponsorshipSet.cpp | 28 +++++++--------------- 1 file changed, 8 insertions(+), 20 deletions(-) diff --git a/src/xrpld/app/tx/detail/SponsorshipSet.cpp b/src/xrpld/app/tx/detail/SponsorshipSet.cpp index b9dba52abb..47839e5801 100644 --- a/src/xrpld/app/tx/detail/SponsorshipSet.cpp +++ b/src/xrpld/app/tx/detail/SponsorshipSet.cpp @@ -22,26 +22,6 @@ SponsorshipSet::preflight(PreflightContext const& ctx) if ((flags & tfSponsorshipSetRequireSignForReserve) && (flags & tfSponsorshipClearRequireSignForReserve)) return temINVALID_FLAG; - if (flags & tfDeleteObject) - { - // can not combine with any modification flags when deleting - constexpr std::uint32_t modifyFlags = tfSponsorshipSetRequireSignForFee | - tfSponsorshipSetRequireSignForReserve | tfSponsorshipClearRequireSignForFee | - tfSponsorshipClearRequireSignForReserve; - - if (flags & modifyFlags) - return temINVALID_FLAG; - } - else - { - // can not combine set flag with clear flag - if ((flags & tfSponsorshipSetRequireSignForFee) && (flags & tfSponsorshipClearRequireSignForFee)) - return temINVALID_FLAG; - - if ((flags & tfSponsorshipSetRequireSignForReserve) && (flags & tfSponsorshipClearRequireSignForReserve)) - return temINVALID_FLAG; - } - auto const account = ctx.tx.getAccountID(sfAccount); bool const hasSponsor = ctx.tx.isFieldPresent(sfCounterpartySponsor); bool const hasSponsee = ctx.tx.isFieldPresent(sfSponsee); @@ -58,6 +38,14 @@ SponsorshipSet::preflight(PreflightContext const& ctx) if (flags & tfDeleteObject) { + // can not combine with any modification flags when deleting + constexpr std::uint32_t modifyFlags = tfSponsorshipSetRequireSignForFee | + tfSponsorshipSetRequireSignForReserve | tfSponsorshipClearRequireSignForFee | + tfSponsorshipClearRequireSignForReserve; + + if (flags & modifyFlags) + return temINVALID_FLAG; + // can not include these fields when deleting if (ctx.tx.isFieldPresent(sfFeeAmount) || ctx.tx.isFieldPresent(sfReserveCount) || ctx.tx.isFieldPresent(sfMaxFee))