# 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(); } } ```