Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cluster size 2 package rbf #28984

Open
wants to merge 8 commits into
base: master
Choose a base branch
from

Commits on Jun 10, 2024

  1. PackageV3Checks: Relax assumptions

    Relax assumptions about in-mempool children of in-mempool
    parents. With package RBF, we will allow a package of size
    2 with conflicts on its parent and reconsider the parent
    if its fee is insufficient on its own.
    
    Consider:
    
    TxA (in mempool) <- TxB (in mempool)
    
    TxA (in mempool) <- TxB' (in package, conflicts with TxB) <-
    TxC (in package)
    
    If TxB' fails to RBF TxB due to insufficient feerate, the
    package TxB' + TxC will be considered. PackageV3Checks
    called on TxB' will see an in-mempool parent TxA, and
    see the in-mempool child TxB. We cannot assume there is
    no in-mempool sibling, rather detect it and fail normally.
    
    Prior to package RBF, this would have failed on the first
    conflict in package.
    instagibbs committed Jun 10, 2024
    Configuration menu
    Copy the full SHA
    5da3967 View commit details
    Browse the repository at this point in the history

Commits on Jun 11, 2024

  1. [policy] package rbf

    Support package RBF where the conflicting package would result
    in a mempool cluster of size two, and each of its direct
    conflicts are also part of an up-to-size-2 mempool cluster.
    
    This restricted topology allows for exact calculation
    of miner scores for each side of the equation, reducing
    the surface area for new pins, or incentive-incompatible
    replacements.
    
    This allows wallets to create simple CPFP packages
    that can fee bump other simple CPFP packages. This,
    leveraged with other restrictions such as V3 transactions,
    can create pin-resistant applications.
    
    Future package RBF relaxations can be considered when appropriate.
    
    Co-authored-by: glozow <gloriajzhao@gmail.com>
    Co-authored-by: Greg Sanders <gsanders87@gmail.com>
    3 people committed Jun 11, 2024
    Configuration menu
    Copy the full SHA
    164b0a9 View commit details
    Browse the repository at this point in the history
  2. [test] package rbf

    glozow authored and instagibbs committed Jun 11, 2024
    Configuration menu
    Copy the full SHA
    29bb3a6 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    f25c153 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    4aea95e View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    4e0041d View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    b6b491d View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    dd364f9 View commit details
    Browse the repository at this point in the history