lnd.xprv/lnwallet
Olaoluwa Osuntokun 31acace692
lnwallet: convert PendingUpdates to FullySynced
This commit improves the channel state machine by converting the
objective PendingUpdates method to a subjective FullySynced method
which is to be used in place of PendingUpdates. The new FullySynced
method is fully encompassing and replaces any upper state required by
the state machine which wraps this one.

The new FullySynced method is identical to PendingUpdates aside from
the fact that: it now also factors in the log message index of the
remote commitment chain, and also introduces a concept of an “owed
commitment”. A commitment chain owes a commitment if the height of the
local commitment chain is higher than that of the remote chain.
2017-04-11 22:02:33 -07:00
..
btcwallet multi: minor coding style and comment clean ups post-discovery merge 2017-04-01 20:14:05 +02:00
channel_test.go lnwallet: properly observe dust limits during cooperative chan closure 2017-03-24 16:20:12 -07:00
channel.go lnwallet: convert PendingUpdates to FullySynced 2017-04-11 22:02:33 -07:00
config.go config: add --pendingchannel lnd flag 2016-10-22 02:11:18 +03:00
interface_test.go lnd: partially fix golint warnings 2017-03-13 16:30:23 -07:00
interface.go lnd: partially fix golint warnings 2017-03-13 16:30:23 -07:00
log.go lnwallet: couple websockets and wtxmgr logging into package logging 2017-04-01 20:14:13 +02:00
parameters.go fundingmanager+lnwallet: add HTLC dust limit logic 2016-12-13 11:01:57 -08:00
README.md multi: fix formatting issues in packge README's 2017-03-27 16:25:25 -07:00
reservation.go lnd: partially fix golint warnings 2017-03-13 16:30:23 -07:00
script_utils_test.go multi: replace usage of fastsha256 with crypto/sha256 2017-03-15 18:56:41 -07:00
script_utils.go lnwallet: fix constant overflow build issue on 32-bit systems 2017-04-07 18:05:04 +02:00
signer.go lnwallet: add message signer 2017-03-29 19:49:05 -07:00
size.go lnd: partially fix golint warnings 2017-03-13 16:30:23 -07:00
wallet.go multi: replace usage of fastsha256 with crypto/sha256 2017-03-15 18:56:41 -07: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 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