Fix open channel management (Bolt 2) - #69
Conversation
Codecov Report
📣 This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more @@ Coverage Diff @@
## master #69 +/- ##
=======================================
- Coverage 0.1% 0.1% -0.0%
=======================================
Files 41 41
Lines 3273 3355 +82
=======================================
Hits 3 3
- Misses 3270 3352 +82
📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more |
|
@crisdut looks interesting! Can you provide some comments which functionality should it add to the node specifically? |
a80e155 to
33578a8
Compare
Hi @dr-orlovsky, Yes, sure. For now, I'm adding the final steps to create a channel and correctly persist the state channel. After that, I will finish the track transactions worker on Also, I started updating the workflows (here) to help us to review the bolts implementations. I will split each workflow into two flows: internal and external. The first flow is how daemons interact with others along the channel events. The other flow is how the Does it make sense to you? BTW, I saw your comment here, and I was wondering if it's worth continuing to correct the code or is it better to wait for the re-architecture? |
Not sure how this can work, since these two workflows are not independent...
With the new architecture the things which would change are not parts of the business logic; it is just that connections will run on the same thread (while today we have a thread per each remote peer connection). Watchd and channels will remain on an independent threads. So not sure whether it worth waiting for the new architecture, I think parts which you are doing shouldn't be affected by that much. |
OK sure. This week I have worked on this issue less than I'd liked. I'm finishing testing this first part. Next week, I'll update this branch again. Thanks for review. |
3d0b020 to
c14d526
Compare
|
Hi @dr-orlovsky I finished the PR, I updated description #69 (comment) |
dr-orlovsky
left a comment
There was a problem hiding this comment.
I think this is excellent work! Thank you @crisdut!
I see just a single issue which may lead to some notifications from electrum to get lost, which would be nice to fix - and we can merge after.
Also left a couple of nits which are nice-to-have. Otherwise LGTM
|
Amplify with FlagVec fixes is release, as well as LNP Core (v0.9). I am planning to release v0.9 of LNP Node soon. Can you pls update the PR such that I can merge it before doing the release? |
e75becb to
687a59d
Compare
dr-orlovsky
left a comment
There was a problem hiding this comment.
Looks like we need another iteration due to incorrect panics - plus found a simpler way to avoid electrum message loss
687a59d to
d5f28d6
Compare
This PR completes all steps to open a channel between
lnp-nodes, according to Bolt2, except a initial "refund tx" signature, because I will solve that in other PR.Also, I will create another PR to fix the connect (bolt1) and open channel (bolt2) operations with other LN implementations because I found issues related a parsing messages.
Changes
accept peerchange the channel id.accept nodeload your keyset.electrum workertrack and untrack transactions (only to "zero conf") [1]finish_accepted,finish_signedandfinish_fundedmethods.propose peerandaccept peerlifecycles.Dependencies
[1] The current rust-electrum-client does not get transaction with "verbose" informations. I will find a way to get the information. Details here