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

splice: signer must be informed of splice parameters #6723

Closed
devrandom opened this issue Sep 26, 2023 · 4 comments · Fixed by #6746
Closed

splice: signer must be informed of splice parameters #6723

devrandom opened this issue Sep 26, 2023 · 4 comments · Fixed by #6746
Assignees
Milestone

Comments

@devrandom
Copy link
Contributor

Overview

The signer needs to know when the splice operation starts and the splice parameters for each splice transaction candidate.

The channel establishment v2 (dual funding) code path already notifies the signer via the hsmd API hsmd_ready_channel calls (note the name clashes with the new name for funding_locked in the spec - see #6717). However, the splicing code path does not.

See also #6722 for locking of a splice candidate in the signer.

Design

Call ready_channel in the splicing code path after each splice candidate is negotiated.

The following parameters may vary from the previous confirmed funding transaction (initial or splice):

  • remote_funding_pubkey

The following parameters may vary between splice RBF candidates:

  • channel_value
  • push_value
  • funding_outpoint

It is an error to modify other fields.

@vincenzopalazzo
Copy link
Contributor

You are right, I just noted it!

I will add in the milestone for the next release, we should have some room to put the patch before the closing window

@vincenzopalazzo vincenzopalazzo added this to the v23.11 milestone Sep 26, 2023
@ksedgwic
Copy link
Collaborator

@devrandom after the rename a s/ready_channel/setup_channel/g, right?

@ksedgwic
Copy link
Collaborator

@vincenzopalazzo I have a partially implemented "sketch" of this in a WIP branch: lightning-signer@be52416

Specifically the amount is not hooked up yet; I like to watch the diagnostics as I hook it up to make sure they make sense ...

The draft (local) PR: lightning-signer#95

NOTE - we don't really merge these Draft PR, we use them to pre-test upstream submissions, clean them up and then eventually hard reset an appropriate remote-hsmd- branch/tag onto them

@vincenzopalazzo
Copy link
Contributor

I will try to cherrypick your changes and open a PR on mainline by the end of the week, thanks to share the solution

vincenzopalazzo added a commit to vincenzopalazzo/lightning that referenced this issue Sep 29, 2023
The signer needs to know when the splice operation starts and the
splice parameters for each splice transaction candidate.

The channel establishment v2 (dual funding) code path already
notifies the signer via the hsmd API hsmd_ready_channel calls
However, the splicing code path does not.

Link: ElementsProject#6723
Suggested-by: @devrandom
Co-Developed-by: Ken Sedgwick <[email protected]>
Signed-off-by: Vincenzo Palazzo <[email protected]>
vincenzopalazzo pushed a commit to vincenzopalazzo/lightning that referenced this issue Sep 29, 2023
The signer needs to know when the splice operation starts and the
splice parameters for each splice transaction candidate.

The channel establishment v2 (dual funding) code path already
notifies the signer via the hsmd API hsmd_ready_channel calls
However, the splicing code path does not.

Link: ElementsProject#6723
Suggested-by: @devrandom
Co-Developed-by: Ken Sedgwick <[email protected]>
Signed-off-by: Vincenzo Palazzo <[email protected]>
vincenzopalazzo pushed a commit to vincenzopalazzo/lightning that referenced this issue Oct 3, 2023
The signer needs to know when the splice operation starts and the
splice parameters for each splice transaction candidate.

The channel establishment v2 (dual funding) code path already
notifies the signer via the hsmd API hsmd_ready_channel calls
However, the splicing code path does not.

Link: ElementsProject#6723
Suggested-by: @devrandom
Co-Developed-by: Ken Sedgwick <[email protected]>
Signed-off-by: Vincenzo Palazzo <[email protected]>
vincenzopalazzo pushed a commit to vincenzopalazzo/lightning that referenced this issue Oct 4, 2023
The signer needs to know when the splice operation starts and the
splice parameters for each splice transaction candidate.

The channel establishment v2 (dual funding) code path already
notifies the signer via the hsmd API hsmd_ready_channel calls
However, the splicing code path does not.

Link: ElementsProject#6723
Suggested-by: @devrandom
Co-Developed-by: Ken Sedgwick <[email protected]>
Signed-off-by: Vincenzo Palazzo <[email protected]>
vincenzopalazzo pushed a commit to vincenzopalazzo/lightning that referenced this issue Oct 4, 2023
The signer needs to know when the splice operation starts and the
splice parameters for each splice transaction candidate.

The channel establishment v2 (dual funding) code path already
notifies the signer via the hsmd API hsmd_ready_channel calls
However, the splicing code path does not.

Link: ElementsProject#6723
Suggested-by: @devrandom
Co-Developed-by: @devrandom
Co-Developed-by: Ken Sedgwick <[email protected]>
Signed-off-by: Vincenzo Palazzo <[email protected]>
vincenzopalazzo pushed a commit to vincenzopalazzo/lightning that referenced this issue Oct 4, 2023
The signer needs to know when the splice operation starts and the
splice parameters for each splice transaction candidate.

The channel establishment v2 (dual funding) code path already
notifies the signer via the hsmd API hsmd_ready_channel calls
However, the splicing code path does not.

Link: ElementsProject#6723
Suggested-by: @devrandom
Co-Developed-by: @devrandom
Co-Developed-by: Ken Sedgwick <[email protected]>
Signed-off-by: Vincenzo Palazzo <[email protected]>
vincenzopalazzo pushed a commit to vincenzopalazzo/lightning that referenced this issue Oct 4, 2023
The signer needs to know when the splice operation starts and the
splice parameters for each splice transaction candidate.

The channel establishment v2 (dual funding) code path already
notifies the signer via the hsmd API hsmd_ready_channel calls
However, the splicing code path does not.

Link: ElementsProject#6723
Suggested-by: @devrandom
Co-Developed-by: @devrandom
Co-Developed-by: Ken Sedgwick <[email protected]>
Signed-off-by: Vincenzo Palazzo <[email protected]>
vincenzopalazzo pushed a commit to vincenzopalazzo/lightning that referenced this issue Oct 5, 2023
The signer needs to know when the splice operation starts and the
splice parameters for each splice transaction candidate.

The channel establishment v2 (dual funding) code path already
notifies the signer via the hsmd API hsmd_ready_channel calls
However, the splicing code path does not.

Link: ElementsProject#6723
Suggested-by: @devrandom
Co-Developed-by: @devrandom
Co-Developed-by: Ken Sedgwick <[email protected]>
Signed-off-by: Vincenzo Palazzo <[email protected]>
vincenzopalazzo pushed a commit to vincenzopalazzo/lightning that referenced this issue Oct 5, 2023
The signer needs to know when the splice operation starts and the
splice parameters for each splice transaction candidate.

The channel establishment v2 (dual funding) code path already
notifies the signer via the hsmd API hsmd_ready_channel calls
However, the splicing code path does not.

Link: ElementsProject#6723
Suggested-by: @devrandom
Co-Developed-by: @devrandom
Co-Developed-by: Ken Sedgwick <[email protected]>
Signed-off-by: Vincenzo Palazzo <[email protected]>
ksedgwic added a commit to lightning-signer/c-lightning that referenced this issue Oct 6, 2023
The signer needs to know when the splice operation starts and the
splice parameters for each splice transaction candidate.

The channel establishment v2 (dual funding) code path already
notifies the signer via the hsmd API hsmd_ready_channel calls
However, the splicing code path does not.

Link: ElementsProject#6723
Suggested-by: @devrandom
Co-Developed-by: @devrandom
Co-Developed-by: Ken Sedgwick <[email protected]>
Signed-off-by: Vincenzo Palazzo <[email protected]>
ksedgwic added a commit to lightning-signer/c-lightning that referenced this issue Oct 6, 2023
The signer needs to know when the splice operation starts and the
splice parameters for each splice transaction candidate.

The channel establishment v2 (dual funding) code path already
notifies the signer via the hsmd API hsmd_ready_channel calls
However, the splicing code path does not.

Link: ElementsProject#6723
Suggested-by: @devrandom
Co-Developed-by: @devrandom
Co-Developed-by: Ken Sedgwick <[email protected]>
Signed-off-by: Vincenzo Palazzo <[email protected]>
vincenzopalazzo pushed a commit to vincenzopalazzo/lightning that referenced this issue Oct 11, 2023
The signer needs to know when the splice operation starts and the
splice parameters for each splice transaction candidate.

The channel establishment v2 (dual funding) code path already
notifies the signer via the hsmd API hsmd_ready_channel calls
However, the splicing code path does not.

Link: ElementsProject#6723
Suggested-by: @devrandom
Co-Developed-by: @devrandom
Co-Developed-by: Ken Sedgwick <[email protected]>
Signed-off-by: Vincenzo Palazzo <[email protected]>
vincenzopalazzo pushed a commit to vincenzopalazzo/lightning that referenced this issue Oct 11, 2023
The signer needs to know when the splice operation starts and the
splice parameters for each splice transaction candidate.

The channel establishment v2 (dual funding) code path already
notifies the signer via the hsmd API hsmd_ready_channel calls
However, the splicing code path does not.

Link: ElementsProject#6723
Suggested-by: @devrandom
Co-Developed-by: @devrandom
Co-Developed-by: Ken Sedgwick <[email protected]>
Signed-off-by: Vincenzo Palazzo <[email protected]>
ksedgwic added a commit to lightning-signer/c-lightning that referenced this issue Oct 20, 2023
The signer needs to know when the splice operation starts and the
splice parameters for each splice transaction candidate.

The channel establishment v2 (dual funding) code path already
notifies the signer via the hsmd API hsmd_ready_channel calls
However, the splicing code path does not.

Link: ElementsProject#6723
Suggested-by: @devrandom
Co-Developed-by: @devrandom
Co-Developed-by: Ken Sedgwick <[email protected]>
Signed-off-by: Vincenzo Palazzo <[email protected]>
vincenzopalazzo pushed a commit to vincenzopalazzo/lightning that referenced this issue Oct 20, 2023
The signer needs to know when the splice operation starts and the
splice parameters for each splice transaction candidate.

The channel establishment v2 (dual funding) code path already
notifies the signer via the hsmd API hsmd_ready_channel calls
However, the splicing code path does not.

Link: ElementsProject#6723
Suggested-by: @devrandom
Co-Developed-by: @devrandom
Co-Developed-by: Ken Sedgwick <[email protected]>
Signed-off-by: Vincenzo Palazzo <[email protected]>
ksedgwic added a commit to lightning-signer/c-lightning that referenced this issue Oct 20, 2023
The signer needs to know when the splice operation starts and the
splice parameters for each splice transaction candidate.

The channel establishment v2 (dual funding) code path already
notifies the signer via the hsmd API hsmd_ready_channel calls
However, the splicing code path does not.

Link: ElementsProject#6723
Suggested-by: @devrandom
Co-Developed-by: @devrandom
Co-Developed-by: Ken Sedgwick <[email protected]>
Signed-off-by: Vincenzo Palazzo <[email protected]>
rustyrussell pushed a commit that referenced this issue Oct 23, 2023
The signer needs to know when the splice operation starts and the
splice parameters for each splice transaction candidate.

The channel establishment v2 (dual funding) code path already
notifies the signer via the hsmd API hsmd_ready_channel calls
However, the splicing code path does not.

Link: #6723
Suggested-by: @devrandom
Co-Developed-by: @devrandom
Co-Developed-by: Ken Sedgwick <[email protected]>
Signed-off-by: Vincenzo Palazzo <[email protected]>
ksedgwic added a commit to lightning-signer/c-lightning that referenced this issue Oct 30, 2023
The signer needs to know when the splice operation starts and the
splice parameters for each splice transaction candidate.

The channel establishment v2 (dual funding) code path already
notifies the signer via the hsmd API hsmd_ready_channel calls
However, the splicing code path does not.

Link: ElementsProject#6723
Suggested-by: @devrandom
Co-Developed-by: @devrandom
Co-Developed-by: Ken Sedgwick <[email protected]>
Signed-off-by: Vincenzo Palazzo <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants