Commit Graph

81 Commits

Author SHA1 Message Date
Carsten Otto
d5c3f39569 top-up: cancel invoice after failure
fixes #40
2022-05-26 14:58:54 +02:00
Carsten Otto
ff8e968dfa retry top-up after recoverable failure 2022-05-26 13:05:16 +02:00
Carsten Otto
e9bbec18ed fix test 2022-05-26 12:19:30 +02:00
Carsten Otto
4ea129a42a add test, remove duplicated fee rate limit 2022-05-26 12:14:06 +02:00
Carsten Otto
bbd7434c86 add fee rate including first hop to output 2022-05-26 10:18:33 +02:00
Carsten Otto
da4abdc2f8 top-up: impose stricter fee limit for all hops (but not the ones from the top-up peer) 2022-05-26 10:09:02 +02:00
Carsten Otto
22c5866f6b use native record getter 2022-05-26 09:44:06 +02:00
Carsten Otto
5fe147f683 remove check
The "available" liquidity used in the comparison is not the actual liquidity,
but the reduced amount (with a safety margin for fees). Comparing against it
defeats the purpose of the safety margin.
2022-05-24 22:39:19 +02:00
Carsten Otto
85e390d3ce lower fee rate weight for top-up payments 2022-05-23 00:20:14 +02:00
Carsten Otto
116dd4a508 provide better failure reporting 2022-05-22 23:11:40 +02:00
Carsten Otto
35ba9d9aeb increase expiry to 30 minutes 2022-05-22 20:04:14 +02:00
Carsten Otto
91aa30da88 exclude channels with fee rate at fee rate limit 2022-05-22 19:36:56 +02:00
Carsten Otto
20f6fb6178 fail route computation if amount does not fit 2022-05-22 19:00:10 +02:00
Carsten Otto
9d80b6f132 include channel ID in top-up invoice memo 2022-05-22 17:49:23 +02:00
Carsten Otto
86f62f60ac remove redundant amount from invoice memo 2022-05-22 17:45:13 +02:00
Carsten Otto
c20177877e fix import 2022-05-22 17:27:39 +02:00
Carsten Otto
23bc14648c add expiry for top-up invoices 2022-05-22 17:24:09 +02:00
Carsten Otto
38b81fa27a fix: only consider open channels 2022-05-22 17:05:32 +02:00
Carsten Otto
fc78fe2b66 fix fee limit for top up service: extension hop is included in check 2022-05-22 16:45:27 +02:00
Carsten Otto
302b7b57fd add test 2022-05-22 16:41:31 +02:00
Carsten Otto
59365f34ef add test 2022-05-22 16:18:08 +02:00
Carsten Otto
3c50596437 add top-up functionality 2022-05-22 16:00:50 +02:00
Carsten Otto
7957cb3ba2 introduce payment options 2022-05-22 14:43:50 +02:00
Carsten Otto
d17d61756c add basic top up service 2022-05-22 14:43:50 +02:00
Carsten Otto
5e9d1c8e2d fix race condition 2022-05-22 14:39:55 +02:00
Carsten Otto
697ea16884 also add arcs for small channels 2022-05-21 22:23:56 +02:00
Carsten Otto
9b1315867d replace constant by builder method 2022-05-19 20:51:22 +02:00
Carsten Otto
9593dfd161 allow channels with non-zero base fee
Note that this is an over-approximation. In the routing cost computation
it is assumed that the base fee is paid not just once per payment, but
possibly several times.

As an example, with a base fee of 2sat and a quantization of 10,000sat
(which is the current default), the assumed fee rate is the original
fee rate plus 200ppm (2sat * 1,000,000 / 10,000).

fixes #31
2022-05-17 10:15:04 +02:00
Carsten Otto
3af59b96bf ignore duplicate channels from route hints 2022-05-17 08:39:10 +02:00
Carsten Otto
156eaddaf3 do not restart computation if in-flight changes 2022-05-17 08:22:46 +02:00
Carsten Otto
6adf408a3b parse and use route hints from invoices 2022-05-16 20:40:00 +02:00
Carsten Otto
215e0bc23b add MPP sender with payment loop 2022-05-15 17:58:03 +02:00
Carsten Otto
7bfcbf7333 use PaymentInformation, provide isFailure/isSettled 2022-05-14 11:20:12 +02:00
Carsten Otto
74c6100a19 also provide failure code to SendToRouteObserver 2022-05-14 11:13:31 +02:00
Carsten Otto
5ec6a456e7 add PaymentInformation to track pending payments 2022-05-14 11:07:10 +02:00
Carsten Otto
8670519966 consider max htlc for lower/upper bounds 2022-05-13 21:19:10 +02:00
Carsten Otto
c024fc187b track in-flight coins per payment hash 2022-05-12 23:50:54 +02:00
Carsten Otto
ae996c0e5b also report values from stream observer 2022-05-12 22:48:26 +02:00
Carsten Otto
b24dc880b5 cancel in-flight if payment fails immediately 2022-05-09 23:36:03 +02:00
Carsten Otto
dd79bad4de deduct on-chain fee related reserve from available balance 2022-05-09 19:56:11 +02:00
Carsten Otto
f5888fde30 reduce available local liquidity by 1% to make some room for off-chain fees 2022-05-08 23:13:49 +02:00
Carsten Otto
d1567f45d8 pay payment requests via pickhardt payments 2022-05-04 20:59:34 +02:00
Carsten Otto
168ee15e5d reduce quantization for small amounts 2022-05-04 19:51:25 +02:00
Carsten Otto
9279d43b44 avoid crash with conflicting liquidity information 2022-04-30 15:49:53 +02:00
Carsten Otto
0a84e83158 move models 2022-04-30 15:38:32 +02:00
Carsten Otto
9f965902a5 refactor Route 2022-04-30 15:23:24 +02:00
Carsten Otto
c811abfc87 refactor route(s) related code 2022-04-29 19:04:17 +02:00
Carsten Otto
e928c53eda move Edge to model module 2022-04-28 19:01:47 +02:00
Carsten Otto
d633e6e984 add isFailure method 2022-04-26 23:42:45 +02:00
Carsten Otto
fa92772367 make pickhardt payment details configurable 2022-04-25 19:57:29 +02:00