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

120 Commits

Author SHA1 Message Date
Oliver Gugger
4e45c2908a
loopd: fix ALPN issue with Python
There is an open issue for Python gRPC clients that is
currently being debugged grpc/grpc#23172

It can be mitigated server-side by specifying h2 in the metadata header.
2021-07-13 22:04:28 +02:00
Oliver Gugger
45dbd582d1
multi: bump lnd min version to v0.11.1-beta
The version v0.10.1-beta of lnd is quite old with v0.13.0-beta just
being published as RC2. Maintaining backward compatibility in the
lndclient library is quite an effort. We decided to merge the v0.11.1
branch into master meaning that all our projects now have this minimum
version requirement.
2021-05-19 14:25:23 +02:00
Oliver Gugger
32f1f2657b
multi: bump lnd to version v0.13.0-beta.rc2
This commit bumps the _compile time_ version of lnd to v0.13.0-beta.rc2.
This does not have an effect on the user, the run time backward compatibility
will be preserved. Only the next commit will bump that minimum version.
2021-05-19 14:24:41 +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
39c8c9278d
loopd+loopdb: add timeout to DB open
To make sure we don't just block for forever if another Loop daemon
process is already running, we add a timeout and error out if obtaining
the unique file lock fails after 5 seconds.
2021-04-28 17:16:27 +02:00
Elle Mouton
65fe06cec2 loopd: verify loop out amount
This commit adds validation that checks if the loop out amount specified can
be satisfied given the nodes current channel balances.
2021-03-17 10:12:30 +02:00
Carla Kirk-Cohen
d6db6184f3
Merge pull request #348 from yyforyongyu/344-loop-quote
looprpc: add verbose resp in loop quote
2021-03-11 21:23:05 +02:00
Carla Kirk-Cohen
4d9d398b23
Merge pull request #349 from ellemouton/validate-dest-addr-network
loopd: verify that dest addr is for correct chain
2021-03-09 09:18:35 +02:00
Elle Mouton
5399e60554 loopd: verify that dest addr is for correct chain
This commit adds verification to the loop out request to ensure that the
formatting of the specified destination address matches the network that
lnd is running on.
2021-03-08 11:41:54 +02:00
Elle Mouton
5c34dd1177 loopd: refactor loop out request validation
This commit moves loop out request validation for labels and
confirmation targets into its own function for the purpose of easy
testing and also to make the additions of future request validation easy
to add and test.
2021-03-08 11:40:42 +02:00
yyforyongyu
c4d46a24a0
looprpc: add conf_target to loop in/out quote resp 2021-03-08 02:23:25 +08:00
carla
90561f8ac7
multi: add fee percentage to rpc 2021-03-04 10:14:52 +02:00
carla
dd1a2de731
multi: add flat fee percentage to autoloop 2021-03-04 10:14:37 +02:00
carla
c778124718
liquidity: move fees behind interface 2021-03-04 10:14:35 +02:00
Carla Kirk-Cohen
fd4214e68d
Merge pull request #333 from carlaKC/autoloop-3-peerrules
autoloop: add peer level rules for aggregate liquidity management
2021-02-17 14:31:42 +02:00
carla
b9aae4f8f9
loop: add peer rules to set rule command 2021-02-17 14:12:56 +02:00
carla
949e76bb2a
looprpc: add peer level rules to rpc 2021-02-17 10:56:32 +02:00
Andras Banki-Horvath
591a244867
loop: add sane default for --lnd.macaroonpath 2021-02-11 18:38:49 +01:00
carla
22bd4cabb4
looprpc: add disqualified channels to suggest swaps response 2021-02-08 09:39:03 +02:00
carla
7c4d71b175
liquidity: add reasons for autoloops not executing 2021-02-08 09:39:02 +02:00
carla
7ba1821696
liquidity: fail suggest swaps when no rules are set
In an effort to surface more information about why autoloop is not
executing, we add an error when suggest swaps is called with no rules.
In other cases we can surface a reason enum with each rule that is set,
but in the case where we have no rules, there are no results to
accompany with reasons.
2021-02-08 09:38:23 +02:00
Oliver Gugger
2a089d131e
loopd: all only specifying one lnd macaroon
Fixes #299 by allowing only one macaroon to be specified in the
--lnd.macaroonpath config option/command line flag.
2021-02-05 12:55:45 +01:00
carla
476ae39ce9
multi: make server side restrictions function generic 2021-02-03 08:54:50 +02:00
carla
24aa429aa0
liquidity: rename ticker and default to autoloop 2021-02-03 08:54:49 +02:00
carla
71ace95ac8
loop: rename autoloop specific parameters 2021-02-03 08:54:48 +02:00
carla
a168ba3400
liquidity: rename auto out boolean to autoloop 2021-02-03 08:54:47 +02:00
Carla Kirk-Cohen
d85cc010b0
Merge pull request #327 from carlaKC/325-waitunlocked
loopd: wait for lnd to be unlocked on startup
2021-01-14 09:24:19 +02:00
carla
3818e4576e
loopd: wait for lnd to be unlocked before starting 2021-01-14 09:15:09 +02:00
carla
6c2d88b3a5
multi: bump lndclient to version with wait for unlock 2021-01-14 09:13:01 +02:00
Oliver Gugger
1a57e03df4
loopd: pass macaroon root key ID in context 2021-01-07 17:33:21 +01:00
Oliver Gugger
fb9034220c
mod: update lnd to v0.12.0 2021-01-07 17:33:21 +01:00
carla
74f2c96810
looprpc: add custom client sizes for autoloop 2020-12-01 13:06:37 +02:00
carla
3f0fc14c34
liquidity: allow custom autoloop swap sizes within the server's limits 2020-12-01 13:06:35 +02:00
Oliver Gugger
8758d00862
loopd: add initiator to swap requests 2020-11-09 12:57:32 +01:00
carla
87b02b7715
multi: add force tick endpoint behind debug server
To itest our autolooper, we need to be able to trigger dispatch on
demand. This functionality is included in a separate rpc server behind
a dev flag. Since it is unlikely that we need to split loop into
multiple rpc servers, this commit simply adds an additional debug server
rather than opting for a full subserver setup.
2020-10-15 13:53:27 +02:00
carla
eb6b476469
looprpc: add autoloop parameters to rpc server 2020-10-12 13:34:56 +02:00
carla
8166d936e1
multi: add opt-in automated swap dispatch to liquidity manager 2020-10-12 13:34:55 +02:00
carla
7b56804bbe
multi: move label validation to rpc and simplify validation function
Previously labels with reserved prefixes were added to provide us
with a way to identify automatically dispatched loops. This commit moves
the validation of these labels to the rpc level so that it will only
apply to user-initiated swaps.
2020-10-12 13:34:52 +02:00
carla
f23a527927
looprpc: add fee and backoff parameters to rpc 2020-09-30 12:46:35 +02:00
carla
0212a41ed0
liquidity: make swap suggestions fee-aware 2020-09-30 12:46:35 +02:00
carla
1d8609bae3
liquidity: add sweep fee limit and confirmations to suggestions
To decide whether we event want to attempt a swap, we add a fee limit
that we check against our estimate for the current number of
confirmations we want our sweep to confirm in. If fees are higher than
this limit, we do not suggest swaps.
2020-09-30 12:46:34 +02:00
carla
7740231bac
liquidity: make swap suggestions aware of ongoing swaps 2020-09-30 12:46:32 +02:00
carla
ad8b5d0552
liquidity: add clock for mocking time in tests 2020-09-30 12:46:30 +02:00
carla
7e9034b2ff
liquidity: return OutRequest from swap suggestions and set fees
This commit updates swap suggestions to return loop out requests with
sufficient fields populated so that a loop out can directly be
dispatched from a suggestion. This requires setting of fees an min
sweep conf targets (our htlc conf target and addresss will be set by
the daemon's client rpc server if we do not provide them). We also do
some test refactoring so that we can more easily test the suggest swaps
endpoint.
2020-09-30 12:46:29 +02:00
carla
ad2b37e709
loopd: add suggestions endpoints to macaroons 2020-09-30 11:15:30 +02:00
Oliver Gugger
688659421b
mod+loopd: bump to lnd v0.11.1-beta.rc3
To make sure we can use the latest version of loop in LiT, we need to
make sure loop compiles against the actual v0.11.1 branch of lnd. There
were some conflicting changes to the macaroon service that didn't make
it to the branch that we need to roll back. Those changes don't affect
loop at all as we were always using the default root key ID anyway.
2020-09-18 08:58:16 +02:00
Oliver Gugger
8c5bcf7c50
config: expand macaroonpath flag 2020-09-17 10:45:57 +02:00
Oliver Gugger
617964e25f
loopd: allow loopd to be used as external subserver
When loopd runs in the same process as lnd (in LiT), it hooks itself
into lnd's RPC server as an external subserver. But because the user
should still be able to use the default loop macaroon, the loop daemon
must be able to validate its own macaroons as lnd's macaroon service
doesn't know the root key for it.
2020-09-11 12:25:39 +02:00
Oliver Gugger
751c70e6c7
loopd: add macaroon authentication to the daemon's server connection
To secure access to loop's RPC server, we add a macaroon authentication
service and its gRPC interceptors to the daemon's server connection.
2020-09-11 12:24:53 +02:00
Oliver Gugger
ff17553f3b
mod+loopd: update to lnd 0.11.1
We update to the newest version of lnd so we can use the updated
macaroon service.
NOTE: This is a compile time dependency update only, no RPC level update
is required.
2020-09-11 12:20:12 +02:00