Tom Kirkpatrick
e47eacfa8c
fix(grpc): do not use macaroon with WalletUnlocker
The WalletUnlocker service does not require the use of macaroons so do
not attempt to pass them when creating or unlocking a wallet.
6 years ago
Tom Kirkpatrick
71ac6adeff
fix(grpc): show error on connect to locked wallet
When connecting to a remote wallet we assume that the wallet is already
unlocked. In the case where it is not already unlocked, forward the
error message to the UI.
Fix #738
6 years ago
Tom Kirkpatrick
6c3d43ead6
fix(grpc): close connection after failed connect
The gRPC Client waitForReady call waits for a specified time frame and
either resolves or rejects depending on wether or not a successful
connection was established within the given time frame. If the
connection attempt failed gRPC will still continue to attempt to
establish the connection endlessly.
In this commit we explicitly close the client connection after the
connect deadline has been exceeded to prevent gRPC from trying to
connect.
6 years ago
Tom Kirkpatrick
e9b4605523
refactor(grpc): convert WalletUnlocker to class
Convert the walletUnlocker object to a class with an interface that is
consistent with the Lightning class.
6 years ago
Tom Kirkpatrick
47b95a0ea0
fix(grpc): use Numbers to represent long values
Configure gRPC to use Numbers to represent long values instead of
Strings. This ensures that we can do accurate handling of numerical
values.
Fix #727
6 years ago
Tom Kirkpatrick
a16fdec23b
fix(lnd): ensure graceful shutdown
Lnd doesn't currently do a graceful shutdown when a `SIGTERM` is issued.
To ensure a graceful shutdown, call `stopDaemon` on the gRPC interface
prior to terminating lnd. If a graceful shutdown is unsuccessful then
force kill the daemon.
6 years ago
Tom Kirkpatrick
db2e90344d
Revert "fix(lnd): ensure graceful shutdown"
This reverts commit ef7a9ad69a
.
6 years ago
Tom Kirkpatrick
ef7a9ad69a
fix(lnd): ensure graceful shutdown
Lnd doesn't currently do a graceful shutdown when a `SIGTERM` is issued.
To ensure a graceful shutdown, call `stopDaemon` on the gRPC interface
prior to terminating lnd.
See
- https://github.com/lightningnetwork/lnd/issues/1028
- https://api.lightning.community/#stopdaemon
6 years ago
Tom Kirkpatrick
602d03411a
test(unit): add some basic tests for Lightning class
6 years ago
Tom Kirkpatrick
0ecb169e5c
chore(flow): add flowtype to Lightning class
6 years ago
Tom Kirkpatrick
114151f5f6
fix(grpc): ensure full disconnect on window close
Do not try to send incoming data from GRPC streams to the main window
after the window has been closed.
Fix #677
6 years ago
Tom Kirkpatrick
56c6c59180
feat(lnd): support multiple lnd configurations
Store lnd data within the Zap datadir and prepare to be able to support
multiple lnd configurations.
7 years ago
Tom Kirkpatrick
5681b82a3c
refactor: move helper code to lib directory
7 years ago
Tom Kirkpatrick
b180287f6c
feat(ux): keep app running on window close
The standard approach on Darwin is to keen applications running when the
window is closed. Clicking the apps icon again in the doc should bring
back the application window.
This changeset refactors things to handle this. It will keep Zap and lnd
running in the background when the main application window is closed.
Quitting the app will stop both the app and lnd.
Fix #586
Fix #601
7 years ago
Tom Kirkpatrick
d7064f03c5
refactor(grpc): use @grpc/proto-loader
Fix grpc depreciation warning from `grpc.load`:
> grpc.load: Use the @grpc/proto-loader module with
> grpc.loadPackageDefinition instead
Fix #621
7 years ago
Ben Woosley
08cb1369fd
chore(security): tailor GRPC_SSL_CIPHER_SUITES to the connection type
This avoids expanding the acceptable cipher suites in general lnd connections
relative to the possibility of BTCPay server being involved.
7 years ago
Tom Kirkpatrick
fd7f44714f
feat(btcpayserver): add support for BTCPayServer
Allow connecting to an LND instance that is behind BTCPayServer.
7 years ago
Tom Kirkpatrick
dd134aa356
feat(grpc): lnd connection error recovery
Show errors to the user after a failed attempt to connect to a custom
lnd instance and allow the user to correct and try again.
Fix #493
7 years ago
Ben Woosley
dc29c80ad0
style(line length): Drop prettier line length from 120 to 100
Subjectively, this increases general readability, while the higher max-length
limit allows for longer strings and comments, etc.
7 years ago
Ben Woosley
f87236495a
style(line length): Limit prettier line length to 120 chars
150 is a bit too long
7 years ago
Tom Kirkpatrick
0846bcb772
style(lint): lint and format all code
7 years ago
Tom Kirkpatrick
6eda55de0c
fix(resources): fix up resource paths
Move rpc.proto into the resources directory along with all of the other
external resources.
Fix up the resource paths to reference external resources correctly
depending on wether the app is being run locally or from a release.
7 years ago
Ben Woosley
6d5ca1ab90
fix(lnd-proto-dup): Fix that we had redundant lnd rpc.proto files
Only one of these files was being used, and they were going out of step
relative to one another.
Put rpc.proto in the resources directory for consistency with other
vendored resources, i.e. the lnd binary
Updated the def from:
https://github.com/lightningnetwork/lnd/blob/master/lnrpc/rpc.proto
7 years ago
Tom Kirkpatrick
3c4a651764
feature(lnd-config): add connection type onboarding screen
Add a new set of screens into the connection onboarding flow that
allow the user to select wether to connect to a local or remote
LND node.
Fix #326
7 years ago
Tom Kirkpatrick
1adb334146
feature(lnd-config): simplify handling of macaroons
Use grpc.credentials.combineChannelCredentials to combine the ssl
credentials with the macaroons when initializing the lnd rcp client.
This avoids the need to pass the macaroon metadata throughout the
codebase.
7 years ago
Jack Mallers
c1f9ec58bc
fix(grpcInit): remove old file
7 years ago
Tom Kirkpatrick
24c07af343
fix(ssl-handshake): update list of supported cipher suites
Update the list of supported cipher suites to use with openssl to
include those supported by lnd, which are defined as:
tls.TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
tls.TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
tls.TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
tls.TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305
See https://github.com/lightningnetwork/lnd/blob/master/lnd.go#L80-L85
We order the suites by priority, based on the recommendations provided
by SSL Labs:
See https://github.com/ssllabs/research/wiki/SSL-and-TLS-Deployment-Best-Practices#23-use-secure-cipher-suites
Fix #324
7 years ago
Jack Mallers
24ae067ad9
feature(unlockWallet): ability to unlock wallet with helpful error messages
7 years ago
Jack Mallers
9babd9b6fc
hotfix(CI fail)
7 years ago
Ben Woosley
8e06ad5105
fix(eslint-import): Fix that eslint-plugin-import was not active
For the node import resolver, "paths" is meant to be absolute paths
for global modules.
https://github.com/benmosher/eslint-plugin-import/tree/master/resolvers/node
7 years ago
Ben Woosley
3829046857
fix(lints): Call d3 modifiers on the selection itself
Rather than iterating over the selection.
7 years ago
João Almeida
98e005938d
feature(auth-macaroon): Add macaroon auth support
7 years ago
Torkel Rogstad
ef54915c11
Removes unused code, adds proper semicolon rule and reduces lint errors
7 years ago
Jack Mallers
6c070e4592
fix(certs): fix issue with certs throwing SSL error
7 years ago
Jack Mallers
ff3e492037
fix(logs): remove console.logs
7 years ago
Jack Mallers
c78b176cd5
fix(lint): fix linting errors
7 years ago
Jack Mallers
a0da50d40e
fix(extraResources): specify scripts, binaries and svg in extraResources
7 years ago
Jack Mallers
335646f0f7
fix(loading): fix loading bolt
7 years ago
Jack Mallers
cb7f49d646
fix(production): build is working
7 years ago
Jack Mallers
6c87563aa2
fix(lnd-ipc): fix linting errors
7 years ago
Jack Mallers
d25d1dfa73
feature(lnd-ipc): initial lnd + ipcRenderer setup w/ info as example
8 years ago