2
0
mirror of https://github.com/lightninglabs/loop synced 2024-11-13 13:10:30 +00:00
Commit Graph

46 Commits

Author SHA1 Message Date
George Tsagkarelis
0914074b10
loop: integrate sweepbatcher to loopout flow 2024-01-23 20:38:10 +02:00
sputn1ck
b14f3defd8
swapserver: add fetchl402 func 2023-12-11 21:06:21 +01:00
GoodDaisy
e45101cccd chore: fix typos 2023-12-03 13:20:44 +08:00
George Tsagkarelis
921f4d06e7
multi: integrate initiator string to various calls 2023-07-28 14:43:18 +03:00
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).
2023-03-20 20:08:43 +01:00
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.
2023-03-20 20:08:43 +01:00
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.
2022-07-12 19:54:25 +02:00
Andras Banki-Horvath
32557a57ea
swapserverrpc: add MuSig2SignSweep function 2022-06-30 16:59:58 +02:00
Andras Banki-Horvath
00cf4bf71c
multi: make the next protocol version optional 2022-06-30 16:59:54 +02:00
Harsha Goli
7a16e3b25d
multi: bump btcec/v2 and btcutil to new versions 2022-03-25 11:00:16 +01:00
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.
2022-02-14 10:14:42 +01:00
carla
3b911cfd4f
loop: alias import for swapserverrpc in swap server client 2021-12-13 15:27:05 +02:00
carla
dad103530f
multi: move server proto files to their own directory
Protobuf does not allow naming conflicts for files within the same
process, because all proto messages register themselves in a global
registry.

This is problematic because the server's itests import the client's
looprpc package to make rpc queries to the loopd client, thus importing
duplicate common.proto and server.proto from the client's looprc package
(since they're both in there as well).

This change moves the server's proto files into their own directory so
that they are not imported when we want to use the client's files. We
cannot change the package name for the server, because that would be
a breaking change (the package name is included in URIS). Fortunately,
we have the go_package option which allows us to place generated files
in a different location.
2021-12-13 13:56:40 +02:00
Harsha Goli
f1a7d8fb49
multi: pass private, routehints from loopcli - loopd - loop server
This commit passes routehints all the way from when/if the user passes
them from the cli all the way to the backend loop server. If private is
used, this commit passes that boolean down to different stages, where it
is then converted into routehints.

main: add --private and --route_hints to quote

Adds --private and --route_hints flags to quote cli
2021-12-07 21:04:07 -05:00
Oliver Gugger
2c6e035235
multi: bump lnd compile time dependency to v0.14.0-beta.rc1 2021-11-03 19:31:21 +01:00
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.
2021-07-30 13:22:12 +02:00
Andras Banki-Horvath
f786aaa016
loop: add support for the probe API 2021-07-30 13:22:12 +02:00
carla
969e300241
loop: add cancel swap to server interface 2021-05-24 08:40:13 +02:00
Oliver Gugger
27fd6b3304
multi: use aperture instead of local lsat library
Since the lsat code was copied over to aperture a while ago for other
projects to use as well, we should migrate over to that shared code
also. This will give us the recently added "remove token if payment
failed and try again" feature for free along with some other small
updates to the lsat package.
2021-04-29 10:01:15 +02:00
Oliver Gugger
fb9034220c
mod: update lnd to v0.12.0 2021-01-07 17:33:21 +01:00
Oliver Gugger
2a732a4385
loop: add initiator string to user agent 2020-11-06 10:43:03 +01:00
Oliver Gugger
61b2387be7
looprpc+swap_client: add user agent string to swaps 2020-10-13 08:28:55 +02:00
Joost Jager
c8666caf20
loopin: mpp pre-swap probe 2020-09-17 13:24:54 +02:00
Andras Banki-Horvath
86db43a2cb loopdb: store protocol version alongside with swaps
This commit adds the protocol version to each stored swap. This will be
used to ensure that when swaps are resumed after a restart, they're
correctly handled given any breaking protocol changes.
2020-09-09 19:54:01 +02:00
Joost Jager
43323ffbe2
loopout: extend htlc expiry based on conf target 2020-07-16 21:30:16 +02:00
Joost Jager
e72d998e78
loopout: show expiry range in terms 2020-07-16 21:30:15 +02:00
carla
cd2b08aec6
multi: consume and log sever state updates 2020-07-16 21:02:06 +02:00
Joost Jager
c6c30e2988
multi: log server message 2020-06-30 16:59:04 +02:00
Joost Jager
b61b886c16
loopd: group and clarify swap server parameters 2020-06-15 16:18:34 +02:00
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.
2020-06-08 12:54:08 +02:00
Andras Banki-Horvath
c6e3829acd looprpc: bump protocol version 2020-05-05 15:49:06 +02:00
Joost Jager
b054e84eb2
Merge pull request #186 from joostjager/report-version
multi: report protocol version
2020-04-28 19:21:53 +02:00
Joost Jager
92730e0eaf
multi: report protocol version 2020-04-28 16:01:30 +02:00
Joost Jager
5588876b48
loopd: extract client configuration 2020-04-27 16:30:44 +02:00
Wilmer Paulino
5b732d9012
loopd: add SOCKS proxy config option to dial swap server over Tor
This allows Loop users to further improve their privacy by not revealing
their source IP address. Note that the identity of the lnd node behind
Loop can still be revealed when performing a Loop In due to the swap
server extending an off-chain HTLC to the user.

Onion addresses don't yet exist for the swap servers, but they will be
added at a later time.
2020-03-06 16:40:30 -08:00
Joost Jager
b69e8cb275
multi: allow loop in last hop restriction 2020-02-17 19:59:07 +01:00
Oliver Gugger
ccdbc3b21b
multi: thread new config values through client 2020-01-10 12:15:08 +01:00
Johan T. Halseth
d5c9a66c60
swap_server_client: call server with SwapPublicationDeadline set 2020-01-08 11:58:27 +01:00
Oliver Gugger
1650f3a18d
client+lsat: specify global timeout 2019-12-06 09:23:53 +01:00
Oliver Gugger
8cecae501c
lsat: add unary interceptor and simple store 2019-11-26 10:28:56 +01:00
Oliver Gugger
49cbe9aa63
loopd: add swap server TLS cert path
We need the ability to connect to a swap server that uses
a self-signed certificate. The LSAT proxy cannot proxy insecure
gRPC requests since they don't conform to the HTTP 1.1 standard.
Therefore the LSAT proxy fill only serve TLS connections.
This means, we need the TLS path option to specify the certificate
the test environment LSAT proxy uses.
2019-11-26 09:32:08 +01:00
Johan T. Halseth
c70d0deecb
swap_server_client: let the SwapPublicationDeadline be set during LoopOuts 2019-11-21 18:47:01 +01:00
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.
2019-10-08 22:28:20 +02:00
Joost Jager
3e960b8b54
multi: loop in swap 2019-03-28 11:56:49 +01:00
Olaoluwa Osuntokun
94f347e673
multi: finalize rename from uncharge to loop out 2019-03-06 20:34:04 -08:00
Olaoluwa Osuntokun
908d82acdb
loop: extract code from client package into new loop primary package 2019-03-06 20:34:01 -08:00