lnd/lnwallet
Conner Fromknecht 4449038ae5
lnwallet/btcwallet/btcwallet: adds extra double spend case
Adds an extra case to the select statement to catch
an error produced by btcd. The error is meant to signal
that an output was previously spent, which can appear
under certain race conditions in spending/broadcasting.
This caused our final itest to fail because it would
not try to recraft the justice txn.
2018-02-20 20:48:53 -08:00
..
btcwallet lnwallet/btcwallet/btcwallet: adds extra double spend case 2018-02-20 20:48:53 -08:00
README.md multi: fix formatting issues in packge README's 2017-03-27 16:25:25 -07:00
channel.go lnwallet: fully validate all channel constraints in validateCommitmentSanity 2018-02-08 18:35:25 -05:00
channel_test.go lnwallet test: add channel constraints tests 2018-02-08 18:35:25 -05: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 multi: comprehensive typo fixes across all packages 2018-02-06 19:11:11 -08:00
interface.go Merge pull request #594 from halseth/publish-transaction-error-codes 2018-02-20 19:05:53 -08:00
interface_test.go lnwallet: update interface tests due to recent API change 2018-02-20 19:16:14 -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
reservation.go lnwallet: cleanup of reservation.CommitConstraints, and move RemoteChanConstraints. 2018-02-08 18:35:24 -05:00
script_utils.go multi: fixing it's/its typos in comments 2018-02-06 19:13:07 -08:00
script_utils_test.go multi: comprehensive typo fixes across all packages 2018-02-06 19:11:11 -08:00
signdescriptor.go lnwallet: update WitnessType names to be more descriptive 2018-01-22 19:19:27 -08:00
signdescriptor_test.go lnwallet: move latest SignDescriptor + serialization 2017-08-25 17:56:50 -07:00
sigpool.go lnwallet: update state machine to use new lnwire.Sig everywhere 2018-02-06 20:14:31 -08:00
size.go lnwallet: update OfferedHtlcSuccessWitnessSize to factor in preimage size 2018-01-22 19:19:57 -08:00
size_test.go lnwallet: Add TxWeightEstimator support for nested pay-to-witness. 2017-10-19 17:37:53 -07:00
transactions_test.go lnwallet: update transactions_test.go due to recent API changes 2018-01-31 14:31:14 -08: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: don't ignore any returned error from PublishTransaction 2018-02-14 12:34:41 +01:00
witnessgen.go multi: comprehensive typo fixes across all packages 2018-02-06 19:11:11 -08: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