Page MenuHomePhabricator

[mining] Require priority transactions to be below minimum relay fee
Needs RevisionPublic

Authored by schancel on Apr 21 2019, 08:07.

Details

Reviewers
deadalnix
jasonbcox
Group Reviewers
Restricted Owners Package(Owns No Changed Paths)
Restricted Project
Summary

Require that transactions selected for priority mining are below the minimum relay feerate.
This is the feerate that is required for priority to be the determining factor when a txn
is allowed into the mempool by AcceptToMempoolWorker.

The existing behavior allows for transactions with sufficient fee, but high priority,
to take up space reserved for high priority transactions. This seems to be outside
the intended purpose, as those transactions can already be allocated space within
addPackageTxn. If there are not enough free transactions to use the reserved space,
addPackageTxn will naturally overflow into this section.

Additionally, this is part of a larger effort to relax the transaction selection
within the mining code.

Test Plan
make check && ./test/functional/test_runner.py

Diff Detail

Repository
rABC Bitcoin ABC
Branch
abc-high-prio (branched from master)
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 5546
Build 9154: Bitcoin ABC Buildbot (legacy)
Build 9153: arc lint + arc unit