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

57 Commits

Author SHA1 Message Date
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
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
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
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
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
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
6b93c70b8a
looprpc: add swap suggestions endpoint 2020-09-03 10:36:44 +02:00
carla
6fcbf54c02
looprpc: add get and set liquidity parameters endpoints 2020-09-02 11:50:15 +02:00
carla
ce10cc7959
liquidity: add manager with updatable parameters 2020-09-02 11:48:27 +02:00
carla
852f459391
multi: add htlc confirmations parameter to client loop out request 2020-08-04 20:29:09 +02:00
carla
8da0ea6048
looprpc: add label to swap creation and display in list swaps 2020-08-03 11:00:56 +02:00
carla
a9849bb317
multi: add failure reason to swap client server
To provide more information about swaps, we add a failure reason field
to our swaps. We do not extend our existing state enum to remain
backwards compatible.
2020-07-30 09:15:42 +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
Joost Jager
8d1ec50fa7
looprpc: split quote message 2020-07-14 19:26:30 +02:00
Joost Jager
24099aa4f9
looprpc: split terms message 2020-07-14 15:26:23 +02:00
Joost Jager
1869ad670f
looprpc: expose server message to clients 2020-06-30 16:59:10 +02:00
Joost Jager
68012f051a
loopout: create LoopOutSwapInfo struct 2020-06-30 16:59:06 +02:00
Joost Jager
0c9fcd790e
lndclient: move to github.com/lightninglabs/lndclient 2020-06-18 14:27:52 +02:00
Joost Jager
83f25c98a3
loopd: return missing p2wsh loop out address 2020-06-17 08:29:09 +02:00
Oliver Gugger
506d0c2257
loopd: refactor into Start/Stop methods 2020-05-28 12:34:04 +02:00
Joost Jager
ccec719423
looprpc: add outgoing channel set restriction
Expose the new channel set restriction on the loopd client rpc.
2020-05-21 11:22:06 +02:00
Joost Jager
8c544bf2ba
loopdb: store outgoing channel set
Upgrade the database schema to allow for multiple outgoing channels.
This is implemented as an on-the-fly migration leaving the old key in
place.
2020-05-21 11:22:04 +02:00
Andras Banki-Horvath
936bb851f2 loopin: fix htlc address in LoopIn SwapResponse 2020-05-12 18:51:42 +02:00
Andras Banki-Horvath
0aa978bd09 loopin: modify internally published htlc to use p2wsh 2020-05-05 15:49:06 +02:00
Andras Banki-Horvath
f0aff9b7bd looprpc+loopin: support for native segwit htlcs
This commit extends SwapResponse and SwapStatus with np2wsh and p2wsh
htlc output addresses to support both nested and native segwit htlcs
in loop-in.

Furthermore the commit adds support for native segwith loop-in htlcs.
When the htlc is paid internally, as of this commit we'll use NP2WSH,
otherwise users are free to select whether to pay the NP2WSH or the
P2WSH htlc.
2020-05-05 15:49:05 +02:00
Andras Banki-Horvath
62f654eef1 client: make ListSwaps thread safe 2020-05-04 23:18:15 +02:00
Andras Banki-Horvath
7a44eec36f loopin: refactor LoopIn to return struct instead of tuple 2020-05-04 18:19:20 +02:00
carla
fc99c8b320
multi: add confirmation target to loop in 2020-04-17 09:56:21 +02:00
carla
f726fc2bc8
loopd: add missing zero case to validateConfTarget
Update validate function to return default target for zero value
confirmation targets, as indicated by the comment. This change
introduces a behaviour change for direct rpc calls to loopd (ie,
those not made by the loop cli tool). Previously, these calls
would fail and indicate that the conf target must be > 2, now
they will succeed with the default conf target. The loop cli
tool is unaffected because we already set the default value.

When clients upgrade from a previous version of loopd which did
not have this check, preexisting loops will be unaffected, because
loop ins had the default of 6 confirmations set, and loop outs with
<2 conf target would not have been created.
2020-04-17 09:40:20 +02:00
carla
1f5aeff45f
multi: unify default sweep/htlc conf targets
Create a HtlcConfTarget which is used as a default for quote
and loop in. Update loop out quote to use the existing var
rather than just 6 inline.
2020-04-17 09:40:18 +02:00