Commit Graph
7329 Commits
Author SHA1 Message Date
Conner Fromknecht 059887bd7b watchtower/wtdb: apply sanity checks to session policy before accepting 2019-06-13 19:54:22 -07:00
Conner Fromknecht 1979f9a7c0 watchtower/multi: use sane sweep fee rate in unit tests 2019-06-13 19:54:22 -07:00
Conner Fromknecht a543c781fe watchtower/wtpolicy: add basic validity constraints 2019-06-13 19:54:22 -07:00
Conner Fromknecht 37052f1561 watchtower/wtdb: only accept properly sized blobs
Modifies the bbolt and mock tower databases to only accept blobs that
are the expected size of the session's blob type. This prevents resource
exhaustion attacks where a client may provide disproportionately large
encrypted blob, even though all supported blob types are of fixed-size.
2019-06-13 19:54:22 -07:00
Conner Fromknecht dce24d1d47 watchtower/wtdb+wtserver: pass properly sized blob in unit tests 2019-06-13 19:54:22 -07:00
Conner Fromknecht 29009fdc34 watchtower/standalone: disable reward towers 2019-06-13 19:54:22 -07:00
Conner Fromknecht 6504058c74 watchtower/wtserver: add DisableReward config option 2019-06-13 19:54:21 -07:00
Conner Fromknecht a246d8216a watchtower/multi: define blob TypeAltruistCommit and TypeRewardCommit 2019-06-13 19:54:21 -07:00
Conner Fromknecht 2d47618055 watchtower/multi: define AltruistSessions feature bit as 0/1 2019-06-13 19:54:21 -07:00
Conner Fromknecht 86e1d111e5 watchtower/wtwire/message: bump wtwire messages outside reserved ranges
BOLT01 reserves the following ranges:
 - Setup & Control (types 0-31)
 - Channel (types 32-127)
 - Commitment (types 128-255)
 - Routing (types 256-511)

The wtwire messages now occupy 600-607.
2019-06-13 19:54:21 -07:00
Conner Fromknecht 7cabe2667f watchtower/wtclient/client: use existing session with same TxPolicy
This commit modifies the client's filtering when selecting from existing
sessions. The new logic compares the configured TxPolicy with the
TxPolicy of the candidate sessions, which has the effect of ignoring
operational parameters such as MaxUpdates. Prior, changing MaxUpdates
would cause the client to request a new session even if it had perfectly
good slots available in a policy with an equal TxPolicy.
2019-06-13 19:54:21 -07:00
Conner Fromknecht 98c2d329e5 watchtower/multi: embed TxPolicy in wtpolicy.Policy
This commit splits out the parameters that shape the justice transaction
into their own struct, which then embedded within the overarching
wtpolicy.Policy which may have additional parameters describing
operation of the session.

This is done as a preliminary step to support comparison of sessions
based on matching TxPolicy configurations. This prevents otherwise
identical Policies from being counted as different if operational
parameters like MaxUpdates differ, even if it has no material difference
to the justice transaction.
2019-06-13 19:54:20 -07:00
Conner Fromknecht 9b365567b6 watchtower/wtclient/client: avoid over requesting sessions
This commit fixes a bug that would cause us to request more sessions
that needed from the session negotiator. With the current stat ticker,
we'd ask the negotiator for a new session every 30s if session
session negotiation did not return before printing the stats. Now we'll
avoid requesting to sessions by jumping back into the select loop.
2019-06-13 19:54:20 -07:00
Conner Fromknecht 72e355f933 lnd_test: add altruist watchtower itest 2019-06-13 19:54:20 -07:00
Conner Fromknecht 8ab56b2a5c rpcserver: add missing channelbalance log 2019-06-13 19:54:20 -07:00
Conner Fromknecht 985ac7f5b7 lnd: integrate companion watchtower 2019-06-13 19:54:20 -07:00
Conner Fromknecht c1f24feb8b config: expose watchtower conf 2019-06-13 19:54:19 -07:00
Conner Fromknecht bd5b8700d8 lncfg: add Watchtower config 2019-06-13 19:54:19 -07:00
Conner Fromknecht c823878154 watchtower/conf: abstract address normalizer to prevent import cycle 2019-06-13 19:54:19 -07:00
Conner Fromknecht db65d7ead4 watchtower/conf: remove experimental conditional compilation 2019-06-13 19:54:19 -07:00
Conner Fromknecht 7c0a03c7c8 server+utxonursery: generate pkscript closures
This commit moves the newSweepPkScript function
previously in the nursery to be a helper function
within the server. Additionally, the function now
returns a closure that satisfies the configuration
interfaces of several other subsystems.

As a result, the configuration sites contain much
less boilerplate, as it's now encapsulated in
the newSweepPkScriptGen helper.
2019-06-13 19:54:19 -07:00
Conner Fromknecht efcdefee39 peer: pass watchtower client's to active links 2019-06-13 19:54:19 -07:00
Conner Fromknecht d2f3d5ef6c server: add watchtower client 2019-06-13 19:54:18 -07:00
Conner Fromknecht fb8214b808 config: expose+validate private tower addr 2019-06-13 19:54:18 -07:00
Conner Fromknecht 5266f597fd log: add watchtower client logs 2019-06-13 19:54:18 -07:00
Conner Fromknecht 88b5780978 lncfg/wtclient: adds watchtower client CLI configuration 2019-06-13 19:54:18 -07:00
Conner Fromknecht 2bffdf3a1d lncfg/address: expose TCPResolver 2019-06-13 19:54:18 -07:00
Conner Fromknecht 851c070595 htlcswitch/link: fix Min/MaxFeeUpdateTimeout godocs 2019-06-13 19:54:18 -07:00
Conner Fromknecht c41017610b htlcswitch/link: backup revoked states to watchtower 2019-06-13 19:54:18 -07:00
Conner Fromknecht 7566b26e03 htlcswitch/interface: add TowerClient iface 2019-06-13 19:54:17 -07:00
Conner Fromknecht ab4a4b77f5 watchtower/wtclient/session_queue: unify logging 2019-06-13 19:54:17 -07:00
Conner Fromknecht 3b51906a78 watchtower/multi: use new blob.BreachKey for enc/dec of justice kits 2019-06-13 19:54:17 -07:00
Conner Fromknecht 59bf4857f4 watchtower/blob/breach_key: define breach key as sha(txid || txid) 2019-06-13 19:33:16 -07:00
Conner Fromknecht d9cfa610dc watchtower/wtdb/breach_hint: redefine breach hint as sha(txid) 2019-06-13 19:33:16 -07:00
Conner Fromknecht 1b89ba1782 watchtower/multi: move BreachHint to blob pkg 2019-06-13 17:40:04 -07:00
Olaoluwa Osuntokun 8e6b903476 autopilot: demote node update log to debug 2019-06-13 16:39:46 -07:00
Olaoluwa Osuntokun 41617187c4 lntest/itest: update itests due to ListPayments API change 2019-06-13 16:16:18 -07:00
Olaoluwa Osuntokun fd1f6a7bc4 Merge pull request #3181 from joostjager/check-htlc-fix
invoices: check htlc amount also for accepted and settled invoices
2019-06-14 01:11:41 +02:00
Olaoluwa Osuntokun 4584ea0681 cmd/lncli: add new include_incomplete flag for listpayments 2019-06-13 16:05:52 -07:00
Olaoluwa Osuntokun d333b2d981 lnrpc: rename non_succeeded to include_incomplete 2019-06-13 16:01:10 -07:00
Olaoluwa Osuntokun 41b7da9bd1 Merge pull request #3190 from halseth/listpayments-status-filter
ListPayments: filter out non-succeeded payments, include payment status
2019-06-14 00:41:35 +02:00
Olaoluwa Osuntokun a8cc5813b1 Merge pull request #3201 from Roasbeef/unconf-raw-tx-hex
lnwallet/btcwallet: also include raw tx hex for unconf txns
2019-06-14 00:08:40 +02:00
Olaoluwa Osuntokun e50339d44b lnwallet/btcwallet: also include raw tx hex for unconf txns
In this commit, we patch a small bug in the newly added raw tx hex field
for ListTransactions. We now ensure that we also set the raw tx hex
field for unconfirmed transactions.
2019-06-13 13:54:33 -07:00
Wilmer Paulino c8ef9a4f63 Merge pull request #3199 from halseth/itest-output-file
[trivial] Update output log file location to itest package
2019-06-12 15:03:11 -07:00
Wilmer Paulino 5af4022b6d Merge pull request #3140 from wpaulino/sweeper-bumpfee
sweep+rpc: add support to bump fee of inputs/transactions
2019-06-12 12:21:53 -07:00
Johan T. Halseth dcaed7254e make: delete log files at new output file location 2019-06-12 16:44:21 +02:00
Johan T. Halseth 1ba99da7bd gitignore: ignore new output file location 2019-06-12 16:43:53 +02:00
Johan T. Halseth 00a86696a8 Merge pull request #3145 from federicobond/avoid-pubkey-serialization
discovery,fundingmanager: avoid serialization in NotifyWhenOnline
2019-06-12 10:50:35 +02:00
Johan T. Halseth 0aec3fd230 rpcserver: filter out non-suceeded payments, include payment status
Earlier versions of ListPayments only included completed payments. We
return to this behavior by ignore all other payments if the nonSucceeded
boolean is not set in the request.
2019-06-12 08:57:47 +02:00
Johan T. Halseth 6794708ed5 lnrpc: expose PaymentStatus for ListPayments
Also make it optional to list non-succeeded payments.
2019-06-12 08:51:51 +02:00