Commit Graph

12762 Commits

Author SHA1 Message Date
721ef7d367 release-notes: add amount sensitive bandwidth hints 2021-10-19 09:52:19 +02:00
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
45de686d35 multi: move bandwidth hints behind interface 2021-10-19 09:50:49 +02:00
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
e6c65f1cbd Merge pull request #5346 from joostjager/custom-messages
lnrpc+peer: custom peer messages
2021-10-18 19:07:39 -07:00
94b7b71809 Merge pull request #5689 from guggero/remote-signer
Support remote signing over RPC
2021-10-18 18:39:17 -07:00
ade50d0b2c lnrpc: receive custom message 2021-10-15 17:08:55 +02:00
ae959b16ae lnrpc: send custom message 2021-10-15 17:08:53 +02:00
d43854aa34 docs: add remote signing documentation and release notes cert/v1.1.0 clock/v1.1.0 healthcheck/v1.1.0 kvdb/v1.2.0 queue/v1.1.0 ticker/v1.1.0 2021-10-14 16:14:50 +02:00
a6ea019f56 lntest: add itest for remote signing 2021-10-14 16:14:49 +02:00
36dc4b3abf itest: refactor tests to be re-used 2021-10-14 15:42:59 +02:00
78b700387c cmd/lncli+walletrpc: add createwatchonly command 2021-10-14 15:42:58 +02:00
1541b2ef1b multi: create and list all default internal accounts 2021-10-14 15:42:56 +02:00
ceb31f9034 multi: allow watch-only wallet creation 2021-10-14 15:42:55 +02:00
6d339f31c0 rpcwallet: forward FinalizePsbt call over RPC 2021-10-14 15:42:53 +02:00
a3addcc927 multi: forward SendCoins call over RPC 2021-10-14 15:42:52 +02:00
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
9cae7ad3c2 multi: add remote RPC signing wallet implementation 2021-10-14 15:42:49 +02:00
917cf4e99b signrpc: add compact_sig flag to SignMessage 2021-10-14 15:42:48 +02:00
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
1309c6afea multi: allow internal wallet to be watch-only 2021-10-14 15:42:45 +02:00
6093393e2f multi: refactor SignMessage to specify hashing 2021-10-14 15:42:44 +02:00
5d7e814ea8 Merge pull request #5674 from torkelrogstad/2021-08-26-http-mux
lntest: avoid global ServeMux
2021-10-13 10:45:57 +02:00
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
07a8b63715 docs: add release note for tor controller 2021-10-11 13:11:55 +08:00
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
ca13750b2c healthcheck: add CheckTorServiceStatus to monitor Tor connection 2021-10-11 13:11:54 +08:00
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
2800c4364e tor: add GETINFO method to check liveness of onion service 2021-10-11 13:11:54 +08:00
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
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
0b80d4feaa tor: add logging to tor controller 2021-10-11 13:11:53 +08:00
a101a53eb4 tor: patch unit tests for tor controller 2021-10-11 13:11:53 +08:00
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
64211da40d Merge pull request #5839 from ellemouton/noDuplicateConnsForDupAddrs
server: use deduped addrMap for connReq creation
2021-10-08 17:01:45 -07:00
00af978bf2 Merge pull request #5708 from guggero/remote-signer-extract-wallet
refactor: move towards more configurable implementation details
2021-10-08 14:23:03 +02:00
84f6b70773 server: use deduped addrMap for connReq creation
Use the addrMap for connReq creation to prevent creating duplicate
connection requests if persistentPeerAddrs contains duplicate addresses.
2021-10-08 13:18:59 +02:00
0cfe0f43e7 Travis: bump ARM parallelity to 3 2021-10-08 12:22:09 +02:00
82ae284577 docs: add release notes 2021-10-08 12:13:17 +02:00
e1da1f8941 multi: extract wallet initialization
With this commit we extract the wallet creation/unlocking and
initialization completely out of the main function. This will allow us
to use custom implementations in the future.
2021-10-08 12:13:15 +02:00
047d8ea3bc config_builder+lnd: move wallet related code
We move some of the wallet related functions into the new file that
houses the new customizable implementations for some of our interfaces.
Since the next customizable interface will be the wallet, we move those
wallet and chain backend related helper functions.
NOTE: This is a pure code move.
2021-10-08 12:08:25 +02:00
f6d7e70f51 multi: extract database initialization 2021-10-08 12:08:25 +02:00
0e279eb15a multi: refactor external subserver config
As a preparation for making more and more implementation details
configurable, we add a new ImplementationCfg struct that houses all the
interfaces that can be defined externally.
2021-10-08 12:08:23 +02:00
140d5a8086 chainreg+lnd: split chain control initialization
As a preparation for extracting the wallet related initialization code,
we first need to separate the purely configuration related chain control
initialization from the wallet related code. We do that by splitting the
chain control into a partial and full struct that is initialized in two
parts. This also allows us to create the wallet configuration itself
outside of the chain control package and we need to thread through fewer
parameters through the chain control config.
2021-10-08 12:06:54 +02:00
47f1b81a51 walletunlocker+lnd: move WalletUnlockParams
As a preparation for adding the wallet unlock params to the chain
control, we first need to move them out of the main package.
2021-10-08 12:06:54 +02:00
862f712394 lnd+pilot: use minHTLCIn instead of whole config
To remove one more direct dependency to a variable in our main function,
we pass in the required parameter to the autopilot only instead of the
whole chain configuration.
2021-10-08 12:06:54 +02:00
cab800e1e7 chainreg: add chain source and channel constraints
As a preparation for separating the pure config related chain control
setup from the wallet related chain control, we store more information
in the chain control instance that is required for the wallet
initialization.
2021-10-08 12:06:53 +02:00
b22f51098a rpcperms+lnd: use macaroon service from interceptor chain
We'll refactor the wallet creation and unlock process in a following
commit and want to make it possible to not need a direct reference to
the macaroon service in our main function. Since we store it in the
interceptor chain anyway (if we're using macaroons in the first place),
we might as well use the instance there directly.
2021-10-08 12:06:53 +02:00
d12154154a chainreg+lnd: add block cache to chainreg config
The block cache size in the chainreg.Config previously wasn't used but
instead the block cache was passed in as a separate parameter. We
replace the cache size with the actual cache in the config to streamline
things somewhat.
2021-10-08 12:06:53 +02:00
e79d59dd4c multi: use key locator for lnwallet.MessageSigner
To simplify the message signing API even further, we refactor the
lnwallet.MessageSigner interface to use a key locator instead of the
public key to identify which key should be signed with.
2021-10-08 12:06:52 +02:00