lnd.xprv/lnwallet
Olaoluwa Osuntokun e60f40b845
lnwallet: fix bug with funding channels with 50/50 balances
This commit fixes a prior bug in the wallet triggered by the creation
of a channel using the single funder workflow, but pushing exactly
*half* of the channel over to the other side. The prior logic to
determine who the initiator would result in a disagreement over who
created the channel initially. This wouldn’t manifest until the channel
was attempted to be closed cooperatively. As both side disagreed about
who created the channel they would apply the closing fee to different
outputs, thereby creating mismatched closing transaction. The signature
would fail to validate as the closer will create a different
transaction from that of the responder.

This commit fixes the issue by properly detecting who initially created
the channel.
2017-01-16 20:28:38 -08:00
..
btcwallet multi: update btcsuite API's to latest upstream changes 2017-01-05 13:56:34 -08:00
channel_test.go lnwallet: include r-hash of canceled htlc in log entry for cancel 2017-01-07 21:22:01 -08:00
channel.go lnwallet+lnd: ensure curve parameters are set to avoid panics 2017-01-14 19:44:37 -08:00
config.go config: add --pendingchannel lnd flag 2016-10-22 02:11:18 +03:00
interface_test.go lnwallet: add support for the push-during-funding workflow 2017-01-09 18:58:07 -08:00
interface.go multi: update btcsuite API's to latest upstream changes 2017-01-05 13:56:34 -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: fix bug with funding channels with 50/50 balances 2017-01-16 20:28:38 -08:00
script_utils_test.go multi: update btcsuite API's to latest upstream changes 2017-01-05 13:56:34 -08:00
script_utils.go multi: update btcsuite API's to latest upstream changes 2017-01-05 13:56:34 -08:00
size.go multi: update btcsuite API's to latest upstream changes 2017-01-05 13:56:34 -08:00
wallet.go lnwallet: add support for the push-during-funding workflow 2017-01-09 18:58:07 -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