Commit Graph
35 Commits
Author SHA1 Message Date
Andras Banki-Horvath dde5750160 invoices+rpc: add missing channel graph to the AddInvoiceConfig
The Graph which is referenced later in the AddInvoice call graph is
unset when adding a hodl invoice. This resulted in a crash.
2021-02-03 11:33:27 +01:00
Conner Fromknecht 5b3a08a1cd multi: thread anchor client down to wtclient subserver 2020-11-25 16:16:28 -08:00
Eugene bebe258e2d chainregistry+lnd: moving chainregistry+chainparams to new package 2020-10-29 15:24:14 -04:00
Eugene 4d238cfa2f lnd: export ChainControl, ChainRegistry 2020-10-29 15:20:00 -04:00
Eugene 933b959aa8 chainreg: export ChainCode to new pkg
Moves chainCode from the lnd package to the chainreg package,
where it is exported and can be used by other packages.
2020-10-29 15:19:57 -04:00
Wilmer Paulino c2f1fe26c1 rpc: acquire global coin select lock in related RPCs
This ensures proper coin selection synchronization between lnd and users
of the RPC to avoid potential double spend errors.
2020-06-12 11:22:29 -07:00
Wilmer Paulino acfd432602 walletrpc: add ListUnspent RPC 2020-06-03 19:03:04 -07:00
Olaoluwa Osuntokun c2516d9352 Merge pull request #4286 from guggero/remove-global-cfg
multi: remove global cfg variable
2020-05-18 19:45:43 -07:00
Wilmer Paulino b195d39ad7 rpc: use existing rpc logger for wtclientrpc
The logger string used to identify the wtclient and wtclientrpc loggers
was the same, leading to being unable to modify the log level of the
wtclient logger as it would be overwritten with the wtclientrpc's one.
To simplify things, we decide to use the existing RPC logger for
wtclientrpc.
2020-05-14 13:35:03 -07:00
Oliver Gugger 50e86f88fe rpcserver+subrpcserver: don't use global cfg 2020-05-14 16:18:02 +02:00
Oliver Gugger 85d5cdfbfd multi: move global registeredChains to cfg 2020-05-14 14:47:35 +02:00
Olaoluwa Osuntokun 363caa441a rpc: allow wumbo invoices
In this commit, we remove the restriction surrounding the largest
invoices that we'll allow a user to create. After #3967 has landed,
users will be able to send in _aggregate_ a payment larger than the
current max HTLC size limit in the network. As a result, we can just
treat that value as the system's MTU, and allow users to request
payments it multiples of that MTU value.

A follow up to this PR at a later time will also allow wumbo _channels_.
However, that requires us to tweak the way we scale CSV values, as post
wumbo, there is no true channel size limit, only the
_local_ limit of a given node. We also need to implement a way for nodes
to signal to other nodes their accepted max channel size.
2020-04-09 19:02:08 -07:00
Joost Jager 767c4f2298 routerrpc: remove reflection-based initialization 2020-03-31 21:41:24 +02:00
Olaoluwa Osuntokun 338175534e Merge pull request #3812 from guggero/sign-custom
signrpc: sign and verify messages with custom key
2019-12-11 18:51:55 -08:00
Conner Fromknecht 1367187454 multi: set invoice feature bits using feature manager 2019-12-10 13:09:52 -08:00
Oliver Gugger d47f67d260 signrpc+subserver: add key chain to signer 2019-12-10 09:48:13 +01:00
Wilmer Paulino 2cc5891c8c lnrpc/walletrpc: use current height as height hint for cpfp
In this commit, we address an issue that would cause us to scan from the
genesis block for the spend of an output that we wish to use to raise
the fee of a transaction through CPFP. This was due to setting a 0
height hint when constructing the input required by the sweeper and was
discovered due to the recently added validation checks at the chain
notifier level. We'll now use the current height as the height hint
instead as the sweeper will end up creating a new transaction that
spends the input.
2019-08-22 13:49:42 -07:00
Wilmer Paulino 8f010abac5 multi: add watchtower client RPC subserver 2019-07-30 15:18:15 -07:00
Conner Fromknecht f727b94e12 lnrpc/watchtowerrpc: prevent watchtowerrpc panic when tower not active 2019-07-02 15:06:12 -07:00
Conner Fromknecht 59c9418eca lnd+rpcserver: thread watchtower into subserver configs 2019-06-20 17:04:04 -07:00
Wilmer Paulino d01f88ecdc lnrpc/walletrpc: expose pending input sweeps within UtxoSweeper over RPC 2019-06-05 12:10:33 -07:00
Joost Jager eb700d35e1 routerrpc: extend payment request parameters
Add missing parameters to routerrpc version of SendPayment.
2019-06-05 12:41:45 +02:00
Joost Jager dff0387363 lntest: move itest into package 2019-05-28 21:43:23 +02:00
Johan T. Halseth b53899c43c lnd: rename package main->lnd 2019-04-23 20:57:33 +02:00
Joost Jager 087de7cc4d routerrpc: adapt to changed interfaces of routing subsystem 2019-03-21 10:25:55 +01:00
Joost Jager fcdc8f0e83 lnrpc/invoices: add hold invoice rpc 2019-03-15 10:08:58 +01:00
Olaoluwa Osuntokun 88252d759b config: add sub-server config parsing logic for the new Router service 2019-02-20 16:10:43 -08:00
Joost Jager 70c874be88 invoicesrpc: add SubscribeSingleInvoice rpc 2019-02-01 09:43:17 +01:00
Joost Jager 3545685177 invoicesrpc: create sub server
Sub server implementation is still empty. This is a preparatory
step for adding invoice functionality.
2019-02-01 09:42:35 +01:00
Wilmer Paulino 59e2be5306 config: add ChainRPC config 2019-01-21 14:02:00 -08:00
Johan T. Halseth 8754635de5 rpcsercer+subservercfg: populate autopilot RPC config 2018-12-13 12:33:45 +01:00
Johan T. Halseth 413aad5efa lnrpc+subserver_cfg: add configs for autopilot sub-server 2018-12-13 12:33:44 +01:00
Olaoluwa Osuntokun 14ca3bb012 config: add a new entry for the WalletKit sub-RPC server to subRpcServerConfigs 2018-12-06 16:25:36 -08:00
Olaoluwa Osuntokun a8ac3cfe7d lnd+rpc: fix linter errors 2018-11-28 20:57:10 -08:00
Olaoluwa Osuntokun 4002caec69 config+rpc: create new generalized dynamic sub rpc server config framework
In this commit, we add the glue infrastructure to make the sub RPC
server system work properly. Our high level goal is the following: using
only the lnrpc package (with no visibility into the sub RPC servers),
the RPC server is able to find, create, run, and manage the entire set
of present and future sub RPC servers. In order to achieve this, we use
the reflect package and build tags heavily to permit a loosely coupled
configuration parsing system for the sub RPC servers.

We start with a new `subRpcServerConfigs` struct which is _always_
present.  This struct has its own group, and will house a series of
sub-configs, one for each sub RPC server. Each sub-config is actually
gated behind a build flag, and can be used to allow users on the command
line or in the config to specify arguments related to the sub-server. If
the config isn't present, then we don't attempt to parse it at all, if
it is, then that means the RPC server has been registered, and we should
parse the contents of its config.

The `subRpcServerConfigs` struct has two main methods:
`PopulateDependancies` and `FetchConfig`. The `PopulateDependancies` is
used to dynamically locate and set the config fields for each new
sub-server. As the config may not actually have any fields (if the build
flag is off), we use the reflect pacakge to determine if things are
compiled in or not, then if so, we dynamically set each of the config
parameters. The `PopulateDependancies` method implements the
`lnrpc.SubServerConfigDispatcher` interface. Our goal is to allow sub
servers to look up their actual config in this main config struct. We
achieve this by using reflect to look up the target field _as if it were
a key in a map_. If the field is found, then we check if it has any
actual attributes (it won't if the build flag is off), if it is, then we
return it as we expect it to be populated already.
2018-11-28 20:57:05 -08:00