aboutsummaryrefslogtreecommitdiff
path: root/src/node/interfaces.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/node/interfaces.cpp')
-rw-r--r--src/node/interfaces.cpp29
1 files changed, 26 insertions, 3 deletions
diff --git a/src/node/interfaces.cpp b/src/node/interfaces.cpp
index a6d84555c0..4baa0da67c 100644
--- a/src/node/interfaces.cpp
+++ b/src/node/interfaces.cpp
@@ -28,6 +28,7 @@
#include <node/coin.h>
#include <node/context.h>
#include <node/interface_ui.h>
+#include <node/mini_miner.h>
#include <node/transaction.h>
#include <policy/feerate.h>
#include <policy/fees.h>
@@ -433,9 +434,9 @@ public:
{
m_notifications->transactionRemovedFromMempool(tx, reason);
}
- void BlockConnected(const std::shared_ptr<const CBlock>& block, const CBlockIndex* index) override
+ void BlockConnected(ChainstateRole role, const std::shared_ptr<const CBlock>& block, const CBlockIndex* index) override
{
- m_notifications->blockConnected(kernel::MakeBlockInfo(index, block.get()));
+ m_notifications->blockConnected(role, kernel::MakeBlockInfo(index, block.get()));
}
void BlockDisconnected(const std::shared_ptr<const CBlock>& block, const CBlockIndex* index) override
{
@@ -445,7 +446,9 @@ public:
{
m_notifications->updatedBlockTip();
}
- void ChainStateFlushed(const CBlockLocator& locator) override { m_notifications->chainStateFlushed(locator); }
+ void ChainStateFlushed(ChainstateRole role, const CBlockLocator& locator) override {
+ m_notifications->chainStateFlushed(role, locator);
+ }
std::shared_ptr<Chain::Notifications> m_notifications;
};
@@ -665,6 +668,26 @@ public:
if (!m_node.mempool) return;
m_node.mempool->GetTransactionAncestry(txid, ancestors, descendants, ancestorsize, ancestorfees);
}
+
+ std::map<COutPoint, CAmount> CalculateIndividualBumpFees(const std::vector<COutPoint>& outpoints, const CFeeRate& target_feerate) override
+ {
+ if (!m_node.mempool) {
+ std::map<COutPoint, CAmount> bump_fees;
+ for (const auto& outpoint : outpoints) {
+ bump_fees.emplace(std::make_pair(outpoint, 0));
+ }
+ return bump_fees;
+ }
+ return MiniMiner(*m_node.mempool, outpoints).CalculateBumpFees(target_feerate);
+ }
+
+ std::optional<CAmount> CalculateCombinedBumpFee(const std::vector<COutPoint>& outpoints, const CFeeRate& target_feerate) override
+ {
+ if (!m_node.mempool) {
+ return 0;
+ }
+ return MiniMiner(*m_node.mempool, outpoints).CalculateTotalBumpFees(target_feerate);
+ }
void getPackageLimits(unsigned int& limit_ancestor_count, unsigned int& limit_descendant_count) override
{
const CTxMemPool::Limits default_limits{};