Commit Graph

12678 Commits

Author SHA1 Message Date
Wilmer Paulino
e1c269c7ed sweep: remove previous exclusive group upon re-offered inputs
This aims to cover an edge case and also serves as an optimization of
what happens when an input that was offered to the Sweeper with an
exclusive group is re-offered without one. This happens every time we
attempt to sweep the different possible anchors of a channel at the time
of broadcast, as we don't know which commitment transaction will end up
confirming in the chain. Once the commitment transaction confirms
however, we know which anchor output to act upon and re-offer it to the
Sweeper without an exclusive group. At this point, the Sweeper will
continue to attempt sweeping the other anchor output versions even know
we know they are not valid.
2021-10-19 18:30:40 -07:00
Wilmer Paulino
5faf3dc03b contractcourt: handle sweeping script-enforced leased channel outputs
In order to sweep the commitment and HTLC outputs belonging to a
script-enforced leased channel, each resolver must know whether the
additional CLTV clause on the channel initiator applies to them. To do
so, we retrieve the historical channel state stored within the database
and supplement it to the resolvers to provide them with what's needed in
order to sweep the necessary outputs and resolve their respective
contracts.
2021-10-19 18:30:37 -07:00
Wilmer Paulino
2f27fa370b input: add new constructor to support CSV and CLTV locked inputs 2021-10-19 18:30:35 -07:00
Wilmer Paulino
8cfb53f64a lnwallet: support transactions and scripts for new commitment type
This commit modifies the channel state machine to be able to derive the
proper commitment and second-level HTLC output scripts required by the
new script-enforced leased channel commitment type.
2021-10-19 18:30:32 -07:00
Wilmer Paulino
01e9bb2bff lnwallet: coalesce different supported output scripts into single method 2021-10-19 18:30:30 -07:00
Wilmer Paulino
652f841738 input: add witness gen and weight estimates for new commitment type
This witness generators and weight estimates added only apply for the
new script-enforced leased channel commitment type.
2021-10-19 18:30:27 -07:00
Wilmer Paulino
b84307e62e input: add scripts for new script enforced lease commitment type
The new commitment type consists of adding an additional CLTV
requirement to guarantee a leased channel's expiration on any commitment
and HTLC outputs that pay directly to the channel initiator.
2021-10-19 18:30:24 -07:00
Wilmer Paulino
564ec0fd9b funding+lnwallet: support funding new script enforced leased channels 2021-10-19 18:30:22 -07:00
Wilmer Paulino
f38c6d6662 channeldb: add new ChannelType bit for script enforced leased channels 2021-10-19 18:30:19 -07:00
Wilmer Paulino
6252563bc5 lnwire: add LeaseExpiry custom record for Open+AcceptChannel 2021-10-19 18:30:17 -07:00
Wilmer Paulino
6052a446dc lnwire+feature: add feature bit for script enforced lease support 2021-10-19 18:30:14 -07:00
Wilmer Paulino
35fd985118 lncfg: add protocol config option for script enforced lease support 2021-10-19 18:30:12 -07:00
Olaoluwa Osuntokun
287871401a docs/release-notes: add section for propr chan type feature bit 2021-10-19 18:25:58 -07:00
Olaoluwa Osuntokun
028fc86e5c lnwire: switch chan_type feature to bits 44/45
We were using an older feature bit that was just "selected". This commit
has us use the feature bit officially included in the spec.

See https://github.com/lightningnetwork/lightning-rfc/pull/906
2021-10-19 17:40:33 -07:00
Olaoluwa Osuntokun
e590abc7be Merge pull request #5813 from naveensrinivasan/naveen/feat/kvdv-1.16
Upgrade to go 1.16 for the left over packages
2021-10-19 16:40:47 -07:00
Olaoluwa Osuntokun
290b78e700 Merge pull request #5512 from carlaKC/5468-amountawarehint
routing: include htlc amount in bandwidth hint queries
2021-10-19 16:31:10 -07:00
carla
721ef7d367 release-notes: add amount sensitive bandwidth hints 2021-10-19 09:52:19 +02:00
carla
990dda4b18 multi: thread bandwidth check amount down to MayAddOutgoingHtlc
Pass htlc amount down to the channel so that we don't need to rely
on minHtlc (and pad it when the channel sets a 0 min htlc). Update
test to just check some sane values since we're no longer relying
on minHtlc amount at all.
2021-10-19 09:50:51 +02:00
carla
45de686d35 multi: move bandwidth hints behind interface 2021-10-19 09:50:49 +02:00
naveen
06433d351e Upgrade to go 1.16 for the left over packages
Upgraded the go to 1.16 for the rest of the packages.
2021-10-19 03:55:13 +00:00
Olaoluwa Osuntokun
e6c65f1cbd Merge pull request #5346 from joostjager/custom-messages
lnrpc+peer: custom peer messages
2021-10-18 19:07:39 -07:00
Olaoluwa Osuntokun
94b7b71809 Merge pull request #5689 from guggero/remote-signer
Support remote signing over RPC
2021-10-18 18:39:17 -07:00
Joost Jager
ade50d0b2c lnrpc: receive custom message 2021-10-15 17:08:55 +02:00
Joost Jager
ae959b16ae lnrpc: send custom message 2021-10-15 17:08:53 +02:00
Oliver Gugger
d43854aa34 docs: add remote signing documentation and release notes cert/v1.1.0 healthcheck/v1.1.0 kvdb/v1.2.0 queue/v1.1.0 ticker/v1.1.0 clock/v1.1.0 2021-10-14 16:14:50 +02:00
Oliver Gugger
a6ea019f56 lntest: add itest for remote signing 2021-10-14 16:14:49 +02:00
Oliver Gugger
36dc4b3abf itest: refactor tests to be re-used 2021-10-14 15:42:59 +02:00
Oliver Gugger
78b700387c cmd/lncli+walletrpc: add createwatchonly command 2021-10-14 15:42:58 +02:00
Oliver Gugger
1541b2ef1b multi: create and list all default internal accounts 2021-10-14 15:42:56 +02:00
Oliver Gugger
ceb31f9034 multi: allow watch-only wallet creation 2021-10-14 15:42:55 +02:00
Oliver Gugger
6d339f31c0 rpcwallet: forward FinalizePsbt call over RPC 2021-10-14 15:42:53 +02:00
Oliver Gugger
a3addcc927 multi: forward SendCoins call over RPC 2021-10-14 15:42:52 +02:00
Oliver Gugger
19db382e24 multi: forward address and import calls over RPC
In order to support the full range of on-chain functionality, including
importing watch-only accounts in the watch-only instance, we need to
forward some calls like creating new addresses or importing accounts to
the remote signing instance.
2021-10-14 15:42:51 +02:00
Oliver Gugger
9cae7ad3c2 multi: add remote RPC signing wallet implementation 2021-10-14 15:42:49 +02:00
Oliver Gugger
917cf4e99b signrpc: add compact_sig flag to SignMessage 2021-10-14 15:42:48 +02:00
Oliver Gugger
9fa9dd8e43 multi: extract key ring creation from chain control
To make it possible to supply our own implementation of a secret key
ring, we extract that part from the chain control and split the whole
chain control creation into two parts.
2021-10-14 15:42:47 +02:00
Oliver Gugger
1309c6afea multi: allow internal wallet to be watch-only 2021-10-14 15:42:45 +02:00
Oliver Gugger
6093393e2f multi: refactor SignMessage to specify hashing 2021-10-14 15:42:44 +02:00
Oliver Gugger
5d7e814ea8 Merge pull request #5674 from torkelrogstad/2021-08-26-http-mux
lntest: avoid global ServeMux
2021-10-13 10:45:57 +02:00
Olaoluwa Osuntokun
d7d9eb958b Merge pull request #5794 from yyforyongyu/5771-fix-tor
tor: enable lnd surviving Tor daemon restart
2021-10-11 02:35:14 -07:00
yyforyongyu
07a8b63715 docs: add release note for tor controller 2021-10-11 13:11:55 +08:00
yyforyongyu
f41f5c7fa6 multi: add tor connection healthcheck
This commit adds a new health check, tor connection, to our liveness
monitor. A monitor refactor is applied to the server creation such that
the scope of health check creation is managed within one function.
2021-10-11 13:11:55 +08:00
yyforyongyu
ca13750b2c healthcheck: add CheckTorServiceStatus to monitor Tor connection 2021-10-11 13:11:54 +08:00
yyforyongyu
cbd22a7c74 tor: add method Reconnect to reset connection
A new method, Reconnect, is added to tor controller which can be used to
reset the current connection. This will be later used in healthcheck to
help us reset the connection to Tor Daemon.
2021-10-11 13:11:54 +08:00
yyforyongyu
2800c4364e tor: add GETINFO method to check liveness of onion service 2021-10-11 13:11:54 +08:00
yyforyongyu
7daffcbba8 tor: add a new response reader for tor controller
This commit adds a new response reader which replaces the old
textproto.Reader.ReadResponse. The older reader cannot handle the case
when the reply from Tor server contains a data reply line, which uses
the symbol "+" to signal such a case.
2021-10-11 13:11:54 +08:00
yyforyongyu
90e6c70ea0 tor: remove Onion Service upon shutdown
This commit adds a new method to call DEL_ONION when lnd is shutting
down. Tor controller will now be aware of the active serviceID and
removes the service upon shutdown.
2021-10-11 13:11:53 +08:00
yyforyongyu
0b80d4feaa tor: add logging to tor controller 2021-10-11 13:11:53 +08:00
yyforyongyu
a101a53eb4 tor: patch unit tests for tor controller 2021-10-11 13:11:53 +08:00
yyforyongyu
1ebc3b82c8 tor: rename dial to dialProxy
This commit renames dial to be dialProxy to make the connections
clearer. It also cleans the column width and provides more verbose error
messages.
2021-10-11 13:11:52 +08:00