lnd/contractcourt
Conner Fromknecht 0c74575c44
contractcourt/chain_arbitrator: parallel chain watcher start
This commit restructures the initialization procedure
for chain watchers such that they can proceed in parallel.
This is primarily to help nodes running with the neutrino
backend, which otherwise forces a serial rescan for each
active channel to check for spentness.

Doing so allows the rescans to take advantage of batch
scheduling in registering for the spend notifications,
ensuring that only one or two passes are made, as opposed
to one for each channel.

Lastly, this commit ensures that the chain arb is properly
shutdown if any of it's chain watchers or channel arbs
fails to start, so as to cancel their goroutines before
exiting.
2018-09-11 16:10:29 -07:00
..
briefcase_test.go contractcourt/briefcase: test FetchContractResolutions error when no resolutions logged 2018-08-23 00:03:22 +02:00
briefcase.go multi: sort import paths with gofmt 2018-08-02 18:20:49 -07:00
chain_arbitrator_test.go contractcourt: add new ChainArbitrator struct as central coordinator of package 2018-01-22 19:19:36 -08:00
chain_arbitrator.go contractcourt/chain_arbitrator: parallel chain watcher start 2018-09-11 16:10:29 -07:00
chain_watcher_test.go multi: update to latest RegisterBlockEpochNtfn interface 2018-08-10 01:08:57 -07:00
chain_watcher.go contractcourt: move responsibility for closing force closes to chanArb 2018-08-23 00:03:21 +02:00
channel_arbitrator_test.go contractcourt/chanarb test: expand TestChannelArbitratorCommitFailure to coop and local force close 2018-08-23 10:04:43 +02:00
channel_arbitrator.go contractcourt/channel_arbitrator: handle onchain close race on restart 2018-09-03 23:12:57 -07:00
contract_resolvers_test.go contractcourt: add complete ContractResolver implementations 2018-01-22 19:19:36 -08:00
contract_resolvers.go contractcourt/contract_resolvers: correct off-by-one HTLC expiry 2018-08-14 09:15:48 +02:00
log.go