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

refactor prep for package rbf #30072

Merged
merged 5 commits into from
May 24, 2024

Commits on May 23, 2024

  1. Configuration menu
    Copy the full SHA
    57ee302 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    69f7ab0 View commit details
    Browse the repository at this point in the history
  3. cpfp carveout is excluded in packages

    The behavior is not new, but this rule exits earlier than before.
    Previously, a carve out could have been granted in PreChecks() but then
    nullified in PackageMempoolChecks() when CheckPackageLimits() is called
    with the default limits.
    glozow authored and instagibbs committed May 23, 2024
    Configuration menu
    Copy the full SHA
    cbbfe71 View commit details
    Browse the repository at this point in the history
  4. [refactor] make some members MemPoolAccept-wide

    No change in behavior.
    
    For single transaction acceptance, this is a simple refactor:
    Workspace::m_all_conflicting
    Workspace::m_conflicting_fees
    Workspace::m_conflicting_size
    Workspace::m_replaced_transactions
    
    are now grouped under a new SubPackageState struct that is
    a member of MemPoolAccept.
    
    And local variables m_total_vsize and m_total_modified_fees are now
    SubpackageState members so they can be accessed from
    PackageMempoolChecks.
    
    We want these to be package-wide variables because
    - Transactions could conflict with the same tx (just not the same
    prevout), or their conflicts could share descendants.
    - We want to compare conflicts with the package fee rather than
    individual transaction fee.
    
    We reset these MemPoolAccept-wide fields for each subpackage
    evaluation to not cause state leaking, similar to temporary
    coins.
    glozow authored and instagibbs committed May 23, 2024
    Configuration menu
    Copy the full SHA
    20d8936 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    2fd34ba View commit details
    Browse the repository at this point in the history