Skip to content

Splice command returns success before peers exchange tx_signatures #3093

@remyers

Description

@remyers

Eclair will report success as soon as the splice initiator has sent their commit_sig, even if the peers have not exchanged tx_signatures yet.

For example, if the peers disconnect after the splice initiator sends their commit_sig, but before the other peer receives it's tx_complete, the splice initiator will return to the user that the splice was successful.

    // alice                    bob
    //   |         ...           |
    //   |    <interactive-tx>   |
    //   |<----- tx_complete ----|
    //   |------ tx_complete --X |
    //   |------ commit_sig ---X |  return RES_SPLICE
    //   |      <disconnect>     |
    //   |      <reconnect>      |
    //   | <channel_reestablish> |
    //   |<------ tx_abort ------|
    //   |------- tx_abort ----->|

Eclair should wait until tx_signatures have been exchanged before the command returns success, and otherwise return failure.

This should only occur for rare edge cases, but it could result in confusion for operators.

This could lead to problems with liquidity purchases if the purchaser uses fee credits but the splice is automatically aborted after a disconnect.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions