This removes the block template generation code related to
prioritization of low-fee/free transactions.
The following is an overview of the changes:
- Remove logic to select sort method based on the block priority size
from block template generation
- Remove now unused mining.MinHighPriority constant
- Remove now unused mining.Policy.BlockPrioritySize field
- Remove now unused txPQByStakeAndFeeAndThenPriority func
- Remove tests related to txPQByStakeAndFeeAndThenPriority
Upcoming changes constitute breaking public API changes to the
blockchain/stake module, therefore, this follows the process for
introducing major API breaks which consists of:
- Bump the major version in the go.mod of the affected module if not
already done since the last release tag
- Add a replacement to the go.mod in the main module if not already done
since the last release tag
- Update all imports in the repo to use the new major version as
necessary
- Make necessary modifications to allow all other modules to use the new
version in the same commit
- Repeat the process for any other modules the require a new major as a
result of consuming the new major(s)
This adds a new priority for automatic revocations to the tx priority
queue. With the automatic ticket revocations agenda, revocations are
required for all tickets that are becoming missed or expired as of the
block being created. This update ensures that those revocations are
treated as the second highest priority after votes in the priority
queue, ahead of other non-mandatory transactions.
This moves txPriorityQueue and the related logic to a separate file,
mining/txpriorityqueue.go. Additionally, it moves the txPriorityQueue
tests to mining/txpriorityqueue_tests.go.
This is part of an effort to split mining into several files to make the
package easier to navigate, and in preparation of adding additional test
coverage.