lnd/lnwallet
Jim Posen 916b83a6ee lnwallet: Implement test vectors from BOLT 03, Appendix C.
Appendix C of BOLT 03 contains a series of test vectors asserting that
commitment, HTLC success, and HTLC timeout transactions are created
correctly. Here the test cases are transcribed to Go structs and
verified.

We also break out some logic need to tests that bypass the constructor
and remove some redundant fields.
2018-01-31 14:30:56 -08:00
..
btcwallet multi: add bitcoind drivers and tests 2018-01-15 13:59:34 -08:00
channel_test.go lnwallet: modify CreateCloseProposal to also return the close txid and local balance 2018-01-22 19:19:53 -08:00
channel.go lnwallet: Implement test vectors from BOLT 03, Appendix C. 2018-01-31 14:30:56 -08:00
common_test.go lnwallet: Implement test vectors from BOLT 03, Appendix C. 2018-01-31 14:30:56 -08:00
config.go lnwallet: flesh out the Config struct, wallet constructor now takes 2017-07-30 17:49:41 -07:00
fee_estimator.go lnwallet: properly use in KB, not KiB to convert to sat/byte for bitcoind estimator 2018-01-28 14:53:58 -08:00
interface_test.go lnwallet: increase size of test reservation due to high funding limit 2018-01-28 16:55:11 -08:00
interface.go lnwallet: add new PreimageCache interface 2018-01-22 19:19:29 -08: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: disallow creation of channels < 2x dust limit 2018-01-28 15:11:13 -08:00
script_utils_test.go lnwallet: Implement test vectors from BOLT 03, Appendix C. 2018-01-31 14:30:56 -08:00
script_utils.go lnwallet: add new HtlcSecondLevelRevoke witness type 2018-01-22 19:19:57 -08:00
signdescriptor_test.go lnwallet: move latest SignDescriptor + serialization 2017-08-25 17:56:50 -07:00
signdescriptor.go lnwallet: update WitnessType names to be more descriptive 2018-01-22 19:19:27 -08:00
sigpool.go lnwallet: ensure sigPool goroutines can always exit 2017-11-11 14:59:56 -08:00
size_test.go lnwallet: Add TxWeightEstimator support for nested pay-to-witness. 2017-10-19 17:37:53 -07:00
size.go lnwallet: update OfferedHtlcSuccessWitnessSize to factor in preimage size 2018-01-22 19:19:57 -08:00
transactions_test.go lnwallet: Implement test vectors from BOLT 03, Appendix C. 2018-01-31 14:30:56 -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: remove the closeObserver from the channel state machine 2018-01-22 19:19:47 -08:00
witnessgen.go lnwallet: add new HtlcSecondLevelRevoke witness type 2018-01-22 19:19:57 -08: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