Commit Graph
100 Commits
Author SHA1 Message Date
Conner Fromknecht e0886ff1f5 Merge pull request #2739 from wpaulino/make-flake-unit-fix
Makefile: fix unit test flakehunter when running on specific package
2019-03-07 20:38:14 -08:00
Conner Fromknecht 29fe6e61e2 Makefile: actually install btcd w/ make btcd 2019-03-07 17:56:37 -08:00
Conner Fromknecht 935ea7d450 server: broadcast using SendMessageLazy, remove unused sendPeerMessages 2019-03-05 17:09:14 -08:00
Conner Fromknecht b50fd33915 server: remove unused SendToPeer method 2019-03-05 17:09:01 -08:00
Conner Fromknecht 0ae06c8189 discovery+server: send lazy gossip msgs 2019-03-05 17:08:48 -08:00
Conner Fromknecht 2e5bc783f7 peer: preallocate errchans opt 2019-03-05 17:08:35 -08:00
Conner Fromknecht f39edd8000 peer: add SendMessageLazy 2019-03-05 17:08:22 -08:00
Conner Fromknecht 660bbaf646 peer: add message reordering based on priority 2019-03-05 17:08:05 -08:00
Conner Fromknecht 6f1ccf14e9 Revert "peer: reduce write timeout to 10s"
This reverts commit db2c104111.
2019-03-04 13:55:09 -08:00
Conner Fromknecht db2c104111 peer: reduce write timeout to 10s 2019-02-21 20:11:47 -08:00
Conner Fromknecht 603601a4c8 peer+server: use peer-level readPool 2019-02-21 20:11:33 -08:00
Conner Fromknecht 8ac8d95b54 brontide/conn: expose ReadNextHeader+ReadNextBody 2019-02-21 20:11:19 -08:00
Conner Fromknecht 93ce4a7575 brontide/noise: compose ReadMessage from ReadHeader+ReadBody 2019-02-21 20:11:05 -08:00
Conner Fromknecht 9a3c0b8bca peer+server: switch to pool.Write from pool.WriteBuffer 2019-02-21 20:10:51 -08:00
Conner Fromknecht ce1bd4be2c pool/worker_test: add tests for concrete Worker pools 2019-02-21 20:10:40 -08:00
Conner Fromknecht 32339a92d3 pool/read: adds Read pool 2019-02-21 20:10:28 -08:00
Conner Fromknecht d2eeee7a12 pool/write: adds Write pool 2019-02-21 20:10:17 -08:00
Conner Fromknecht 37d866328b pool/worker: add generic Worker pool 2019-02-21 20:10:06 -08:00
Conner Fromknecht 0a3e1cfbe5 channeldb+witness_beacon: use sha256 lookup+delete witness 2019-02-19 17:06:42 -08:00
Conner Fromknecht 3428fde5ab htlcswitch/link_test: batch preimage write test 2019-02-19 17:06:28 -08:00
Conner Fromknecht 76cecb1396 htlcswitch/link: batch write to preimage cache
This commit makes use of the batched AddWitness
method of the WitnessCache, in order to avoid
performing one write for each accepted preimage.

Additionally, this fixes an existing hole in the
consistency guarantees since the batched writes
are now guaranteed to take place before accepting
the next CommitSig. Previously, these writes were
processed in an unsynchronized go routine that
could be delayed arbitrarily long before being
executed.

With this change, the async_payments_benchmarks
actually shows a slight improvement in
performance, presumably because we no longer do
an individual write per preimage, even though
the execution is now explicitly in the critical
path. There is likely also a marginal performance
improvement from the reduction in goroutine
overhead.
2019-02-19 17:06:15 -08:00
Conner Fromknecht 29f07a58cb cnct+lnwl+hswc: use lntypes.Preimage for witness beacon 2019-02-19 17:06:00 -08:00
Conner Fromknecht 2d8bc99d9e lntypes/preimage: add MakePreimage initializer 2019-02-19 17:05:45 -08:00
Conner Fromknecht e8b7f1fca3 channeldb/witness_cache: create AddSha256Witnesses helper + test 2019-02-19 17:05:30 -08:00
Conner Fromknecht 56b6becc48 channeldb/witness_cache_test: test batch preimage insertion 2019-02-19 17:05:17 -08:00
Conner Fromknecht 30f61b7630 multi: make AddPreimage variadic, optimistically compute key
In this commit, we modify the WitnessCache's
AddPreimage method to accept a variadic number
of preimages. This enables callers to batch
preimage writes in performance critical areas
of the codebase, e.g. the htlcswitch.

Additionally, we lift the computation of the
witnesses' keys outside of the db transaction.
This saves us from having to do hashing inside
and blocking other callers, and limits extraneous
blocking at the call site.
2019-02-19 17:05:04 -08:00
Conner Fromknecht 2900d8aff8 brontide/noise: take read buffers from pool, return w/ finalizer 2019-02-15 19:33:23 -08:00
Conner Fromknecht 5d9514fbe4 buffer+pool: add buffer.Read and pool.ReadBuffer 2019-02-15 19:33:08 -08:00
Conner Fromknecht 6f96d04b72 multi: add buffer.Write and pool.WriteBuffer, make GCQueue generic 2019-02-15 19:31:24 -08:00
Conner Fromknecht ca4226d429 brontide/listener: handle SetReadDeadline errors 2019-02-15 18:14:02 -08:00
Conner Fromknecht 41940c6c9e brontide/conn: handle read timeout errors 2019-02-15 18:13:52 -08:00
Conner Fromknecht 04febab85c brontide/noise: use static default ephemeral keygen closure 2019-02-15 18:13:43 -08:00
Conner Fromknecht 785740493e brontide/noise: use statically allocated prologue 2019-02-15 18:13:34 -08:00
Conner Fromknecht de282172a1 peer+server+test_utlils: use new ChanStatusManager
This commit hooks up the new netann.ChanStatusManager,
replacing the prior method which used the
watchChannelStatus goroutine.
2019-02-14 17:13:44 -08:00
Conner Fromknecht 8b185e6301 test_utils: waitgroup manually spawned goroutines
Found that his can sometimes cause a panic with a
negative waitgroup counter.
2019-02-14 17:13:33 -08:00
Conner Fromknecht ef41fc6249 lnd_test: set valid chan status config flags 2019-02-14 17:13:21 -08:00
Conner Fromknecht 4686db4196 config+server+lnd_test: expose chan status manager config options
Exposes the three parameters that dictate
the behavior of the channel status manager:
 * --chan-enable-timeout
 * --chan-disable-timeout
 * --chan-status-sample-interval
2019-02-14 17:13:11 -08:00
Conner Fromknecht cd467195d7 netann/chan_status_manager_test: adds ChanStatusManager unit tests 2019-02-14 17:12:59 -08:00
Conner Fromknecht 53797b7dc7 netann/chan_status_manager: adds ChanStatusManager 2019-02-14 17:12:49 -08:00
Conner Fromknecht b405c87578 netann/channel_state: defines ChanStatus and per-channel state 2019-02-14 17:12:37 -08:00
Conner Fromknecht 559255e6f6 netann/interface: defines chan status mgr interfaces 2019-02-14 17:12:25 -08:00
Conner Fromknecht a0daf6f59f netann/channel_update_test: adds unit tests UpdateDisableFlag 2019-02-14 17:12:13 -08:00
Conner Fromknecht 1a7fd6e6f1 netann/channel_update: exposes channel update helpers moved from server 2019-02-14 17:12:03 -08:00
Conner Fromknecht fd6fb80816 cmd/lncli: show all utxos in listunspent when no args passed 2019-02-11 13:02:35 -08:00
Conner Fromknecht 34e36e9daa lnrpc+rpcserver: rename ScriptPubkey to PkScript on Utxo msg 2019-02-11 13:02:25 -08:00
Conner Fromknecht 3fa9d81a41 lntest/harness: assert unconfirmed utxos in ListUnspent during sendCoins 2019-02-11 13:02:11 -08:00
Conner Fromknecht cb2723236f lnrpc: correct tab indentation to 4 space 2019-02-11 13:01:49 -08:00
Conner Fromknecht 287c4d0658 Merge pull request #2630 from alexbosworth/patch-10
trivial: typo fix
2019-02-11 12:49:56 -08:00
Conner Fromknecht 4a0fc3e980 watchtower/multi: thread ChainHash to server 2019-02-08 20:02:17 -08:00
Conner Fromknecht b3a9650ff9 watchtower/wtserver/server: use CheckRemoteInit to validate Init msgs 2019-02-08 20:02:11 -08:00
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