Commit Graph

228 Commits

Author SHA1 Message Date
Michael Schmoock
0b685b45ea drain: fix a negative msat amount edgecase 2020-06-11 13:16:01 +02:00
Michael Schmoock
395577ec66 drain: utils - adds get_theirs helper 2020-06-11 13:16:01 +02:00
Michael Schmoock
4cb12a41cd rebalance: reduce some log output to debug 2020-06-11 13:16:01 +02:00
Michael Schmoock
30463bf169 drain: reduce some log output to debug 2020-06-11 13:16:01 +02:00
Michael Schmoock
bfc160b3c6 fix: typo on RpcError 2020-06-11 13:16:01 +02:00
Michael Schmoock
247ac99711 fix: make receivable_msat really optional for backwards compat 2020-06-11 13:16:01 +02:00
Sven
c37e0a4108 G.node -> G.nodes 2020-06-06 17:59:22 +02:00
Antoine Poinsot
2d2fa72ce6 prometheus: give short channel id for scid fiels, not long one
Also, if the channel isn't confirmed yet (no short_channel_id field),
    give the long channel id.

Signed-off-by: Antoine Poinsot <darosior@protonmail.com>
2020-06-05 17:54:28 +02:00
Antoine Poinsot
a155107857 jitrebalance: don't set result twice when we can't have a reverse chan
This also moves all logs to get_circular_route, as we have two ways of
returning None.

Signed-off-by: Antoine Poinsot <darosior@protonmail.com>
2020-06-02 11:59:12 +02:00
Antoine Poinsot
4fb91a6f45 jitrebalance: test failure cases
Signed-off-by: Antoine Poinsot <darosior@protonmail.com>
2020-06-02 11:59:12 +02:00
Antoine Poinsot
afebc21401 jitrebalance: if target scid errors, game is over
Signed-off-by: Antoine Poinsot <darosior@protonmail.com>
2020-06-02 11:59:12 +02:00
Antoine Poinsot
c5c24cb74a jitrebalance: assert l2 jit-rebalanced in test_simple_rebalance
Signed-off-by: Antoine Poinsot <darosior@protonmail.com>
2020-06-02 11:59:12 +02:00
Antoine Poinsot
e239fcdcc1 jitrebalance: test_issue_88 needs DEVELOPER too
Signed-off-by: Antoine Poinsot <darosior@protonmail.com>
2020-06-02 11:59:12 +02:00
Antoine Poinsot
815c382855 jitrebalance: use waitsendpay to wait for htlc resolution
This is a rebalance we initiated, so it's our payment

Signed-off-by: Antoine Poinsot <darosior@protonmail.com>
2020-06-02 11:59:12 +02:00
Antoine Poinsot
e11fe21dcb jitrebalance: add a configurable timeout to stop trying to rebalance
Signed-off-by: Antoine Poinsot <darosior@protonmail.com>
2020-06-02 11:59:12 +02:00
Antoine Poinsot
7d900c952b jitrebalance: log on success, don't log the onion
Signed-off-by: Antoine Poinsot <darosior@protonmail.com>
2020-06-02 11:59:12 +02:00
Antoine Poinsot
61c97e11ef jitrebalance: try as much routes as possible; don't stop at 5
Signed-off-by: Antoine Poinsot <darosior@protonmail.com>
2020-06-02 11:59:12 +02:00
Antoine Poinsot
bee26113c0 jitrebalance: don't assume that 'listchannels' results contains 2 entries
Signed-off-by: Antoine Poinsot <darosior@protonmail.com>
2020-05-27 14:51:28 +02:00
Antoine Poinsot
386d4eaa6d jitrebalance: handle the absence of the 'erring_channel' field
On failed 'sendpay'.

Signed-off-by: Antoine Poinsot <darosior@protonmail.com>
2020-05-27 14:51:28 +02:00
Antoine Poinsot
18632df38c jitrebalance: add the direction of erring channel on failed sendpay
Signed-off-by: Antoine Poinsot <darosior@protonmail.com>
2020-05-27 14:51:28 +02:00
Christian Decker
d34cb6e637 jitrebalance: Do not attempt to access scid on unconfirmed channels
Fixes #88
2020-05-27 12:34:57 +02:00
Christian Decker
9ebc175542 jitrebalance: Fix error when computing negative msat amounts 2020-05-27 12:34:57 +02:00
Christian Decker
18d03962df jitrebalance: Add a test to reproduce issue #88
I'm expecting it to be because we access the short_channel_id
indiscriminately, which is unsafe if the channel is not confirmed yet, i.e.,
it doesn't have a scid yet.
2020-05-27 12:34:57 +02:00
Christian Decker
f852851184 travis: Try to get coverage reporting inside the plugins working 2020-05-27 12:34:57 +02:00
Michael Schmoock
920f414ab0 drain: adds test cases 2020-05-23 13:38:01 +02:00
Michael Schmoock
9579baa186 drain: fix error handling 2020-05-23 13:38:01 +02:00
Michael Schmoock
d66ea9f8e5 drain: refactor and cleanup 2020-05-23 13:38:01 +02:00
Michael Schmoock
6f0380bdfb drain: fix receivable and 3ksat margin workaround 2020-05-23 13:38:01 +02:00
Michael Schmoock
eaee585f16 drain: fix zero division edge cases 2020-05-23 13:38:01 +02:00
Michael Schmoock
d1559bed1d doc: adds README entry for drain 2020-05-23 13:38:01 +02:00
Michael Schmoock
7edf97ed43 doc: specify writing and running tests 2020-05-23 13:38:01 +02:00
Christian Decker
b8836f7ece autoreload: Abort if we can't locate the child plugin 2020-05-18 22:44:49 +02:00
Christian Decker
e8945237d4 travis: Reduce verbosity and reduce timeout 2020-05-18 22:44:49 +02:00
Christian Decker
a1f005012a backup: Perform preflight checks before entering the plugin loop 2020-05-18 22:44:49 +02:00
Christian Decker
fbc494ec23 backup: Kill lightningd instead of the roundabout way around
Looking up the process parents and searching for `lightnignd` allows us to
kill directly. It also means we no longer have to wait for the RPC to be
enabled to abort.
2020-05-18 22:44:49 +02:00
Christian Decker
63c9872ec2 autoreload: Add tests and warning when manifest changes
Rene pointed out that we were silently accepting an updated manifest despite
not actually being able to register it with `lightningd`. This meant that if
options, RPC methods, hooks or notifications get added or removed they will
not be wired in correctly.

The warning is really obnoxious and multi-line to draw the attention.

Suggested-by: Rene Pickhardt <@renepickhardt>
2020-05-18 22:44:49 +02:00
Christian Decker
8668a2244d noise: Disabled retry test for being way too flaky 2020-05-18 22:44:49 +02:00
Christian Decker
9b5a9076d4 backup: Fix flaky test due to logs being dropped on shutdown
We were writing logs directly before killing `lightningd` which resulted in
the logs being lost. The subsequent check for the log-lines then would fail
obviously.
2020-05-18 22:44:49 +02:00
Christian Decker
162b5cc977 persistent-channels: Use the correct parameter name
Some time ago we switched from `satoshi` to `amount` encoded as a suffixed
amount.
2020-05-18 22:44:49 +02:00
Sebastian Geisler
9a1cf235d3 Add forwarding and fee metrics 2020-05-15 16:47:29 +02:00
Sebastian Falbesoner
62e237235d helpme: fix out of range access in configfile parser 2020-05-08 18:16:17 +02:00
Christian Decker
41e440522e backup: NF wrapper was missing a keyword arg 2020-04-30 17:52:16 +02:00
Sebastian Geisler
279a4e821f Avoid hyphens in label names 2020-04-30 15:37:49 +02:00
Antoine Poinsot
bfab383959 No more pylightning imports !
```
$ grep -rE '^import lightning$|^from lightning'
```

Signed-off-by: Antoine Poinsot <darosior@protonmail.com>
2020-04-30 15:07:56 +02:00
Antoine Poinsot
810bedddc0 sauron: strictly exit when no endpoint
The exception might be excepted, and we would continue execution. This works better after https://github.com/ElementsProject/lightning/pull/3675 which will immediately make lightningd die if we exit

Signed-off-by: Antoine Poinsot <darosior@protonmail.com>
2020-04-30 15:07:56 +02:00
Michal Rostecki
8438491350 backup: Add flaky to requirements
Signed-off-by: Michal Rostecki <mrostecki@mailfence.com>
2020-04-15 21:00:30 +02:00
Michal Rostecki
e7c1ae60a1 backup: Remove duplicate call of initialize()
Before this change, backup backend was initialized twice - in on_init()
and get_backend() functions. This change leaves only one call in
get_backend() and adds a kwarg determining whether init failure should
be fatal.

Signed-off-by: Michal Rostecki <mrostecki@mailfence.com>
2020-04-15 21:00:30 +02:00
Christian Decker
ef31a4ac85 backup: Refuse to create a new FileBakend if the backing file exists 2020-04-12 19:35:21 +02:00
Christian Decker
ce49404eb4 backup: Add PRAGMA foreign_keys=on when restoring so cascades work
We heavily rely on foreign key constraints to keep the DB consistent and drop
dependent objects such as UTXO set entries when we roll back a block. We also
need to enable the foreign key constraints when restoring otherwise these
dependents are not removed and we run into constraint violations.
2020-04-12 19:35:21 +02:00
Christian Decker
3a399fd55c backup: Temporarily use a wrapper of the node_factory
The node_factory from pyln-client clears the node directory when provisioning
a new node, which interferes with the backup-cli creation of the initial
snapshot. This just disables the cleaning until we can release the next
pyln-client version
2020-04-12 19:35:21 +02:00