lnd.xprv/lnwallet
Olaoluwa Osuntokun 6cf905088c
lnwallet: create new updateLog abstraction within channel state machine
This commit adds a new struct to the channel state machine: updateLog.
updateLog encapsulates the update log linked list itself, a series of
new counters we’ll need in order to switch to the spec’s state machine
and also the index into the log itself. This new struct serves to
simplify much of the logic surrounding the update log and also
elminates a bit of code duplication within the current state machine.

This commit only adds the new struct. The rest of the state machine
will be updated in a later commit to use the new log and its new
counters.
2017-02-21 01:43:13 -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: create new updateLog abstraction within channel state machine 2017-02-21 01:43:13 -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