Merge bitcoin/bitcoin#31897: mining: drop unused -nFees and sigops from CBlockTemplate

226d81f8b7 mining: drop unused -nFees and sigops from CBlockTemplate (Sjors Provoost)
53ad845fb9 test: check fees and sigops in getblocktemplate (Sjors Provoost)

Pull request description:

  For the coinbase `vTxFees` used a dummy value of -nFees.

  Similarly the first `vTxSigOpsCost` entry was calculated from
  the dummy coinbase transaction.

  This was introduced in #2115, but the values were never returned by the RPC or used in a test.

  Drop 'm and add code comments to prevent confusion.

  This PR also adds test coverage for the `fees` and `sigops` fields in `getblocktemplate`, so it closes #32053.

ACKs for top commit:
  ismaelsadeeq:
    re-ACK 226d81f8b7
  ryanofsky:
    Code review ACK 226d81f8b7. New test was added since last review, which seems very cleanly written and fixes some missing coverage.
  glozow:
    ACK 226d81f8b7

Tree-SHA512: 79c534e6bc4810d29114b04dd6db798877732cb473e773bf3cc28f83d14ee3982392587bd0baa39857bd53a79eae3b730d7a7029b08a9b6c3b5c51f86657ca5d
This commit is contained in:
merge-script
2025-03-25 08:41:59 -04:00
5 changed files with 64 additions and 7 deletions

View File

@@ -34,9 +34,12 @@ public:
virtual ~BlockTemplate() = default;
virtual CBlockHeader getBlockHeader() = 0;
// Block contains a dummy coinbase transaction that should not be used.
virtual CBlock getBlock() = 0;
// Fees per transaction, not including coinbase transaction.
virtual std::vector<CAmount> getTxFees() = 0;
// Sigop cost per transaction, not including coinbase transaction.
virtual std::vector<int64_t> getTxSigops() = 0;
virtual CTransactionRef getCoinbaseTx() = 0;