Commit graph

8 commits

Author SHA1 Message Date
Olaoluwa Osuntokun
0f61664ceb mempool+netsync: extend TxMempool interface for unified abstraction
This commit extends the TxMempool interface to support both the legacy
TxPool and new TxMempoolV2 implementations transparently. The interface
now includes all methods required by the server, netsync, and mining
subsystems, enabling a feature flag to toggle between implementations
at runtime.

The extended interface adds critical methods that were previously only
available on the concrete TxPool type: RemoveOrphansByTag for peer
cleanup, MiningDescs for block template generation, and several internal
methods (RemoveDoubleSpends, RemoveOrphan, ProcessOrphans,
MaybeAcceptTransaction) used by netsync for transaction relay.

By abstracting these operations, we enable the server to use either
implementation without subsystem-specific code changes. The netsync
package now accepts the TxMempool interface rather than requiring the
concrete TxPool type, allowing transparent switching.

The MockTxMempool test implementation is updated to provide all new
interface methods, ensuring tests continue to work with the expanded
interface contract.
2025-10-27 16:10:43 -07:00
Calvin Kim
ba5407615d multi: Run gofmt on the entire repository
The doc formatting changes introduced in the recent go version is
increasing the diff for all of the new commits.  Formatting it all in
this commit will help the readability of future PRs by reducing the
diff.
2023-06-21 22:31:09 +09:00
Olaoluwa Osuntokun
caac0f821a
multi: update btcutil imports to point to new sub-module
In this commit, we update all the btcutil imports to point to the new
sub-module.

In the same commit, we also modify the recently added `btcutil/go.mod`
file as we need to continue pointing to the _old_ version of btcd, until
we merge this PR and push a new tag.
2022-01-10 18:44:58 -08:00
Olaoluwa Osuntokun
b72e16f0d6 multi: correct all import paths 2018-05-23 16:46:15 -07:00
Daniel Krawisz
1333ad7f78 FeeEstimator added to server. Mempool alerts the fee estimator of
new txs that it observes. The block manager alerts the fee estimator
of new and orphaned blocks.

Check for invalid state and recreate FeeEstimator if necessary.
2018-05-23 16:46:15 -07:00
Olaoluwa Osuntokun
10432160d5 multi: rebase to upstream, update API's 2018-05-23 16:46:15 -07:00
Jim Posen
46fd4ec358 netsync: Change name of blockManager to syncManager. 2017-08-25 13:41:22 -05:00
Jim Posen
1cf7e233e5 netsync: Initialize netsync package.
Create doc.go, interface.go, and README for new package.
2017-08-25 13:41:22 -05:00