aboutsummaryrefslogtreecommitdiff
path: root/src/node/mini_miner.h
AgeCommit message (Collapse)Author
2023-11-08[refactor] updating miniminer comments to be more accuratekevkevin
2023-11-07[refactor] Change MiniMinerMempoolEntry orderkevkevin
Changes MiniMinerMempoolEntry order to match the order of the params elsewhere in the codebase
2023-11-03[MiniMiner] track inclusion order and add Linearize() functionglozow
Sometimes we are just interested in the order in which transactions would be included in a block (we want to "linearize" the transactions). Track and store this information. This doesn't change any of the bump fee calculations.
2023-11-03[MiniMiner] make target_feerate optionalglozow
Add an option to keep building the template regardless of feerate. We can't just use target_feerate=0 because it's possible for transactions to have negative modified feerates. No behavior change for users that pass in a target_feerate.
2023-11-03[MiniMiner] allow manual construction with non-mempool txnsglozow
This is primarily intended for linearizing a package of transactions prior to submitting them to mempool. Note that, if this ctor is used, bump fees will not be calculated because we haven't instructed MiniMiner which outpoints for which we want bump fees to be calculated.
2023-11-03[refactor] change MiniMinerMempoolEntry ctor to take values, update includesglozow
No behavior change. All we are doing is copying out these values before passing them into the ctor instead of within the ctor. This makes it possible to use the MiniMiner algorithms to analyze transactions that haven't been submitted to the mempool yet. It also iwyu's the mini_miner includes.
2023-09-13Make MiniMinerMempoolEntry fields privateMurch
Follow-up from #27021: accessing of fields in MiniMinerMempoolEntry was done inconsistently. Even though we had a getter, we would directly write to the fields when we needed to update them. This commits sets the fields to private and introduces a method for updating the ancestor information in transactions using the same method name as used for Mempool Entries.
2023-03-30Implement Mini version of BlockAssembler to calculate mining scoresglozow
Rewrite the same algo instead of reusing BlockAssembler because we have a few extra requirements that would make the changes invasive and difficult to review: - Only operate on the relevant transactions rather than full mempool - Remove transactions that will be replaced so they can't bump their ancestors - Don't hold mempool lock outside of the constructor - Skip things like max block weight and IsFinalTx - Additionally calculate fees to bump remaining ancestor packages to target feerate Co-authored-by: Murch <murch@murch.one>