MCPcopy Create free account
hub / github.com/ElementsProject/elements / EXCLUSIVE_LOCKS_REQUIRED

Method EXCLUSIVE_LOCKS_REQUIRED

src/validation.cpp:651–664  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

649
650 // Compare a package's feerate against minimum allowed.
651 bool CheckFeeRate(size_t package_size, CAmount package_fee, TxValidationState& state) EXCLUSIVE_LOCKS_REQUIRED(::cs_main, m_pool.cs)
652 {
653 AssertLockHeld(::cs_main);
654 AssertLockHeld(m_pool.cs);
655 CAmount mempoolRejectFee = m_pool.GetMinFee(gArgs.GetIntArg("-maxmempool", DEFAULT_MAX_MEMPOOL_SIZE) * 1000000).GetFee(package_size);
656 if (mempoolRejectFee > 0 && package_fee < mempoolRejectFee) {
657 return state.Invalid(TxValidationResult::TX_MEMPOOL_POLICY, "mempool min fee not met", strprintf("%d < %d", package_fee, mempoolRejectFee));
658 }
659
660 if (package_fee < ::minRelayTxFee.GetFee(package_size)) {
661 return state.Invalid(TxValidationResult::TX_MEMPOOL_POLICY, "min relay fee not met", strprintf("%d < %d", package_fee, ::minRelayTxFee.GetFee(package_size)));
662 }
663 return true;
664 }
665
666private:
667 CTxMemPool& m_pool;

Callers

nothing calls this directly

Calls 4

GetFeeMethod · 0.80
GetMinFeeMethod · 0.80
GetIntArgMethod · 0.80
InvalidMethod · 0.80

Tested by

no test coverage detected