Commit Graph
100 Commits
Author SHA1 Message Date
Conner Fromknecht 4c7111256e watchtower/wtwire/features: remove local/global feature names...
in favor of a universal FeatureNames index.
2019-02-08 20:02:05 -08:00
Conner Fromknecht 40df51eaaa watchtower/wtwire/init_test: table test CheckRemoteInit 2019-02-08 20:01:59 -08:00
Conner Fromknecht 572537874b watchtower/wtwire/init: add CheckRemoteInit method 2019-02-08 20:01:54 -08:00
Conner Fromknecht 0045ad567d watchtower/wtwire/features: make wtwire feature uniform 2019-02-07 16:13:42 -08:00
Conner Fromknecht 4dbade64dd watchtower/multi: send connection features + chain hash in Init 2019-02-06 20:09:19 -08:00
Conner Fromknecht a00fc148c8 watchtower/wtclient/backup_task: make sweep pkscript independent of session
This commit changes when the sweep pkscript
is assigned in the construction of the justice
transaction. Currently, the sweep pkscript is
assigned when the task is bound to a session.
However, we will moving to an assignment where
a unique sweep pkscript is used per channel to
prevent address inflation. Hence, this commit
makes the sweep pkscript a state dependent
variable, since it can be known at the time the
channel id is assigned.
2019-02-06 18:24:30 -08:00
Conner Fromknecht fe9f703b5b watchtower/wtclient/backup_task: correct txweight + update test vectors 2019-02-06 18:24:30 -08:00
Conner Fromknecht e13d88f3f3 watchtower/wtclient/backup_task_internal_test: adds backupTask utests 2019-02-05 18:27:19 -08:00
Conner Fromknecht 8f98522f13 watchtower/wtclient/backup_task: adds backupTask 2019-02-05 18:27:13 -08:00
Conner Fromknecht f1f52410ab sweep/input: adds NewBaseInput to return reference 2019-02-05 18:27:07 -08:00
Conner Fromknecht 8ac5f2bb17 Merge pull request #2586 from halseth/neutrinonotify-return-on-rescan-error
chainnrnfs/neutrino: return on historicalConf error
2019-02-05 18:09:02 -08:00
Conner Fromknecht 6c78fc5740 Merge pull request #2550 from halseth/autpilot-agent-quit-pending-conn
autopilot: don't block Stop on pending connection
2019-02-05 16:39:31 -08:00
Conner Fromknecht 4c632627ae cmd/lncli/commands: filter txid_bytes from list_unspent 2019-02-01 18:02:02 -08:00
Conner Fromknecht b25f1af347 cmd/lncli/types: add Utxo and OutPoint display types 2019-02-01 18:01:56 -08:00
Conner Fromknecht c74dcbe6ff lnrpc+rpcserver: replace ChanPoint w/ OutPoint in Utxo msg 2019-02-01 18:01:51 -08:00
Conner Fromknecht ddfcba46e7 lnrpc/gen_protos: add missing space before escaped newline 2019-02-01 18:01:44 -08:00
Conner Fromknecht 09e71a1d49 watchtower/multi: use ComputeJusticeTxOuts, test altruist+reward 2019-02-01 17:30:13 -08:00
Conner Fromknecht 9054a3ee4c watchtower/wtpolicy/policy: add ComputeJusticeTxOuts 2019-02-01 17:26:48 -08:00
Conner Fromknecht 1703502505 watchtower/wtpolicy: add ComputeRewardOutputs 2019-02-01 17:19:33 -08:00
Conner Fromknecht 6b3691a86e watchtower/wtpolicy: add ComputAltruistOutput calc 2019-02-01 17:19:27 -08:00
Conner Fromknecht 61e5a783e8 travis: use make travis-itest to perform linting 2019-01-31 23:47:15 -08:00
Conner Fromknecht 24dcd3c44e peer+server: use server-wide writeBufferPool for peer write buffers 2019-01-31 19:21:36 -08:00
Conner Fromknecht 40c5e5e19f lnpeer/write_buffer_pool_test: adds basic write buffer pool test 2019-01-31 19:21:35 -08:00
Conner Fromknecht 0670db2c3d lnpeer/write_buffer_pool: adds write buffer pool 2019-01-31 19:21:34 -08:00
Conner Fromknecht 0118120f55 queue/gc_queue_test: adds unit tests for GCQueue 2019-01-31 19:21:32 -08:00
Conner Fromknecht 717672ad83 queue/gc_queue: adds GCQueue to back recyclable pools 2019-01-31 19:21:31 -08:00
Conner Fromknecht 9d20ca4a51 Merge pull request #2495 from halseth/itest-dont-shadow-prederr
[trivial] lnd_test: don't shadow predErr
2019-01-31 18:26:11 -08:00
Conner Fromknecht 9fe284923a watchtower/wtserver: read RewardBase from CreateSession 2019-01-31 18:17:35 -08:00
Conner Fromknecht 46a86a863a wtwire/create_session: add RewardBase field to CreateSession 2019-01-31 18:17:35 -08:00
Conner Fromknecht 26f4131102 watchtower/wtpolicy: add RewardBase to Policy 2019-01-31 18:17:35 -08:00
Conner Fromknecht 43120fd08c watchtower/multi: move MockSigner+MockPeer to wtmock 2019-01-31 18:16:02 -08:00
Conner Fromknecht 245b76ab51 Makefile: lint all travis builds
Ensures we fail faster if the source code doesn't
pass the lint checks.
2019-01-31 15:36:56 -08:00
Conner Fromknecht fd1bbe63cf Merge pull request #2505 from cfromknecht/go-acc-coverage
build: more reliable coverage using go-acc
2019-01-29 12:45:28 -08:00
Conner Fromknecht d7ac4bd6f9 Merge pull request #2543 from alexbosworth/patch-9
trivial: typo fix
2019-01-28 16:56:28 -08:00
Conner Fromknecht 58f95322c0 server: fix notify-online log message 2019-01-23 20:40:27 -08:00
Conner Fromknecht e0cf99c53d Makefile: use go-acc for coverage 2019-01-23 17:42:52 -08:00
Conner Fromknecht f78319d32c watchtower/wtserver/server: return valid reward script 2019-01-17 22:19:28 -08:00
Conner Fromknecht 7e1b399437 Merge pull request #2494 from halseth/make-flakehunter-build-itest
[trivial] build lnd-itest before flakehunting
2019-01-17 19:22:01 -08:00
Conner Fromknecht 45cfa65b47 watchtower/wtserver/server: handle missed err case from read msg 2019-01-15 19:46:04 -08:00
Conner Fromknecht 4a2fb1b4d0 watchtower/wtserver/server: log sent/recvd wire messages 2019-01-15 19:38:41 -08:00
Conner Fromknecht 00db396b51 watchtower/wtwire/summary: adds message summaries 2019-01-15 19:38:41 -08:00
Conner Fromknecht b32afd9001 watchtower/conf_experimental: adds CLI options in experimental builds 2019-01-14 19:42:34 -08:00
Conner Fromknecht a9d21799a8 watchtower/conf: adds non-experimental empty Conf 2019-01-14 19:42:34 -08:00
Conner Fromknecht b1c6dd678b watchtower/standalone: adds Standalone watchtower 2019-01-14 19:42:34 -08:00
Conner Fromknecht e0b72580f5 watchtower/errors: adds pkg level errors 2019-01-14 19:42:34 -08:00
Conner Fromknecht 2a6dbb9d78 watchtower/config: add capstone Config struct 2019-01-14 19:42:34 -08:00
Conner Fromknecht 25daa538e2 watchtower/interface: adds composite DB iface 2019-01-14 19:42:33 -08:00
Conner Fromknecht e0c652791b log: add watchtower logs 2019-01-14 19:42:33 -08:00
Conner Fromknecht 7a8669a531 watchtower/log: add WTWR subsystem logger 2019-01-14 19:42:33 -08:00
Conner Fromknecht 043631e59f Merge pull request #2430 from cfromknecht/remove-breach-txn-from-retribution
lnwallet: Remove breach txn from NewBreachRetribution
2019-01-11 13:47:30 -08:00
Conner Fromknecht 2cf220a137 peer: handle message encoding errors on write
In this commit, we modify the peer's writeMessage
method to properly handle errors returned from
encoding an lnwire message and from setting the
write deadline on the connection. Since an error
would likely result in an empty byte slice, the
worse case seems to be that we may have tried to
send an empty message on the wire.

Lastly, we correct the way we compute bytes sent
on the wire to properly count the number of bytes
*written*, and not just the length of the encoded
message.
2019-01-10 19:49:44 -08:00
Conner Fromknecht 6ae77bc3cb htlcswitch/switch_test: adds HasActiveLink unit test 2019-01-10 16:34:03 -08:00
Conner Fromknecht 164250d1cd htlcswitch/switch: check EligibleToForward in HasActiveLink
This commit modifies the behavior of the
HasActiveLink method within the switch to
only return true if the link is in the
link index and is eligible to forward
HTLCs.

The prior version returns true whenever
the link is found in the link index,
which may return true for pending
channels that are not actually active.
2019-01-10 16:34:02 -08:00
Conner Fromknecht f66e713b35 watchtower/blob/justice_kit_test: test witness script/stack construction 2019-01-10 15:59:54 -08:00
Conner Fromknecht ca3e06b785 watchtower/wtserver: reject unknown blob types 2019-01-10 15:59:54 -08:00
Conner Fromknecht 4f3655ba93 watchtower/wtwire/create_session_reply: add reject blob type code 2019-01-10 15:59:54 -08:00
Conner Fromknecht b746bf86c2 watchtower/multi: switch over to wtpolicy
migrate to using wtpolicy.Policy in wtwire messages and wtserver
2019-01-10 15:59:54 -08:00
Conner Fromknecht c315d74347 watchtower/wtpolicy/policy: adds watchtower policy 2019-01-10 15:59:54 -08:00
Conner Fromknecht cf1b8ba78f watchtower/blob/type_test: adds Flag and Type unit tests 2019-01-10 15:59:54 -08:00
Conner Fromknecht bc09c6dbae watchtower/blob/type: introduces blob type flags
Adds flags for reward outputs and commitment outputs.
The fixed-size encoding for commitment outputs is
treated as a flag, so that the blob format can be
modified, extended, or replaced in future iterations.
2019-01-10 15:35:07 -08:00
Conner Fromknecht eb1167cc52 Merge pull request #2418 from cfromknecht/connectpeer-logging
rpcserver: add connectpeer log, fix existing formatting
2019-01-10 13:51:48 -08:00
Conner Fromknecht eb2f5cecf6 multi: remove breach tx arg from NewBreachRetribution args
This commit removes the breach transaction from the
arguments passed to NewBreachRetribution. We already
keep all prior remote commitments on disk in the
commitment log, and load that transaction from disk
inside the method. In practice, the one loaded from
disk will be the same one that is passed in by the
caller, so there should be no change in behavior
as we've already derived the appropriate state number.

This changes makes integration with the watchtower
client simpler, since we no longer need to acquire
the breaching commitment transaction to be able to
construct the BreachRetribution. This simplifies
not only the logic surrounding transient backsups,
but also on startup (and later, retroactively
backing up historic updates).
2019-01-10 13:13:38 -08:00
Conner Fromknecht a5b22788bf routing/router: avoid naked spew of channel policies 2019-01-09 23:54:41 -08:00
Conner Fromknecht a8b2c093aa Merge pull request #2416 from cfromknecht/netann-node-signer
netann: move NodeSigner out of main package
2019-01-09 17:01:00 -08:00
Conner Fromknecht 381b5275c4 lncfg/address_test: test LNAddress parsing, refactor addr tests 2019-01-09 16:37:56 -08:00
Conner Fromknecht 198f9323cc lncfg/address: add LN address parsing 2019-01-09 16:37:48 -08:00
Conner Fromknecht 97f4f10355 log: initialize NANN logger for netann pkg 2019-01-09 13:31:39 -08:00
Conner Fromknecht 4c8b64d2a6 netann/log: add NANN logger 2019-01-09 13:29:46 -08:00
Conner Fromknecht 7987a41c0d nodesigner: remove file, now in netann pkg 2019-01-08 16:18:55 -08:00
Conner Fromknecht 32041e703b server: replace nodeSigner in main with netann.NodeSigner 2019-01-08 16:18:39 -08:00
Conner Fromknecht 30441871d3 netann/node_signer: copy and export NodeSigner from main 2019-01-08 16:18:06 -08:00
Conner Fromknecht bb8469d8ee watchtower/lookout: correct txid + session id logging 2019-01-07 19:20:45 -08:00
Conner Fromknecht 75ec66d9b3 Merge pull request #1975 from halseth/fwdtrigger-force
[tests] Force tick on FwdEventTicker
2019-01-07 17:46:58 -08:00
Conner Fromknecht 088fb33718 contractcourt: nil keyring curves on breach info 2019-01-07 17:15:45 -08:00
Conner Fromknecht cd54625c2d lnwallet/channel: add keyring + remote csv to breach info 2019-01-07 17:15:33 -08:00
Conner Fromknecht 3a2bd124ae rpcserver: add connectpeer log, fix existing formatting 2019-01-04 14:07:43 -08:00
Conner Fromknecht d3b5326ae7 server: use cfg.MinBackoff instead of defaultBackoff 2019-01-04 14:05:29 -08:00
Conner Fromknecht aa75680dcf config: add minbackoff to mirror maxbackoff 2019-01-04 14:05:28 -08:00
Conner Fromknecht 226640aa3c watchtower/wtwire/wtwire: fix missed error handling 2018-12-06 15:49:53 -08:00
Conner Fromknecht c27b90f76c queue/queue_test: adds 100% test coverage 2018-12-03 13:58:25 -08:00
Conner Fromknecht a4442608e6 queue/queue: wait group inner go routines, add idempotency 2018-12-03 13:58:25 -08:00
Conner Fromknecht 7557bded50 Makefile: remove unused HAVE_ declarations + cleanup 2018-12-02 15:24:14 -08:00
Conner Fromknecht ae46d2e716 Merge pull request #2211 from Roasbeef/notifier-reverse-scan
chainntnfs: modify all historical rescans to scan backwards
2018-11-30 16:26:24 -08:00
Conner Fromknecht da21f33a2a chan_series: remove chan_series from main 2018-11-30 15:33:34 -08:00
Conner Fromknecht 4e48a56d5e server: init gossiper w/ discovery.ChanSeries 2018-11-30 15:33:34 -08:00
Conner Fromknecht 5fc0a192ad discovery/syncer: move CGTimeSerires to chan_series 2018-11-30 15:33:34 -08:00
Conner Fromknecht 1c81a8fad6 discovery/chan_series: copy chan_series to discovery 2018-11-30 15:33:34 -08:00
Conner Fromknecht 157d181a66 Merge pull request #2194 from xsb/num-inactive-chan-reorder
lnrpc: reorder num_inactive_channels
2018-11-30 15:24:22 -08:00
Conner Fromknecht 0d9b5ecc3c Makefile: use period for print for consistency 2018-11-30 15:20:50 -08:00
Conner Fromknecht 5039c106f6 make/testing_flags: remove unused PROD_TAGS 2018-11-30 15:20:49 -08:00
Conner Fromknecht 0ad3302e16 Makefile: remove unnecessary PROD_TAGS 2018-11-30 15:20:47 -08:00
Conner Fromknecht 2c716095d5 travis: use make targets instead of chaining 2018-11-30 15:20:46 -08:00
Conner Fromknecht 3e0ca05740 Makefile: add travis-race and travis-cover targets 2018-11-30 15:20:45 -08:00
Conner Fromknecht 668bd4db33 Merge pull request #2094 from cfromknecht/validate-color
config: validate node color after reading config
2018-11-29 16:18:44 -08:00
Conner Fromknecht ba53879b2b watchtower/wtserver/server: add missing godocs + code move 2018-11-02 15:59:47 -07:00
Conner Fromknecht 7cdbb786d6 watchtower/wtserver: move from watchtower/server 2018-11-02 15:51:06 -07:00
Conner Fromknecht 9b7a800630 watchtower/server/log: modify default log tag 2018-11-02 15:51:06 -07:00
Conner Fromknecht a9e523ecf1 watchtower/server/server: add start/stop logging 2018-11-02 15:51:06 -07:00
Conner Fromknecht ef309f43d2 discovery: pass peer quit signal to ProcessQueryMsg
This commit passes the peer's quit signal to the
gossipSyncer when attempt to hand off gossip query
messages. This allows a rate-limited peer's read
handler to break out immediately, which would
otherwise remain stuck until the rate-limited
gossip syncer pulled the message.
2018-11-01 17:35:55 -07:00
Conner Fromknecht 96c47f7de4 discovery/gossiper: bypass main event loop for queries
This commit restructures the delivery of gossip
query related messages, such that they are delivered
directly to the gossip syncers. Gossip query rate
limiting was introduced in #1824 on a per-peer basis.
However, since all gossip query messages were being
delivered in the main event loop, the end result is
that one rate-limited peer could stall all other
peers.

In addition, since no other peers would be able to
submit gossip-related messages through the blocked
event loop, the back pressure would eventually rate
limit the read handlers of all peers as well.
The end result would be lengthy delays in reading
messages related to htlc forwarding.

The fix is to lift the delivery of gossip query
messages outside of the main event loop. With
this change, the rate limiting backpressure is
delivered only to the intended peer.
2018-11-01 17:28:20 -07:00