lnd.xprv/lnwallet
Olaoluwa Osuntokun 13404243cf
lnwallet: revocation root generation is now based on a block hash + node key
This commit modifies the prior revocation root generation to a newer
version which is intended to allow for easy recovery of revocation
state. Rather than using the node’s keys (which we can’t count on NOT
to change), we instead now use the block hash as a salt. With this,
given the block hash prior to the one that funded the channel, and the
node’s identity key, we can reconstruct our revocation state.
2017-07-30 17:48:38 -07:00
..
btcwallet lnwallet/btcwallet: properly pass in FeeEstimator to btcwallet 2017-06-07 17:01:27 -07:00
channel_test.go lnwallet: add update_fee message support. 2017-07-14 16:39:15 -07:00
channel.go lnwallet+lnwire: minor grammatical fixes after UpdateFee merge 2017-07-14 17:10:42 -07:00
config.go config: add --pendingchannel lnd flag 2016-10-22 02:11:18 +03:00
interface_test.go multi: run all test instances in parallel 2017-06-17 01:00:07 +02:00
interface.go lnwallet: remove GetTransaction method from BlockChainIO 2017-06-05 19:12:42 -07:00
log.go lnd: remove seelog logger 2017-06-25 14:19:56 +01: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: NewChannelReservation now accepts target feePerKw for commitment 2017-05-16 18:55:33 -07:00
script_utils_test.go multi: run all test instances in parallel 2017-06-17 01:00:07 +02:00
script_utils.go lnwallet: revocation root generation is now based on a block hash + node key 2017-07-30 17:48:38 -07:00
size.go lnwallet: convert all references to transaction/block cost to weight 2017-05-16 18:50:55 -07:00
wallet.go lnwallet: fix race condition in channel state machine, use single mutex 2017-06-08 22:24:20 -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