lnd/lnwallet
Olaoluwa Osuntokun 0086e6e427
lnwallet: in extractHtlcResolutions use csvDelay gated on commitment ownership
This commit fixes a bug wherein we would use the incorrect csvDelay
when crafting HTLC resolutions after a unilateral channel closure.
Previously, we would always use the csvDelay of the local party, as in
the force close case that’s the correct value. However, a unilateral
channel closure instead requires the _remote_ delay.
2017-09-26 19:06:55 -07:00
..
btcwallet multi: txscript.WitnessScript -> txscript.WitnessSignature 2017-08-24 18:55:32 -07:00
README.md multi: fix formatting issues in packge README's 2017-03-27 16:25:25 -07:00
channel.go lnwallet: in extractHtlcResolutions use csvDelay gated on commitment ownership 2017-09-26 19:06:55 -07:00
channel_test.go lnwallet: ensure the goroutines of all channels are stopped after test execution 2017-09-24 20:20:15 -07:00
config.go lnwallet: flesh out the Config struct, wallet constructor now takes 2017-07-30 17:49:41 -07:00
interface.go lnwallet: move latest SignDescriptor + serialization 2017-08-25 17:56:50 -07:00
interface_test.go lnwallet: add new methods to ChannelReservation for dealing w/ chan constraints 2017-09-12 17:41:55 +02: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
reservation.go lnwallet: add new methods to ChannelReservation for dealing w/ chan constraints 2017-09-12 17:41:55 +02:00
script_utils.go lnwallet/script_utils: adds public receiver+sender htlc revoke w/key derivation 2017-09-19 19:18:21 -07:00
script_utils_test.go lnwallet: update TestCommitmentSpendValidation due to new commitment scripts 2017-07-30 17:49:25 -07:00
signdescriptor.go lnwallet/signdesc: increases max witness parsing length 2017-09-19 19:18:21 -07:00
signdescriptor_test.go lnwallet: move latest SignDescriptor + serialization 2017-08-25 17:56:50 -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.go lnwallet: move txout serialization out of lnwire 2017-09-14 13:56:25 +02:00
txout_test.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

README.md

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