From 1bf3b513966e34b45ea359cbe7576383437f5d93 Mon Sep 17 00:00:00 2001 From: Suhas Daftuar Date: Thu, 30 Jan 2025 13:16:21 -0500 Subject: [PATCH] Add sigops adjusted weight calculator --- src/policy/policy.cpp | 7 ++++++- src/policy/policy.h | 5 +++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/policy/policy.cpp b/src/policy/policy.cpp index 3da6cb7489b..b159d616021 100644 --- a/src/policy/policy.cpp +++ b/src/policy/policy.cpp @@ -373,9 +373,14 @@ bool SpendsNonAnchorWitnessProg(const CTransaction& tx, const CCoinsViewCache& p return false; } +int64_t GetSigOpsAdjustedWeight(int64_t weight, int64_t sigop_cost, unsigned int bytes_per_sigop) +{ + return std::max(weight, sigop_cost * bytes_per_sigop); +} + int64_t GetVirtualTransactionSize(int64_t nWeight, int64_t nSigOpCost, unsigned int bytes_per_sigop) { - return (std::max(nWeight, nSigOpCost * bytes_per_sigop) + WITNESS_SCALE_FACTOR - 1) / WITNESS_SCALE_FACTOR; + return (GetSigOpsAdjustedWeight(nWeight, nSigOpCost, bytes_per_sigop) + WITNESS_SCALE_FACTOR - 1) / WITNESS_SCALE_FACTOR; } int64_t GetVirtualTransactionSize(const CTransaction& tx, int64_t nSigOpCost, unsigned int bytes_per_sigop) diff --git a/src/policy/policy.h b/src/policy/policy.h index 0131b56b031..0e4314ea9d5 100644 --- a/src/policy/policy.h +++ b/src/policy/policy.h @@ -11,6 +11,7 @@ #include #include