lnd.xprv/lnwallet
Olaoluwa Osuntokun a9416300e5
lnwallet: ensure that total satoshi sent/received aren't counted twice
This commit fixes a bug in the LightingChannel commitment state machine
which could occasionally result in the total number of satoshis sent or
received being counted twice if a redundant state transition were
initiated.

To fix this bug, we now only increment the number of satoshi
sent/recv’d iff it’s the first time the HTLC has been processed.
2017-02-21 01:43:07 -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: ensure that total satoshi sent/received aren't counted twice 2017-02-21 01:43:07 -08:00
config.go config: add --pendingchannel lnd flag 2016-10-22 02:11:18 +03:00
interface_test.go multi: fix go vet warnings throughout code base 2017-02-16 19:33:19 +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 go vet warnings throughout code base 2017-02-16 19:33:19 +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