lnd.xprv/lnwallet
Olaoluwa Osuntokun dc764c992c
lnwallet: fix bug in extractHtlcResolutions, ensure slice is contiguous
This commit fixes an existing bug within extractHtlcResolutions. The
prior code would use an index to assign the returned
OutgoingHtlcResolutions into a single slice. However, this is invalid
as there are two cases where an HTLC might be skipped: if it’s an
incoming HTLC, or if the HLTC itself is dust from the PoV of the
commitment chain.

To fix this, we now instead use append to add items to the slice. This
ensure that we don’t have any “empty” items in between fully populated
items.
2017-09-29 14:32:22 -07:00
..
btcwallet multi: txscript.WitnessScript -> txscript.WitnessSignature 2017-08-24 18:55:32 -07:00
channel_test.go lnwallet: split off new TestForceCloseDustOutput case from TestForceClose 2017-09-29 14:13:28 -07:00
channel.go lnwallet: fix bug in extractHtlcResolutions, ensure slice is contiguous 2017-09-29 14:32:22 -07: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 new methods to ChannelReservation for dealing w/ chan constraints 2017-09-12 17:41:55 +02:00
interface.go lnwallet: move latest SignDescriptor + serialization 2017-08-25 17:56:50 -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: add new methods to ChannelReservation for dealing w/ chan constraints 2017-09-12 17:41:55 +02:00
script_utils_test.go lnwallet: update TestCommitmentSpendValidation due to new commitment scripts 2017-07-30 17:49:25 -07:00
script_utils.go lnwallet/script_utils: adds public receiver+sender htlc revoke w/key derivation 2017-09-19 19:18:21 -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: introduce the sigPool struct to optimize state creation+verification 2017-07-30 17:50:06 -07:00
size.go lnwallet/size: updated with recent BOLT 5 constants 2017-09-19 19:18:19 -07: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: properly use the lsat 6-bytes of the sha hash for state hints 2017-09-12 17:38:31 +02: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