SomberNight
9380b331e4
LNWatcher: implement diagnostic_name; for nicer log lines
2020-09-18 20:54:09 +02:00
SomberNight
2c962abe51
network: randomise the order of address subscriptions
...
Before this, we were subscribing to our addresses in their bip32 order,
leaking this information to servers. While this leak seems mostly harmless,
it is trivial to fix.
2020-06-17 19:25:52 +02:00
ThomasV
782f9ed273
lnwatcher: use generic callbacks
2020-05-20 13:49:44 +02:00
SomberNight
62be1cc367
small clean-up re "extract preimage from on-chain htlc_tx"
...
related: #6122
2020-05-06 03:15:20 +02:00
ThomasV
8ba7e68064
fix #6122 : extract preimage from on-chain htlc_tx
2020-05-03 16:03:27 +02:00
ThomasV
123b8c1792
(minor) rename chan.sweep_htlc
2020-05-02 11:42:47 +02:00
SomberNight
2b1a150c52
multi-wallet: properly stop lnworker/lnwatcher
2020-05-01 04:50:08 +02:00
ThomasV
bdb870af00
follow-up c454564ed6
2020-04-21 15:31:13 +02:00
ThomasV
9224404108
Move callback manager out of Network class
2020-04-14 18:29:51 +02:00
SomberNight
8e8ab775eb
lnchannel: make AbstractChannel inherit ABC
...
and add some type annotations, clean up method signatures
2020-04-13 15:57:53 +02:00
ThomasV
8f41aeb783
Replace wallet backup with channel backups
...
- channels can be backed up individually
- backups are added to lnwatcher
- AbstractChannel ancestor class
2020-04-10 14:45:23 +02:00
ThomasV
aa32e31a3d
follow-up previous commit
2020-04-03 18:54:02 +02:00
ThomasV
06dfe1699c
LNWatcher: Distinguish between blockchain-triggered channel state
...
transitions, and actions taken as a result.
- state transitions are performed in lnchannel.update_onchain_state()
- peer actions are in LNWorker.on_channel_update()
2020-04-03 17:34:11 +02:00
SomberNight
79d57784c1
lnchannel: add more type hints
2020-03-30 03:49:50 +02:00
SomberNight
ec6be665d5
lnwatcher: unwatch deeply mined channels
...
reduces log spam generated by "REDEEMED" channels...
2020-03-14 04:44:01 +01:00
ThomasV
8b63f7176e
Add short channel id to tx labels
2020-03-07 10:53:38 +01:00
ThomasV
3c111471e9
Fix bug with save_funding_height, save_closing_height
...
(it would enter a state where only closing_height was saved)
2020-03-07 10:39:49 +01:00
SomberNight
931d961721
lnpeer/lnwatcher: include channel id in log lines
2020-02-24 16:32:18 +01:00
ThomasV
5785c2fa2f
Fix #5975 : Forget or redeem channels that are never funded.
...
- initiator: wait until double spent
- non-initiator: wait until timeout
2020-02-24 12:45:10 +01:00
ThomasV
20d8da7e24
db upgrade: store channel tx height and timestamps in 'channels'
2020-02-24 10:07:55 +01:00
ThomasV
9616333b39
add_future_tx should return success
2020-02-22 17:20:05 +01:00
ThomasV
874efc125d
(minor) trigger 'wallet_updated' callback when adding future tx
2020-02-22 12:59:48 +01:00
ThomasV
3329d9dd0e
lnwatcher: fix keep_watching if the wallet was not force-closed
2020-02-21 16:35:27 +01:00
ThomasV
fe4ca4c466
follow-up previous commit
2020-02-18 20:06:35 +01:00
ThomasV
c9e39d3a79
remove channel from channel_timestamps if funding_tx has been dropped from mempool
2020-02-18 18:04:23 +01:00
SomberNight
d1fc4399e6
lnwatcher: use is_mine(addr) instead of (addr in get_addresses())
...
small performance gain
2020-02-18 17:16:46 +01:00
ThomasV
72f4e83333
fix race in check_onchain_situation
2020-02-18 17:06:54 +01:00
ThomasV
6e6e829ef7
breach remedy: get spender transaction from LNWatcher's db
2020-02-17 09:19:23 +01:00
ThomasV
938fab86d1
detect redeemed channels ( fix #5963 )
2020-02-16 19:07:20 +01:00
ThomasV
f8da0f87a7
follow-up previous commit
2020-02-16 14:45:04 +01:00
ThomasV
3a35f90aa0
Do not use network callback to update channel states; call LNWorker methods directly instead.
...
A callback was used because a single LNWnwatcher object used to be shared for all wallets.
Since wallet now have their own LNWatcher instance, this can be simplified.
2020-02-16 14:26:18 +01:00
ThomasV
dba6cb8a96
lnwatcher: use height == TX_HEIGHT_LOCAL to determine channel onchain state
2020-02-16 12:57:25 +01:00
ThomasV
149cd9598a
Separate JsonDB and WalletDB
2020-02-03 12:36:07 +01:00
ThomasV
cded582fe9
Start watchtower if run_watchtower is set, even if lightning is not activated ( fix #5896 ).
...
Fix parameters of sweepstore.add_sweep_tx, rm dead code.
2020-02-02 12:10:10 +01:00
ThomasV
61dfcba092
Refactor channel states:
...
- persisted states are saved
- state transitions are checked
- transient states are stored in channel.peer_state
- new channel states: 'PREOPENING', 'FUNDED' and 'REDEEMED'
- upgrade storage to version 21
2019-11-22 20:14:54 +01:00
ThomasV
8e08ca7cb1
simplify network callbacks in lnworker
2019-11-22 15:06:37 +01:00
SomberNight
bafe8a2fff
integrate PSBT support natively. WIP
2019-11-04 22:24:36 +01:00
SomberNight
ccccaf099f
(trivial) logging "verbosity_filter" was renamed to "LOGGING_SHORTCUT"
2019-10-30 03:24:26 +01:00
SomberNight
75902f8e35
fix logic error in lnworker.on_channel_closed
2019-10-29 20:39:58 +01:00
ThomasV
215dc96de7
define LNWatcher.do_breach_remedy
2019-09-11 11:58:28 +02:00
SomberNight
befa8ea771
transaction: kill "name", "csv_delay", "cltv_expiry" fields
2019-09-09 19:38:35 +02:00
ThomasV
e5502a58ba
uncomment breach_remedy in watchtower
2019-09-09 18:49:14 +02:00
ThomasV
de29fe6930
remove unused import
2019-08-20 09:03:12 +02:00
ThomasV
740381e993
fix: remove unused parameter to add_sweep_tx
2019-08-20 09:03:12 +02:00
ThomasV
f7c05f2602
Synchronize watchtower asynchronously:
...
- remove remote_commitment_to_be_revoked
- pass old ctns to lnsweep.create_sweeptxs_for_watchtower
- store the ctn of sweeptxs in sweepStore database
- request the highest ctn from sweepstore using get_ctn
- send sweeptxs asynchronously in LNWallet.sync_with_watchtower
2019-08-20 09:03:12 +02:00
ThomasV
2be68ac4d2
Use one LNWatcher instance per wallet
2019-08-20 09:03:12 +02:00
ThomasV
c7b9bdc5f5
lnwatcher: wait until lnwatcher is fully synchronized before check_onchain_situation
2019-08-20 09:03:12 +02:00
ThomasV
a8ce8109be
Perform breach remedy without sweepstore:
...
- add functions to lnsweep
- lnworker: analyze candidate ctx and htlc_tx
- watchtower will be optional
- add test for breach remedy with spent htlcs
- save tx name as label
2019-08-20 09:03:12 +02:00
ThomasV
238f3c949c
get rid of sql_alchemy
2019-08-20 09:03:12 +02:00
ThomasV
f2d58d0e3f
optimize channel_db:
...
- use python objects mirrored by sql database
- write sql to file asynchronously
- the sql decorator is awaited in sweepstore, not in channel_db
2019-08-20 09:03:12 +02:00