Commit Graph

30 Commits (master)

Author SHA1 Message Date
George Tsagkarelis e0d85958f7
multi: move StoreMock to loopdb 2 months ago
shuoer86 84a4535c8d
fix typo server_mock_test.go 3 months ago
sputn1ck b14f3defd8
swapserver: add fetchl402 func 4 months ago
George Tsagkarelis e9bc1dcc9e
multi: add initiator to mocked interfaces for tests 8 months ago
Andras Banki-Horvath b47f67a6de
loopin: push the htlc internal key if the invoice is swept
This commit adds key reveal to MuSig2 loopin swaps' success path. In
this case the client reveals their internal HTLC key to the server when
the swap invoice is settled. With this key the server can sweep the swap
HTLC without any more interaction from the client. We'll do this every
block (after the invoice has been settled).
1 year ago
Andras Banki-Horvath 90ae922adf
loopin: generate and send internal key for MuSig2 swaps
This commit changes how we create loopin swaps if the client activates
the experimental MuSig2 features. When creating a new loopin swap the
client will create (and store) a new key that will be used as the
sender's internal key when constructing the HTLC. The client will send
the public part to the server and will also receive (and store) the
server's (receiver) internal public key.
1 year ago
Andras Banki-Horvath a7451622e5
mod: bump LND and lndclient to include musig2 1.0rc2 changes
This commit bumps LND and lndclient to make it possible to upgrade
taproot HTLC construction with a MuSig2 version. This is required to
support both old (MuSig2 0.4) and new (MuSig2 1.0) clients.
1 year ago
Andras Banki-Horvath f8da106338
loopout: use psbt when obtaining the MuSig2 signature
In this commit we deprecate the sighash field from the
MuSig2SignSweepReq request in favour of using a psbt serialized sweep
transaction instead. This way the sever gains full transparency about
client sweep requests and can assemble the sighash to sign on its own.
2 years ago
Andras Banki-Horvath 32557a57ea
swapserverrpc: add MuSig2SignSweep function 2 years ago
sputn1ck a34f22c443
make fmt 2 years ago
Harsha Goli 7a16e3b25d
multi: bump btcec/v2 and btcutil to new versions 2 years ago
Andras Banki-Horvath 04ebc8d568
routing: add routing plugin inteface and skeleton 2 years ago
Andras Banki-Horvath 0f002733f6
loop: extend server protocol for routing plugin recommendations
This commits extends the server protocol with routing plugin
recommendations and routing result reporting.
2 years ago
Andras Banki-Horvath 0e7ed91d5d
loop: integrate the probe api with loop-in quote
In this commit we add a call to the new probe endpoint directly into the
loop-in quote call. Furthermore we add an option to include private
channels in the loopin swap payment request. This is also useful for when
users quote/probe directly using the client API and specify hop hints.
3 years ago
Andras Banki-Horvath f786aaa016
loop: add support for the probe API 3 years ago
carla f166ce899d
loopout: cancel swap with server when off-chain fails 3 years ago
carla 969e300241
loop: add cancel swap to server interface 3 years ago
Oliver Gugger 2a732a4385
loop: add initiator string to user agent 3 years ago
Joost Jager c8666caf20
loopin: mpp pre-swap probe 4 years ago
Joost Jager 43323ffbe2
loopout: extend htlc expiry based on conf target 4 years ago
carla cd2b08aec6
multi: consume and log sever state updates 4 years ago
carla 65c847674d
multi: add preimage push to loop out after sweep attempt
Once we have revealed our preimage to the world with a sweep attempt,
we can safely push our preimage to the server to speed up on chain
claim.

Rather than rely on the server, we use the state of our invoice in lnd
to determine whether we should continue trying to push the preimage to
the server.
4 years ago
Joost Jager b69e8cb275
multi: allow loop in last hop restriction 4 years ago
Johan T. Halseth d5c9a66c60
swap_server_client: call server with SwapPublicationDeadline set 4 years ago
Johan T. Halseth c70d0deecb
swap_server_client: let the SwapPublicationDeadline be set during LoopOuts 4 years ago
Oliver Gugger 36838cf7f4
multi: fix most obvious linter errors 5 years ago
Johan T. Halseth 0023d1a0da
looprpc: update to new server protos
We update to new set of server protos where new Terms calls are added.
Here static information will be returned from the server.

We no longer have a feebase+feerate, but get a final fee directly
returned by the server.
5 years ago
Joost Jager 3e960b8b54
multi: loop in swap 5 years ago
Olaoluwa Osuntokun 94f347e673
multi: finalize rename from uncharge to loop out 5 years ago
Olaoluwa Osuntokun 908d82acdb
loop: extract code from client package into new loop primary package 5 years ago