Skip to content

contractcourt: properly bump justice transactions #9426

@morehouse

Description

@morehouse

Currently justice transactions use a confirmation target of 2, which should usually get them confirmed quickly. But if we get unlucky and mempool fee rates rise after we've created the justice transactions, the justice transactions can get stuck in the mempool for a long time, potentially long enough for the counterparty to claim their channel balance and escape justice.

Implementation

Ideally we'd be able to leverage the new sweeper to automatically bump fees every block. The problem is that we do need to maintain the custom logic to split the justice transaction into pinnable (i.e. HTLC claims) and non-pinnable (i.e. balance claim) groups after a few blocks delay, and we need to make sure that the non-pinnable group doesn't get any pinnable outputs from other channels grouped with it.

I think @yyforyongyu was working on "sweeper groups" at some point, which seems useful here to prevent aggregation.

Metadata

Metadata

Assignees

No one assigned

    Labels

    contractsenhancementImprovements to existing features / behavioursecurityGeneral label for issues/PRs related to the security of the softwareutxo sweeping

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions