lnd.xprv/lnwallet
Olaoluwa Osuntokun 1da054625b
lnwallet/btcwallet: fix bug in non-recognition of self-funds in chan force close
This commit fixes a bug which would cause the node on the _receiving_
side of a channel force close to be blind of their immediately funds
on-chain. The root of the issue was that within the btcwallet
implementation of the WalletController method ‘NewRawKey’, the wallet
wouldn’t request notifications for the new address, as the direct
function from the waddrmgr was used which skips registration of the new
address.

To fix, this, we now ensure that btcwallet will receive notifications
for keys used within the raw p2wkh commitment output. This ensures that
the wallet is aware of funds that are made available as a result of a
channel force closure by the channel counter party.
2017-02-07 20:01:19 -08:00
..
btcwallet lnwallet/btcwallet: fix bug in non-recognition of self-funds in chan force close 2017-02-07 20:01:19 -08:00
channel_test.go lnwallet: remove BlockChainIO as a dependency to LightningChannel 2017-02-02 17:05:40 -08:00
channel.go lnwallet: add ability to cancel the channel's closeObserver 2017-02-02 17:11:03 -08:00
config.go config: add --pendingchannel lnd flag 2016-10-22 02:11:18 +03:00
interface_test.go lnwallet+funding: properly propagate NewLightningChannel errors 2017-01-22 15:06:41 -08:00
interface.go lnwallet/btcwallet: fix bug in non-recognition of self-funds in chan force close 2017-02-07 20:01:19 -08:00
log.go lnwallet: correct comment for logging object 2016-12-27 16:43:07 -08:00
parameters.go fundingmanager+lnwallet: add HTLC dust limit logic 2016-12-13 11:01:57 -08:00
README.md multi: add link to LICENSE in README license badges (#100) 2017-01-12 16:31:08 -08:00
reservation.go lnwallet+funding: properly propagate NewLightningChannel errors 2017-01-22 15:06:41 -08:00
script_utils_test.go multi: fix a variety of typos throughout the repo 2017-01-17 17:02:56 -08:00
script_utils.go lnwallet: ensure CSV delay witness spend uses a minimal OP_IF 2017-02-03 15:28:19 -08:00
size.go multi: update btcsuite API's to latest upstream changes 2017-01-05 13:56:34 -08:00
wallet.go lnwallet: remove BlockChainIO as a dependency to LightningChannel 2017-02-02 17:05:40 -08:00

lnwallet

[Build Status] (https://travis-ci.org/lightningnetwork/lnd) [MIT licensed] (https://github.com/lightningnetwork/lnd/blob/master/LICENSE) [GoDoc] (http://godoc.org/github.com/lightningnetwork/lnd/lnwallet)

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 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