# Mempool Fee Estimator
- This is part of the PR resurrection [PR #11775](https://github.com/bitcoin/bitcoin/pull/11775).
- There's an alternative PR [PR #28368](https://github.com/bitcoin/bitcoin/pull/28368), but it seems it doesn't include the mempool split.
## Splitting the Interface: CValidatorInterface
Following the commits:
- [Docs update](https://github.com/bitcoin/bitcoin/pull/11775/commits/bad68e9a5052fb98ab469c7e74a748791d4591d0)
- [Interface split with MempoolInterface](https://github.com/bitcoin/bitcoin/pull/11775/commits/ae5e07196cd2693fbac601b68038cabc072eceac)
Draft PR can be found [here](https://github.com/vincenzopalazzo/bitcoin/pulls).
## Issue
In Matt's PR, the signaling code utilizes `boost`. In contrast, the following codebase has its signaling code coupled with the `CValidatorInterface`.
My solution in the current PR is to duplicate the signal for the mempool. I believe this approach is the most straightforward way to achieve this.
Another method I attempted, which seemed a tad messy, was to place the signal under a proxy interface, like a `CSignal`, that would then execute the subsequent code.
```cpp!
class AB: public A, public B
{
private:
std::shared_ptr<A> a;
std::shared_ptr<B> b;
protected:
void foot() override {
if (a) a->foo();
}
void doo() override {
if (b) b->doo();
}
}
```