lnd.xprv/lnwallet
Olaoluwa Osuntokun 9c015a5824
lnwallet: revamp restoring channel state from disk after a restart
In this commit we complexly revamp the process of restoring all channel
state back into memory after a restart. We’ll now properly do the
following: restore the pending “dangling” commit of the remote party
into the in-memory commitment chain, re-populate all active HTLC’s back
into their respective update logs with the proper indexes/counters, and
properly restore the current commitment of the remote party back in
memory.
2017-11-10 19:50:54 -08:00
..
btcwallet lnwallet: export btcwallet.NetworkDir 2017-10-19 19:17:35 -07:00
channel_test.go htlcswitch+channel: remove cancel reasons from channel link 2017-11-09 16:38:58 -08:00
channel.go lnwallet: revamp restoring channel state from disk after a restart 2017-11-10 19:50:54 -08:00
config.go lnwallet: flesh out the Config struct, wallet constructor now takes 2017-07-30 17:49:41 -07:00
interface_test.go lnwallet: add reorg test 2017-10-19 21:26:31 -07:00
interface.go lnwallet: Extend Utxo struct with AddressType. 2017-10-19 17:37:53 -07:00
log.go lnwallet: don't attach the rpcclient to the lnwallet logging instance 2017-08-30 20:32:37 -07: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 lnwallet: export HtlcWeight and CommitWeight publicly 2017-11-10 19:50:51 -08:00
script_utils_test.go multi: Fix various typos. 2017-10-25 13:20:54 -07:00
script_utils.go multi: Fix various typos. 2017-10-25 13:20:54 -07:00
signdescriptor_test.go lnwallet: move latest SignDescriptor + serialization 2017-08-25 17:56:50 -07:00
signdescriptor.go lnwallet/signdesc: increases max witness parsing length 2017-09-19 19:18:21 -07:00
sigpool.go lnwallet: replace sort.Sort with sort.Slice in channel.go 2017-10-02 23:13:47 -07:00
size_test.go lnwallet: Add TxWeightEstimator support for nested pay-to-witness. 2017-10-19 17:37:53 -07:00
size.go lnwallet: export HtlcWeight and CommitWeight publicly 2017-11-10 19:50:51 -08:00
txout_test.go lnwallet: move txout serialization out of lnwire 2017-09-14 13:56:25 +02:00
txout.go lnwallet: move txout serialization out of lnwire 2017-09-14 13:56:25 +02:00
wallet.go lnwallet: export HtlcWeight and CommitWeight publicly 2017-11-10 19:50:51 -08:00
witnessgen.go lnwallet/witnessgen: adds htlc offered+accepted revoke witness type 2017-09-19 19:18:21 -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