Commit Graph

193 Commits

Author SHA1 Message Date
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
Christian Decker
0ed717b3d1 backup: Add restore functionality to the backup-cli utility 2020-04-12 19:35:21 +02:00
Christian Decker
a68758b1d0 backup: Implement the restore method for all backends
Also implements the `stream_changes` function in the FileBackend which is used
by `restore` to get all the changes.
2020-04-12 19:35:21 +02:00
Christian Decker
caa5c0a16b backup: Add the version to the FileBackend format 2020-04-12 19:35:21 +02:00
Christian Decker
8f2eea2840 backend: Make sure that initialize initializes the metadata 2020-04-12 19:35:21 +02:00
Christian Decker
1e6b55b3cb backup: If a database exists write an intial snapshot 2020-04-12 19:35:21 +02:00
Christian Decker
a44284d04d pytest: Test starting without having initialized the backup 2020-04-12 19:35:21 +02:00
Christian Decker
c8502cd09d backup: Add missing Click dependency for the backup-cli tool 2020-04-12 19:35:21 +02:00
Christian Decker
4c146bf2a4 backend: Use th backup URL in backup-cli and add snapshot type to FileBackend 2020-04-12 19:35:21 +02:00
Christian Decker
c58e675877 backup: Ensure at startup that the backup backend was initialized 2020-04-12 19:35:21 +02:00
Christian Decker
97c702731a backup: Add a bit more documentation to the abstract backend class 2020-04-12 19:35:21 +02:00
Christian Decker
4e19c32444 backup: Add backup-cli tool and use it to initialize the backups 2020-04-12 19:35:21 +02:00
Christian Decker
c049069cff backup: Initial version of the backup plugin 2020-04-12 19:35:21 +02:00
Christian Decker
c3c207967f Update pillow to a secure version 2020-04-04 19:20:03 +02:00
Christian Decker
02d41edd10 Update twisted to a secure version 2020-04-04 19:20:03 +02:00
darosior
714c28c369 sauron: cleanups: better errors, no assert, no useless json.loads 2020-04-03 16:29:07 +02:00
darosior
970a965430 sauron: use esplora to get raw blocks 2020-04-03 16:29:07 +02:00
darosior
cdebe828ae sauron: add a basic README 2020-03-30 21:54:34 +02:00
darosior
3ae9b3259c Add Sauron to the README 2020-03-30 21:54:34 +02:00
darosior
8066e5f803 sauron: adapt feerate gathering to the new API. 2020-03-30 21:54:34 +02:00
darosior
e6cf4e13bd sauron: change gettxout to getutxout 2020-03-16 12:34:32 +01:00
darosior
d104baa672 Initial version of an esplora backend plugin 2020-03-16 12:34:32 +01:00
dependabot[bot]
e56c07eac1 build(deps): bump psutil from 5.6.2 to 5.6.6 in /autoreload
Bumps [psutil](https://github.com/giampaolo/psutil) from 5.6.2 to 5.6.6.
- [Release notes](https://github.com/giampaolo/psutil/releases)
- [Changelog](https://github.com/giampaolo/psutil/blob/master/HISTORY.rst)
- [Commits](https://github.com/giampaolo/psutil/compare/release-5.6.2...release-5.6.6)

Signed-off-by: dependabot[bot] <support@github.com>
2020-03-16 11:14:47 +01:00
darosior
ba5500ddd8 donations: bump flask-wtf requirement 2020-02-14 10:23:25 +01:00
Christian Decker
3290e4e456 noise: Add a Payment class for keysend payments
Suggested-by: Richard Bondi <@rsbondi>
2020-02-04 12:32:07 +01:00
Christian Decker
41aeed024d noise: Don't assume that we have the required fields 2020-02-04 12:32:07 +01:00
Christian Decker
f80cc060b9 noise: Do not expect TlvPayloads without checking
Suggested-by: @darosior
2020-02-04 12:32:07 +01:00
Christian Decker
3a39b61ab7 noise: Remove overeager limitation for varints 2020-02-04 12:32:07 +01:00
Christian Decker
c3e316d79e noise: Sort TlvPayload fields before serializing
This is part of the spec
2020-02-04 12:32:07 +01:00
Christian Decker
11a946f152 noise: Add timestamp to payload 2020-02-04 12:32:07 +01:00
Christian Decker
f58d0292a5 noise: Don't depend on unstable pyln-proto features 2020-02-04 12:32:07 +01:00
Christian Decker
d2ca541728 noise: Added keysend functionality to attach a payment to a message 2020-02-04 12:32:07 +01:00
Christian Decker
528aa8410b noise: Implement signature verification of chat messages
Since we don't pass the public key we just rely on the pubkey recovery and the
`checkmessage` interface to tell us whether it is a publicly known `node_id`
or not.
2020-02-04 12:32:07 +01:00
Christian Decker
3d3c7f75ba noise: Allow malformed onion if it's the last hop
This was counted as a failure before, but it actually means we delivered
successfully.
2020-02-04 12:32:07 +01:00
Christian Decker
374fdadcbe noise: Use the onion classes and fix the length prefix issue 2020-02-04 12:32:07 +01:00
Christian Decker
ac49e8bd07 noise: Initial version of the noise chat plugin
Based on the WhatSat idea by @joostjager, this plugin implements a simple chat
protocol based on top of `createonion` and `sendonion`.
2020-02-04 12:32:07 +01:00