Commit Graph
100 Commits
Author SHA1 Message Date
Conner Fromknecht faddf98391 gen_protos_docker: make image build non-quiet
This allows users to see progress whenever the docker image is
[re]built, and (esp on non-linux hosts) track the size of the build
context being uploaded. Currently no output is displayed, so it's hard
to attribute the source of latency, e.g. network latency, building
layers, a large work directory, etc.
2021-02-01 10:11:09 -08:00
Conner Fromknecht bd1c5378bf Merge pull request #4919 from joostjager/getnodeinfo-notfound
rpcserver: use NotFound http status code in GetNodeInfo
2021-01-31 09:43:33 -08:00
Conner Fromknecht 626e732f9b Merge pull request #4956 from joostjager/htlc-attempt-id
lnrpc: add htlc attempt id
2021-01-27 17:01:08 -08:00
Conner Fromknecht 85f4d2b188 Merge pull request #4962 from halseth/halseth-gpg-key
scripts: add halseth key to verify script
2021-01-27 16:29:34 -08:00
Conner Fromknecht 02aa540b04 Merge pull request #4958 from halseth/netann-unknown-update
netann: ignore unknown channel update on startup
2021-01-27 16:27:15 -08:00
Conner Fromknecht 0ef04a749f amp/derivation_test: add tests 2021-01-26 12:43:09 -08:00
Conner Fromknecht cb47d0c825 amp/sharer: add recursive sharing logic 2021-01-26 12:43:09 -08:00
Conner Fromknecht 0144bdb241 amp/child: add Child deriviation 2021-01-26 12:43:08 -08:00
Conner Fromknecht f79056e30e Merge pull request #4920 from cfromknecht/update-rpc-feature-bits
lnrpc: add missing features to FeatureBit enum
2021-01-19 11:57:36 -08:00
Conner Fromknecht 1d71a2b55d Merge pull request #4908 from halseth/anchors-reserve-utxo
[anchors] Reserve wallet balance for anchor fee bumping
2021-01-19 11:57:07 -08:00
Conner Fromknecht 6d437117b4 lnrpc: add missing features to FeatureBit enum
- WumboChannels
 - Anchors
 - AnchorsZeroFeeHtlc
2021-01-15 15:23:53 -08:00
Conner Fromknecht e0e57642b6 wtclient/client: fix missed prefix log 2021-01-04 08:33:34 -08:00
Conner Fromknecht 1d3535582b wtclient/seseion_queue: add prefix logging 2021-01-04 08:32:34 -08:00
Conner Fromknecht de09b8d9bd wtclient/session_negotiator: add prefix logging 2021-01-04 08:32:34 -08:00
Conner Fromknecht 505901d7b8 wtclient/task_pipeline: add prefix logging 2021-01-04 08:32:31 -08:00
Conner Fromknecht 4af24158c4 Merge pull request #4779 from halseth/anchor-htlc-aggregation
[anchors] HTLC second level aggregation in the sweeper
2020-12-11 16:22:17 -08:00
Conner Fromknecht c2c520e431 make: pass dev tag to go-acc
Previously we were excluding non-dev test files from our coverage
report, which included interface_test.go as well as the bitcoindnotify
and btcdnotify dev tests.
2020-12-10 22:09:31 -08:00
Conner Fromknecht ea8d02eb68 chainntnfs/test: parallelize iface tests by backend 2020-12-10 20:56:10 -08:00
Conner Fromknecht 24da512d1e actions: update to GO_VERSION 1.15.6 2020-12-10 20:41:57 -08:00
Conner Fromknecht d870bb5002 Merge pull request #4804 from wpaulino/proper-gossip-query-reply-chunk-splitting
discovery: adhere to proper channel chunk splitting for ReplyChannelRange
2020-12-10 18:10:07 -08:00
Conner Fromknecht 0d57ff2432 lnwallet/test: execute ifacet tests for each backend in parallel 2020-12-10 17:42:26 -08:00
Conner Fromknecht 87787ce771 lnwallet: move interface_test.go to it's own package 2020-12-10 17:42:26 -08:00
Conner Fromknecht 1483ed119b make: use low-scrypt to speed up unit-race
This predominately affects the lnwallet unit tests which are the bulk of
the execution time.
2020-12-10 17:42:26 -08:00
Conner Fromknecht 08ee754a6d channeldb/db: properly reinit wallet during Wipe
Previously we wouldn't recreate some of the top level buckets that are
now considered expected with our migration logic. This bug was
preexisting, but never surfaced because the other TLB buckets were not
touched by this unit test.
2020-12-10 17:37:58 -08:00
Conner Fromknecht 6152d013b9 Merge pull request #4842 from cfromknecht/update-btcwallet-dep
mod: update to btcwallet master
2020-12-09 15:45:02 -08:00
Conner Fromknecht 745ea9b70e Merge pull request #4843 from cfromknecht/check-each-commit
build: check compilation of each commit
2020-12-09 13:52:49 -08:00
Conner Fromknecht 96118c7852 dep: update to btcwallet master 2020-12-09 13:30:18 -08:00
Conner Fromknecht dce4d2abcd build: check compilation of each commit
Inspired by Rust Lightning's GH action :)
2020-12-08 16:19:26 -08:00
Conner Fromknecht 2f38a7ce9c itest: increase recovery payment amount so htlc isn't dust 2020-12-08 14:55:40 -08:00
Conner Fromknecht 592a0c5699 Merge pull request #4825 from guggero/itest-suspicion
itest: adjust parallelization, poll intervals and timeouts to not starve goroutines
2020-12-08 13:28:45 -08:00
Conner Fromknecht ebb83bc0a0 Merge pull request #4830 from yyforyongyu/small-code-fix
multi: small code fix
2020-12-08 12:28:29 -08:00
Conner Fromknecht b017ab67c4 rpcserver: replace sweep_all in log with send_all to match rpc arg 2020-12-07 13:45:11 -08:00
Conner Fromknecht 125dbbf0da Merge pull request #4823 from cfromknecht/fwd-interceptor-fixes
itest: fwd interceptor fixes
2020-12-04 16:36:14 -08:00
Conner Fromknecht 26da2b2c9e Merge pull request #4827 from halseth/link-test-timeouts
[test] Increase link test timeouts
2020-12-04 02:34:34 -08:00
Conner Fromknecht 123c3a2530 itest: defer shutdown of nodes in main test method
This ensures that the nodes will properly be shutdown even if one fails
to start or any of them fail to connect. Previously the shutdown is
defered only in the event that the setup was successful.
2020-12-03 23:06:32 -08:00
Conner Fromknecht 374725842e itest: use fresh alice and bob for fwd interceptor tests 2020-12-03 23:06:32 -08:00
Conner Fromknecht 92b820a6d1 itest: move to require in forward_interceptor_test
Certain checks were implemented with Errorf, which only logs the
failure. This results in the test harness panicking further down. We go
further ahead and convert all calls in this file to use require.
2020-12-03 23:06:29 -08:00
Conner Fromknecht daf7c8a854 Merge pull request #4780 from halseth/chainwatcher-force-close-future-state
chainwatcher: properly derive to_local script for "future" local force closes
2020-12-03 16:21:50 -08:00
Conner Fromknecht 3e1ba20370 Merge pull request #4765 from guggero/itest-miner-fix
Update btcd to master, make itest btcd harness more robust
2020-12-03 16:19:58 -08:00
Conner Fromknecht 6b4df04950 wtclient_tests: remove expErr param from nextKeyIndex
This command cannot fail (apart from commit errors) so the linter
complained that the argument was always nil.
2020-12-01 16:55:24 -08:00
Conner Fromknecht e9b5b2d767 Merge pull request #4793 from murtyjones/cosmetic/add-newline-to-log
Cosmetic: Add newline to end of log statement
2020-12-01 16:44:24 -08:00
Conner Fromknecht 9bd73c0a85 wtdb+wtclient: segregate session-key-index reservations by blob-type
This commit introduces a change in the key format used to reserve/lookup
session-key-indexes. Currently the reservations are stored under the
tower id, however this creates issues when multiple clients are using
the same database since only one reservation is permitted per tower.

We fix this by appending the blob type to the session-key-index locator.
This allows multiple clients to reserve keys for the same tower, but
still limits each client to one outstanding reservation. The changes are
made in a way such that we fall back to the legacy format if the a
reservation under the new format is not found, but only if the blob type
matches blob.TypeAltruistCommit, which is so far the only actively
deployed blob type.
2020-12-01 16:24:16 -08:00
Conner Fromknecht 7f330d79c1 Merge pull request #4816 from guggero/anchor-itest-fix
itest: run sub itests correctly for watchtower tests
2020-12-01 15:18:46 -08:00
Conner Fromknecht 1f86526250 wtclient: add backoff in negotiation when createSession() fails
Currently if the tower hangs up during session negotiation there is no
backoff applied. We add backoff here to avoid excessive CPU/network
utilization during unexpected failures.
2020-11-30 13:08:18 -08:00
Conner Fromknecht 5aa59906b5 wtclient: schedule ForceQuit first during Stop
Currently the ForceQuit call is scheduled after trying to stop the
backup queue. In certain cases, the call to stop the queue never
finishes, which means the force quit is never scheduled. We rememdy by
scheduling this call before any other operations to ensure we can always
exit ungracefully if necessary.
2020-11-30 13:08:04 -08:00
Conner Fromknecht 82a238317c lncfg+itest: expose configurable batch-commit-interval
This will permit a greater degree of tuning or customization depending
on various hardware/environmental factors.
2020-11-25 16:45:25 -08:00
Conner Fromknecht f3c8311b28 lncli: add policy type flags to wtclient policy 2020-11-25 16:16:49 -08:00
Conner Fromknecht b28bbc3223 wtclinet+itest: expose anchor client via rpc + add itest 2020-11-25 16:16:47 -08:00
Conner Fromknecht 5b3a08a1cd multi: thread anchor client down to wtclient subserver 2020-11-25 16:16:28 -08:00
Conner Fromknecht a5c40858c9 lnrpc/wtclientrpc: add anchor_client bool to all requests 2020-11-25 16:16:24 -08:00
Conner Fromknecht 7fc4c7c412 wtclient: prefix client logs w/ legacy or anchor 2020-11-25 15:39:14 -08:00
Conner Fromknecht 0d0f22aacb link+peer: thread anchor tower client to link 2020-11-25 15:39:14 -08:00
Conner Fromknecht 094ce09644 server: log tower client error on stop (lint) 2020-11-25 15:06:17 -08:00
Conner Fromknecht 60ad01e9c2 server: initialize distinct anchor tower client 2020-11-25 15:05:56 -08:00
Conner Fromknecht 781c6e5bea wtclient: add anchor-aware session negotiation and filtering 2020-11-25 15:05:36 -08:00
Conner Fromknecht eb00e496bf watchtower/wtclient: add anchor backup tasks 2020-11-25 15:05:17 -08:00
Conner Fromknecht 97cb030854 wtclient: error on unknown witness type for backup task 2020-11-25 15:04:57 -08:00
Conner Fromknecht 74416c63f8 watchtower/wtpolicy: add IsAnchorChannel helper 2020-11-25 15:04:23 -08:00
Conner Fromknecht dd325f04d2 watchtower/wtclient: parameterize backup task with channel type 2020-11-25 15:04:12 -08:00
Conner Fromknecht 3856acce50 wathtower/blob+wtserver: support anchor sessions 2020-11-25 15:04:00 -08:00
Conner Fromknecht 069296c46c watchtower/wtwire: add AnchorCommit feature bits
Adds the optional/required feature bit pair for negotiating sessions for
anchor channels under features bits 2+3.
2020-11-25 15:03:49 -08:00
Conner Fromknecht e8c545e909 routing/router: increase validation barrier size to 1000
This allows for a 1000 different persistent operations to proceed
concurrently. Now that we are batching operations at the db level, the
average number of outstanding requests will be higher since the commit
latency has increased. To compensate, we allow for more outstanding
requests to keep the router busy while batches are constructed.
2020-11-24 16:40:10 -08:00
Conner Fromknecht f8154c65c5 discovery/gossiper: increase validation barrier size to 1000
This allows for a 1000 different validation operations to proceed
concurrently. Now that we are batching operations at the db level, the
average number of outstanding requests will be higher since the commit
latency has increased. To compensate, we allow for more outstanding
requests to keep the gossiper busy while batches are constructed.
2020-11-24 16:39:47 -08:00
Conner Fromknecht edaa5d4308 channeldb/graph: add batched APIs for graph ingestion 2020-11-24 16:39:28 -08:00
Conner Fromknecht 9cfe08c879 channeldb/graph: split out cache updates for policy changes 2020-11-24 16:38:40 -08:00
Conner Fromknecht d1634b5e13 batch: add external batching engine for bbolt operations 2020-11-24 16:38:27 -08:00
Conner Fromknecht fb9218d100 discovery/gossiper: channel announcements can't be outdated 2020-11-24 16:38:14 -08:00
Conner Fromknecht 1b97bcdac1 Merge pull request #4783 from yyforyongyu/autopilot-code-fix
autopilot: fix returned map size in mergeNodeMaps
2020-11-19 11:10:48 -08:00
Conner Fromknecht 1efef51268 Merge pull request #4781 from cfromknecht/fix-timeout-build-tags
lntest/timeouts: fix timeout build predicates
2020-11-18 15:57:32 -08:00
Conner Fromknecht f86c26878a lntest/timeouts: fix darwin+kvdb_etcd build
Currently trying to run etcd tests on darwin will cause the timeouts to
improperly select timeouts_darwin.go which are stricter than
timeouts_etcd.go. We fix this by always defaulting to timeouts_etcd.go
no matter the platform, and only falling back to timeouts_darwin.go if
the kvdb_etcd tag is not present.
2020-11-18 15:28:39 -08:00
Conner Fromknecht b70b6d9a6e lntest/timeouts: remove spaces from build predicates
Otherwise this breaks various conditional compilation targets and the
linter.
2020-11-18 15:16:25 -08:00
Conner Fromknecht b9f031b3e3 Merge pull request #4746 from wpaulino/tower-last-addr
watchtower: prevent removal of last tower addr
2020-11-11 09:27:54 -08:00
Conner Fromknecht 4adb8123af Merge pull request #4693 from joostjager/listchannels-circuits
lnrpc: expose linked htlcs in ListChannels
2020-10-29 12:52:34 -07:00
Conner Fromknecht 165212d965 Merge pull request #4635 from githorray/patch-1
remove lncli bash completion for unsupported address type p2pkh
2020-10-29 12:47:11 -07:00
Conner Fromknecht 33fe44f4ca Merge pull request #4681 from guggero/itest-whitelist
itest: add error to whitelist
2020-10-08 17:19:57 -07:00
Conner Fromknecht 652ac7fa3f Merge pull request #4652 from MrManPew/patch-3
lnd: show debug level at startup
2020-10-02 13:16:23 -07:00
Conner Fromknecht aa9fbadf0f Merge pull request #4657 from yyforyongyu/fix-itest-whitelist
itest: update log error whitelist
2020-09-29 10:25:58 -07:00
Conner Fromknecht 68ddba7cb7 Merge pull request #4512 from yyforyongyu/channel-balance-verbose
display verbose result in ChannelBalance
2020-09-25 13:31:01 -07:00
Conner Fromknecht 3362c9437b Merge pull request #4647 from halseth/go-15-sprintf
[tests] reverse macaroon time caveat check, fix go 1.15 vet check.
2020-09-24 13:03:41 -07:00
Conner Fromknecht e135047304 Merge pull request #4353 from LN-Zap/feat/neutrino-user-agent
Ability to configure neutrino useragent
2020-09-23 16:45:19 -07:00
Conner Fromknecht 936b733f16 Merge pull request #4634 from krtk6160/patch-1
docs: fix sync-freelist documentation
2020-09-23 16:02:52 -07:00
Conner Fromknecht 98da919bf1 Merge pull request #4622 from guggero/config-mkdir
config: create all directories
2020-09-18 14:32:28 -04:00
Conner Fromknecht d4d7533193 Merge pull request #4620 from halseth/txnotifier-panic
[bugfix] txnotifier: delete ntfn by confirm height always
2020-09-16 18:38:16 -04:00
Conner Fromknecht ab695cc305 Merge pull request #4623 from guggero/travis-log-upload-failure-only
travis: only upload log files on test failure
2020-09-16 12:22:07 -04:00
Conner Fromknecht a0e54a9650 watchtower/lookout: use correct to-local-penalty size for anchors
This commit fixes the to-local-witness estimate to use the correct
witness size estimate for anchor channels. We retain the off-by-one bug
from the original constant otherwise.
2020-09-15 12:48:23 -04:00
Conner Fromknecht d440cc4024 watchtower/lookout/justice_descriptor: anchor justice txn
This commit modifies the JusticeDescriptor to support creation of
justice transactions spending from anchor commitments. Rather than the
unencumbered p2wkh scripts from before, the tower will now use the
to-remote-confirmed that includes the additional CSV delay of 1. This
also requires setting the sequence number appropriately on the to-remote
input.
2020-09-15 12:44:00 -04:00
Conner Fromknecht cfbde5d2ce watchtower/lookout/justice_descriptor_test: use require 2020-09-15 12:43:52 -04:00
Conner Fromknecht ac2e1d7d96 watchtower/blob/justice_kit: conditional anchor to-remote script
This commit modifies the ToRemoteWitnessScript function to be
conditioned on the blob type, and return either the legacy or anchor
to-remote script. The same witness satisfies either script, so no
changes are necessary to ToRemoteWitnessStack.
2020-09-15 12:43:44 -04:00
Conner Fromknecht ffe15e2820 watchtower/blob/justice_kit: add BlobType to JusticeKit struct
This is preparation for later commits where the values returned by
member methods will need to be conditioned on the blob type used during
decryption.
2020-09-15 12:43:37 -04:00
Conner Fromknecht b82695dbcc watchtower/blob/justice_kit_test: convert to require
This is also a prepatory step to making
TestJusticeKitRemoteWitnessConstruction parameteried by the blob type so
we can test both anchor and legacy witness construction.
2020-09-15 12:43:26 -04:00
Conner Fromknecht 0477c80732 watchtower/blob/type: add new FlagAnchorChannel 2020-09-15 12:43:20 -04:00
Conner Fromknecht ed67ce7678 watchtower/blob/type: remove use of iota for flag constants 2020-09-15 12:43:06 -04:00
Conner Fromknecht c704c5747a Merge pull request #4558 from halseth/anchors-spec
[anchor commitment] Make the anchor commitment type spec compliant
2020-09-11 15:43:56 -04:00
Conner Fromknecht 3c606bd9c0 Merge pull request #4542 from Crypt-iQ/mock_signer_cleanup_0817
multi: remove mock.go
2020-09-11 13:16:17 -04:00
Conner Fromknecht 7c91f744ee Merge pull request #4547 from Crypt-iQ/fwdpkg_cleanup_0819
htlcswitch: reduce db contention when removing forwarding packages
2020-09-02 16:58:28 -07:00
Conner Fromknecht a4031f500b rpcserver+fundingmanager: thread remote_max_htlcs to channel opening 2020-08-24 20:11:33 -07:00
Conner Fromknecht 9e73683c45 lnrpc: add remote_max_htlcs to OpenChannelRequest
This will allow users to set a custom limit for the max number of
concurrent HTLCs the remote party can add to the channel.
2020-08-24 20:11:33 -07:00
Conner Fromknecht 5c91be3f57 config+rpcserver: allow configurable defualt-remote-max-htlcs 2020-08-24 20:11:23 -07:00
Conner Fromknecht 1760fe30db fundingmanager: cache remote-max-htlcs in res context
Currenlty the maxHtlcs value is recomputed after receiving
accept_channel. This works when the derivation is deterministic, howver
we now allow the user to manually override this value from open_channel.
As such, we must retain the chosen value in memory throughout the
funding process, otherwise the initiator would revert to the
deterministic derivation and the two endpoints will disagree on the
correct max-htlcs value in their view of the other's policy.
2020-08-24 20:08:19 -07:00
Conner Fromknecht ef69537c7f fundingmanager: add maxHtlcs to openChanReq 2020-08-24 20:08:19 -07:00