Commit Graph

48 Commits (master)

Author SHA1 Message Date
Boris Nagaev 0e7927ac96
multi: replace LSAT with L402
git mv ./cmd/loop/lsat.go ./cmd/loop/l402.go
sed 's@lsat@l402@g' -i `git grep -l lsat`
sed 's@Lsat@L402@g' -i `git grep -l Lsat`
sed 's@LSAT@L402@g' -i `git grep -l LSAT`
make rpc

Updated release_notes.md.
1 week ago
Boris Nagaev bfc3f44aa1
update aperture to include lsat to l402 renaming
Fix the build:
go mod tidy
sed 's@\<lsat\>@l402@g' -i `git grep -l -w aperture/lsat`
make rpc
1 week ago
George Tsagkarelis 0914074b10
loop: integrate sweepbatcher to loopout flow 3 months ago
sputn1ck b14f3defd8
swapserver: add fetchl402 func 5 months ago
GoodDaisy e45101cccd chore: fix typos 5 months ago
George Tsagkarelis 921f4d06e7
multi: integrate initiator string to various calls 9 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 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
Andras Banki-Horvath 00cf4bf71c
multi: make the next protocol version optional 2 years ago
Harsha Goli 7a16e3b25d
multi: bump btcec/v2 and btcutil to new versions 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
carla 3b911cfd4f
loop: alias import for swapserverrpc in swap server client 2 years ago
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.
2 years ago
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
2 years ago
Oliver Gugger 2c6e035235
multi: bump lnd compile time dependency to v0.14.0-beta.rc1 3 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 969e300241
loop: add cancel swap to server interface 3 years ago
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.
3 years ago
Oliver Gugger fb9034220c
mod: update lnd to v0.12.0 3 years ago
Oliver Gugger 2a732a4385
loop: add initiator string to user agent 4 years ago
Oliver Gugger 61b2387be7
looprpc+swap_client: add user agent string to swaps 4 years ago
Joost Jager c8666caf20
loopin: mpp pre-swap probe 4 years ago
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.
4 years ago
Joost Jager 43323ffbe2
loopout: extend htlc expiry based on conf target 4 years ago
Joost Jager e72d998e78
loopout: show expiry range in terms 4 years ago
carla cd2b08aec6
multi: consume and log sever state updates 4 years ago
Joost Jager c6c30e2988
multi: log server message 4 years ago
Joost Jager b61b886c16
loopd: group and clarify swap server parameters 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
Andras Banki-Horvath c6e3829acd looprpc: bump protocol version 4 years ago
Joost Jager b054e84eb2
Merge pull request #186 from joostjager/report-version
multi: report protocol version
4 years ago
Joost Jager 92730e0eaf
multi: report protocol version 4 years ago
Joost Jager 5588876b48
loopd: extract client configuration 4 years ago
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.
4 years ago
Joost Jager b69e8cb275
multi: allow loop in last hop restriction 4 years ago
Oliver Gugger ccdbc3b21b
multi: thread new config values through client 4 years ago
Johan T. Halseth d5c9a66c60
swap_server_client: call server with SwapPublicationDeadline set 4 years ago
Oliver Gugger 1650f3a18d
client+lsat: specify global timeout 4 years ago
Oliver Gugger 8cecae501c
lsat: add unary interceptor and simple store 4 years ago
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.
4 years ago
Johan T. Halseth c70d0deecb
swap_server_client: let the SwapPublicationDeadline be set during LoopOuts 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