lnd/lnwallet
Olaoluwa Osuntokun eaa043f585 lnwallet/btcwallet: use relay fee not tx fee rate for dust check
In this commit we fix a hidden bug in the transaction creating logic
that was only manifested recently due to higher fees on Bitcoin's
mainnet. Before this commit, we would use the target fee rate to
determine if an output was dust or not. However, this is incorrect, as
instead the relay fee should be used as this matches the policy checks
widely deployed in Bitcoin full node today.

To fix this issue we now properly use the relay fee when computing dust.
This fixes the issue for the `EstimateFee` call, but the `SendOutputs`
call also has a similar issue. However, this must be fixed within
`btcwallet` itself, so it has been left out of this commit

Fixes #3217.
2019-06-18 19:55:16 -07:00
..
btcwallet lnwallet/btcwallet: use relay fee not tx fee rate for dust check 2019-06-18 19:55:16 -07:00
channel.go lnwallet/channel: use proper commitment output sorting 2019-06-05 08:35:06 +02:00
channel_test.go multi: address lingering TODO by no longer wiping out local HTLCs on remote close 2019-05-27 14:34:13 -07:00
commit_sort.go lnwallet/commit_sort: add commit sorting with htlc tie breaker 2019-06-05 08:34:45 +02:00
commit_sort_test.go lnwallet/commit_sort: add commit sorting with htlc tie breaker 2019-06-05 08:34:45 +02:00
config.go multi: move Input interface and related code 2019-01-31 13:25:33 +01:00
errors.go Revert "funding+lnwallet: ensure max_htlc_value_in_flight smaller than capacity" 2019-01-29 17:58:04 -08:00
fee_estimator.go lnwallet+sweep: add String method to FeePreference 2019-05-24 15:30:36 -07:00
fee_estimator_test.go lnwallet: add new WebApiFeeEstimator for API fee estimation. 2019-04-16 14:16:53 -07:00
interface.go Merge pull request #3187 from yaslama/UnknownAsDefaultAddressType 2019-06-17 12:18:55 +02:00
interface_test.go lnwallet+chainregistry: remove unused FeeEstimator from wallet cfg 2019-04-16 14:16:56 -07:00
log.go multi: init subsystem loggers via build pkg 2018-10-05 13:04:45 +09:00
parameters.go multi: move Input interface and related code 2019-01-31 13:25:33 +01:00
README.md multi: fix typos in comments 2018-04-17 19:03:27 -07:00
reservation.go Typo corrections in various comments 2019-05-10 17:15:54 +02:00
sigpool.go multi: move Input interface and related code 2019-01-31 13:25:33 +01:00
size_test.go multi: move Input interface and related code 2019-01-31 13:25:33 +01:00
test_utils.go multi: address lingering TODO by no longer wiping out local HTLCs on remote close 2019-05-27 14:34:13 -07:00
transactions.go multi: move Input interface and related code 2019-01-31 13:25:33 +01:00
transactions_test.go channel+cnct: remove preimage from channel and resolution 2019-05-15 14:41:49 +02:00
wallet.go lnwallet/wallet: add missing error handling 2019-05-09 14:44:53 +02:00

lnwallet

Build Status MIT licensed GoDoc

The lnwallet package implements an abstracted wallet controller that is able to drive channel funding workflows, a number of script utilities, witness generation functions for the various Lightning scripts, revocation key derivation, and the commitment update state machine.

The package is used within lnd as the core wallet of the daemon. The wallet itself is composed of several distinct interfaces that decouple the implementation of things like signing and blockchain access. This separation allows new WalletController implementations to be easily dropped into lnd without disrupting the code base. A series of integration tests at the interface level are also in place to ensure conformance of the implementation with the interface.

Installation and Updating

$ go get -u github.com/lightningnetwork/lnd/lnwallet