-
Notifications
You must be signed in to change notification settings - Fork 267
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
Add plugin for Peerswap atomic swap based local liquidity management protocol #2496
Conversation
- revert unsealing trait - add unit test for forwarding unknown messages
Restore a stopped swap with a checkpoint that does not include a result; otherwise, remove from the swap register.
- remove unnecessary selects of swapId
c7050fc
to
8dc48d4
Compare
8dc48d4
to
d272226
Compare
The comment from @t-bast about making Maker/Taker actors use The change to Should I keep the logic from 036e7f6 that I added to handle the case where a |
- remove inline text for generic responses - remove unused commands (timeout, forward)
- reorganized because resume behavior should not need to check the swap db - removed monitor from tests
- add verbose status information to debug log instead of returning as status
I have created the |
This fixes a test failure introduced by PR ACINQ#2490 when the Maker tries to create a Bolt11 invoice and the RouteBlinding invoice feature is enabled.
This PR is continued in the |
This PR implements the draft PeerSwap protocol as an Eclair Plugin and builds off of PR #2342 with a cleaner commit history after reorganization into a plug-in. This PR requires PR #2495 which makes some prerequisite changes to Eclair.
The plugin creates a
SwapRegister
actor at startup which will spawn swap sender actors in response to user CLI commands. TheSwapRegister
will also spawn swap receiver actors in response to swap requests received from peers. TheSwapRegister
forwards swap messages received from peers based on theirswapId
field to corresponding local swap actors. When a swap actor has completed, it simply stops and this triggers theSwapRegister
to remove it from its map.The Swap database check-points information about in-progress swaps after a swap maker has committed an on-chain tx or a swap taker has initiated an off-chain payment. Details about the result of the swap are added to the swap record when it completes.
Protocol implementation TODOs:
PeerSwap specification suggestions/questions to discuss: