Skip to content

Conversation

@maflcko
Copy link
Member

@maflcko maflcko commented Jul 30, 2018

This implements a layer around an immutable tx pool. The layer can be seen as a temporary throw-away shell that provides the same interface as CTxMemPool. Its primary purpose right now is to be passed into ATMP while testing acceptance of several (potentially depending) transaction and then to be discarded.

One use case could be to determine if smart contracts that are set up with multiple txs would be accepted by current consensus and policy rules.

In the future it could be extended to support recursive wrapping of layers or a way to commit changes that happened in the layer to the underlying pool or layer. Furthermore, it could be extended to be revivable after changes to the underlying layer happened. (As opposed to be single-use)

@DrahtBot
Copy link
Contributor

DrahtBot commented Jul 30, 2018

The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

Conflicts

Reviewers, this pull request conflicts with the following ones:

  • #15681 ([mempool] Allow one extra single-ancestor transaction per package by TheBlueMatt)
  • #15192 (Add missing cs_main locks in ThreadImport(...)/Shutdown(...)/gettxoutsetinfo(...)/InitScriptExecutionCache(). Add missing locking annotations. by practicalswift)
  • #15169 (Parallelize CheckInputs() in AcceptToMemoryPool() by sdaftuar)
  • #10443 (Add fee_est tool for debugging fee estimation code by ryanofsky)

If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first.

Copy link
Contributor

@promag promag left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Last commit is overwhelming. Could prefix with wip: until dependencies are merged?

@maflcko maflcko force-pushed the Mf1807-txpoolStacked branch from 8a288dc to 6a7feb6 Compare March 7, 2019 20:45
@maflcko maflcko force-pushed the Mf1807-txpoolStacked branch from 6a7feb6 to 33a025b Compare March 8, 2019 14:54
@maflcko maflcko force-pushed the Mf1807-txpoolStacked branch from 33a025b to 566cc51 Compare July 10, 2019 18:42
@maflcko maflcko force-pushed the Mf1807-txpoolStacked branch 6 times, most recently from 713311f to 70cbf1e Compare July 11, 2019 20:34
@maflcko maflcko force-pushed the Mf1807-txpoolStacked branch from 70cbf1e to 9aa48e1 Compare July 13, 2019 14:23
@maflcko maflcko force-pushed the Mf1807-txpoolStacked branch from 9aa48e1 to 421de16 Compare July 13, 2019 17:23
@maflcko maflcko closed this Jul 16, 2019
@maflcko maflcko deleted the Mf1807-txpoolStacked branch July 16, 2019 15:02
5tefan added a commit to 5tefan/dash that referenced this pull request Aug 10, 2021
…tor impl details

faa1a74 tx pool: Use class methods to hide raw map iterator impl details (MarcoFalke)

Pull request description:

  ATMP et al would often use map iterator implementation details such as
`end()` or `find()`, which is acceptable in current code.

  However, this not only makes it impossible to turn the maps into
private members in the future but also makes it harder to replace the
maps with different data structures.

  This is required for and split off of bitcoin#13804

Tree-SHA512: 4f9017fd1d98d9df49d25bba92655a4a97755eea161fd1cbb565ceb81bbc2b4924129d214f8a29563a77e3d8eef85a67c81245ecdc9a9e5292d419922a93cb88
5tefan added a commit to 5tefan/dash that referenced this pull request Aug 12, 2021
…tor impl details

faa1a74 tx pool: Use class methods to hide raw map iterator impl details (MarcoFalke)

Pull request description:

  ATMP et al would often use map iterator implementation details such as
`end()` or `find()`, which is acceptable in current code.

  However, this not only makes it impossible to turn the maps into
private members in the future but also makes it harder to replace the
maps with different data structures.

  This is required for and split off of bitcoin#13804

Tree-SHA512: 4f9017fd1d98d9df49d25bba92655a4a97755eea161fd1cbb565ceb81bbc2b4924129d214f8a29563a77e3d8eef85a67c81245ecdc9a9e5292d419922a93cb88
@bitcoin bitcoin locked as resolved and limited conversation to collaborators Dec 16, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants